Class CfgBuildingParseTreeVisitor
java.lang.Object
org.antlr.v4.runtime.tree.AbstractParseTreeVisitor<Result>
com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
com.github._1c_syntax.bsl.languageserver.cfg.CfgBuildingParseTreeVisitor
- All Implemented Interfaces:
com.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
,org.antlr.v4.runtime.tree.ParseTreeVisitor<org.antlr.v4.runtime.tree.ParseTree>
public class CfgBuildingParseTreeVisitor
extends com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuildGraph(com.github._1c_syntax.bsl.parser.BSLParser.CodeBlockContext block)
void
determineAdjacentDeadCode(boolean enabled)
void
produceLoopIterations(boolean enable)
void
producePreprocessorConditions(boolean enable)
org.antlr.v4.runtime.tree.ParseTree
visitAddHandlerStatement(com.github._1c_syntax.bsl.parser.BSLParser.AddHandlerStatementContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitAssignment(com.github._1c_syntax.bsl.parser.BSLParser.AssignmentContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitBreakStatement(com.github._1c_syntax.bsl.parser.BSLParser.BreakStatementContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitCallStatement(com.github._1c_syntax.bsl.parser.BSLParser.CallStatementContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitCodeBlock(com.github._1c_syntax.bsl.parser.BSLParser.CodeBlockContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitContinueStatement(com.github._1c_syntax.bsl.parser.BSLParser.ContinueStatementContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitElseBranch(com.github._1c_syntax.bsl.parser.BSLParser.ElseBranchContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitElsifBranch(com.github._1c_syntax.bsl.parser.BSLParser.ElsifBranchContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitExecuteStatement(com.github._1c_syntax.bsl.parser.BSLParser.ExecuteStatementContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitForEachStatement(com.github._1c_syntax.bsl.parser.BSLParser.ForEachStatementContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitForStatement(com.github._1c_syntax.bsl.parser.BSLParser.ForStatementContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitGotoStatement(com.github._1c_syntax.bsl.parser.BSLParser.GotoStatementContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitIfStatement(com.github._1c_syntax.bsl.parser.BSLParser.IfStatementContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitLabel(com.github._1c_syntax.bsl.parser.BSLParser.LabelContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitPreproc_else(com.github._1c_syntax.bsl.parser.BSLParser.Preproc_elseContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitPreproc_elsif(com.github._1c_syntax.bsl.parser.BSLParser.Preproc_elsifContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitPreproc_endif(com.github._1c_syntax.bsl.parser.BSLParser.Preproc_endifContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitPreproc_if(com.github._1c_syntax.bsl.parser.BSLParser.Preproc_ifContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitRaiseStatement(com.github._1c_syntax.bsl.parser.BSLParser.RaiseStatementContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitRemoveHandlerStatement(com.github._1c_syntax.bsl.parser.BSLParser.RemoveHandlerStatementContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitReturnStatement(com.github._1c_syntax.bsl.parser.BSLParser.ReturnStatementContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitTryStatement(com.github._1c_syntax.bsl.parser.BSLParser.TryStatementContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitWaitStatement(com.github._1c_syntax.bsl.parser.BSLParser.WaitStatementContext ctx)
org.antlr.v4.runtime.tree.ParseTree
visitWhileStatement(com.github._1c_syntax.bsl.parser.BSLParser.WhileStatementContext ctx)
Methods inherited from class com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor
visitAcceptor, visitAccessCall, visitAccessIndex, visitAccessProperty, visitAnnotation, visitAnnotationName, visitAnnotationParam, visitAnnotationParamName, visitAnnotationParams, visitBoolOperation, visitCallParam, visitCallParamList, visitCompareOperation, visitCompilerDirective, visitCompilerDirectiveSymbol, visitComplexIdentifier, visitCompoundStatement, visitConstValue, visitDefaultValue, visitDoCall, visitEvent, visitExceptCodeBlock, visitExpression, visitFile, visitFileCodeBlock, visitFileCodeBlockBeforeSub, visitFuncDeclaration, visitFunction, visitGlobalMethodCall, visitHandler, visitIfBranch, visitLabelName, visitLValue, visitMember, visitMethodCall, visitMethodName, visitModifier, visitModuleVar, visitModuleVarDeclaration, visitModuleVars, visitModuleVarsList, visitMultilineString, visitNewExpression, visitNumeric, visitOperation, visitParam, visitParamList, visitPreproc_boolOperation, visitPreproc_expression, visitPreproc_logicalExpression, visitPreproc_logicalOperand, visitPreproc_symbol, visitPreproc_unknownSymbol, visitPreprocessor, visitProcDeclaration, visitProcedure, visitRegionEnd, visitRegionName, visitRegionStart, visitShebang, visitStatement, visitString, visitSub, visitSubCodeBlock, visitSubName, visitSubs, visitSubVar, visitSubVarDeclaration, visitSubVars, visitSubVarsList, visitTernaryOperator, visitTryCodeBlock, visitTypeName, visitUnaryModifier, visitUse, visitUsedLib, visitVar_name
Methods inherited from class org.antlr.v4.runtime.tree.AbstractParseTreeVisitor
aggregateResult, defaultResult, shouldVisitNextChild, visit, visitChildren, visitErrorNode, visitTerminal
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.antlr.v4.runtime.tree.ParseTreeVisitor
visit, visitChildren, visitErrorNode, visitTerminal
-
Constructor Details
-
CfgBuildingParseTreeVisitor
public CfgBuildingParseTreeVisitor()
-
-
Method Details
-
produceLoopIterations
public void produceLoopIterations(boolean enable) -
producePreprocessorConditions
public void producePreprocessorConditions(boolean enable) -
determineAdjacentDeadCode
public void determineAdjacentDeadCode(boolean enabled) -
buildGraph
public ControlFlowGraph buildGraph(com.github._1c_syntax.bsl.parser.BSLParser.CodeBlockContext block) -
visitCallStatement
public org.antlr.v4.runtime.tree.ParseTree visitCallStatement(com.github._1c_syntax.bsl.parser.BSLParser.CallStatementContext ctx)- Specified by:
visitCallStatement
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitCallStatement
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitWaitStatement
public org.antlr.v4.runtime.tree.ParseTree visitWaitStatement(com.github._1c_syntax.bsl.parser.BSLParser.WaitStatementContext ctx)- Specified by:
visitWaitStatement
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitWaitStatement
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitAssignment
public org.antlr.v4.runtime.tree.ParseTree visitAssignment(com.github._1c_syntax.bsl.parser.BSLParser.AssignmentContext ctx)- Specified by:
visitAssignment
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitAssignment
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitIfStatement
public org.antlr.v4.runtime.tree.ParseTree visitIfStatement(com.github._1c_syntax.bsl.parser.BSLParser.IfStatementContext ctx)- Specified by:
visitIfStatement
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitIfStatement
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitElsifBranch
public org.antlr.v4.runtime.tree.ParseTree visitElsifBranch(com.github._1c_syntax.bsl.parser.BSLParser.ElsifBranchContext ctx)- Specified by:
visitElsifBranch
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitElsifBranch
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitCodeBlock
public org.antlr.v4.runtime.tree.ParseTree visitCodeBlock(com.github._1c_syntax.bsl.parser.BSLParser.CodeBlockContext ctx)- Specified by:
visitCodeBlock
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitCodeBlock
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitElseBranch
public org.antlr.v4.runtime.tree.ParseTree visitElseBranch(com.github._1c_syntax.bsl.parser.BSLParser.ElseBranchContext ctx)- Specified by:
visitElseBranch
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitElseBranch
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitWhileStatement
public org.antlr.v4.runtime.tree.ParseTree visitWhileStatement(com.github._1c_syntax.bsl.parser.BSLParser.WhileStatementContext ctx)- Specified by:
visitWhileStatement
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitWhileStatement
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitForStatement
public org.antlr.v4.runtime.tree.ParseTree visitForStatement(com.github._1c_syntax.bsl.parser.BSLParser.ForStatementContext ctx)- Specified by:
visitForStatement
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitForStatement
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitForEachStatement
public org.antlr.v4.runtime.tree.ParseTree visitForEachStatement(com.github._1c_syntax.bsl.parser.BSLParser.ForEachStatementContext ctx)- Specified by:
visitForEachStatement
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitForEachStatement
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitExecuteStatement
public org.antlr.v4.runtime.tree.ParseTree visitExecuteStatement(com.github._1c_syntax.bsl.parser.BSLParser.ExecuteStatementContext ctx)- Specified by:
visitExecuteStatement
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitExecuteStatement
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitAddHandlerStatement
public org.antlr.v4.runtime.tree.ParseTree visitAddHandlerStatement(com.github._1c_syntax.bsl.parser.BSLParser.AddHandlerStatementContext ctx)- Specified by:
visitAddHandlerStatement
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitAddHandlerStatement
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitRemoveHandlerStatement
public org.antlr.v4.runtime.tree.ParseTree visitRemoveHandlerStatement(com.github._1c_syntax.bsl.parser.BSLParser.RemoveHandlerStatementContext ctx)- Specified by:
visitRemoveHandlerStatement
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitRemoveHandlerStatement
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitGotoStatement
public org.antlr.v4.runtime.tree.ParseTree visitGotoStatement(com.github._1c_syntax.bsl.parser.BSLParser.GotoStatementContext ctx)- Specified by:
visitGotoStatement
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitGotoStatement
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitLabel
public org.antlr.v4.runtime.tree.ParseTree visitLabel(com.github._1c_syntax.bsl.parser.BSLParser.LabelContext ctx)- Specified by:
visitLabel
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitLabel
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitContinueStatement
public org.antlr.v4.runtime.tree.ParseTree visitContinueStatement(com.github._1c_syntax.bsl.parser.BSLParser.ContinueStatementContext ctx)- Specified by:
visitContinueStatement
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitContinueStatement
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitReturnStatement
public org.antlr.v4.runtime.tree.ParseTree visitReturnStatement(com.github._1c_syntax.bsl.parser.BSLParser.ReturnStatementContext ctx)- Specified by:
visitReturnStatement
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitReturnStatement
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitBreakStatement
public org.antlr.v4.runtime.tree.ParseTree visitBreakStatement(com.github._1c_syntax.bsl.parser.BSLParser.BreakStatementContext ctx)- Specified by:
visitBreakStatement
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitBreakStatement
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitTryStatement
public org.antlr.v4.runtime.tree.ParseTree visitTryStatement(com.github._1c_syntax.bsl.parser.BSLParser.TryStatementContext ctx)- Specified by:
visitTryStatement
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitTryStatement
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitRaiseStatement
public org.antlr.v4.runtime.tree.ParseTree visitRaiseStatement(com.github._1c_syntax.bsl.parser.BSLParser.RaiseStatementContext ctx)- Specified by:
visitRaiseStatement
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitRaiseStatement
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitPreproc_if
public org.antlr.v4.runtime.tree.ParseTree visitPreproc_if(com.github._1c_syntax.bsl.parser.BSLParser.Preproc_ifContext ctx)- Specified by:
visitPreproc_if
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitPreproc_if
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitPreproc_else
public org.antlr.v4.runtime.tree.ParseTree visitPreproc_else(com.github._1c_syntax.bsl.parser.BSLParser.Preproc_elseContext ctx)- Specified by:
visitPreproc_else
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitPreproc_else
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitPreproc_elsif
public org.antlr.v4.runtime.tree.ParseTree visitPreproc_elsif(com.github._1c_syntax.bsl.parser.BSLParser.Preproc_elsifContext ctx)- Specified by:
visitPreproc_elsif
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitPreproc_elsif
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-
visitPreproc_endif
public org.antlr.v4.runtime.tree.ParseTree visitPreproc_endif(com.github._1c_syntax.bsl.parser.BSLParser.Preproc_endifContext ctx)- Specified by:
visitPreproc_endif
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitPreproc_endif
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-