-
Notifications
You must be signed in to change notification settings - Fork 382
Closed as duplicate of#10045
Closed as duplicate of#10045
Copy link
Description
package test.client;
import java.util.function.Function;
public record Sequence(Function<Integer, Integer> stepFunction) {
public int next(int stepSize) {
return stepFunction.apply(stepSize);
}
}
// This works
new Sequence(step -> 10 + step).next(20);
package test.client;
import java.util.function.Function;
public record Sequence(Function<Integer, Integer> stepFunction) {
public Sequence(int startValue) {
this(step -> startValue + step);
}
public int next(int stepSize) {
return stepFunction.apply(stepSize);
}
}
// This failed with error: The operator + is undefined for the argument type(s) int, Object
new Sequence(step -> 10 + step).next(20);
// This failed with a stack trace:
new Sequence(10).next(20);
Compilation log
[INFO] Compiling 1 permutation [INFO] Compiling permutation 0... [INFO] [ERROR] An internal compiler exception occurred [INFO] com.google.gwt.dev.jjs.InternalCompilerException: Unexpected error during visit. [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.translateException(JVisitor.java:111) [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:130) [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:122) [INFO] at com.google.gwt.dev.jjs.ast.JTransformer.transform(JTransformer.java:1100) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST$GenerateJavaScriptTransformer.transform(GenerateJavaScriptAST.java:2659) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST$GenerateJavaScriptTransformer.transformExpressionStatement(GenerateJavaScriptAST.java:711) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST$GenerateJavaScriptTransformer.transformExpressionStatement(GenerateJavaScriptAST.java:520) [INFO] at com.google.gwt.dev.jjs.ast.JTransformer$JRewriterVisitor.visit(JTransformer.java:755) [INFO] at com.google.gwt.dev.jjs.ast.JExpressionStatement.traverse(JExpressionStatement.java:41) [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:127) [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:122) [INFO] at com.google.gwt.dev.jjs.ast.JTransformer.transform(JTransformer.java:1100) [INFO] at com.google.gwt.dev.jjs.ast.JTransformer.transformIntoExcludingNulls(JTransformer.java:1120) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST$GenerateJavaScriptTransformer.transformBlock(GenerateJavaScriptAST.java:583) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST$GenerateJavaScriptTransformer.transformBlock(GenerateJavaScriptAST.java:520) [INFO] at com.google.gwt.dev.jjs.ast.JTransformer$JRewriterVisitor.visit(JTransformer.java:647) [INFO] at com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:93) [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:127) [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:122) [INFO] at com.google.gwt.dev.jjs.ast.JTransformer.transform(JTransformer.java:1100) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST$GenerateJavaScriptTransformer.transform(GenerateJavaScriptAST.java:2672) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST$GenerateJavaScriptTransformer.transformMethodBody(GenerateJavaScriptAST.java:833) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST$GenerateJavaScriptTransformer.transformMethodBody(GenerateJavaScriptAST.java:520) [INFO] at com.google.gwt.dev.jjs.ast.JTransformer$JRewriterVisitor.visit(JTransformer.java:854) [INFO] at com.google.gwt.dev.jjs.ast.JMethodBody.traverse(JMethodBody.java:81) [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:127) [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:122) [INFO] at com.google.gwt.dev.jjs.ast.JTransformer.transform(JTransformer.java:1100) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST$GenerateJavaScriptTransformer.transformMethod(GenerateJavaScriptAST.java:804) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST$GenerateJavaScriptTransformer.transformMethod(GenerateJavaScriptAST.java:520) [INFO] at com.google.gwt.dev.jjs.ast.JTransformer.transformConstructor(JTransformer.java:103) [INFO] at com.google.gwt.dev.jjs.ast.JTransformer$JRewriterVisitor.visit(JTransformer.java:707) [INFO] at com.google.gwt.dev.jjs.ast.JConstructor.traverse(JConstructor.java:141) [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:127) [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:122) [INFO] at com.google.gwt.dev.jjs.ast.JTransformer.transform(JTransformer.java:1100) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST$GenerateJavaScriptTransformer.emitStaticMethods(GenerateJavaScriptAST.java:1869) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST$GenerateJavaScriptTransformer.transformDeclaredType(GenerateJavaScriptAST.java:647) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST$GenerateJavaScriptTransformer.transformDeclaredType(GenerateJavaScriptAST.java:520) [INFO] at com.google.gwt.dev.jjs.ast.JTransformer.transformClassType(JTransformer.java:95) [INFO] at com.google.gwt.dev.jjs.ast.JTransformer$JRewriterVisitor.visit(JTransformer.java:695) [INFO] at com.google.gwt.dev.jjs.ast.JClassType.traverse(JClassType.java:145) [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:127) [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:122) [INFO] at com.google.gwt.dev.jjs.ast.JTransformer.transform(JTransformer.java:1100) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST$GenerateJavaScriptTransformer.transformProgram(GenerateJavaScriptAST.java:1242) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST$GenerateJavaScriptTransformer.transformProgram(GenerateJavaScriptAST.java:520) [INFO] at com.google.gwt.dev.jjs.ast.JTransformer$JRewriterVisitor.visit(JTransformer.java:943) [INFO] at com.google.gwt.dev.jjs.ast.JProgram.traverse(JProgram.java:1248) [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:127) [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:122) [INFO] at com.google.gwt.dev.jjs.ast.JTransformer.transform(JTransformer.java:1100) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST.execImpl(GenerateJavaScriptAST.java:3171) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST.exec(GenerateJavaScriptAST.java:2944) [INFO] at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.compilePermutation(JavaToJavaScriptCompiler.java:380) [INFO] at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.compilePermutation(JavaToJavaScriptCompiler.java:274) [INFO] at com.google.gwt.dev.CompilePerms.compile(CompilePerms.java:198) [INFO] at com.google.gwt.dev.ThreadedPermutationWorkerFactory$ThreadedPermutationWorker.compile(ThreadedPermutationWorkerFactory.java:50) [INFO] at com.google.gwt.dev.PermutationWorkerFactory$Manager$WorkerThread.run(PermutationWorkerFactory.java:74) [INFO] at java.base/java.lang.Thread.run(Thread.java:1583) [INFO] Caused by: java.lang.NullPointerException: Cannot invoke "String.isEmpty()" because "actualJsName" is null [INFO] at com.google.gwt.dev.jjs.ast.JMethod.getQualifiedJsName(JMethod.java:172) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST$GenerateJavaScriptTransformer.dispatchToSuper(GenerateJavaScriptAST.java:920) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST$GenerateJavaScriptTransformer.transformMethodCall(GenerateJavaScriptAST.java:898) [INFO] at com.google.gwt.dev.jjs.impl.GenerateJavaScriptAST$GenerateJavaScriptTransformer.transformMethodCall(GenerateJavaScriptAST.java:520) [INFO] at com.google.gwt.dev.jjs.ast.JTransformer$JRewriterVisitor.visit(JTransformer.java:860) [INFO] at com.google.gwt.dev.jjs.ast.JMethodCall.traverse(JMethodCall.java:265) [INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:127) [INFO] ... 58 more [INFO] [ERROR] at Sequence.java(7): this.Sequence.Sequence(new Sequence$lambda$0$Type(startValue)) [INFO] com.google.gwt.dev.jjs.ast.JMethodCall [INFO] [ERROR] at Sequence.java(7): this.Sequence.Sequence(new Sequence$lambda$0$Type(startValue)) [INFO] com.google.gwt.dev.jjs.ast.JExpressionStatement [INFO] [ERROR] at Sequence.java(6): { [INFO] this.Sequence.Sequence(new Sequence$lambda$0$Type(startValue)); [INFO] } [INFO] com.google.gwt.dev.jjs.ast.JBlock [INFO] [ERROR] at Sequence.java(6): { [INFO] this.Sequence.Sequence(new Sequence$lambda$0$Type(startValue)); [INFO] } [INFO] com.google.gwt.dev.jjs.ast.JMethodBody [INFO] [ERROR] at Sequence.java(6): public Sequence(int startValue); [INFO] [INFO] com.google.gwt.dev.jjs.ast.JConstructor [INFO] [ERROR] at Sequence.java(5): test.client.Sequence (final extends Record) [INFO] com.google.gwt.dev.jjs.ast.JRecordType [INFO] [ERROR] at Unknown(0): [INFO] com.google.gwt.dev.jjs.ast.JProgram [INFO] [ERROR] Unrecoverable exception, shutting down [INFO] com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries) [INFO] at com.google.gwt.dev.javac.CompilationProblemReporter.logAndTranslateException(CompilationProblemReporter.java:106) [INFO] at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.compilePermutation(JavaToJavaScriptCompiler.java:461) [INFO] at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.compilePermutation(JavaToJavaScriptCompiler.java:274) [INFO] at com.google.gwt.dev.CompilePerms.compile(CompilePerms.java:198) [INFO] at com.google.gwt.dev.ThreadedPermutationWorkerFactory$ThreadedPermutationWorker.compile(ThreadedPermutationWorkerFactory.java:50) [INFO] at com.google.gwt.dev.PermutationWorkerFactory$Manager$WorkerThread.run(PermutationWorkerFactory.java:74) [INFO] at java.base/java.lang.Thread.run(Thread.java:1583) [INFO] [ERROR] Not all permutation were compiled , completed (0/1) [INFO] [WARN] recompile failedReactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels