@@ -162,7 +162,8 @@ private module Cached {
162162 } or
163163 THereDoc ( Ruby:: HeredocBeginning g ) or
164164 TIdentifierMethodCall ( Ruby:: Identifier g ) { isIdentifierMethodCall ( g ) } or
165- TIf ( Ruby:: If g ) or
165+ TIfReal ( Ruby:: If g ) or
166+ TIfSynth ( AST:: AstNode parent , int i ) { mkSynthChild ( IfKind ( ) , parent , i ) } or
166167 TIfModifierExpr ( Ruby:: IfModifier g ) or
167168 TInClause ( Ruby:: InClause g ) or
168169 TInstanceVariableAccessReal ( Ruby:: InstanceVariable g , AST:: InstanceVariable v ) {
@@ -214,7 +215,8 @@ private module Cached {
214215 TMulExprSynth ( AST:: AstNode parent , int i ) { mkSynthChild ( MulExprKind ( ) , parent , i ) } or
215216 TNEExpr ( Ruby:: Binary g ) { g instanceof @ruby_binary_bangequal } or
216217 TNextStmt ( Ruby:: Next g ) or
217- TNilLiteral ( Ruby:: Nil g ) or
218+ TNilLiteralReal ( Ruby:: Nil g ) or
219+ TNilLiteralSynth ( AST:: AstNode parent , int i ) { mkSynthChild ( NilLiteralKind ( ) , parent , i ) } or
218220 TNoRegExpMatchExpr ( Ruby:: Binary g ) { g instanceof @ruby_binary_bangtilde } or
219221 TNotExpr ( Ruby:: Unary g ) { g instanceof @ruby_unary_bang or g instanceof @ruby_unary_not } or
220222 TOptionalParameter ( Ruby:: OptionalParameter g ) or
@@ -347,35 +349,36 @@ private module Cached {
347349 TFalseLiteral or TFile or TFindPattern or TFloatLiteral or TForExpr or TForwardParameter or
348350 TForwardArgument or TGEExpr or TGTExpr or TGlobalVariableAccessReal or
349351 THashKeySymbolLiteral or THashLiteral or THashPattern or THashSplatExpr or
350- THashSplatNilParameter or THashSplatParameter or THereDoc or TIdentifierMethodCall or TIf or
351- TIfModifierExpr or TInClause or TInstanceVariableAccessReal or TIntegerLiteralReal or
352- TKeywordParameter or TLEExpr or TLShiftExprReal or TLTExpr or TLambda or
353- TLeftAssignmentList or TLine or TLocalVariableAccessReal or TLogicalAndExprReal or
354- TLogicalOrExprReal or TMethod or TModuleDeclaration or TModuloExprReal or TMulExprReal or
355- TNEExpr or TNextStmt or TNilLiteral or TNoRegExpMatchExpr or TNotExpr or
356- TOptionalParameter or TPair or TParenthesizedExpr or TParenthesizedPattern or
357- TRShiftExprReal or TRangeLiteralReal or TRationalLiteral or TRedoStmt or TRegExpLiteral or
358- TRegExpMatchExpr or TRegularArrayLiteral or TRegularMethodCall or TRegularStringLiteral or
359- TRegularSuperCall or TRescueClause or TRescueModifierExpr or TRetryStmt or TReturnStmt or
360- TScopeResolutionConstantAccess or TSelfReal or TSimpleParameterReal or
361- TSimpleSymbolLiteral or TSingletonClass or TSingletonMethod or TSpaceshipExpr or
362- TSplatExprReal or TSplatParameter or TStringArrayLiteral or TStringConcatenation or
363- TStringEscapeSequenceComponent or TStringInterpolationComponent or TStringTextComponent or
364- TSubExprReal or TSubshellLiteral or TSymbolArrayLiteral or TTernaryIfExpr or TThen or
365- TTokenConstantAccess or TTokenMethodName or TTokenSuperCall or TToplevel or TTrueLiteral or
366- TUnaryMinusExpr or TUnaryPlusExpr or TUndefStmt or TUnlessExpr or TUnlessModifierExpr or
367- TUntilExpr or TUntilModifierExpr or TReferencePattern or TWhenClause or TWhileExpr or
352+ THashSplatNilParameter or THashSplatParameter or THereDoc or TIdentifierMethodCall or
353+ TIfReal or TIfModifierExpr or TInClause or TInstanceVariableAccessReal or
354+ TIntegerLiteralReal or TKeywordParameter or TLEExpr or TLShiftExprReal or TLTExpr or
355+ TLambda or TLeftAssignmentList or TLine or TLocalVariableAccessReal or
356+ TLogicalAndExprReal or TLogicalOrExprReal or TMethod or TModuleDeclaration or
357+ TModuloExprReal or TMulExprReal or TNEExpr or TNextStmt or TNilLiteralReal or
358+ TNoRegExpMatchExpr or TNotExpr or TOptionalParameter or TPair or TParenthesizedExpr or
359+ TParenthesizedPattern or TRShiftExprReal or TRangeLiteralReal or TRationalLiteral or
360+ TRedoStmt or TRegExpLiteral or TRegExpMatchExpr or TRegularArrayLiteral or
361+ TRegularMethodCall or TRegularStringLiteral or TRegularSuperCall or TRescueClause or
362+ TRescueModifierExpr or TRetryStmt or TReturnStmt or TScopeResolutionConstantAccess or
363+ TSelfReal or TSimpleParameterReal or TSimpleSymbolLiteral or TSingletonClass or
364+ TSingletonMethod or TSpaceshipExpr or TSplatExprReal or TSplatParameter or
365+ TStringArrayLiteral or TStringConcatenation or TStringEscapeSequenceComponent or
366+ TStringInterpolationComponent or TStringTextComponent or TSubExprReal or TSubshellLiteral or
367+ TSymbolArrayLiteral or TTernaryIfExpr or TThen or TTokenConstantAccess or
368+ TTokenMethodName or TTokenSuperCall or TToplevel or TTrueLiteral or TUnaryMinusExpr or
369+ TUnaryPlusExpr or TUndefStmt or TUnlessExpr or TUnlessModifierExpr or TUntilExpr or
370+ TUntilModifierExpr or TReferencePattern or TWhenClause or TWhileExpr or
368371 TWhileModifierExpr or TYieldCall ;
369372
370373 class TAstNodeSynth =
371374 TAddExprSynth or TAssignExprSynth or TBitwiseAndExprSynth or TBitwiseOrExprSynth or
372375 TBitwiseXorExprSynth or TBraceBlockSynth or TClassVariableAccessSynth or
373376 TConstantReadAccessSynth or TDivExprSynth or TExponentExprSynth or
374- TGlobalVariableAccessSynth or TInstanceVariableAccessSynth or TIntegerLiteralSynth or
375- TLShiftExprSynth or TLocalVariableAccessSynth or TLogicalAndExprSynth or
376- TLogicalOrExprSynth or TMethodCallSynth or TModuloExprSynth or TMulExprSynth or
377- TRShiftExprSynth or TRangeLiteralSynth or TSelfSynth or TSimpleParameterSynth or
378- TSplatExprSynth or TStmtSequenceSynth or TSubExprSynth ;
377+ TGlobalVariableAccessSynth or TIfSynth or TInstanceVariableAccessSynth or
378+ TIntegerLiteralSynth or TLShiftExprSynth or TLocalVariableAccessSynth or
379+ TLogicalAndExprSynth or TLogicalOrExprSynth or TMethodCallSynth or TModuloExprSynth or
380+ TMulExprSynth or TNilLiteralSynth or TRShiftExprSynth or TRangeLiteralSynth or TSelfSynth or
381+ TSimpleParameterSynth or TSplatExprSynth or TStmtSequenceSynth or TSubExprSynth ;
379382
380383 /**
381384 * Gets the underlying TreeSitter entity for a given AST node. This does not
@@ -457,7 +460,7 @@ private module Cached {
457460 n = THereDoc ( result ) or
458461 n = TIdentifierMethodCall ( result ) or
459462 n = TIfModifierExpr ( result ) or
460- n = TIf ( result ) or
463+ n = TIfReal ( result ) or
461464 n = TInClause ( result ) or
462465 n = TInstanceVariableAccessReal ( result , _) or
463466 n = TIntegerLiteralReal ( result ) or
@@ -477,7 +480,7 @@ private module Cached {
477480 n = TMulExprReal ( result ) or
478481 n = TNEExpr ( result ) or
479482 n = TNextStmt ( result ) or
480- n = TNilLiteral ( result ) or
483+ n = TNilLiteralReal ( result ) or
481484 n = TNoRegExpMatchExpr ( result ) or
482485 n = TNotExpr ( result ) or
483486 n = TOptionalParameter ( result ) or
@@ -568,6 +571,8 @@ private module Cached {
568571 or
569572 result = TGlobalVariableAccessSynth ( parent , i , _)
570573 or
574+ result = TIfSynth ( parent , i )
575+ or
571576 result = TInstanceVariableAccessSynth ( parent , i , _)
572577 or
573578 result = TIntegerLiteralSynth ( parent , i , _)
@@ -586,6 +591,8 @@ private module Cached {
586591 or
587592 result = TMulExprSynth ( parent , i )
588593 or
594+ result = TNilLiteralSynth ( parent , i )
595+ or
589596 result = TRangeLiteralSynth ( parent , i , _)
590597 or
591598 result = TRShiftExprSynth ( parent , i )
@@ -672,6 +679,8 @@ class TControlExpr = TConditionalExpr or TCaseExpr or TCaseMatch or TLoop;
672679class TConditionalExpr =
673680 TIfExpr or TUnlessExpr or TIfModifierExpr or TUnlessModifierExpr or TTernaryIfExpr ;
674681
682+ class TIf = TIfReal or TIfSynth ;
683+
675684class TIfExpr = TIf or TElsif ;
676685
677686class TConditionalLoop = TWhileExpr or TUntilExpr or TWhileModifierExpr or TUntilModifierExpr ;
@@ -695,6 +704,8 @@ class TStmtSequence =
695704
696705class TBodyStmt = TBeginExpr or TModuleBase or TMethod or TLambda or TDoBlock or TSingletonMethod ;
697706
707+ class TNilLiteral = TNilLiteralReal or TNilLiteralSynth ;
708+
698709class TLiteral =
699710 TEncoding or TFile or TLine or TNumericLiteral or TNilLiteral or TBooleanLiteral or
700711 TStringlikeLiteral or TCharacterLiteral or TArrayLiteral or THashLiteral or TRangeLiteral or
0 commit comments