Class CyclomaticComplexityComputer
java.lang.Object
com.github._1c_syntax.bsl.parser.BSLParserBaseListener
com.github._1c_syntax.bsl.languageserver.context.computer.CyclomaticComplexityComputer
- All Implemented Interfaces:
Computer<ComplexityData>,BSLParserListener,ParseTreeListener
@Component
@Scope("prototype")
public class CyclomaticComplexityComputer
extends BSLParserBaseListener
implements Computer<ComplexityData>
Вычислитель цикломатической сложности кода.
Вычисляет метрику цикломатической сложности (Cyclomatic Complexity) для файла и каждого метода с указанием вторичных локаций.
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class com.github._1c_syntax.bsl.parser.BSLParserBaseListener
enterAcceptor, enterAccessCall, enterAccessIndex, enterAccessProperty, enterAddHandlerStatement, enterAnnotation, enterAnnotationName, enterAnnotationParam, enterAnnotationParamName, enterAnnotationParams, enterAssignment, enterBoolOperation, enterBreakStatement, enterCallParam, enterCallParamList, enterCallStatement, enterCodeBlock, enterCompareOperation, enterCompilerDirective, enterCompilerDirectiveSymbol, enterComplexIdentifier, enterCompoundStatement, enterConstValue, enterContinueStatement, enterDefaultValue, enterDoCall, enterEvent, enterEveryRule, enterExecuteStatement, enterFile, enterFuncDeclaration, enterFunction, enterHandler, enterIfStatement, enterLabel, enterLabelName, enterLValue, enterMember, enterMethodCall, enterMethodName, enterModifier, enterModuleAnnotations, enterModuleVar, enterModuleVarDeclaration, enterModuleVars, enterModuleVarsList, enterMultilineString, enterNewExpression, enterNumeric, enterOperation, enterParam, enterParamList, enterPreproc_boolOperation, enterPreproc_else, enterPreproc_elsif, enterPreproc_endif, enterPreproc_expression, enterPreproc_if, enterPreproc_logicalExpression, enterPreproc_logicalOperand, enterPreproc_native, enterPreproc_symbol, enterPreproc_unknownSymbol, enterPreprocessor, enterProcDeclaration, enterProcedure, enterRaiseStatement, enterRegionEnd, enterRegionName, enterRegionStart, enterRemoveHandlerStatement, enterReturnStatement, enterShebang, enterStatement, enterString, enterSubCodeBlock, enterSubName, enterSubs, enterSubVar, enterSubVarDeclaration, enterSubVars, enterSubVarsList, enterTryCodeBlock, enterTryStatement, enterTypeName, enterUnaryModifier, enterUse, enterUsedLib, enterVar_name, enterWaitExpression, enterWaitStatement, exitAcceptor, exitAccessCall, exitAccessIndex, exitAccessProperty, exitAddHandlerStatement, exitAnnotation, exitAnnotationName, exitAnnotationParam, exitAnnotationParamName, exitAnnotationParams, exitAssignment, exitBoolOperation, exitBreakStatement, exitCallParam, exitCallParamList, exitCallStatement, exitCodeBlock, exitCompareOperation, exitCompilerDirective, exitCompilerDirectiveSymbol, exitComplexIdentifier, exitCompoundStatement, exitConstValue, exitContinueStatement, exitDefaultValue, exitDoCall, exitElseBranch, exitElsifBranch, exitEvent, exitEveryRule, exitExceptCodeBlock, exitExecuteStatement, exitExpression, exitFile, exitForEachStatement, exitForStatement, exitFuncDeclaration, exitFunction, exitGlobalMethodCall, exitGotoStatement, exitHandler, exitIfBranch, exitIfStatement, exitLabel, exitLabelName, exitLValue, exitMember, exitMethodCall, exitMethodName, exitModifier, exitModuleAnnotations, exitModuleVar, exitModuleVarDeclaration, exitModuleVars, exitModuleVarsList, exitMultilineString, exitNewExpression, exitNumeric, exitOperation, exitParam, exitParamList, exitPreproc_boolOperation, exitPreproc_else, exitPreproc_elsif, exitPreproc_endif, exitPreproc_expression, exitPreproc_if, exitPreproc_logicalExpression, exitPreproc_logicalOperand, exitPreproc_native, exitPreproc_symbol, exitPreproc_unknownSymbol, exitPreprocessor, exitProcDeclaration, exitProcedure, exitRaiseStatement, exitRegionEnd, exitRegionName, exitRegionStart, exitRemoveHandlerStatement, exitReturnStatement, exitShebang, exitStatement, exitString, exitSubCodeBlock, exitSubName, exitSubs, exitSubVar, exitSubVarDeclaration, exitSubVars, exitSubVarsList, exitTernaryOperator, exitTryCodeBlock, exitTryStatement, exitTypeName, exitUnaryModifier, exitUse, exitUsedLib, exitVar_name, exitWaitExpression, exitWaitStatement, exitWhileStatement, visitErrorNode, visitTerminal
-
Constructor Details
-
CyclomaticComplexityComputer
@ConstructorProperties("documentContext") public CyclomaticComplexityComputer(DocumentContext documentContext)
-
-
Method Details
-
init
-
compute
Description copied from interface:ComputerВыполнить вычисление данных.- Specified by:
computein interfaceComputer<ComplexityData>- Returns:
- Вычисленные данные
-
enterSub
- Specified by:
enterSubin interfaceBSLParserListener- Overrides:
enterSubin classBSLParserBaseListener
-
exitSub
- Specified by:
exitSubin interfaceBSLParserListener- Overrides:
exitSubin classBSLParserBaseListener
-
enterFileCodeBlockBeforeSub
- Specified by:
enterFileCodeBlockBeforeSubin interfaceBSLParserListener- Overrides:
enterFileCodeBlockBeforeSubin classBSLParserBaseListener
-
exitFileCodeBlockBeforeSub
- Specified by:
exitFileCodeBlockBeforeSubin interfaceBSLParserListener- Overrides:
exitFileCodeBlockBeforeSubin classBSLParserBaseListener
-
enterFileCodeBlock
- Specified by:
enterFileCodeBlockin interfaceBSLParserListener- Overrides:
enterFileCodeBlockin classBSLParserBaseListener
-
exitFileCodeBlock
- Specified by:
exitFileCodeBlockin interfaceBSLParserListener- Overrides:
exitFileCodeBlockin classBSLParserBaseListener
-
enterIfBranch
- Specified by:
enterIfBranchin interfaceBSLParserListener- Overrides:
enterIfBranchin classBSLParserBaseListener
-
enterElsifBranch
- Specified by:
enterElsifBranchin interfaceBSLParserListener- Overrides:
enterElsifBranchin classBSLParserBaseListener
-
enterElseBranch
- Specified by:
enterElseBranchin interfaceBSLParserListener- Overrides:
enterElseBranchin classBSLParserBaseListener
-
enterTernaryOperator
- Specified by:
enterTernaryOperatorin interfaceBSLParserListener- Overrides:
enterTernaryOperatorin classBSLParserBaseListener
-
enterForEachStatement
- Specified by:
enterForEachStatementin interfaceBSLParserListener- Overrides:
enterForEachStatementin classBSLParserBaseListener
-
enterForStatement
- Specified by:
enterForStatementin interfaceBSLParserListener- Overrides:
enterForStatementin classBSLParserBaseListener
-
enterWhileStatement
- Specified by:
enterWhileStatementin interfaceBSLParserListener- Overrides:
enterWhileStatementin classBSLParserBaseListener
-
enterExceptCodeBlock
- Specified by:
enterExceptCodeBlockin interfaceBSLParserListener- Overrides:
enterExceptCodeBlockin classBSLParserBaseListener
-
enterGlobalMethodCall
- Specified by:
enterGlobalMethodCallin interfaceBSLParserListener- Overrides:
enterGlobalMethodCallin classBSLParserBaseListener
-
enterGotoStatement
- Specified by:
enterGotoStatementin interfaceBSLParserListener- Overrides:
enterGotoStatementin classBSLParserBaseListener
-
enterExpression
- Specified by:
enterExpressionin interfaceBSLParserListener- Overrides:
enterExpressionin classBSLParserBaseListener
-