Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lombok1.14.4 and javac 1.8.0_20 causes java.lang.NoSuchMethodError: com.sun.tools.javac.code.Types.upperBound #766

Closed
lombokissues opened this issue Jul 14, 2015 · 5 comments
Assignees

Comments

@lombokissues
Copy link

Migrated from Google Code (issue 731)

@lombokissues
Copy link
Author

👤 buzz.taiki   🕗 Aug 21, 2014 at 17:07 UTC

What steps will reproduce the problem?

  1. compile following code with javac 1.8.0_20

import lombok.val;
import java.util.HashMap;

public class ValWithTypeParam {
void useval() {
HashMap<String, String> m = new HashMap<>();
for (val e : m.entrySet()) {
System.out.println(e.getKey());
}
}
}

  1. javac causes lombok1.14.4 and javac 1.8.0_20 causes java.lang.NoSuchMethodError: com.sun.tools.javac.code.Types.upperBound

What is the expected output? What do you see instead?

javac and lombok should compile this code.

What version of the product are you using? On what operating system?

  • lombok1.14.4
  • oracle javac 1.8.0_20

Please provide any additional information below.

javac 1.8.0_11 can compile this code.

stack trace with javac 1.8.0_20 is following:

java.lang.NoSuchMethodError: com.sun.tools.javac.code.Types.upperBound(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
at lombok.javac.JavacResolution.ifTypeIsIterableToComponent(JavacResolution.java:196)
at lombok.javac.handlers.HandleVal.visitLocal(HandleVal.java:120)
at lombok.javac.JavacNode.traverse(JavacNode.java:100)
at lombok.javac.JavacAST.traverseChildren(JavacAST.java:113)
at lombok.javac.JavacNode.traverse(JavacNode.java:106)
at lombok.javac.JavacAST.traverseChildren(JavacAST.java:113)
at lombok.javac.JavacNode.traverse(JavacNode.java:85)
at lombok.javac.JavacAST.traverseChildren(JavacAST.java:113)
at lombok.javac.JavacNode.traverse(JavacNode.java:75)
at lombok.javac.JavacAST.traverseChildren(JavacAST.java:113)
at lombok.javac.JavacNode.traverse(JavacNode.java:70)
at lombok.javac.JavacAST.traverse(JavacAST.java:109)
at lombok.javac.HandlerLibrary.callASTVisitors(HandlerLibrary.java:259)
at lombok.javac.JavacTransformer.transform(JavacTransformer.java:71)
at lombok.javac.apt.Processor.process(Processor.java:250)
at lombok.core.AnnotationProcessor$JavacDescriptor.process(AnnotationProcessor.java:117)
at lombok.core.AnnotationProcessor.process(AnnotationProcessor.java:167)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1800(JavacProcessingEnvironment.java:91)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1035)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1176)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:856)
at com.sun.tools.javac.main.Main.compile(Main.java:523)
at com.sun.tools.javac.main.Main.compile(Main.java:381)
at com.sun.tools.javac.main.Main.compile(Main.java:370)
at com.sun.tools.javac.main.Main.compile(Main.java:361)
at com.sun.tools.javac.Main.compile(Main.java:56)
at com.sun.tools.javac.Main.main(Main.java:42)
error: Lombok visitor handler class lombok.javac.handlers.HandleVal failed: java.lang.NoSuchMethodError: com.sun.tools.javac.code.Types.upperBound(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;

@lombokissues
Copy link
Author

👤 buzz.taiki   🕗 Aug 21, 2014 at 17:26 UTC

probably, this error is caused by jdk's http://hg.openjdk.java.net/jdk8u/jdk8u/langtools/rev/0e026d3f2786 change.

@lombokissues
Copy link
Author

👤 r.spilker   🕗 Aug 21, 2014 at 20:25 UTC

Thanks for spotting the changeset, buzz.taiki :)

This edge release fixes the problem:

https://projectlombok.org/download-edge.html

will be in the next release.

@lombokissues
Copy link
Author

👤 buzz.taiki   🕗 Aug 22, 2014 at 02:13 UTC

Thanks!

I've succeed to compile ValWithTypeParam and our product code by javac 1.8.0_20 and lombok-edge.

@lombokissues
Copy link
Author

End of migration

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants