Skip to content

Expected a JCFieldAccess or JCIdent #5521

@ben-manes

Description

@ben-manes

Seems to fail on this pattern of code and making it var as to be suggested resolves the failure.

  @Provides @Singleton
  GoogleMapsService providesGoogleMapsService(
      OkHttpClient baseHttpClient, AuthInterceptor authInterceptor) {
    OkHttpClient httpClient = baseHttpClient.newBuilder()
        .addNetworkInterceptor(authInterceptor)
        .build();
    Retrofit retrofit = new Retrofit.Builder()
        .addConverterFactory(GsonConverterFactory.create(makeGson()))
        .baseUrl("https://maps.googleapis.com/")
        .client(httpClient)
        .build();
    return retrofit.create(GoogleMapsService.class);
  }
Details
Retrofit retrofit = new Retrofit.Builder()
         ^
 Please report this at https://github.com/google/error-prone/issues/new and include the following, as well as a reproducing code sample (if possible):
 error-prone version: 2.47.0
 BugPattern: Varifier
 Stack Trace:
 java.lang.IllegalArgumentException: Expected a JCFieldAccess or JCIdent from expression new Retrofit.Builder()
    at com.google.errorprone.util.ASTHelpers.getReceiverType(ASTHelpers.java:582)
    at com.google.errorprone.bugpatterns.Varifier.lambda$matchVariable$0(Varifier.java:114)
    at java.base/java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
    at java.base/java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1950)
    at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:147)
    at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:588)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:574)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
    at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
    at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
    at java.base/java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:668)
    at com.google.errorprone.bugpatterns.Varifier.matchVariable(Varifier.java:111)
    at com.google.errorprone.scanner.ErrorProneScanner.processMatchers(ErrorProneScanner.java:539)
    at com.google.errorprone.scanner.ErrorProneScanner.visitVariable(ErrorProneScanner.java:1091)
    at com.google.errorprone.scanner.ErrorProneScanner.visitVariable(ErrorProneScanner.java:178)
    at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:1084)
    at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92)
    at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
    at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
    at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:95)
    at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:110)
    at jdk.compiler/com.sun.source.util.TreeScanner.visitBlock(TreeScanner.java:271)
    at com.google.errorprone.scanner.ErrorProneScanner.visitBlock(ErrorProneScanner.java:621)
    at com.google.errorprone.scanner.ErrorProneScanner.visitBlock(ErrorProneScanner.java:178)
    at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1148)
    at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92)
    at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
    at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
    at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:95)
    at jdk.compiler/com.sun.source.util.TreeScanner.visitMethod(TreeScanner.java:223)
    at com.google.errorprone.scanner.ErrorProneScanner.visitMethod(ErrorProneScanner.java:882)
    at com.google.errorprone.scanner.ErrorProneScanner.visitMethod(ErrorProneScanner.java:178)
    at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:992)
    at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92)
    at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
    at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
    at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:95)
    at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:110)
    at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:118)
    at jdk.compiler/com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:202)
    at com.google.errorprone.scanner.ErrorProneScanner.visitClass(ErrorProneScanner.java:649)
    at com.google.errorprone.scanner.ErrorProneScanner.visitClass(ErrorProneScanner.java:178)
    at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:899)
    at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92)
    at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
    at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
    at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:110)
    at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:118)
    at jdk.compiler/com.sun.source.util.TreeScanner.visitCompilationUnit(TreeScanner.java:151)
    at com.google.errorprone.scanner.ErrorProneScanner.visitCompilationUnit(ErrorProneScanner.java:661)
    at com.google.errorprone.scanner.ErrorProneScanner.visitCompilationUnit(ErrorProneScanner.java:178)
    at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:627)
    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:1423)
    at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1370)
    at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:955)
    at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:104)
    at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:152)
    at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100)
    at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94)
    at org.gradle.internal.compiler.java.IncrementalCompileTask.call(IncrementalCompileTask.java:92)
    at org.gradle.api.internal.tasks.compile.AnnotationProcessingCompileTask.call(AnnotationProcessingCompileTask.java:94)
    at org.gradle.api.internal.tasks.compile.ResourceCleaningCompilationTask.call(ResourceCleaningCompilationTask.java:57)
    at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:83)
    at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:50)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions