You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Symbol findVar(Env<AttrContext> env, Name name) {+ Symbol findVar(DiagnosticPosition pos, Env<AttrContext> env, Name name) {
The changed signatures are called reflectively by the Checker Framework, and those reflective call sites will need to be updated to avoid crashes like the following:
Exception: java.lang.AssertionError: Compiler 'Resolve' class doesn't contain required 'find' method; java.lang.AssertionError: Compiler 'Resolve' class doesn't contain required 'find' method
at org.checkerframework.javacutil.Resolver.<clinit>(Resolver.java:151)
at org.checkerframework.framework.util.JavaExpressionParseUtil$ExpressionToJavaExpressionVisitor.setResolverField(JavaExpressionParseUtil.java:324)
at org.checkerframework.framework.util.JavaExpressionParseUtil$ExpressionToJavaExpressionVisitor.visit(JavaExpressionParseUtil.java:717)
at org.checkerframework.framework.util.JavaExpressionParseUtil$ExpressionToJavaExpressionVisitor.visit(JavaExpressionParseUtil.java:201)
at org.checkerframework.com.github.javaparser.ast.expr.MethodCallExpr.accept(MethodCallExpr.java:118)
at org.checkerframework.framework.util.JavaExpressionParseUtil$ExpressionToJavaExpressionVisitor.convert(JavaExpressionParseUtil.java:300)
at org.checkerframework.framework.util.JavaExpressionParseUtil.parse(JavaExpressionParseUtil.java:177)
at org.checkerframework.framework.util.StringToJavaExpression.atMethodDecl(StringToJavaExpression.java:147)
at org.checkerframework.framework.util.StringToJavaExpression.atMethodBody(StringToJavaExpression.java:175)
at org.checkerframework.common.basetype.BaseTypeVisitor.checkContractsAtMethodDeclaration(BaseTypeVisitor.java:1350)
at org.checkerframework.common.basetype.BaseTypeVisitor.visitMethod(BaseTypeVisitor.java:1074)
...
Caused by: java.lang.NoSuchMethodException: com.sun.tools.javac.comp.Resolve.findVar(com.sun.tools.javac.comp.Env,com.sun.tools.javac.util.Name)
at java.base/java.lang.Class.getDeclaredMethod(Class.java:2908)
at org.checkerframework.javacutil.Resolver.<clinit>(Resolver.java:90)
... 49 more
The text was updated successfully, but these errors were encountered:
This JDK change to an internal javac API changes the signature of some methods: openjdk/jdk@e227c7e#diff-75b20caecda5175bf59347075eee9cb52409b4b411eb27f1a7f3d3430c003747
The changed signatures are called reflectively by the Checker Framework, and those reflective call sites will need to be updated to avoid crashes like the following:
The text was updated successfully, but these errors were encountered: