public class ControlFlowAnalyzer extends JavaElementVisitor
EMPTY_VISITORvisitAnnotation, visitAnnotationArrayInitializer, visitAnnotationMethod, visitAnnotationParameterList, visitAnonymousClass, visitBinaryExpression, visitCallExpression, visitCatchSection, visitDocComment, visitDocTag, visitDocTagValue, visitDocToken, visitEnumConstantInitializer, visitIdentifier, visitImplicitVariable, visitImportList, visitImportStatement, visitImportStaticReferenceElement, visitImportStaticStatement, visitInlineDocTag, visitJavaFile, visitJavaToken, visitKeyword, visitLocalVariable, visitMethod, visitModifierList, visitModule, visitModuleReferenceElement, visitModuleStatement, visitNameValuePair, visitPackage, visitPackageAccessibilityStatement, visitPackageStatement, visitParameter, visitParameterList, visitPattern, visitPatternVariable, visitProvidesStatement, visitReceiverParameter, visitRecordComponent, visitRecordHeader, visitReferenceElement, visitReferenceList, visitReferenceParameterList, visitRequiresStatement, visitResourceExpression, visitResourceVariable, visitSuperExpression, visitThisExpression, visitTypeElement, visitTypeParameter, visitTypeParameterList, visitTypeTestPattern, visitUnaryExpression, visitUsesStatement, visitVariablevisitBinaryFile, visitComment, visitDirectory, visitElement, visitFile, visitOuterLanguageElement, visitPlainText, visitPlainTextFile, visitWhiteSpacepublic ControlFlow buildControlFlow()
public void visitErrorElement(PsiErrorElement element)
visitErrorElement in class PsiElementVisitorpublic void visitAssignmentExpression(PsiAssignmentExpression expression)
visitAssignmentExpression in class JavaElementVisitorpublic void visitAssertStatement(PsiAssertStatement statement)
visitAssertStatement in class JavaElementVisitorpublic void visitDeclarationStatement(PsiDeclarationStatement statement)
visitDeclarationStatement in class JavaElementVisitorpublic void visitField(PsiField field)
visitField in class JavaElementVisitorpublic void visitClassInitializer(PsiClassInitializer initializer)
visitClassInitializer in class JavaElementVisitorpublic void visitCodeFragment(JavaCodeFragment codeFragment)
visitCodeFragment in class JavaElementVisitorpublic void visitCodeBlock(PsiCodeBlock block)
visitCodeBlock in class JavaElementVisitorpublic void visitBlockStatement(PsiBlockStatement statement)
visitBlockStatement in class JavaElementVisitorpublic void visitBreakStatement(PsiBreakStatement statement)
visitBreakStatement in class JavaElementVisitorpublic void visitYieldStatement(PsiYieldStatement statement)
visitYieldStatement in class JavaElementVisitorpublic void visitContinueStatement(PsiContinueStatement statement)
visitContinueStatement in class JavaElementVisitorpublic void visitDoWhileStatement(PsiDoWhileStatement statement)
visitDoWhileStatement in class JavaElementVisitorpublic void visitEmptyStatement(PsiEmptyStatement statement)
visitEmptyStatement in class JavaElementVisitorpublic void visitExpressionStatement(PsiExpressionStatement statement)
visitExpressionStatement in class JavaElementVisitorpublic void visitExpressionListStatement(PsiExpressionListStatement statement)
visitExpressionListStatement in class JavaElementVisitorpublic void visitForeachStatement(PsiForeachStatement statement)
visitForeachStatement in class JavaElementVisitorpublic void visitForStatement(PsiForStatement statement)
visitForStatement in class JavaElementVisitorpublic void visitIfStatement(PsiIfStatement statement)
visitIfStatement in class JavaElementVisitorpublic void visitStatement(PsiStatement statement)
visitStatement in class JavaElementVisitorpublic void visitLabeledStatement(PsiLabeledStatement statement)
visitLabeledStatement in class JavaElementVisitorpublic void visitLambdaExpression(PsiLambdaExpression expression)
visitLambdaExpression in class JavaElementVisitorpublic void visitReturnStatement(PsiReturnStatement statement)
visitReturnStatement in class JavaElementVisitorpublic void visitSwitchLabelStatement(PsiSwitchLabelStatement statement)
visitSwitchLabelStatement in class JavaElementVisitorpublic void visitSwitchLabeledRuleStatement(PsiSwitchLabeledRuleStatement statement)
visitSwitchLabeledRuleStatement in class JavaElementVisitorpublic void visitSwitchStatement(PsiSwitchStatement switchStmt)
visitSwitchStatement in class JavaElementVisitorpublic void visitSwitchExpression(PsiSwitchExpression expression)
visitSwitchExpression in class JavaElementVisitorpublic void visitMethodReferenceExpression(PsiMethodReferenceExpression expression)
visitMethodReferenceExpression in class JavaElementVisitorpublic void visitSynchronizedStatement(PsiSynchronizedStatement statement)
visitSynchronizedStatement in class JavaElementVisitorpublic void visitThrowStatement(PsiThrowStatement statement)
visitThrowStatement in class JavaElementVisitorpublic void visitTryStatement(PsiTryStatement statement)
visitTryStatement in class JavaElementVisitorpublic void visitResourceList(PsiResourceList resourceList)
visitResourceList in class JavaElementVisitorpublic void visitWhileStatement(PsiWhileStatement statement)
visitWhileStatement in class JavaElementVisitorpublic void visitExpressionList(PsiExpressionList list)
visitExpressionList in class JavaElementVisitorpublic void visitExpression(PsiExpression expression)
visitExpression in class JavaElementVisitorpublic void visitArrayAccessExpression(PsiArrayAccessExpression expression)
visitArrayAccessExpression in class JavaElementVisitorpublic void visitArrayInitializerExpression(PsiArrayInitializerExpression expression)
visitArrayInitializerExpression in class JavaElementVisitorpublic void visitPolyadicExpression(PsiPolyadicExpression expression)
visitPolyadicExpression in class JavaElementVisitorpublic void visitClassObjectAccessExpression(PsiClassObjectAccessExpression expression)
visitClassObjectAccessExpression in class JavaElementVisitorpublic void visitConditionalExpression(PsiConditionalExpression expression)
visitConditionalExpression in class JavaElementVisitorpublic void visitInstanceOfExpression(PsiInstanceOfExpression expression)
visitInstanceOfExpression in class JavaElementVisitorpublic void visitMethodCallExpression(PsiMethodCallExpression call)
visitMethodCallExpression in class JavaElementVisitorpublic void visitEnumConstant(PsiEnumConstant enumConstant)
visitEnumConstant in class JavaElementVisitorpublic void visitNewExpression(PsiNewExpression expression)
visitNewExpression in class JavaElementVisitorpublic void visitParenthesizedExpression(PsiParenthesizedExpression expression)
visitParenthesizedExpression in class JavaElementVisitorpublic void visitPostfixExpression(PsiPostfixExpression expression)
visitPostfixExpression in class JavaElementVisitorpublic void visitPrefixExpression(PsiPrefixExpression expression)
visitPrefixExpression in class JavaElementVisitorpublic void visitReferenceExpression(PsiReferenceExpression expression)
JavaElementVisitorJavaRecursiveElementVisitor knows that and implements this method accordingly.
All other visitor must decide themselves what implementation (visitReferenceElement() or visitExpression() or none or LOG.error())
is appropriate for them.visitReferenceExpression in class JavaElementVisitorpublic void visitLiteralExpression(PsiLiteralExpression expression)
visitLiteralExpression in class JavaElementVisitorpublic void visitTypeCastExpression(PsiTypeCastExpression castExpression)
visitTypeCastExpression in class JavaElementVisitorpublic void visitClass(PsiClass aClass)
visitClass in class JavaElementVisitorpublic void removeLambda(PsiLambdaExpression lambda)
public static boolean isTempVariable(DfaVariableValue variable)
createTempVariable(PsiType)variable - to checkpublic static boolean inlinerMayInferPreciseType(PsiExpression expression)
expression - expression to test