@@ -373,8 +373,8 @@ private void BuildMethodVariablesSection()
373373
374374 private void BuildMethodBody ( )
375375 {
376- var body = CreateChild ( CurrentParent , NodeKind . CodeBatch , _lastExtractedLexem ) ;
377- PushContext ( ( NonTerminalNode ) body ) ;
376+ var body = _nodeContext . AddChild ( new CodeBatchNode ( _lastExtractedLexem ) ) ;
377+ PushContext ( body ) ;
378378 try
379379 {
380380 BuildCodeBatch ( _isInFunctionScope ? Token . EndFunction : Token . EndProcedure ) ;
@@ -652,7 +652,7 @@ private void BuildCodeBatch(params Token[] endTokens)
652652 private void DefineLabel ( Lexem label )
653653 {
654654 var node = new LabelNode ( label ) ;
655- _nodeContext . AddChild ( node ) ;
655+ CurrentParent . AddChild ( node ) ;
656656 NextLexem ( ) ;
657657 }
658658
@@ -732,9 +732,9 @@ private void BuildComplexStructureStatement()
732732
733733 private void BuildGlobalCallAwaitOperator ( )
734734 {
735- Debug . Assert ( _lastExtractedLexem . Token == Token . Await ) ;
736-
737- _nodeContext . AddChild ( TerminalNode ( ) ) ;
735+ Debug . Assert ( _lastExtractedLexem . Token == Token . Await ) ;
736+
737+ CurrentParent . AddChild ( TerminalNode ( ) ) ;
738738 }
739739
740740
@@ -775,7 +775,7 @@ private void BuildGotoOperator()
775775 gotoNode . AddChild ( new LabelNode ( _lastExtractedLexem ) ) ;
776776 NextLexem ( ) ;
777777
778- _nodeContext . AddChild ( gotoNode ) ;
778+ CurrentParent . AddChild ( gotoNode ) ;
779779 }
780780
781781 private void CheckAsyncMethod ( )
@@ -834,8 +834,9 @@ private void BuildWhileStatement()
834834 var loopNode = _nodeContext . AddChild ( new WhileLoopNode ( _lastExtractedLexem ) ) ;
835835 NextLexem ( ) ;
836836 BuildExpressionUpTo ( loopNode , Token . Loop ) ;
837- var body = CreateChild ( loopNode , NodeKind . CodeBatch , _lastExtractedLexem ) ;
838- PushContext ( ( NonTerminalNode ) body ) ;
837+ var body = loopNode . AddNode ( new CodeBatchNode ( _lastExtractedLexem ) ) ;
838+
839+ PushContext ( body ) ;
839840 var loopState = _isInLoopScope ;
840841 try
841842 {
@@ -912,8 +913,8 @@ private void BuildCountableForStatement(NonTerminalNode loopNode)
912913
913914 var limit = new NonTerminalNode ( NodeKind . ForLimit , _lastExtractedLexem ) ;
914915 BuildExpressionUpTo ( limit , Token . Loop ) ;
915- loopNode . AddChild ( limit ) ;
916-
916+ loopNode . AddChild ( limit ) ;
917+
917918 BuildBatchWithContext ( loopNode , Token . EndLoop ) ;
918919
919920 CreateChild ( loopNode , NodeKind . BlockEnd , _lastExtractedLexem ) ;
@@ -1190,7 +1191,7 @@ private void BuildCallArgument(NonTerminalNode argsList)
11901191 {
11911192 if ( _lastExtractedLexem . Token == Token . Comma )
11921193 {
1193- CreateChild ( argsList , NodeKind . CallArgument , _lastExtractedLexem ) ;
1194+ argsList . AddChild ( new NonTerminalNode ( NodeKind . CallArgument , _lastExtractedLexem ) ) ;
11941195
11951196 BuildLastDefaultArg ( argsList ) ;
11961197 }
@@ -1210,7 +1211,7 @@ private void BuildLastDefaultArg(NonTerminalNode argsList)
12101211 NextLexem ( ) ;
12111212 if ( _lastExtractedLexem . Token == Token . ClosePar )
12121213 {
1213- CreateChild ( argsList , NodeKind . CallArgument , _lastExtractedLexem ) ;
1214+ argsList . AddChild ( new NonTerminalNode ( NodeKind . CallArgument , _lastExtractedLexem ) ) ;
12141215 }
12151216 }
12161217
@@ -1588,11 +1589,10 @@ private Token[] PopStructureToken()
15881589 return tok ;
15891590 }
15901591
1591- private static BslSyntaxNode CreateChild ( NonTerminalNode parent , NodeKind kind , in Lexem lex )
1592+ private static void CreateChild ( NonTerminalNode parent , NodeKind kind , in Lexem lex )
15921593 {
15931594 var child = NodeBuilder . CreateNode ( kind , lex ) ;
15941595 parent . AddChild ( child ) ;
1595- return child ;
15961596 }
15971597
15981598 private bool TryParseNode ( Action action )
0 commit comments