@artel/artc 0.6.25220 → 0.6.25222

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +6 -4
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +394 -284
  5. package/build/{chunk-ASXPPFGP.js → chunk-MBMOAUK7.js} +3 -3
  6. package/build/{chunk-RHY36EE7.js → chunk-ODWG5ZXF.js} +4060 -2261
  7. package/build/{chunk-AUDD2JDS.js → chunk-UZK7JCND.js} +3 -3
  8. package/build/types/analysis/Analyzer.d.ts +53 -6
  9. package/build/types/analysis/ControlFlowGraphBuilder.d.ts +121 -0
  10. package/build/types/analysis/ControlFlowGraphVisualizer.d.ts +12 -0
  11. package/build/types/analysis/DiagnosticCollector.d.ts +3 -0
  12. package/build/types/analysis/NodeTypeUtils.d.ts +4 -1
  13. package/build/types/analysis/SemanticContext.d.ts +7 -0
  14. package/build/types/analysis/SemanticContextBuilder.d.ts +2 -0
  15. package/build/types/analysis/StatementBlockScopeBuilder.d.ts +19 -17
  16. package/build/types/analysis/TypeNarrower.d.ts +62 -0
  17. package/build/types/common/Range.d.ts +1 -0
  18. package/build/types/diagnostic/DiagnosticCode.d.ts +131 -123
  19. package/build/types/diagnostic/DiagnosticData.d.ts +2 -1
  20. package/build/types/emitter/IrBuilder.d.ts +3 -1
  21. package/build/types/emitter/IrToJs.d.ts +1 -0
  22. package/build/types/emitter/Transformer.d.ts +2 -0
  23. package/build/types/emitter/ir/Nodes.d.ts +86 -78
  24. package/build/types/emitter/ir/types.d.ts +2 -2
  25. package/build/types/parser/Scanner.d.ts +1 -0
  26. package/build/types/services/CompletionService.d.ts +2 -1
  27. package/build/types/services/DisplayService.d.ts +4 -2
  28. package/build/types/services/NodeSemanticInfo.d.ts +4 -2
  29. package/build/types/tree/KeywordKind.d.ts +41 -40
  30. package/build/types/tree/NodeKind.d.ts +63 -60
  31. package/build/types/tree/green/Nodes.d.ts +124 -86
  32. package/build/types/tree/green/SyntaxFactory.d.ts +12 -10
  33. package/build/types/tree/green/SyntaxToCode.d.ts +1 -0
  34. package/build/types/tree/green/Token.d.ts +1 -1
  35. package/build/types/tree/green/Utils.d.ts +1 -1
  36. package/build/types/tree/red/Nodes.d.ts +103 -63
  37. package/build/types/tree/red/Utils.d.ts +1 -1
  38. package/build/types/types/TypeFactory.d.ts +2 -1
  39. package/package.json +1 -1
@@ -305,14 +305,14 @@ export declare class PackageConstructorDeclaration extends BaseNode {
305
305
  TagList,
306
306
  ModifierList,
307
307
  Keyword<KeywordKind.Creation>,
308
- StatementBlock
308
+ FunctionBlock
309
309
  ];
310
310
  get tagList(): TagList;
311
311
  get modifierList(): ModifierList;
312
312
  get creationKeyword(): Keyword<KeywordKind.Creation>;
313
- get body(): StatementBlock;
313
+ get block(): FunctionBlock;
314
314
  protected get thisAsNode(): Node;
315
- constructor(tagList: TagList, modifierList: ModifierList, creationKeyword: Keyword<KeywordKind.Creation>, body: StatementBlock);
315
+ constructor(tagList: TagList, modifierList: ModifierList, creationKeyword: Keyword<KeywordKind.Creation>, block: FunctionBlock);
316
316
  toRed(rangeStart: number, parent: red.PackageMemberDeclarationParent): red.PackageConstructorDeclaration;
317
317
  }
318
318
  export declare class PackageEntryPointDeclaration extends BaseNode {
@@ -321,14 +321,14 @@ export declare class PackageEntryPointDeclaration extends BaseNode {
321
321
  TagList,
322
322
  ModifierList,
323
323
  Keyword<KeywordKind.Run>,
324
- StatementBlock
324
+ FunctionBlock
325
325
  ];
326
326
  get tagList(): TagList;
327
327
  get modifierList(): ModifierList;
328
328
  get runKeyword(): Keyword<KeywordKind.Run>;
329
- get body(): StatementBlock;
329
+ get block(): FunctionBlock;
330
330
  protected get thisAsNode(): Node;
331
- constructor(tagList: TagList, modifierList: ModifierList, runKeyword: Keyword<KeywordKind.Run>, body: StatementBlock);
331
+ constructor(tagList: TagList, modifierList: ModifierList, runKeyword: Keyword<KeywordKind.Run>, block: FunctionBlock);
332
332
  toRed(rangeStart: number, parent: red.PackageMemberDeclarationParent): red.PackageEntryPointDeclaration;
333
333
  }
