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 org.sonar.plugins.java.api.tree.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, visitYieldStatement
-
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
-