Skip to content

Commit 7d9c58d

Browse files
fix: handle null code block context in buildLoopSubgraph
1 parent 3fadca8 commit 7d9c58d

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/main/java/com/github/_1c_syntax/bsl/languageserver/cfg/CfgBuildingParseTreeVisitor.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.github._1c_syntax.bsl.parser.BSLParser;
2525
import com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor;
2626
import com.github._1c_syntax.bsl.parser.BSLParserRuleContext;
27+
import jakarta.annotation.Nullable;
2728
import org.antlr.v4.runtime.tree.ParseTree;
2829

2930
import java.util.ArrayList;
@@ -524,7 +525,7 @@ private void makeJump(CfgVertex jumpTarget) {
524525
graph.addVertex(blocks.getCurrentBlock().end());
525526
}
526527

527-
private void buildLoopSubgraph(BSLParser.CodeBlockContext ctx, LoopVertex loopStart) {
528+
private void buildLoopSubgraph(@Nullable BSLParser.CodeBlockContext ctx, LoopVertex loopStart) {
528529
graph.addVertex(loopStart);
529530
connectGraphTail(blocks.getCurrentBlock(), loopStart);
530531

@@ -537,7 +538,9 @@ private void buildLoopSubgraph(BSLParser.CodeBlockContext ctx, LoopVertex loopSt
537538

538539
blocks.enterBlock(jumpState);
539540

540-
ctx.accept(this);
541+
if (ctx != null) {
542+
ctx.accept(this);
543+
}
541544

542545
var body = blocks.leaveBlock();
543546

0 commit comments

Comments
 (0)