Class CanBeStaticAnalyzer

java.lang.Object
com.google.errorprone.bugpatterns.CanBeStaticAnalyzer

public class CanBeStaticAnalyzer extends Object
Analyzes trees for references to their enclosing instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    static com.google.errorprone.bugpatterns.CanBeStaticAnalyzer.CanBeStaticResult
    canBeStaticResult(Tree tree, com.sun.tools.javac.code.Symbol owner, VisitorState state)
     
    static boolean
    referencesOuter(Tree tree, com.sun.tools.javac.code.Symbol owner, VisitorState state)
    Returns true if the tree references its enclosing class.
    void
    scan(com.sun.tools.javac.tree.JCTree arg0)
     
    void
    scan(com.sun.tools.javac.util.List<? extends com.sun.tools.javac.tree.JCTree> arg0)
     
    void
    visitAnnotatedType(com.sun.tools.javac.tree.JCTree.JCAnnotatedType arg0)
     
    void
    visitAnnotation(com.sun.tools.javac.tree.JCTree.JCAnnotation tree)
     
    void
    visitAnyPattern(com.sun.tools.javac.tree.JCTree.JCAnyPattern arg0)
     
    void
    visitApply(com.sun.tools.javac.tree.JCTree.JCMethodInvocation arg0)
     
    void
    visitAssert(com.sun.tools.javac.tree.JCTree.JCAssert arg0)
     
    void
    visitAssign(com.sun.tools.javac.tree.JCTree.JCAssign arg0)
     
    void
    visitAssignop(com.sun.tools.javac.tree.JCTree.JCAssignOp arg0)
     
    void
    visitBinary(com.sun.tools.javac.tree.JCTree.JCBinary arg0)
     
    void
    visitBindingPattern(com.sun.tools.javac.tree.JCTree.JCBindingPattern arg0)
     
    void
    visitBlock(com.sun.tools.javac.tree.JCTree.JCBlock arg0)
     
    void
    visitBreak(com.sun.tools.javac.tree.JCTree.JCBreak arg0)
     
    void
    visitCase(com.sun.tools.javac.tree.JCTree.JCCase arg0)
     
    void
    visitCatch(com.sun.tools.javac.tree.JCTree.JCCatch arg0)
     
    void
    visitClassDef(com.sun.tools.javac.tree.JCTree.JCClassDecl arg0)
     
    void
    visitConditional(com.sun.tools.javac.tree.JCTree.JCConditional arg0)
     
    void
    visitConstantCaseLabel(com.sun.tools.javac.tree.JCTree.JCConstantCaseLabel arg0)
     
    void
    visitContinue(com.sun.tools.javac.tree.JCTree.JCContinue arg0)
     
    void
    visitDefaultCaseLabel(com.sun.tools.javac.tree.JCTree.JCDefaultCaseLabel arg0)
     
    void
    visitDoLoop(com.sun.tools.javac.tree.JCTree.JCDoWhileLoop arg0)
     
    void
    visitErroneous(com.sun.tools.javac.tree.JCTree.JCErroneous arg0)
     
    void
    visitExec(com.sun.tools.javac.tree.JCTree.JCExpressionStatement arg0)
     
    void
    visitExports(com.sun.tools.javac.tree.JCTree.JCExports arg0)
     
    void
    visitForeachLoop(com.sun.tools.javac.tree.JCTree.JCEnhancedForLoop arg0)
     
    void
    visitForLoop(com.sun.tools.javac.tree.JCTree.JCForLoop arg0)
     
    void
    visitIdent(com.sun.tools.javac.tree.JCTree.JCIdent tree)
     
    void
    visitIf(com.sun.tools.javac.tree.JCTree.JCIf arg0)
     
    void
    visitImport(com.sun.tools.javac.tree.JCTree.JCImport arg0)
     
    void
    visitIndexed(com.sun.tools.javac.tree.JCTree.JCArrayAccess arg0)
     
    void
    visitLabelled(com.sun.tools.javac.tree.JCTree.JCLabeledStatement arg0)
     
    void
    visitLambda(com.sun.tools.javac.tree.JCTree.JCLambda arg0)
     
    void
    visitLetExpr(com.sun.tools.javac.tree.JCTree.LetExpr arg0)
     
    void
    visitLiteral(com.sun.tools.javac.tree.JCTree.JCLiteral arg0)
     
    void
    visitMethodDef(com.sun.tools.javac.tree.JCTree.JCMethodDecl arg0)
     
    void
    visitModifiers(com.sun.tools.javac.tree.JCTree.JCModifiers arg0)
     
    void
    visitModuleDef(com.sun.tools.javac.tree.JCTree.JCModuleDecl arg0)
     
    void
    visitModuleImport(com.sun.tools.javac.tree.JCTree.JCModuleImport arg0)
     
    void
    visitNewArray(com.sun.tools.javac.tree.JCTree.JCNewArray arg0)
     
    void
    visitNewClass(com.sun.tools.javac.tree.JCTree.JCNewClass tree)
     
    void
    visitOpens(com.sun.tools.javac.tree.JCTree.JCOpens arg0)
     
    void
    visitPackageDef(com.sun.tools.javac.tree.JCTree.JCPackageDecl arg0)
     
    void
    visitParens(com.sun.tools.javac.tree.JCTree.JCParens arg0)
     
    void
    visitPatternCaseLabel(com.sun.tools.javac.tree.JCTree.JCPatternCaseLabel arg0)
     
    void
    visitProvides(com.sun.tools.javac.tree.JCTree.JCProvides arg0)
     
    void
    visitRecordPattern(com.sun.tools.javac.tree.JCTree.JCRecordPattern arg0)
     
    void
    visitReference(com.sun.tools.javac.tree.JCTree.JCMemberReference tree)
     
    void
    visitRequires(com.sun.tools.javac.tree.JCTree.JCRequires arg0)
     
    void
    visitReturn(com.sun.tools.javac.tree.JCTree.JCReturn arg0)
     
    void
    visitSelect(com.sun.tools.javac.tree.JCTree.JCFieldAccess tree)
     
    void
    visitSkip(com.sun.tools.javac.tree.JCTree.JCSkip arg0)
     
    void
    visitSwitch(com.sun.tools.javac.tree.JCTree.JCSwitch arg0)
     
    void
    visitSwitchExpression(com.sun.tools.javac.tree.JCTree.JCSwitchExpression arg0)
     
    void
    visitSynchronized(com.sun.tools.javac.tree.JCTree.JCSynchronized arg0)
     
    void
    visitThrow(com.sun.tools.javac.tree.JCTree.JCThrow arg0)
     
    void
    visitTopLevel(com.sun.tools.javac.tree.JCTree.JCCompilationUnit arg0)
     
    void
    visitTree(com.sun.tools.javac.tree.JCTree arg0)
     
    void
    visitTry(com.sun.tools.javac.tree.JCTree.JCTry arg0)
     
    void
    visitTypeApply(com.sun.tools.javac.tree.JCTree.JCTypeApply arg0)
     
    void
    visitTypeArray(com.sun.tools.javac.tree.JCTree.JCArrayTypeTree arg0)
     
    void
    visitTypeBoundKind(com.sun.tools.javac.tree.JCTree.TypeBoundKind arg0)
     
    void
    visitTypeCast(com.sun.tools.javac.tree.JCTree.JCTypeCast arg0)
     
    void
    visitTypeIdent(com.sun.tools.javac.tree.JCTree.JCPrimitiveTypeTree arg0)
     
    void
    visitTypeIntersection(com.sun.tools.javac.tree.JCTree.JCTypeIntersection arg0)
     
    void
    visitTypeParameter(com.sun.tools.javac.tree.JCTree.JCTypeParameter arg0)
     
    void
    visitTypeTest(com.sun.tools.javac.tree.JCTree.JCInstanceOf arg0)
     
    void
    visitTypeUnion(com.sun.tools.javac.tree.JCTree.JCTypeUnion arg0)
     
    void
    visitUnary(com.sun.tools.javac.tree.JCTree.JCUnary arg0)
     
    void
    visitUses(com.sun.tools.javac.tree.JCTree.JCUses arg0)
     
    void
    visitVarDef(com.sun.tools.javac.tree.JCTree.JCVariableDecl arg0)
     
    void
    visitWhileLoop(com.sun.tools.javac.tree.JCTree.JCWhileLoop arg0)
     
    void
    visitWildcard(com.sun.tools.javac.tree.JCTree.JCWildcard arg0)
     
    void
    visitYield(com.sun.tools.javac.tree.JCTree.JCYield arg0)
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • referencesOuter

      public static boolean referencesOuter(Tree tree, com.sun.tools.javac.code.Symbol owner, VisitorState state)
      Returns true if the tree references its enclosing class.
    • canBeStaticResult

      public static com.google.errorprone.bugpatterns.CanBeStaticAnalyzer.CanBeStaticResult canBeStaticResult(Tree tree, com.sun.tools.javac.code.Symbol owner, VisitorState state)
    • visitIdent

      public void visitIdent(com.sun.tools.javac.tree.JCTree.JCIdent tree)
    • visitSelect

      public void visitSelect(com.sun.tools.javac.tree.JCTree.JCFieldAccess tree)
    • visitNewClass

      public void visitNewClass(com.sun.tools.javac.tree.JCTree.JCNewClass tree)
    • visitReference

      public void visitReference(com.sun.tools.javac.tree.JCTree.JCMemberReference tree)
    • visitAnnotation

      public void visitAnnotation(com.sun.tools.javac.tree.JCTree.JCAnnotation tree)
    • scan

      public void scan(com.sun.tools.javac.tree.JCTree arg0)
    • scan

      public void scan(com.sun.tools.javac.util.List<? extends com.sun.tools.javac.tree.JCTree> arg0)
    • visitTopLevel

      public void visitTopLevel(com.sun.tools.javac.tree.JCTree.JCCompilationUnit arg0)
    • visitPackageDef

      public void visitPackageDef(com.sun.tools.javac.tree.JCTree.JCPackageDecl arg0)
    • visitModuleDef

      public void visitModuleDef(com.sun.tools.javac.tree.JCTree.JCModuleDecl arg0)
    • visitExports

      public void visitExports(com.sun.tools.javac.tree.JCTree.JCExports arg0)
    • visitModuleImport

      public void visitModuleImport(com.sun.tools.javac.tree.JCTree.JCModuleImport arg0)
    • visitOpens

      public void visitOpens(com.sun.tools.javac.tree.JCTree.JCOpens arg0)
    • visitProvides

      public void visitProvides(com.sun.tools.javac.tree.JCTree.JCProvides arg0)
    • visitRequires

      public void visitRequires(com.sun.tools.javac.tree.JCTree.JCRequires arg0)
    • visitUses

      public void visitUses(com.sun.tools.javac.tree.JCTree.JCUses arg0)
    • visitImport

      public void visitImport(com.sun.tools.javac.tree.JCTree.JCImport arg0)
    • visitClassDef

      public void visitClassDef(com.sun.tools.javac.tree.JCTree.JCClassDecl arg0)
    • visitMethodDef

      public void visitMethodDef(com.sun.tools.javac.tree.JCTree.JCMethodDecl arg0)
    • visitVarDef

      public void visitVarDef(com.sun.tools.javac.tree.JCTree.JCVariableDecl arg0)
    • visitSkip

      public void visitSkip(com.sun.tools.javac.tree.JCTree.JCSkip arg0)
    • visitBlock

      public void visitBlock(com.sun.tools.javac.tree.JCTree.JCBlock arg0)
    • visitDoLoop

      public void visitDoLoop(com.sun.tools.javac.tree.JCTree.JCDoWhileLoop arg0)
    • visitWhileLoop

      public void visitWhileLoop(com.sun.tools.javac.tree.JCTree.JCWhileLoop arg0)
    • visitForLoop

      public void visitForLoop(com.sun.tools.javac.tree.JCTree.JCForLoop arg0)
    • visitForeachLoop

      public void visitForeachLoop(com.sun.tools.javac.tree.JCTree.JCEnhancedForLoop arg0)
    • visitLabelled

      public void visitLabelled(com.sun.tools.javac.tree.JCTree.JCLabeledStatement arg0)
    • visitSwitch

      public void visitSwitch(com.sun.tools.javac.tree.JCTree.JCSwitch arg0)
    • visitCase

      public void visitCase(com.sun.tools.javac.tree.JCTree.JCCase arg0)
    • visitSwitchExpression

      public void visitSwitchExpression(com.sun.tools.javac.tree.JCTree.JCSwitchExpression arg0)
    • visitSynchronized

      public void visitSynchronized(com.sun.tools.javac.tree.JCTree.JCSynchronized arg0)
    • visitTry

      public void visitTry(com.sun.tools.javac.tree.JCTree.JCTry arg0)
    • visitCatch

      public void visitCatch(com.sun.tools.javac.tree.JCTree.JCCatch arg0)
    • visitConditional

      public void visitConditional(com.sun.tools.javac.tree.JCTree.JCConditional arg0)
    • visitIf

      public void visitIf(com.sun.tools.javac.tree.JCTree.JCIf arg0)
    • visitExec

      public void visitExec(com.sun.tools.javac.tree.JCTree.JCExpressionStatement arg0)
    • visitBreak

      public void visitBreak(com.sun.tools.javac.tree.JCTree.JCBreak arg0)
    • visitYield

      public void visitYield(com.sun.tools.javac.tree.JCTree.JCYield arg0)
    • visitContinue

      public void visitContinue(com.sun.tools.javac.tree.JCTree.JCContinue arg0)
    • visitReturn

      public void visitReturn(com.sun.tools.javac.tree.JCTree.JCReturn arg0)
    • visitThrow

      public void visitThrow(com.sun.tools.javac.tree.JCTree.JCThrow arg0)
    • visitAssert

      public void visitAssert(com.sun.tools.javac.tree.JCTree.JCAssert arg0)
    • visitApply

      public void visitApply(com.sun.tools.javac.tree.JCTree.JCMethodInvocation arg0)
    • visitNewArray

      public void visitNewArray(com.sun.tools.javac.tree.JCTree.JCNewArray arg0)
    • visitLambda

      public void visitLambda(com.sun.tools.javac.tree.JCTree.JCLambda arg0)
    • visitParens

      public void visitParens(com.sun.tools.javac.tree.JCTree.JCParens arg0)
    • visitAssign

      public void visitAssign(com.sun.tools.javac.tree.JCTree.JCAssign arg0)
    • visitAssignop

      public void visitAssignop(com.sun.tools.javac.tree.JCTree.JCAssignOp arg0)
    • visitUnary

      public void visitUnary(com.sun.tools.javac.tree.JCTree.JCUnary arg0)
    • visitBinary

      public void visitBinary(com.sun.tools.javac.tree.JCTree.JCBinary arg0)
    • visitTypeCast

      public void visitTypeCast(com.sun.tools.javac.tree.JCTree.JCTypeCast arg0)
    • visitTypeTest

      public void visitTypeTest(com.sun.tools.javac.tree.JCTree.JCInstanceOf arg0)
    • visitBindingPattern

      public void visitBindingPattern(com.sun.tools.javac.tree.JCTree.JCBindingPattern arg0)
    • visitDefaultCaseLabel

      public void visitDefaultCaseLabel(com.sun.tools.javac.tree.JCTree.JCDefaultCaseLabel arg0)
    • visitConstantCaseLabel

      public void visitConstantCaseLabel(com.sun.tools.javac.tree.JCTree.JCConstantCaseLabel arg0)
    • visitPatternCaseLabel

      public void visitPatternCaseLabel(com.sun.tools.javac.tree.JCTree.JCPatternCaseLabel arg0)
    • visitAnyPattern

      public void visitAnyPattern(com.sun.tools.javac.tree.JCTree.JCAnyPattern arg0)
    • visitRecordPattern

      public void visitRecordPattern(com.sun.tools.javac.tree.JCTree.JCRecordPattern arg0)
    • visitIndexed

      public void visitIndexed(com.sun.tools.javac.tree.JCTree.JCArrayAccess arg0)
    • visitLiteral

      public void visitLiteral(com.sun.tools.javac.tree.JCTree.JCLiteral arg0)
    • visitTypeIdent

      public void visitTypeIdent(com.sun.tools.javac.tree.JCTree.JCPrimitiveTypeTree arg0)
    • visitTypeArray

      public void visitTypeArray(com.sun.tools.javac.tree.JCTree.JCArrayTypeTree arg0)
    • visitTypeApply

      public void visitTypeApply(com.sun.tools.javac.tree.JCTree.JCTypeApply arg0)
    • visitTypeUnion

      public void visitTypeUnion(com.sun.tools.javac.tree.JCTree.JCTypeUnion arg0)
    • visitTypeIntersection

      public void visitTypeIntersection(com.sun.tools.javac.tree.JCTree.JCTypeIntersection arg0)
    • visitTypeParameter

      public void visitTypeParameter(com.sun.tools.javac.tree.JCTree.JCTypeParameter arg0)
    • visitWildcard

      public void visitWildcard(com.sun.tools.javac.tree.JCTree.JCWildcard arg0)
    • visitTypeBoundKind

      public void visitTypeBoundKind(com.sun.tools.javac.tree.JCTree.TypeBoundKind arg0)
    • visitModifiers

      public void visitModifiers(com.sun.tools.javac.tree.JCTree.JCModifiers arg0)
    • visitAnnotatedType

      public void visitAnnotatedType(com.sun.tools.javac.tree.JCTree.JCAnnotatedType arg0)
    • visitErroneous

      public void visitErroneous(com.sun.tools.javac.tree.JCTree.JCErroneous arg0)
    • visitLetExpr

      public void visitLetExpr(com.sun.tools.javac.tree.JCTree.LetExpr arg0)
    • visitTree

      public void visitTree(com.sun.tools.javac.tree.JCTree arg0)