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 TypeMethodDescriptionint
getMaxNestingLevel
(MethodTree tree) void
void
void
void
void
visitLambdaExpression
(LambdaExpressionTree lambdaExpressionTree) void
visitMethod
(MethodTree tree) void
visitNewClass
(NewClassTree tree) void
void
void
Methods 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:
visitIfStatement
in interfaceTreeVisitor
- Overrides:
visitIfStatement
in classBaseTreeVisitor
-
visitSwitchStatement
- Specified by:
visitSwitchStatement
in interfaceTreeVisitor
- Overrides:
visitSwitchStatement
in classBaseTreeVisitor
-
visitTryStatement
- Specified by:
visitTryStatement
in interfaceTreeVisitor
- Overrides:
visitTryStatement
in classBaseTreeVisitor
-
visitWhileStatement
- Specified by:
visitWhileStatement
in interfaceTreeVisitor
- Overrides:
visitWhileStatement
in classBaseTreeVisitor
-
visitDoWhileStatement
- Specified by:
visitDoWhileStatement
in interfaceTreeVisitor
- Overrides:
visitDoWhileStatement
in classBaseTreeVisitor
-
visitForStatement
- Specified by:
visitForStatement
in interfaceTreeVisitor
- Overrides:
visitForStatement
in classBaseTreeVisitor
-
visitLambdaExpression
- Specified by:
visitLambdaExpression
in interfaceTreeVisitor
- Overrides:
visitLambdaExpression
in classBaseTreeVisitor
-
visitForEachStatement
- Specified by:
visitForEachStatement
in interfaceTreeVisitor
- Overrides:
visitForEachStatement
in classBaseTreeVisitor
-
visitNewClass
- Specified by:
visitNewClass
in interfaceTreeVisitor
- Overrides:
visitNewClass
in classBaseTreeVisitor
-
visitMethod
- Specified by:
visitMethod
in interfaceTreeVisitor
- Overrides:
visitMethod
in classBaseTreeVisitor
-