Guys, I found critical issue with GWT Compiler (gwt version is 2.4.0) and java generics. I included into my project Lambdaj library and gwt compiler says:
--- gwt-maven-plugin:2.4.0:compile (default-cli) @ gwtmvntest --- [INFO] auto discovered modules [kuprowski.gwtmvntest] [INFO] Compiling module kuprowski.gwtmvntest [INFO] Validating newly compiled units [INFO] Ignored 2 units with compilation errors in first pass. [INFO] Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors. [INFO] [ERROR] An internal compiler exception occurred [INFO] com.google.gwt.dev.jjs.InternalCompilerException: Failed to get JNode [INFO] at com.google.gwt.dev.jjs.impl.TypeMap.get(TypeMap.java:140) [INFO] at com.google.gwt.dev.jjs.impl.TypeMap.internalGet(TypeMap.java:242) [INFO] at com.google.gwt.dev.jjs.impl.TypeMap.get(TypeMap.java:138) [INFO] at com.google.gwt.dev.jjs.impl.TypeMap.get(TypeMap.java:130) [INFO] at com.google.gwt.dev.jjs.impl.TypeMap.get(TypeMap.java:71) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaAST $JavaASTGenerationVisitor.processExpression(GenerateJavaAST.java:1144) [INFO] at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source) [INFO] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) [INFO] at java.lang.reflect.Method.invoke(Method.java:597) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaAST $JavaASTGenerationVisitor.dispatch(GenerateJavaAST.java:577) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaAST $JavaASTGenerationVisitor.dispProcessExpression(GenerateJavaAST.java: 603) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaAST $JavaASTGenerationVisitor.processStatement(GenerateJavaAST.java:1765) [INFO] at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) [INFO] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) [INFO] at java.lang.reflect.Method.invoke(Method.java:597) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaAST $JavaASTGenerationVisitor.dispatch(GenerateJavaAST.java:577) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaAST $JavaASTGenerationVisitor.dispProcessStatement(GenerateJavaAST.java: 638) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaAST $JavaASTGenerationVisitor.processStatements(GenerateJavaAST.java:1846) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaAST $JavaASTGenerationVisitor.processMethod(GenerateJavaAST.java:1513) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaAST $JavaASTGenerationVisitor.processType(GenerateJavaAST.java:501) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaAST.exec(GenerateJavaAST.java: 2958) [INFO] at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java: 608) [INFO] at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java: 33) [INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java: 284) [INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java: 233) [INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java: 145) [INFO] at com.google.gwt.dev.Compiler.run(Compiler.java:232) [INFO] at com.google.gwt.dev.Compiler.run(Compiler.java:198) [INFO] at com.google.gwt.dev.Compiler$1.run(Compiler.java:170) [INFO] at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88) [INFO] at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java: 82) [INFO] at com.google.gwt.dev.Compiler.main(Compiler.java:177) [INFO] [ERROR] <no source info>: public final class ch.lambdaj.Lambda [INFO] extends java.lang.Object [INFO] /* fields */ [INFO] private static final [unresolved] Unresolved type ch.lambdaj.function.aggregate.Sum SUM [INFO] private static final [unresolved] Unresolved type ch.lambdaj.function.aggregate.Min MIN [INFO] private static final [unresolved] Unresolved type ch.lambdaj.function.aggregate.Max MAX [INFO] private static final [unresolved] Unresolved type ch.lambdaj.function.aggregate.Concat CONCAT [INFO] /* methods */ [INFO] [unresolved] private void <init>() [INFO] [unresolved] public static T aggregate(java.lang.Object, Unresolved type ch.lambdaj.function.aggregate.Aggregator<T>) [INFO] [unresolved] public static T aggregate(java.lang.Object, Unresolved type ch.lambdaj.function.aggregate.Aggregator<T>, A) [INFO] [unresolved] public static T aggregateFrom(Iterable<T>, Unresolved type ch.lambdaj.function.aggregate.Aggregator<A>) [INFO] [unresolved] public static T aggregateFrom(Iterable<T>, Class<? >, Unresolved type ch.lambdaj.function.aggregate.Aggregator<A>) [INFO] [unresolved] public static Unresolved type ch.lambdaj.function.argument.Argument<T> argument(T) [INFO] [unresolved] public static Unresolved type ch.lambdaj.function.convert.Converter<F,Entry<java.lang.String,java.lang.Object>> as(java.lang.Object) [INFO] [unresolved] public static Unresolved type ch.lambdaj.function.convert.Converter<F,Entry<java.lang.String,java.lang.Object>> as(java.lang.String, java.lang.Object) [INFO] [unresolved] public static java.lang.Number avg(java.lang.Object) [INFO] [unresolved] public static T avg(java.lang.Object, T) [INFO] [unresolved] public static T avgFrom(Iterable<T>) [INFO] [unresolved] public static T avgFrom(Iterable<T>, Class<?>) [INFO] [unresolved] public static Unresolved type ch.lambdaj.group.ArgumentGroupCondition<T> by(T) [INFO] [unresolved] public static Unresolved type ch.lambdaj.function.closure.Closure closure() [INFO] [unresolved] public static Unresolved type ch.lambdaj.function.closure.Closure1<A> closure(Class<A>) [INFO] [unresolved] public static Unresolved type ch.lambdaj.function.closure.Closure2<A,B> closure(Class<A>, Class<B>) [INFO] [unresolved] public static Unresolved type ch.lambdaj.function.closure.Closure3<A,B,C> closure(Class<A>, Class<B>, Class<C>) [INFO] [unresolved] public static Unresolved type ch.lambdaj.function.closure.Closure4<A,B,C,D> closure(Class<A>, Class<B>, Class<C>, Class<D>) [INFO] [unresolved] public static List<? extends T> collect(java.lang.Object) [INFO] [unresolved] public static List<T> collect(java.lang.Object, T) [INFO] [unresolved] public static List<T> convert(java.lang.Object, Unresolved type ch.lambdaj.function.convert.Converter<F,T>) [INFO] [unresolved] public static Iterator<T> convertIterator(java.lang.Object, Unresolved type ch.lambdaj.function.convert.Converter<F,T>) [INFO] [unresolved] public static Map<K,T> convertMap(Map<K,F>, Unresolved type ch.lambdaj.function.convert.Converter<F,T>) [INFO] [unresolved] public static Map<K,T> convertMap(Map<K,F>, T) [INFO] [unresolved] public static Map<T,java.lang.Integer> count(java.lang.Object) [INFO] [unresolved] public static Map<A,java.lang.Integer> count(java.lang.Object, A) [INFO] [unresolved] public static Unresolved type ch.lambdaj.function.closure.ClosureResult<T> delayedClosure(Unresolved type ch.lambdaj.function.closure.DelayedClosure<T>) [INFO] [unresolved] public static boolean exists(java.lang.Object, Matcher<?>) [INFO] [unresolved] public static List<T> extract(java.lang.Object, T) [INFO] [unresolved] public static Iterator<T> extractIterator(java.lang.Object, T) [INFO] [unresolved] public static List<T> extractProperty(java.lang.Object, java.lang.String) [INFO] [unresolved] public static List<java.lang.String> extractString(java.lang.Object) [INFO] public static List<T> filter(Matcher<?>, Iterable<T>) [INFO] public static transient List<T> filter(Matcher<?>, T[]) [INFO] [unresolved] public static List<T> flatten(java.lang.Object) [INFO] [unresolved] public static T forEach(Iterable<? extends T>) [INFO] [unresolved] public static T forEach(Iterator<? extends T>) [INFO] [unresolved] public static transient T forEach(T[]) [INFO] [unresolved] public static T forEach(Iterable<? extends T>, Class<T>) [INFO] [unresolved] public static T forEach(Iterator<? extends T>, Class<T>) [INFO] [unresolved] public static transient T forEach(Class<T>, T[]) [INFO] [unresolved] private static Unresolved type ch.lambdaj.function.aggregate.Aggregator<? extends java.lang.Number> getSumAggregator(java.lang.Object) [INFO] [unresolved] public static Unresolved type ch.lambdaj.group.Group<T> group(Iterable<T>, Collection<? extends Unresolved type ch.lambdaj.group.GroupCondition<?>>) [INFO] [unresolved] public static transient Unresolved type ch.lambdaj.group.Group<T> group(Iterable<T>, java.lang.String[]) [INFO] [unresolved] public static transient Unresolved type ch.lambdaj.group.Group<T> group(Iterable<T>, Unresolved type ch.lambdaj.group.GroupCondition<?>[]) [INFO] [unresolved] public static Unresolved type ch.lambdaj.function.matcher.HasArgumentWithValue<T,java.lang.Boolean> having(java.lang.Boolean) [INFO] [unresolved] public static Unresolved type ch.lambdaj.function.matcher.HasArgumentWithValue<T,A> having(A, Matcher<?>) [INFO] [unresolved] public static Map<T,F> index(java.lang.Object, T) [INFO] [unresolved] public static java.lang.String join(java.lang.Object) [INFO] [unresolved] public static java.lang.String join(java.lang.Object, java.lang.String) [INFO] [unresolved] public static T joinFrom(Iterable<T>) [INFO] [unresolved] public static T joinFrom(Iterable<T>, java.lang.String) [INFO] [unresolved] public static T joinFrom(Iterable<T>, Class<?>) [INFO] [unresolved] public static T joinFrom(Iterable<T>, Class<?>, java.lang.String) [INFO] [unresolved] public static Map<T,F> map(java.lang.Object, Unresolved type ch.lambdaj.function.convert.Converter<F,T>) [INFO] [unresolved] public static T max(java.lang.Object) [INFO] [unresolved] public static T max(java.lang.Object, T) [INFO] [unresolved] public static T maxFrom(Iterable<T>) [INFO] [unresolved] public static T maxFrom(Iterable<T>, Class<?>) [INFO] [unresolved] public static T min(java.lang.Object) [INFO] [unresolved] public static T min(java.lang.Object, T) [INFO] [unresolved] public static T minFrom(Iterable<T>) [INFO] [unresolved] public static T minFrom(Iterable<T>, Class<?>) [INFO] [unresolved] public static T of(T) [INFO] [unresolved] public static T of(Class<T>) [INFO] [unresolved] public static T of(T, Class<T>) [INFO] [unresolved] public static T on(Class<T>) [INFO] [unresolved] public static transient List<Map<java.lang.String,java.lang.Object>> project(java.lang.Object, Unresolved type ch.lambdaj.function.convert.Converter<F,Entry<java.lang.String,java.lang.Object>>[]) [INFO] [unresolved] public static transient List<T> project(java.lang.Object, Class<T>, java.lang.Object[]) [INFO] [unresolved] public static List<T> select(Iterator<T>, Matcher<? >) [INFO] [unresolved] public static List<T> select(Iterable<T>, Matcher<? >) [INFO] [unresolved] public static List<T> select(java.lang.Object, Matcher<?>) [INFO] [unresolved] public static Collection<T> selectDistinct(Iterable<T>) [INFO] [unresolved] public static Collection<T> selectDistinct(java.lang.Object) [INFO] [unresolved] public static Collection<T> selectDistinct(java.lang.Object, java.lang.String) [INFO] [unresolved] public static Collection<T> selectDistinct(java.lang.Object, Comparator<T>) [INFO] [unresolved] public static Collection<T> selectDistinctArgument(java.lang.Object, A) [INFO] [unresolved] public static T selectFirst(java.lang.Object, Matcher<?>) [INFO] [unresolved] public static Iterator<T> selectIterator(java.lang.Object, Matcher<?>) [INFO] [unresolved] public static T selectMax(java.lang.Object, A) [INFO] [unresolved] public static T selectMin(java.lang.Object, A) [INFO] [unresolved] public static T selectUnique(java.lang.Object, Matcher<?>) [INFO] [unresolved] public static List<T> sort(java.lang.Object, java.lang.Object) [INFO] [unresolved] public static List<T> sort(java.lang.Object, A, Comparator<A>) [INFO] [unresolved] public static java.lang.Number sum(java.lang.Object) [INFO] [unresolved] public static T sum(java.lang.Object, T) [INFO] [unresolved] public static T sumFrom(Iterable<T>) [INFO] [unresolved] public static T sumFrom(Iterable<T>, Class<?>) [INFO] [unresolved] private static java.lang.Number typedAvg(java.lang.Object, Class<?>) [INFO] [unresolved] private static java.lang.Number typedSum(java.lang.Object, Class<?>) [INFO] [unresolved] private static java.lang.Number typedZero(Class<? >) [INFO] [unresolved] public static T var(Class<T>) [INFO] [INFO] [INFO] [INFO] org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding [INFO] [ERROR] at RemoteSuggestOracle.java(36): Lambda.filter(new StringContains(query), sugs) [INFO] org.eclipse.jdt.internal.compiler.ast.MessageSend [INFO] [ERROR] at RemoteSuggestOracle.java(36): List<String> results = Lambda.filter(new StringContains(query), sugs); [INFO] org.eclipse.jdt.internal.compiler.ast.LocalDeclaration [INFO] [ERROR] at RemoteSuggestOracle.java(32): public void requestSuggestions(SuggestOracle$Request request, SuggestOracle $Callback callback); [INFO] [INFO] com.google.gwt.dev.jjs.ast.JMethod [INFO] [ERROR] at RemoteSuggestOracle.java(14): class RemoteSuggestOracle extends SuggestOracle [INFO] com.google.gwt.dev.jjs.ast.JClassType Do you know some workaroud for this issue or maybe I'm doing something in wrong way ??? -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