334
334
  export declare class PackageMethodDeclaration extends BaseNode {
@@ -341,7 +341,7 @@ export declare class PackageMethodDeclaration extends BaseNode {
341
341
  TypeParameterClause | undefined,
342
342
  ParameterClause,
343
343
  TypeAnnotation | undefined,
344
- StatementBlock | undefined
344
+ FunctionBlock | undefined
345
345
  ];
346
346
  get tagList(): TagList;
347
347
  get modifierList(): ModifierList;
@@ -350,9 +350,9 @@ export declare class PackageMethodDeclaration extends BaseNode {
350
350
  get typeParameterClause(): TypeParameterClause | undefined;
351
351
  get parameterClause(): ParameterClause;
352
352
  get returnTypeAnnotation(): TypeAnnotation | undefined;
353
- get body(): StatementBlock | undefined;
353
+ get block(): FunctionBlock | undefined;
354
354
  protected get thisAsNode(): Node;
355
- constructor(tagList: TagList, modifierList: ModifierList, functionKeyword: Keyword<KeywordKind.Function>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, body: StatementBlock | undefined);
355
+ constructor(tagList: TagList, modifierList: ModifierList, functionKeyword: Keyword<KeywordKind.Function>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, block: FunctionBlock | undefined);
356
356
  toRed(rangeStart: number, parent: red.PackageMemberDeclarationParent): red.PackageMethodDeclaration;
357
357
  }
358
358
  export declare class PackageMethodTypeDeclaration extends BaseNode {
@@ -490,16 +490,16 @@ export declare class PackageVariableGetterDeclaration extends BaseNode {
490
490
  Keyword<KeywordKind.Get>,
491
491
  Identifier,
492
492
  TypeAnnotation,
493
- StatementBlock | undefined
493
+ FunctionBlock | undefined
494
494
  ];
495
495
  get tagList(): TagList;
496
496
  get modifierList(): ModifierList;
497
497
  get getKeyword(): Keyword<KeywordKind.Get>;
498
498
  get name(): Identifier;
499
499
  get typeAnnotation(): TypeAnnotation;
500
- get body(): StatementBlock | undefined;
500
+ get block(): FunctionBlock | undefined;
501
501
  protected get thisAsNode(): Node;
502
- constructor(tagList: TagList, modifierList: ModifierList, getKeyword: Keyword<KeywordKind.Get>, name: Identifier, typeAnnotation: TypeAnnotation, body: StatementBlock | undefined);
502
+ constructor(tagList: TagList, modifierList: ModifierList, getKeyword: Keyword<KeywordKind.Get>, name: Identifier, typeAnnotation: TypeAnnotation, block: FunctionBlock | undefined);
503
503
  toRed(rangeStart: number, parent: red.PackageMemberDeclarationParent): red.PackageVariableGetterDeclaration;
504
504
  }
505
505
  export declare class PackageVariableSetterDeclaration extends BaseNode {
@@ -509,15 +509,15 @@ export declare class PackageVariableSetterDeclaration extends BaseNode {
509
509
  ModifierList,
510
510
  Keyword<KeywordKind.Set>,
511
511
  Identifier,
512
- StatementBlock | undefined
512
+ FunctionBlock | undefined
513
513
  ];
514
514
  get tagList(): TagList;
515
515
  get modifierList(): ModifierList;
516
516
  get setKeyword(): Keyword<KeywordKind.Set>;
517
517
  get name(): Identifier;
518
- get body(): StatementBlock | undefined;
518
+ get block(): FunctionBlock | undefined;
519
519
  protected get thisAsNode(): Node;
520
- constructor(tagList: TagList, modifierList: ModifierList, setKeyword: Keyword<KeywordKind.Set>, name: Identifier, body: StatementBlock | undefined);
520
+ constructor(tagList: TagList, modifierList: ModifierList, setKeyword: Keyword<KeywordKind.Set>, name: Identifier, block: FunctionBlock | undefined);
521
521
  toRed(rangeStart: number, parent: red.PackageMemberDeclarationParent): red.PackageVariableSetterDeclaration;
522
522
  }
523
523
  export declare class PackageVariantTypeDeclaration extends BaseNode {
@@ -634,15 +634,15 @@ export declare class TypeConstructorDeclaration extends BaseNode {
634
634
  ModifierList,
635
635
  Keyword<KeywordKind.Creation>,
636
636
  ParameterClause,
637
- StatementBlock | undefined
637
+ FunctionBlock | undefined
638
638
  ];
639
639
  get tagList(): TagList;
640
640
  get modifierList(): ModifierList;
641
641
  get creationKeyword(): Keyword<KeywordKind.Creation>;
642
642
  get parameterClause(): ParameterClause;
643
- get body(): StatementBlock | undefined;
643
+ get block(): FunctionBlock | undefined;
644
644
  protected get thisAsNode(): Node;
645
- constructor(tagList: TagList, modifierList: ModifierList, creationKeyword: Keyword<KeywordKind.Creation>, parameterClause: ParameterClause, body: StatementBlock | undefined);
645
+ constructor(tagList: TagList, modifierList: ModifierList, creationKeyword: Keyword<KeywordKind.Creation>, parameterClause: ParameterClause, block: FunctionBlock | undefined);
646
646
  toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.TypeConstructorDeclaration;
647
647
  }
648
648
  export declare class TypeDestructorDeclaration extends BaseNode {
@@ -652,15 +652,15 @@ export declare class TypeDestructorDeclaration extends BaseNode {
652
652
  ModifierList,
653
653
  Keyword<KeywordKind.Destruction>,
654
654
  ParameterClause,
655
- StatementBlock | undefined
655
+ FunctionBlock | undefined
656
656
  ];
657
657
  get tagList(): TagList;
658
658
  get modifierList(): ModifierList;
659
659
  get destructionKeyword(): Keyword<KeywordKind.Destruction>;
660
660
  get parameterClause(): ParameterClause;
661
- get body(): StatementBlock | undefined;
661
+ get block(): FunctionBlock | undefined;
662
662
  protected get thisAsNode(): Node;
663
- constructor(tagList: TagList, modifierList: ModifierList, destructionKeyword: Keyword<KeywordKind.Destruction>, parameterClause: ParameterClause, body: StatementBlock | undefined);
663
+ constructor(tagList: TagList, modifierList: ModifierList, destructionKeyword: Keyword<KeywordKind.Destruction>, parameterClause: ParameterClause, block: FunctionBlock | undefined);
664
664
  toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.TypeDestructorDeclaration;
665
665
  }
666
666
  export declare class TypeIndexedGetterDeclaration extends BaseNode {
@@ -671,16 +671,16 @@ export declare class TypeIndexedGetterDeclaration extends BaseNode {
671
671
  Keyword<KeywordKind.Get>,
672
672
  TypeIndexerParameterClause,
673
673
  TypeAnnotation,
674
- StatementBlock | undefined
674
+ FunctionBlock | undefined
675
675
  ];
676
676
  get tagList(): TagList;
677
677
  get modifierList(): ModifierList;
678
678
  get getKeyword(): Keyword<KeywordKind.Get>;
679
679
  get parameterClause(): TypeIndexerParameterClause;
680
680
  get typeAnnotation(): TypeAnnotation;
681
- get body(): StatementBlock | undefined;
681
+ get block(): FunctionBlock | undefined;
682
682
  protected get thisAsNode(): Node;
683
- constructor(tagList: TagList, modifierList: ModifierList, getKeyword: Keyword<KeywordKind.Get>, parameterClause: TypeIndexerParameterClause, typeAnnotation: TypeAnnotation, body: StatementBlock | undefined);
683
+ constructor(tagList: TagList, modifierList: ModifierList, getKeyword: Keyword<KeywordKind.Get>, parameterClause: TypeIndexerParameterClause, typeAnnotation: TypeAnnotation, block: FunctionBlock | undefined);
684
684
  toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.TypeIndexedGetterDeclaration;
685
685
  }
686
686
  export declare class TypeIndexedSetterDeclaration extends BaseNode {
@@ -690,15 +690,15 @@ export declare class TypeIndexedSetterDeclaration extends BaseNode {
690
690
  ModifierList,
691
691
  Keyword<KeywordKind.Set>,
692
692
  TypeIndexerParameterClause,
693
- StatementBlock | undefined
693
+ FunctionBlock | undefined
694
694
  ];
695
695
  get tagList(): TagList;
696
696
  get modifierList(): ModifierList;
697
697
  get setKeyword(): Keyword<KeywordKind.Set>;
698
698
  get parameterClause(): TypeIndexerParameterClause;
699
- get body(): StatementBlock | undefined;
699
+ get block(): FunctionBlock | undefined;
700
700
  protected get thisAsNode(): Node;
701
- constructor(tagList: TagList, modifierList: ModifierList, setKeyword: Keyword<KeywordKind.Set>, parameterClause: TypeIndexerParameterClause, body: StatementBlock | undefined);
701
+ constructor(tagList: TagList, modifierList: ModifierList, setKeyword: Keyword<KeywordKind.Set>, parameterClause: TypeIndexerParameterClause, block: FunctionBlock | undefined);
702
702
  toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.TypeIndexedSetterDeclaration;
703
703
  }
704
704
  export declare class TypeIndexerParameterClause extends BaseNode {
@@ -723,16 +723,16 @@ export declare class TypeDereferencedVariableGetterDeclaration extends BaseNode
723
723
  Keyword<KeywordKind.Get>,
724
724
  Token<TokenKind.Caret>,
725
725
  TypeAnnotation,
726
- StatementBlock | undefined
726
+ FunctionBlock | undefined
727
727
  ];
728
728
  get tagList(): TagList;
729
729
  get modifierList(): ModifierList;
730
730
  get getKeyword(): Keyword<KeywordKind.Get>;
731
731
  get caretToken(): Token<TokenKind.Caret>;
732
732
  get typeAnnotation(): TypeAnnotation;
733
- get body(): StatementBlock | undefined;
733
+ get block(): FunctionBlock | undefined;
734
734
  protected get thisAsNode(): Node;
735
- constructor(tagList: TagList, modifierList: ModifierList, getKeyword: Keyword<KeywordKind.Get>, caretToken: Token<TokenKind.Caret>, typeAnnotation: TypeAnnotation, body: StatementBlock | undefined);
735
+ constructor(tagList: TagList, modifierList: ModifierList, getKeyword: Keyword<KeywordKind.Get>, caretToken: Token<TokenKind.Caret>, typeAnnotation: TypeAnnotation, block: FunctionBlock | undefined);
736
736
  toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.TypeDereferencedVariableGetterDeclaration;
737
737
  }
738
738
  export declare class TypeDereferencedVariableSetterDeclaration extends BaseNode {
@@ -742,15 +742,15 @@ export declare class TypeDereferencedVariableSetterDeclaration extends BaseNode
742
742
  ModifierList,
743
743
  Keyword<KeywordKind.Set>,
744
744
  Token<TokenKind.Caret>,
745
- StatementBlock | undefined
745
+ FunctionBlock | undefined
746
746
  ];
747
747
  get tagList(): TagList;
748
748
  get modifierList(): ModifierList;
749
749
  get setKeyword(): Keyword<KeywordKind.Set>;
750
750
  get caretToken(): Token<TokenKind.Caret>;
751
- get body(): StatementBlock | undefined;
751
+ get block(): FunctionBlock | undefined;
752
752
  protected get thisAsNode(): Node;
753
- constructor(tagList: TagList, modifierList: ModifierList, setKeyword: Keyword<KeywordKind.Set>, caretToken: Token<TokenKind.Caret>, body: StatementBlock | undefined);
753
+ constructor(tagList: TagList, modifierList: ModifierList, setKeyword: Keyword<KeywordKind.Set>, caretToken: Token<TokenKind.Caret>, block: FunctionBlock | undefined);
754
754
  toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.TypeDereferencedVariableSetterDeclaration;
755
755
  }
