Summary:
JDK: 26 (26+35-2893)
error-prone version: 2.49.0
BugPattern: FieldCanBeFinal
Stack Trace:
java.lang.IllegalStateException: java.lang.IllegalArgumentException: /C:/Users/antho/path/to/Foo.java
The root cause is thrown from JavacFileManager.
Code:
package my.package;
class Foo {
private int bar;
Foo(int bar) {
this.bar = bar;
}
}
Stack trace:
java.lang.IllegalStateException: java.lang.IllegalArgumentException: /C:/Users/antho/path/to/Foo.java
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:383)
at com.google.errorprone.fixes.SuggestedFixes$FixCompiler.compile(SuggestedFixes.java:1435)
at com.google.errorprone.fixes.SuggestedFixes.compilesWithFix(SuggestedFixes.java:1362)
at com.google.errorprone.fixes.SuggestedFixes.compilesWithFix(SuggestedFixes.java:1322)
at com.google.errorprone.fixes.SuggestedFixes.compilesWithFix(SuggestedFixes.java:1304)
at com.google.errorprone.bugpatterns.FieldCanBeFinal.lambda$matchCompilationUnit$1(FieldCanBeFinal.java:249)
at java.base/java.util.Optional.filter(Optional.java:222)
at com.google.errorprone.bugpatterns.FieldCanBeFinal.matchCompilationUnit(FieldCanBeFinal.java:249)
at com.google.errorprone.scanner.ErrorProneScanner.processMatchers(ErrorProneScanner.java:541)
at com.google.errorprone.scanner.ErrorProneScanner.visitCompilationUnit(ErrorProneScanner.java:658)
at com.google.errorprone.scanner.ErrorProneScanner.visitCompilationUnit(ErrorProneScanner.java:180)
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:634)
at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:66)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:58)
at com.google.errorprone.scanner.ErrorProneScannerTransformer.apply(ErrorProneScannerTransformer.java:43)
at com.google.errorprone.ErrorProneAnalyzer.finished(ErrorProneAnalyzer.java:231)
at jdk.compiler/com.sun.tools.javac.api.MultiTaskListener.finished(MultiTaskListener.java:133)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1437)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1384)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:969)
at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:319)
at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:178)
at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:66)
at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:52)
Caused by: java.lang.IllegalArgumentException: /C:/Users/antho/path/to/Foo.java
at jdk.compiler/com.sun.tools.javac.file.JavacFileManager.asPath(JavacFileManager.java:1211)
at jdk.compiler/com.sun.tools.javac.file.JavacFileManager.contains(JavacFileManager.java:1137)
at jdk.compiler/com.sun.tools.javac.main.DelegatingJavaFileManager.contains(DelegatingJavaFileManager.java:184)
at jdk.compiler/com.sun.tools.javac.main.DelegatingJavaFileManager.contains(DelegatingJavaFileManager.java:184)
at jdk.compiler/com.sun.tools.javac.comp.Modules.checkSourceLocation(Modules.java:551)
at jdk.compiler/com.sun.tools.javac.comp.Modules.setCompilationUnitModules(Modules.java:541)
at jdk.compiler/com.sun.tools.javac.comp.Modules.enter(Modules.java:273)
at jdk.compiler/com.sun.tools.javac.comp.Modules.initModules(Modules.java:232)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.initModules(JavaCompiler.java:1061)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.enter(JavacTaskImpl.java:342)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:399)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$analyze$0(JavacTaskImpl.java:379)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:152)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.analyze(JavacTaskImpl.java:379)
... 23 more
Summary:
The root cause is thrown from
JavacFileManager.Code:
Stack trace: