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)voiddetermineAdjacentDeadCode(boolean enabled)voidproduceLoopIterations(boolean enable)voidproducePreprocessorConditions(boolean enable)org.antlr.v4.runtime.tree.ParseTreevisitAddHandlerStatement(com.github._1c_syntax.bsl.parser.BSLParser.AddHandlerStatementContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitAssignment(com.github._1c_syntax.bsl.parser.BSLParser.AssignmentContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitBreakStatement(com.github._1c_syntax.bsl.parser.BSLParser.BreakStatementContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitCallStatement(com.github._1c_syntax.bsl.parser.BSLParser.CallStatementContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitCodeBlock(com.github._1c_syntax.bsl.parser.BSLParser.CodeBlockContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitContinueStatement(com.github._1c_syntax.bsl.parser.BSLParser.ContinueStatementContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitElseBranch(com.github._1c_syntax.bsl.parser.BSLParser.ElseBranchContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitElsifBranch(com.github._1c_syntax.bsl.parser.BSLParser.ElsifBranchContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitExecuteStatement(com.github._1c_syntax.bsl.parser.BSLParser.ExecuteStatementContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitForEachStatement(com.github._1c_syntax.bsl.parser.BSLParser.ForEachStatementContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitForStatement(com.github._1c_syntax.bsl.parser.BSLParser.ForStatementContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitGotoStatement(com.github._1c_syntax.bsl.parser.BSLParser.GotoStatementContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitIfStatement(com.github._1c_syntax.bsl.parser.BSLParser.IfStatementContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitLabel(com.github._1c_syntax.bsl.parser.BSLParser.LabelContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitPreproc_else(com.github._1c_syntax.bsl.parser.BSLParser.Preproc_elseContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitPreproc_elsif(com.github._1c_syntax.bsl.parser.BSLParser.Preproc_elsifContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitPreproc_endif(com.github._1c_syntax.bsl.parser.BSLParser.Preproc_endifContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitPreproc_if(com.github._1c_syntax.bsl.parser.BSLParser.Preproc_ifContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitRaiseStatement(com.github._1c_syntax.bsl.parser.BSLParser.RaiseStatementContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitRemoveHandlerStatement(com.github._1c_syntax.bsl.parser.BSLParser.RemoveHandlerStatementContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitReturnStatement(com.github._1c_syntax.bsl.parser.BSLParser.ReturnStatementContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitTryStatement(com.github._1c_syntax.bsl.parser.BSLParser.TryStatementContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitWaitStatement(com.github._1c_syntax.bsl.parser.BSLParser.WaitStatementContext ctx)org.antlr.v4.runtime.tree.ParseTreevisitWhileStatement(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_nameMethods inherited from class org.antlr.v4.runtime.tree.AbstractParseTreeVisitor
aggregateResult, defaultResult, shouldVisitNextChild, visit, visitChildren, visitErrorNode, visitTerminalMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:
visitCallStatementin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitCallStatementin 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:
visitWaitStatementin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitWaitStatementin 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:
visitAssignmentin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitAssignmentin 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:
visitIfStatementin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitIfStatementin 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:
visitElsifBranchin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitElsifBranchin 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:
visitCodeBlockin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitCodeBlockin 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:
visitElseBranchin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitElseBranchin 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:
visitWhileStatementin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitWhileStatementin 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:
visitForStatementin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitForStatementin 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:
visitForEachStatementin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitForEachStatementin 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:
visitExecuteStatementin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitExecuteStatementin 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:
visitAddHandlerStatementin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitAddHandlerStatementin 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:
visitRemoveHandlerStatementin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitRemoveHandlerStatementin 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:
visitGotoStatementin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitGotoStatementin 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:
visitLabelin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitLabelin 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:
visitContinueStatementin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitContinueStatementin 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:
visitReturnStatementin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitReturnStatementin 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:
visitBreakStatementin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitBreakStatementin 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:
visitTryStatementin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitTryStatementin 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:
visitRaiseStatementin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitRaiseStatementin 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_ifin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitPreproc_ifin 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_elsein interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitPreproc_elsein 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_elsifin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitPreproc_elsifin 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_endifin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitPreproc_endifin classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
-