756
756
  export declare class TypeMethodDeclaration extends BaseNode {
@@ -763,7 +763,7 @@ export declare class TypeMethodDeclaration extends BaseNode {
763
763
  TypeParameterClause | undefined,
764
764
  ParameterClause,
765
765
  TypeAnnotation | undefined,
766
- StatementBlock | undefined
766
+ FunctionBlock | undefined
767
767
  ];
768
768
  get tagList(): TagList;
769
769
  get modifierList(): ModifierList;
@@ -772,9 +772,9 @@ export declare class TypeMethodDeclaration extends BaseNode {
772
772
  get typeParameterClause(): TypeParameterClause | undefined;
773
773
  get parameterClause(): ParameterClause;
774
774
  get returnTypeAnnotation(): TypeAnnotation | undefined;
775
- get body(): StatementBlock | undefined;
775
+ get block(): FunctionBlock | undefined;
776
776
  protected get thisAsNode(): Node;
777
- constructor(tagList: TagList, modifierList: ModifierList, functionKeyword: Keyword<KeywordKind.Function>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, body: StatementBlock | undefined);
777
+ constructor(tagList: TagList, modifierList: ModifierList, functionKeyword: Keyword<KeywordKind.Function>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, block: FunctionBlock | undefined);
778
778
  toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.TypeMethodDeclaration;
779
779
  }
780
780
  export declare class OperatorDeclaration extends BaseNode {
@@ -787,7 +787,7 @@ export declare class OperatorDeclaration extends BaseNode {
787
787
  Identifier,
788
788
  ParameterClause,
789
789
  TypeAnnotation | undefined,
790
- StatementBlock | undefined
790
+ FunctionBlock | undefined
791
791
  ];
792
792
  get tagList(): TagList;
793
793
  get modifierList(): ModifierList;
@@ -795,9 +795,9 @@ export declare class OperatorDeclaration extends BaseNode {
795
795
  get name(): Identifier;
796
796
  get parameterClause(): ParameterClause;
797
797
  get returnTypeAnnotation(): TypeAnnotation | undefined;
798
- get body(): StatementBlock | undefined;
798
+ get block(): FunctionBlock | undefined;
799
799
  protected get thisAsNode(): Node;
800
- constructor(tagList: TagList, modifierList: ModifierList, functionKeyword: Keyword<KeywordKind.Function>, name: Identifier, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, body: StatementBlock | undefined, operatorKind: OperatorKind);
800
+ constructor(tagList: TagList, modifierList: ModifierList, functionKeyword: Keyword<KeywordKind.Function>, name: Identifier, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, block: FunctionBlock | undefined, operatorKind: OperatorKind);
801
801
  toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.OperatorDeclaration;
802
802
  }
803
803
  export declare class TypeVariableDeclaration extends BaseNode {
@@ -828,16 +828,16 @@ export declare class TypeVariableGetterDeclaration extends BaseNode {
828
828
  Keyword<KeywordKind.Get>,
829
829
  Identifier,
830
830
  TypeAnnotation,
831
- StatementBlock | undefined
831
+ FunctionBlock | undefined
832
832
  ];
833
833
  get tagList(): TagList;
834
834
  get modifierList(): ModifierList;
835
835
  get getKeyword(): Keyword<KeywordKind.Get>;
836
836
  get name(): Identifier;
837
837
  get typeAnnotation(): TypeAnnotation;
838
- get body(): StatementBlock | undefined;
838
+ get block(): FunctionBlock | undefined;
839
839
  protected get thisAsNode(): Node;
840
- constructor(tagList: TagList, modifierList: ModifierList, getKeyword: Keyword<KeywordKind.Get>, name: Identifier, typeAnnotation: TypeAnnotation, body: StatementBlock | undefined);
840
+ constructor(tagList: TagList, modifierList: ModifierList, getKeyword: Keyword<KeywordKind.Get>, name: Identifier, typeAnnotation: TypeAnnotation, block: FunctionBlock | undefined);
841
841
  toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.TypeVariableGetterDeclaration;
842
842
  }
843
843
  export declare class TypeVariableSetterDeclaration extends BaseNode {
@@ -847,15 +847,15 @@ export declare class TypeVariableSetterDeclaration extends BaseNode {
847
847
  ModifierList,
848
848
  Keyword<KeywordKind.Set>,
849
849
  Identifier,
850
- StatementBlock | undefined
850
+ FunctionBlock | undefined
851
851
  ];
852
852
  get tagList(): TagList;
853
853
  get modifierList(): ModifierList;
854
854
  get setKeyword(): Keyword<KeywordKind.Set>;
855
855
  get name(): Identifier;
856
- get body(): StatementBlock | undefined;
856
+ get block(): FunctionBlock | undefined;
857
857
  protected get thisAsNode(): Node;
858
- constructor(tagList: TagList, modifierList: ModifierList, setKeyword: Keyword<KeywordKind.Set>, name: Identifier, body: StatementBlock | undefined);
858
+ constructor(tagList: TagList, modifierList: ModifierList, setKeyword: Keyword<KeywordKind.Set>, name: Identifier, block: FunctionBlock | undefined);
859
859
  toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.TypeVariableSetterDeclaration;
860
860
  }
861
861
  export declare class InvalidTypeMemberDeclaration extends BaseNode {
@@ -879,7 +879,7 @@ export declare class NestedMethodDeclaration extends BaseNode {
879
879
  TypeParameterClause | undefined,
880
880
  ParameterClause,
881
881
  TypeAnnotation | undefined,
882
- StatementBlock
882
+ FunctionBlock
883
883
  ];
884
884
  get asyncKeyword(): Keyword<KeywordKind.Async> | undefined;
885
885
  get functionKeyword(): Keyword<KeywordKind.Function>;
@@ -887,9 +887,9 @@ export declare class NestedMethodDeclaration extends BaseNode {
887
887
  get typeParameterClause(): TypeParameterClause | undefined;
888
888
  get parameterClause(): ParameterClause;
889
889
  get returnTypeAnnotation(): TypeAnnotation | undefined;
890
- get body(): StatementBlock;
890
+ get block(): FunctionBlock;
891
891
  protected get thisAsNode(): Node;
892
- constructor(asyncKeyword: Keyword<KeywordKind.Async> | undefined, functionKeyword: Keyword<KeywordKind.Function>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, body: StatementBlock);
892
+ constructor(asyncKeyword: Keyword<KeywordKind.Async> | undefined, functionKeyword: Keyword<KeywordKind.Function>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, block: FunctionBlock);
893
893
  toRed(rangeStart: number, parent: red.NestedMethodDeclarationParent): red.NestedMethodDeclaration;
894
894
  }
895
895
  export declare class LocalVariableDeclaration extends BaseNode {
@@ -1000,11 +1000,11 @@ export type BinaryExpressionOperator = Token<TokenKind.Plus> | Token<TokenKind.M
1000
1000
  export declare class MethodBlockLiteral extends BaseNode {
1001
1001
  readonly kind = NodeKind.MethodBlockLiteral;
1002
1002
  readonly children: readonly [
1003
- StatementBlock
1003
+ FunctionBlock
1004
1004
  ];
1005
- get body(): StatementBlock;
1005
+ get block(): FunctionBlock;
1006
1006
  protected get thisAsNode(): Node;
1007
- constructor(body: StatementBlock);
1007
+ constructor(block: FunctionBlock);
1008
1008
  toRed(rangeStart: number, parent: red.ExpressionParent): red.MethodBlockLiteral;
1009
1009
  }
1010
1010
  export type ArgumentListElement = Argument | Comma;
@@ -1092,15 +1092,15 @@ export declare class MethodLiteral extends BaseNode {
1092
1092
  Keyword<KeywordKind.Function>,
1093
1093
  ParameterClause,
1094
1094
  TypeAnnotation | undefined,
1095
- StatementBlock
1095
+ FunctionBlock
1096
1096
  ];
1097
1097
  get asyncKeyword(): Keyword<KeywordKind.Async> | undefined;
1098
1098
  get functionKeyword(): Keyword<KeywordKind.Function>;
1099
1099
  get parameterClause(): ParameterClause;
1100
1100
  get returnTypeAnnotation(): TypeAnnotation | undefined;
1101
- get body(): StatementBlock;
1101
+ get block(): FunctionBlock;
1102
1102
  protected get thisAsNode(): Node;
1103
- constructor(asyncKeyword: Keyword<KeywordKind.Async> | undefined, functionKeyword: Keyword<KeywordKind.Function>, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, body: StatementBlock);
1103
+ constructor(asyncKeyword: Keyword<KeywordKind.Async> | undefined, functionKeyword: Keyword<KeywordKind.Function>, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, block: FunctionBlock);
1104
1104
  toRed(rangeStart: number, parent: red.ExpressionParent): red.MethodLiteral;
1105
1105
  }
1106
1106
  export declare class ParenthesizedExpression extends BaseNode {
@@ -1299,7 +1299,7 @@ export declare class DefaultMatchExpression extends BaseNode {
1299
1299
  constructor(asteriskToken: Token<TokenKind.Asterisk>);
1300
1300
  toRed(rangeStart: number, parent: red.ExpressionParent): red.DefaultMatchExpression;
1301
1301
  }
1302
- export type Statement = RunStatement | TryStatement | EmptyStatement | IfStatement | ForStatement | WhileStatement | LoopStatement | ReturnStatement | ErrorStatement | LocalVariableDeclarationStatement | AssignmentStatement | YieldStatement | InvalidStatement | ExpressionStatement | SwitchStatement | BreakLoopStatement | ContinueLoopStatement | NestedMethodDeclarationStatement | DisposeStatement;
1302
+ export type Statement = RunStatement | TryStatement | EmptyStatement | IfStatement | ForStatement | WhileStatement | LoopStatement | ReturnStatement | ErrorStatement | LocalVariableDeclarationStatement | AssignmentStatement | YieldStatement | InvalidStatement | ImportantStatement | ExpressionStatement | SwitchStatement | BreakLoopStatement | ContinueLoopStatement | NestedMethodDeclarationStatement | DisposeStatement;
1303
1303
  export declare class AssignmentStatement extends BaseNode {
1304
1304
  readonly kind = NodeKind.AssignmentStatement;
1305
1305
  readonly children: readonly [
@@ -1338,6 +1338,22 @@ export declare class StatementBlock extends BaseNode {
1338
1338
  constructor(openBraceToken: Token<TokenKind.OpenBrace>, statementList: StatementList, closeBraceToken: Token<TokenKind.CloseBrace>);
1339
1339
  toRed(rangeStart: number, parent: red.StatementBlockParent): red.StatementBlock;
1340
1340
  }
1341
+ export declare class FunctionBlock extends BaseNode {
1342
+ readonly kind = NodeKind.FunctionBlock;
1343
+ readonly children: readonly [
1344
+ Token<TokenKind.OpenBrace>,
1345
+ Expression | undefined,
1346
+ StatementList | undefined,
1347
+ Token<TokenKind.CloseBrace>
1348
+ ];
1349
+ get openBraceToken(): Token<TokenKind.OpenBrace>;
1350
+ get expression(): Expression | undefined;
1351
+ get statementList(): StatementList | undefined;
1352
+ get closeBraceToken(): Token<TokenKind.CloseBrace>;
1353
+ protected get thisAsNode(): Node;
1354
+ constructor(openBraceToken: Token<TokenKind.OpenBrace>, expression: Expression | undefined, statementList: StatementList | undefined, closeBraceToken: Token<TokenKind.CloseBrace>);
1355
+ toRed(rangeStart: number, parent: red.FunctionBlockParent): red.FunctionBlock;
1356
+ }
1341
1357
  export declare class BreakLoopStatement extends BaseNode {
1342
1358
  readonly kind = NodeKind.BreakLoopStatement;
1343
1359
  readonly children: readonly [
@@ -1377,9 +1393,9 @@ export declare class RunStatement extends BaseNode {
1377
1393
  StatementBlock
1378
1394
  ];
1379
1395
  get runKeyword(): Keyword<KeywordKind.Run>;
1380
- get body(): StatementBlock;
1396
+ get block(): StatementBlock;
1381
1397
  protected get thisAsNode(): Node;
1382
- constructor(runKeyword: Keyword<KeywordKind.Run>, body: StatementBlock);
1398
+ constructor(runKeyword: Keyword<KeywordKind.Run>, block: StatementBlock);
1383
1399
  toRed(rangeStart: number, parent: red.StatementParent): red.RunStatement;
1384
1400
  }
1385
1401
  export declare class TryStatement extends BaseNode {
@@ -1391,11 +1407,11 @@ export declare class TryStatement extends BaseNode {
1391
1407
  FinallyClause | undefined
1392
1408
  ];
1393
1409
  get tryKeyword(): Keyword<KeywordKind.Try>;
1394
- get body(): StatementBlock;
1410
+ get block(): StatementBlock;
1395
1411
  get catchClause(): CatchClause | undefined;
1396
1412
  get finallyClause(): FinallyClause | undefined;
1397
1413
  protected get thisAsNode(): Node;
1398
- constructor(tryKeyword: Keyword<KeywordKind.Try>, body: StatementBlock, catchClause: CatchClause | undefined, finallyClause: FinallyClause | undefined);
1414
+ constructor(tryKeyword: Keyword<KeywordKind.Try>, block: StatementBlock, catchClause: CatchClause | undefined, finallyClause: FinallyClause | undefined);
1399
1415
  toRed(rangeStart: number, parent: red.TryStatementParent): red.TryStatement;
1400
1416
  }
1401
1417
  export declare class CatchClause extends BaseNode {
@@ -1407,9 +1423,9 @@ export declare class CatchClause extends BaseNode {
1407
1423
  ];
1408
1424
  get catchKeyword(): Keyword<KeywordKind.Catch>;
1409
1425
  get errorVariable(): ErrorVariableDeclaration | undefined;
1410
- get body(): StatementBlock;
1426
+ get block(): StatementBlock;
1411
1427
  protected get thisAsNode(): Node;
1412
- constructor(catchKeyword: Keyword<KeywordKind.Catch>, errorVariable: ErrorVariableDeclaration | undefined, body: StatementBlock);
1428
+ constructor(catchKeyword: Keyword<KeywordKind.Catch>, errorVariable: ErrorVariableDeclaration | undefined, block: StatementBlock);
1413
1429
  toRed(rangeStart: number, parent: red.CatchClauseParent): red.CatchClause;
1414
1430
  }
1415
1431
  export declare class ErrorVariableDeclaration extends BaseNode {
@@ -1431,9 +1447,9 @@ export declare class FinallyClause extends BaseNode {
1431
1447
  StatementBlock
1432
1448
  ];
1433
1449
  get finallyKeyword(): Keyword<KeywordKind.Finally>;
1434
- get body(): StatementBlock;
1450
+ get block(): StatementBlock;
1435
1451
  protected get thisAsNode(): Node;
1436
- constructor(finallyKeyword: Keyword<KeywordKind.Finally>, body: StatementBlock);
1452
+ constructor(finallyKeyword: Keyword<KeywordKind.Finally>, block: StatementBlock);
1437
1453
  toRed(rangeStart: number, parent: red.FinallyClauseParent): red.FinallyClause;
1438
1454
  }
1439
1455
  export declare class EmptyStatement extends BaseNode {
@@ -1458,6 +1474,18 @@ export declare class ErrorStatement extends BaseNode {
1458
1474
  constructor(errorKeyword: Keyword<KeywordKind.Error>, expression: Expression | undefined);
1459
1475
  toRed(rangeStart: number, parent: red.ErrorStatementParent): red.ErrorStatement;
1460
1476
  }
1477
+ export declare class ImportantStatement extends BaseNode {
1478
+ readonly kind = NodeKind.ImportantStatement;
1479
+ readonly children: readonly [
1480
+ Keyword<KeywordKind.Important>,
1481
+ Expression
1482
+ ];
1483
+ get importantKeyword(): Keyword<KeywordKind.Important>;
1484
+ get expression(): Expression;
1485
+ protected get thisAsNode(): Node;
1486
+ constructor(importantKeyword: Keyword<KeywordKind.Important>, expression: Expression);
1487
+ toRed(rangeStart: number, parent: red.ImportantStatementParent): red.ImportantStatement;
1488
+ }
1461
1489
  export declare class ExpressionStatement extends BaseNode {
1462
1490
  readonly kind = NodeKind.ExpressionStatement;
1463
1491
  readonly children: readonly [
@@ -1490,9 +1518,9 @@ export declare class ForStatement extends BaseNode {
1490
1518
  get enumerationVariableList(): EnumerationVariableList;
1491
1519
  get fromKeyword(): Keyword<KeywordKind.From>;
1492
1520
  get enumeratedExpression(): Expression;
1493
- get body(): StatementBlock;
1521
+ get block(): StatementBlock;
1494
1522
  protected get thisAsNode(): Node;
1495
- constructor(forKeyword: Keyword<KeywordKind.For>, enumerationVariableList: EnumerationVariableList, fromKeyword: Keyword<KeywordKind.From>, enumeratedExpression: Expression, body: StatementBlock);
1523
+ constructor(forKeyword: Keyword<KeywordKind.For>, enumerationVariableList: EnumerationVariableList, fromKeyword: Keyword<KeywordKind.From>, enumeratedExpression: Expression, block: StatementBlock);
1496
1524
  toRed(rangeStart: number, parent: red.StatementParent): red.ForStatement;
1497
1525
  }
1498
1526
  export declare class IfStatement extends BaseNode {
@@ -1502,17 +1530,15 @@ export declare class IfStatement extends BaseNode {
1502
1530
  Expression,
1503
1531
  StatementBlock,
1504
1532
  ElseIfClauseList,
1505
- Keyword<KeywordKind.Else> | undefined,
1506
- StatementBlock | undefined
1533
+ ElseClause | undefined
1507
1534
  ];
1508
1535
  get ifKeyword(): Keyword<KeywordKind.If>;
1509
1536
  get condition(): Expression;
1510
- get thenBlock(): StatementBlock;
1537
+ get block(): StatementBlock;
1511
1538
  get elseIfClauseList(): ElseIfClauseList;
1512
- get elseKeyword(): Keyword<KeywordKind.Else> | undefined;
1513
- get elseBlock(): StatementBlock | undefined;
1539
+ get elseClause(): ElseClause | undefined;
1514
1540
  protected get thisAsNode(): Node;
1515
- constructor(ifKeyword: Keyword<KeywordKind.If>, condition: Expression, thenBlock: StatementBlock, elseIfClauseList: ElseIfClauseList, elseKeyword: Keyword<KeywordKind.Else> | undefined, elseBlock: StatementBlock | undefined);
1541
+ constructor(ifKeyword: Keyword<KeywordKind.If>, condition: Expression, block: StatementBlock, elseIfClauseList: ElseIfClauseList, elseClause: ElseClause | undefined);
1516
1542
  toRed(rangeStart: number, parent: red.StatementParent): red.IfStatement;
1517
1543
  }
1518
1544
  export declare class ElseIfClauseList extends BaseNode {
@@ -1532,11 +1558,23 @@ export declare class ElseIfClause extends BaseNode {
1532
1558
  ];
1533
1559
  get elseIfKeyword(): Keyword<KeywordKind.ElseIf>;
1534
1560
  get condition(): Expression;
1535
- get thenBlock(): StatementBlock;
1561
+ get block(): StatementBlock;
1536
1562
  protected get thisAsNode(): Node;
1537
- constructor(elseIfKeyword: Keyword<KeywordKind.ElseIf>, condition: Expression, thenBlock: StatementBlock);
1563
+ constructor(elseIfKeyword: Keyword<KeywordKind.ElseIf>, condition: Expression, block: StatementBlock);
1538
1564
  toRed(rangeStart: number, parent: red.ElseIfClauseParent): red.ElseIfClause;
1539
1565
  }
1566
+ export declare class ElseClause extends BaseNode {
1567
+ readonly kind = NodeKind.ElseClause;
1568
+ readonly children: readonly [
1569
+ Keyword<KeywordKind.Else>,
1570
+ StatementBlock
1571
+ ];
1572
+ get elseKeyword(): Keyword<KeywordKind.Else>;
1573
+ get block(): StatementBlock;
1574
+ protected get thisAsNode(): Node;
1575
+ constructor(elseKeyword: Keyword<KeywordKind.Else>, block: StatementBlock);
1576
+ toRed(rangeStart: number, parent: red.ElseClauseParent): red.ElseClause;
1577
+ }
1540
1578
  export declare class InvalidStatement extends BaseNode {
1541
1579
  readonly kind = NodeKind.InvalidStatement;
1542
1580
  readonly children: never[];
@@ -1573,11 +1611,11 @@ export declare class LoopStatement extends BaseNode {
1573
1611
  Expression | undefined
1574
1612
  ];
1575
1613
  get loopKeyword(): Keyword<KeywordKind.Loop>;
1576
- get body(): StatementBlock;
1614
+ get block(): StatementBlock;
1577
1615
  get repeatWhileKeyword(): Keyword<KeywordKind.RepeatWhile> | undefined;
1578
1616
  get condition(): Expression | undefined;
1579
1617
  protected get thisAsNode(): Node;
1580
- constructor(loopKeyword: Keyword<KeywordKind.Loop>, body: StatementBlock, repeatWhileKeyword: Keyword<KeywordKind.RepeatWhile> | undefined, condition: Expression | undefined);
1618
+ constructor(loopKeyword: Keyword<KeywordKind.Loop>, block: StatementBlock, repeatWhileKeyword: Keyword<KeywordKind.RepeatWhile> | undefined, condition: Expression | undefined);
1581
1619
  toRed(rangeStart: number, parent: red.StatementParent): red.LoopStatement;
1582
1620
  }
1583
1621
  export declare class ReturnStatement extends BaseNode {
@@ -1594,10 +1632,10 @@ export declare class ReturnStatement extends BaseNode {
1594
1632
  }
1595
1633
  export declare class CaseClauseList extends BaseNode {
1596
1634
  readonly kind = NodeKind.CaseClauseList;
1597
- readonly children: readonly SwitchStatementCaseClause[];
1598
- get caseClauses(): readonly SwitchStatementCaseClause[];
1635
+ readonly children: readonly CaseClause[];
1636
+ get caseClauses(): readonly CaseClause[];
1599
1637
  protected get thisAsNode(): Node;
1600
- constructor(caseClauses: readonly SwitchStatementCaseClause[]);
1638
+ constructor(caseClauses: readonly CaseClause[]);
1601
1639
  toRed(rangeStart: number, parent: red.CaseClauseListParent): red.CaseClauseList;
1602
1640
  }
1603
1641
  export declare class SwitchStatement extends BaseNode {
@@ -1623,8 +1661,8 @@ export declare class MatchExpressionList extends BaseNode {
1623
1661
  constructor(elements: readonly MatchExpressionListElement[]);
1624
1662
  toRed(rangeStart: number, parent: red.MatchExpressionListParent): red.MatchExpressionList;
1625
1663
  }
1626
- export declare class SwitchStatementCaseClause extends BaseNode {
1627
- readonly kind = NodeKind.SwitchStatementCaseClause;
1664
+ export declare class CaseClause extends BaseNode {
1665
+ readonly kind = NodeKind.CaseClause;
1628
1666
  readonly children: readonly [
1629
1667
  Keyword<KeywordKind.Case>,
1630
1668
  MatchExpressionList,
@@ -1632,10 +1670,10 @@ export declare class SwitchStatementCaseClause extends BaseNode {
1632
1670
  ];
1633
1671
  get caseKeyword(): Keyword<KeywordKind.Case>;
1634
1672
  get matchExpressionList(): MatchExpressionList;
1635
- get body(): StatementBlock;
1673
+ get block(): StatementBlock;
1636
1674
  protected get thisAsNode(): Node;
1637
- constructor(caseKeyword: Keyword<KeywordKind.Case>, matchExpressionList: MatchExpressionList, body: StatementBlock);
1638
- toRed(rangeStart: number, parent: red.SwitchStatementCaseClauseParent): red.SwitchStatementCaseClause;
1675
+ constructor(caseKeyword: Keyword<KeywordKind.Case>, matchExpressionList: MatchExpressionList, block: StatementBlock);
1676
+ toRed(rangeStart: number, parent: red.CaseClauseParent): red.CaseClause;
1639
1677
  }
1640
1678
  export declare class WhileStatement extends BaseNode {
1641
1679
  readonly kind = NodeKind.WhileStatement;
@@ -1646,9 +1684,9 @@ export declare class WhileStatement extends BaseNode {
1646
1684
  ];
1647
1685
  get whileKeyword(): Keyword<KeywordKind.While>;
1648
1686
  get condition(): Expression;
1649
- get body(): StatementBlock;
1687
+ get block(): StatementBlock;
1650
1688
  protected get thisAsNode(): Node;
1651
- constructor(whileKeyword: Keyword<KeywordKind.While>, condition: Expression, body: StatementBlock);
1689
+ constructor(whileKeyword: Keyword<KeywordKind.While>, condition: Expression, block: StatementBlock);
1652
1690
  toRed(rangeStart: number, parent: red.StatementParent): red.WhileStatement;
1653
1691
  }
1654
1692
  export declare class YieldStatement extends BaseNode {
@@ -2147,4 +2185,4 @@ export declare class TypeAnnotation extends BaseNode {
2147
2185
  constructor(colonToken: Token<TokenKind.Colon>, typeSpecifier: TypeSpecifier);
2148
2186
  toRed(rangeStart: number, parent: red.TypeAnnotationParent): red.TypeAnnotation;
2149
2187
  }
2150
- export type Node = SourceFile | PackageMemberDeclarationList | Keyword | PackageImportDirectiveList | SinglePackageImportDirective | PackageGroupImportDirective | PackageImportList | PackageImport | PackagePath | NamedTypeSpecifier | UnionTypeSpecifier | UnionTypeSpecifierTypeList | ParenthesizedTypeSpecifier | NullableTypeSpecifier | AnonymousTypeSpecifier | InvalidTypeSpecifier | AnonymousMethodTypeDeclaration | AnonymousStructuredTypeDeclaration | AnonymousVariantTypeDeclaration | TopLevelTranslationList | TranslationsDeclaration | PackageAliasTypeDeclaration | AliasTypeDeclarationBody | PackageMemberGroupDeclaration | PackageConstructorDeclaration | PackageEntryPointDeclaration | PackageMethodDeclaration | PackageMethodTypeDeclaration | MethodTypeDeclarationBody | BaseTypeList | TypeMemberDeclarationList | TypeMemberDeclarationBlock | PackageStructuredTypeDeclaration | StructuredTypeDeclarationBody | PackageVariableDeclaration | PackageVariableGetterDeclaration | PackageVariableSetterDeclaration | PackageVariantTypeDeclaration | VariantTypeDeclarationBody | TypeExtensionDeclaration | ExtendedTypeClauseCommaList | ExtendedTypeClause | InvalidPackageMemberDeclaration | TypeMemberGroupDeclaration | TypeConstructorDeclaration | TypeDestructorDeclaration | TypeIndexedGetterDeclaration | TypeIndexedSetterDeclaration | TypeIndexerParameterClause | TypeDereferencedVariableGetterDeclaration | TypeDereferencedVariableSetterDeclaration | TypeMethodDeclaration | OperatorDeclaration | TypeVariableDeclaration | TypeVariableGetterDeclaration | TypeVariableSetterDeclaration | InvalidTypeMemberDeclaration | NestedMethodDeclaration | LocalVariableDeclaration | EnumerationVariableDeclaration | ArrayLiteral | ArrayLiteralElementList | AssertionExpression | AssumptionExpression | AsExpression | BinaryExpression | MethodBlockLiteral | ArgumentList | CallExpression | AutotypeCallExpression | IndexedAccessExpression | InvalidExpression | IsExpression | MethodLiteral | ParenthesizedExpression | WhenTernaryExpression | PrefixUnaryExpression | PropertyAccessExpression | ReferenceExpression | DereferenceExpression | TextTemplateLiteral | TextTemplateSpanList | TextTemplateSpan | TokenExpression | KeywordExpression | ObjectExpression | BaseExpression | IdentifierExpression | GenericSpecializationExpression | DefaultMatchExpression | AssignmentStatement | StatementList | StatementBlock | BreakLoopStatement | ContinueLoopStatement | DisposeStatement | RunStatement | TryStatement | CatchClause | ErrorVariableDeclaration | FinallyClause | EmptyStatement | ErrorStatement | ExpressionStatement | EnumerationVariableList | ForStatement | IfStatement | ElseIfClauseList | ElseIfClause | InvalidStatement | NestedMethodDeclarationStatement | LocalVariableDeclarationStatement | LoopStatement | ReturnStatement | CaseClauseList | SwitchStatement | MatchExpressionList | SwitchStatementCaseClause | WhileStatement | YieldStatement | TranslationParameterList | TranslationParameterClause | ConstructorTranslation | IndexerTranslationParameterClause | IndexerTranslation | TranslationTypeParameterList | TranslationTypeParameterClause | PackageMethodTranslation | TypeMethodTranslation | MethodTypeTranslation | PackageImportTranslation | QualifiedName | PackageVariableTranslation | TypeVariableOrVariantTranslation | TypeMemberTranslationList | TypeTranslation | TextLiteralTranslation | TextTemplateLiteralTranslation | VariantDeclaration | TypeParameterDeclaration | ParameterDeclaration | Argument | TagList | Tag | ModifierList | Modifier | ParameterClause | ParameterList | TypeArgumentClause | TypeArgumentList | TypeParameterClause | TypeParameterList | TypeAnnotation | Token;
2188
+ export type Node = SourceFile | PackageMemberDeclarationList | Keyword | PackageImportDirectiveList | SinglePackageImportDirective | PackageGroupImportDirective | PackageImportList | PackageImport | PackagePath | NamedTypeSpecifier | UnionTypeSpecifier | UnionTypeSpecifierTypeList | ParenthesizedTypeSpecifier | NullableTypeSpecifier | AnonymousTypeSpecifier | InvalidTypeSpecifier | AnonymousMethodTypeDeclaration | AnonymousStructuredTypeDeclaration | AnonymousVariantTypeDeclaration | TopLevelTranslationList | TranslationsDeclaration | PackageAliasTypeDeclaration | AliasTypeDeclarationBody | PackageMemberGroupDeclaration | PackageConstructorDeclaration | PackageEntryPointDeclaration | PackageMethodDeclaration | PackageMethodTypeDeclaration | MethodTypeDeclarationBody | BaseTypeList | TypeMemberDeclarationList | TypeMemberDeclarationBlock | PackageStructuredTypeDeclaration | StructuredTypeDeclarationBody | PackageVariableDeclaration | PackageVariableGetterDeclaration | PackageVariableSetterDeclaration | PackageVariantTypeDeclaration | VariantTypeDeclarationBody | TypeExtensionDeclaration | ExtendedTypeClauseCommaList | ExtendedTypeClause | InvalidPackageMemberDeclaration | TypeMemberGroupDeclaration | TypeConstructorDeclaration | TypeDestructorDeclaration | TypeIndexedGetterDeclaration | TypeIndexedSetterDeclaration | TypeIndexerParameterClause | TypeDereferencedVariableGetterDeclaration | TypeDereferencedVariableSetterDeclaration | TypeMethodDeclaration | OperatorDeclaration | TypeVariableDeclaration | TypeVariableGetterDeclaration | TypeVariableSetterDeclaration | InvalidTypeMemberDeclaration | NestedMethodDeclaration | LocalVariableDeclaration | EnumerationVariableDeclaration | ArrayLiteral | ArrayLiteralElementList | AssertionExpression | AssumptionExpression | AsExpression | BinaryExpression | MethodBlockLiteral | ArgumentList | CallExpression | AutotypeCallExpression | IndexedAccessExpression | InvalidExpression | IsExpression | MethodLiteral | ParenthesizedExpression | WhenTernaryExpression | PrefixUnaryExpression | PropertyAccessExpression | ReferenceExpression | DereferenceExpression | TextTemplateLiteral | TextTemplateSpanList | TextTemplateSpan | TokenExpression | KeywordExpression | ObjectExpression | BaseExpression | IdentifierExpression | GenericSpecializationExpression | DefaultMatchExpression | AssignmentStatement | StatementList | StatementBlock | FunctionBlock | BreakLoopStatement | ContinueLoopStatement | DisposeStatement | RunStatement | TryStatement | CatchClause | ErrorVariableDeclaration | FinallyClause | EmptyStatement | ErrorStatement | ImportantStatement | ExpressionStatement | EnumerationVariableList | ForStatement | IfStatement | ElseIfClauseList | ElseIfClause | ElseClause | InvalidStatement | NestedMethodDeclarationStatement | LocalVariableDeclarationStatement | LoopStatement | ReturnStatement | CaseClauseList | SwitchStatement | MatchExpressionList | CaseClause | WhileStatement | YieldStatement | TranslationParameterList | TranslationParameterClause | ConstructorTranslation | IndexerTranslationParameterClause | IndexerTranslation | TranslationTypeParameterList | TranslationTypeParameterClause | PackageMethodTranslation | TypeMethodTranslation | MethodTypeTranslation | PackageImportTranslation | QualifiedName | PackageVariableTranslation | TypeVariableOrVariantTranslation | TypeMemberTranslationList | TypeTranslation | TextLiteralTranslation | TextTemplateLiteralTranslation | VariantDeclaration | TypeParameterDeclaration | ParameterDeclaration | Argument | TagList | Tag | ModifierList | Modifier | ParameterClause | ParameterList | TypeArgumentClause | TypeArgumentList | TypeParameterClause | TypeParameterList | TypeAnnotation | Token;
@@ -6,24 +6,24 @@ export declare class SyntaxFactory {
6
6
  static packageAliasTypeDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, typeParameters: readonly tree.TypeParameterDeclaration[] | undefined, body: tree.AliasTypeDeclarationBody): tree.PackageAliasTypeDeclaration;
7
7
  static aliasTypeDeclarationBody(aliasedTypeSpecifier: tree.TypeSpecifier, members: readonly tree.TypeMemberDeclaration[] | undefined): tree.AliasTypeDeclarationBody;
8
8
  static packageMemberGroupDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], declarations: readonly tree.PackageMemberDeclaration[]): tree.PackageMemberGroupDeclaration;
9
- static packageMethodDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, typeParameters: readonly tree.TypeParameterDeclaration[] | undefined, parameters: readonly tree.ParameterDeclaration[], returnTypeSpecifier: tree.TypeSpecifier | undefined, body: tree.StatementBlock | undefined): tree.PackageMethodDeclaration;
9
+ static packageMethodDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, typeParameters: readonly tree.TypeParameterDeclaration[] | undefined, parameters: readonly tree.ParameterDeclaration[], returnTypeSpecifier: tree.TypeSpecifier | undefined, body: tree.FunctionBlock | undefined): tree.PackageMethodDeclaration;
10
10
  static packageMethodTypeDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, typeParameters: readonly tree.TypeParameterDeclaration[] | undefined, body: tree.MethodTypeDeclarationBody): tree.PackageMethodTypeDeclaration;
11
11
  static methodTypeDeclarationBody(parameters: readonly tree.ParameterDeclaration[], returnTypeSpecifier: tree.TypeSpecifier | undefined): tree.MethodTypeDeclarationBody;
12
12
  static packageStructuredTypeDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, typeParameters: readonly tree.TypeParameterDeclaration[] | undefined, body: tree.StructuredTypeDeclarationBody): tree.PackageStructuredTypeDeclaration;
13
13
  static structuredTypeDeclarationBody(structuredTypeKind: tree.StructuredTypeKindKeyword['keywordKind'], baseTypes: readonly tree.NamedTypeSpecifier[] | undefined, members: readonly tree.TypeMemberDeclaration[]): tree.StructuredTypeDeclarationBody;
14
14
  static packageVariableDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, typeSpecifier: tree.TypeSpecifier | undefined, initializer?: tree.Expression): tree.PackageVariableDeclaration;
15
- static packageVariableGetterDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, typeSpecifier: tree.TypeSpecifier, body: tree.StatementBlock | undefined): tree.PackageVariableGetterDeclaration;
16
- static packageVariableSetterDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, body: tree.StatementBlock | undefined): tree.PackageVariableSetterDeclaration;
15
+ static packageVariableGetterDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, typeSpecifier: tree.TypeSpecifier, body: tree.FunctionBlock | undefined): tree.PackageVariableGetterDeclaration;
16
+ static packageVariableSetterDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, body: tree.FunctionBlock | undefined): tree.PackageVariableSetterDeclaration;
17
17
  static packageVariantTypeDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, typeParameters: readonly tree.TypeParameterDeclaration[] | undefined, body: tree.VariantTypeDeclarationBody): tree.PackageVariantTypeDeclaration;
18
18
  static variantTypeDeclarationBody(members: readonly tree.TypeMemberDeclaration[]): tree.VariantTypeDeclarationBody;
19
19
  static typeVariableDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, typeSpecifier: tree.TypeSpecifier | undefined, initializer?: tree.Expression): tree.TypeVariableDeclaration;
20
- static typeVariableGetterDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, typeSpecifier: tree.TypeSpecifier, body: tree.StatementBlock | undefined): tree.TypeVariableGetterDeclaration;
21
- static typeVariableSetterDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, body: tree.StatementBlock | undefined): tree.TypeVariableSetterDeclaration;
22
- static typeMethodDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, typeParameters: readonly tree.TypeParameterDeclaration[] | undefined, parameters: readonly tree.ParameterDeclaration[], returnTypeSpecifier: tree.TypeSpecifier | undefined, body: tree.StatementBlock | undefined): tree.TypeMethodDeclaration;
23
- static typeConstructorDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], parameters: readonly tree.ParameterDeclaration[], body: tree.StatementBlock | undefined): tree.TypeConstructorDeclaration;
24
- static typeDestructorDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], parameters: readonly tree.ParameterDeclaration[], body: tree.StatementBlock | undefined): tree.TypeDestructorDeclaration;
25
- static typeIndexedGetterDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], parameters: readonly tree.ParameterDeclaration[], typeSpecifier: tree.TypeSpecifier, body: tree.StatementBlock | undefined): tree.TypeIndexedGetterDeclaration;
26
- static typeIndexedSetterDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], parameters: readonly tree.ParameterDeclaration[], body: tree.StatementBlock | undefined): tree.TypeIndexedSetterDeclaration;
20
+ static typeVariableGetterDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, typeSpecifier: tree.TypeSpecifier, body: tree.FunctionBlock | undefined): tree.TypeVariableGetterDeclaration;
21
+ static typeVariableSetterDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, body: tree.FunctionBlock | undefined): tree.TypeVariableSetterDeclaration;
22
+ static typeMethodDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, typeParameters: readonly tree.TypeParameterDeclaration[] | undefined, parameters: readonly tree.ParameterDeclaration[], returnTypeSpecifier: tree.TypeSpecifier | undefined, body: tree.FunctionBlock | undefined): tree.TypeMethodDeclaration;
23
+ static typeConstructorDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], parameters: readonly tree.ParameterDeclaration[], body: tree.FunctionBlock | undefined): tree.TypeConstructorDeclaration;
24
+ static typeDestructorDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], parameters: readonly tree.ParameterDeclaration[], body: tree.FunctionBlock | undefined): tree.TypeDestructorDeclaration;
25
+ static typeIndexedGetterDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], parameters: readonly tree.ParameterDeclaration[], typeSpecifier: tree.TypeSpecifier, body: tree.FunctionBlock | undefined): tree.TypeIndexedGetterDeclaration;
26
+ static typeIndexedSetterDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], parameters: readonly tree.ParameterDeclaration[], body: tree.FunctionBlock | undefined): tree.TypeIndexedSetterDeclaration;
27
27
  static typeMemberGroupDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], members: readonly tree.TypeMemberDeclaration[]): tree.TypeMemberGroupDeclaration;
28
28
  static typeMemberDeclarationBlock(members: readonly tree.TypeMemberDeclaration[]): tree.TypeMemberDeclarationBlock;
29
29
  static variantDeclaration(tags: readonly tree.Tag[], modifiers: readonly tree.Modifier[], name: string, value?: tree.Expression): tree.VariantDeclaration;
@@ -43,6 +43,8 @@ export declare class SyntaxFactory {
43
43
  static typeArgumentClause(typeArguments: readonly tree.TypeSpecifier[]): tree.TypeArgumentClause;
44
44
  static typeAnnotation(typeSpecifier: tree.TypeSpecifier): tree.TypeAnnotation;
45
45
  static statementBlock(statements: readonly tree.Statement[]): tree.StatementBlock;
46
+ static functionExpressionBlock(expression: tree.Expression): tree.FunctionBlock;
47
+ static functionStatementBlock(statements: readonly tree.Statement[]): tree.FunctionBlock;
46
48
  static noneLiteral(): tree.KeywordExpression;
47
49
  static integerLiteral(value: number | string): tree.TokenExpression;
48
50
  static translationsDeclaration(translations: readonly tree.TopLevelTranslation[]): tree.TranslationsDeclaration;