package de.walkmod.typedmethod;
import java.util.List;
public class TypedMethod {
public interface Mixin<T extends Mixin> {
}
public class AMixin implements Mixin<AMixin> {
public List<String> getList() {
return null;
}
}
public <T extends Mixin> T mixin(Class<? extends T> mixin) {
return null;
}
public void m() {
mixin(AMixin.class).getList().get(0);
}
}
results in
Error processing the analysis of [.../src/main/java/de/walkmod/typedmethod/TypedMethod.java]
at org.walkmod.javalang.compiler.types.TypeVisitorAdapter.visit(TypeVisitorAdapter.java:527)
at org.walkmod.javalang.compiler.types.TypeVisitorAdapter.visit(TypeVisitorAdapter.java:115)
at org.walkmod.javalang.ast.expr.MethodCallExpr.accept(MethodCallExpr.java:138)
at org.walkmod.javalang.compiler.symbols.SymbolVisitorAdapter.visit(SymbolVisitorAdapter.java:723)
at org.walkmod.javalang.compiler.symbols.SymbolVisitorAdapter.visit(SymbolVisitorAdapter.java:92)
at org.walkmod.javalang.ast.stmt.ExpressionStmt.accept(ExpressionStmt.java:79)
at org.walkmod.javalang.visitors.VoidVisitorAdapter.visit(VoidVisitorAdapter.java:203)
at org.walkmod.javalang.compiler.symbols.SymbolVisitorAdapter.visit(SymbolVisitorAdapter.java:522)
at org.walkmod.javalang.compiler.symbols.SymbolVisitorAdapter.visit(SymbolVisitorAdapter.java:92)
at org.walkmod.javalang.ast.stmt.BlockStmt.accept(BlockStmt.java:89)
at org.walkmod.javalang.visitors.VoidVisitorAdapter.visit(VoidVisitorAdapter.java:564)
at org.walkmod.javalang.compiler.symbols.SymbolVisitorAdapter.visit(SymbolVisitorAdapter.java:550)
at org.walkmod.javalang.compiler.symbols.SymbolVisitorAdapter.visit(SymbolVisitorAdapter.java:92)
at org.walkmod.javalang.ast.body.MethodDeclaration.accept(MethodDeclaration.java:207)
at org.walkmod.javalang.compiler.symbols.SymbolVisitorAdapter.visit(SymbolVisitorAdapter.java:445)
at org.walkmod.javalang.compiler.symbols.SymbolVisitorAdapter.visit(SymbolVisitorAdapter.java:92)
at org.walkmod.javalang.ast.body.ClassOrInterfaceDeclaration.accept(ClassOrInterfaceDeclaration.java:136)
at org.walkmod.javalang.compiler.symbols.SymbolVisitorAdapter.visit(SymbolVisitorAdapter.java:174)
at org.walkmod.javalang.walkers.DefaultJavaWalker.visit(DefaultJavaWalker.java:198)
at org.walkmod.javalang.walkers.DefaultJavaWalker.accept(DefaultJavaWalker.java:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.walkmod.walkers.AbstractWalker.walk(AbstractWalker.java:261)
at org.walkmod.walkers.AbstractWalker.execute(AbstractWalker.java:276)
at org.walkmod.javalang.walkers.DefaultJavaWalker.execute(DefaultJavaWalker.java:160)
at org.walkmod.impl.DefaultChainWalkerInvocation.invoke(DefaultChainWalkerInvocation.java:41)
at org.walkmod.impl.DefaultChainInvocation.invoke(DefaultChainInvocation.java:38)
at org.walkmod.impl.DefaultChainAdapter.execute(DefaultChainAdapter.java:165)
at org.walkmod.WalkModFacade.executeAllChains(WalkModFacade.java:911)
at org.walkmod.WalkModFacade.apply(WalkModFacade.java:376)
at org.walkmod.commands.ApplyCommand.execute(ApplyCommand.java:40)
at org.walkmod.WalkModDispatcher.execute(WalkModDispatcher.java:171)
at org.walkmod.WalkModDispatcher.main(WalkModDispatcher.java:196)
Caused by: org.walkmod.javalang.exceptions.NoSuchExpressionTypeException: java.lang.RuntimeException: Ops! Error discovering the type of mixin(AMixin.class).getList()
... 35 more
Caused by: java.lang.RuntimeException: Ops! Error discovering the type of mixin(AMixin.class).getList()
at org.walkmod.javalang.compiler.types.TypeVisitorAdapter.visit(TypeVisitorAdapter.java:429)
... 34 more
results in