Class MethodNestingLevelVisitor
java.lang.Object
org.sonar.plugins.java.api.tree.BaseTreeVisitor
org.sonar.java.ast.visitors.MethodNestingLevelVisitor
- All Implemented Interfaces:
TreeVisitor
Used to determine the deepest nesting level of a method, calculated starting from 0 and
increased by 1 for each if, while, for, foreach, lambda, switch, and try block found nested within each other.
This was designed to be used as a metric collector for design-oriented rules.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintgetMaxNestingLevel(MethodTree tree) voidvoidvoidvoidvoidvisitLambdaExpression(LambdaExpressionTree lambdaExpressionTree) voidvisitMethod(MethodTree tree) voidvisitNewClass(NewClassTree tree) voidvoidvoidMethods inherited from class BaseTreeVisitor
scan, scan, scan, visitAnnotation, visitArrayAccessExpression, visitArrayDimension, visitArrayType, visitAssertStatement, visitAssignmentExpression, visitBinaryExpression, visitBlock, visitBreakStatement, visitCaseGroup, visitCaseLabel, visitCatch, visitClass, visitCompilationUnit, visitConditionalExpression, visitContinueStatement, visitDefaultPattern, visitEmptyStatement, visitEnumConstant, visitExportsDirectiveTree, visitExpressionStatement, visitGuardedPattern, visitIdentifier, visitImport, visitInstanceOf, visitLabeledStatement, visitLiteral, visitMemberSelectExpression, visitMethodInvocation, visitMethodReference, visitModifier, visitModule, visitNewArray, visitNullPattern, visitOpensDirective, visitOther, visitPackage, visitParameterizedType, visitParenthesized, visitPatternInstanceOf, visitPrimitiveType, visitProvidesDirective, visitRecordPattern, visitRequiresDirectiveTree, visitReturnStatement, visitSwitchExpression, visitSynchronizedStatement, visitThrowStatement, visitTypeArguments, visitTypeCast, visitTypeParameter, visitTypeParameters, visitTypePattern, visitUnaryExpression, visitUnionType, visitUsesDirective, visitVariable, visitVarType, visitWildcard, visitYieldStatementModifier and TypeMethodDescriptionprotected voidprotected voidprotected voidvoidvisitAnnotation(AnnotationTree annotationTree) voidvoidvoidvisitArrayType(ArrayTypeTree tree) voidvoidvoidvoidvisitBlock(BlockTree tree) voidvoidvisitCaseGroup(CaseGroupTree tree) voidvisitCaseLabel(CaseLabelTree tree) voidvisitCatch(CatchTree tree) voidvisitClass(ClassTree tree) voidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvisitImport(ImportTree tree) voidvoidvoidvisitLiteral(LiteralTree tree) voidvoidvoidvisitMethodReference(MethodReferenceTree methodReferenceTree) voidvisitModifier(ModifiersTree modifiersTree) voidvisitModule(ModuleDeclarationTree module) voidvisitNewArray(NewArrayTree tree) voidvoidvoidvisitOther(Tree tree) voidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvisitTypeArguments(TypeArguments trees) voidvisitTypeCast(TypeCastTree tree) voidvisitTypeParameter(TypeParameterTree typeParameter) voidvoidvoidvoidvisitUnionType(UnionTypeTree tree) voidvoidvisitVariable(VariableTree tree) voidvisitVarType(VarTypeTree tree) voidvisitWildcard(WildcardTree tree) void
-
Constructor Details
-
MethodNestingLevelVisitor
public MethodNestingLevelVisitor()
-
-
Method Details
-
getMaxNestingLevel
-
visitIfStatement
- Specified by:
visitIfStatementin interfaceTreeVisitor- Overrides:
visitIfStatementin classBaseTreeVisitor
-
visitSwitchStatement
- Specified by:
visitSwitchStatementin interfaceTreeVisitor- Overrides:
visitSwitchStatementin classBaseTreeVisitor
-
visitTryStatement
- Specified by:
visitTryStatementin interfaceTreeVisitor- Overrides:
visitTryStatementin classBaseTreeVisitor
-
visitWhileStatement
- Specified by:
visitWhileStatementin interfaceTreeVisitor- Overrides:
visitWhileStatementin classBaseTreeVisitor
-
visitDoWhileStatement
- Specified by:
visitDoWhileStatementin interfaceTreeVisitor- Overrides:
visitDoWhileStatementin classBaseTreeVisitor
-
visitForStatement
- Specified by:
visitForStatementin interfaceTreeVisitor- Overrides:
visitForStatementin classBaseTreeVisitor
-
visitLambdaExpression
- Specified by:
visitLambdaExpressionin interfaceTreeVisitor- Overrides:
visitLambdaExpressionin classBaseTreeVisitor
-
visitForEachStatement
- Specified by:
visitForEachStatementin interfaceTreeVisitor- Overrides:
visitForEachStatementin classBaseTreeVisitor
-
visitNewClass
- Specified by:
visitNewClassin interfaceTreeVisitor- Overrides:
visitNewClassin classBaseTreeVisitor
-
visitMethod
- Specified by:
visitMethodin interfaceTreeVisitor- Overrides:
visitMethodin classBaseTreeVisitor
-