@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
@@ -77,6 +77,7 @@ export declare class SyntaxToCode {
77
77
  private writeExpression;
78
78
  private writeDeclarationBody;
79
79
  private writeStatementBlock;
80
+ private writeFunctionBlock;
80
81
  private writeTranslationsDeclaration;
81
82
  private writePackageImportTranslation;
82
83
  private writePackageVariableTranslation;
@@ -20,7 +20,7 @@ export declare class Token<TKind extends TokenKind = TokenKind> extends BaseNode
20
20
  readonly value: string;
21
21
  readonly leadingTrivia: readonly Trivia[];
22
22
  readonly flags: TokenFlags;
23
- readonly ifOperatorNameThenKind: OperatorKind | undefined;
23
+ readonly operatorKind: OperatorKind | undefined;
24
24
  get isMissing(): boolean;
25
25
  protected get thisAsNode(): Node;
26
26
  get rangeLength(): number;
@@ -1,2 +1,2 @@
1
1
  import { Node } from './index.js';
2
- export declare function toSourceCode(node: Node, lengthLimit?: number): string;
2
+ export declare function toSourceCode(node: Node, lengthLimit?: number, excludeLeadingTrivia?: boolean): string;
@@ -334,11 +334,11 @@ export declare class PackageConstructorDeclaration extends BaseNode {
334
334
  readonly green: green.PackageConstructorDeclaration;
335
335
  readonly parent: PackageMemberDeclarationParent;
336
336
  private _children;
337
- get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Creation>, StatementBlock];
337
+ get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Creation>, FunctionBlock];
338
338
  get tagList(): TagList;
339
339
  get modifierList(): ModifierList;
340
340
  get creationKeyword(): Keyword<KeywordKind.Creation>;
341
- get body(): StatementBlock;
341
+ get block(): FunctionBlock;
342
342
  protected get thisAsNode(): Node;
343
343
  constructor(green: green.PackageConstructorDeclaration, rangeStart: number, parent: PackageMemberDeclarationParent);
344
344
  private createChildren;
@@ -348,11 +348,11 @@ export declare class PackageEntryPointDeclaration extends BaseNode {
348
348
  readonly green: green.PackageEntryPointDeclaration;
349
349
  readonly parent: PackageMemberDeclarationParent;
350
350
  private _children;
351
- get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Run>, StatementBlock];
351
+ get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Run>, FunctionBlock];
352
352
  get tagList(): TagList;
353
353
  get modifierList(): ModifierList;
354
354
  get runKeyword(): Keyword<KeywordKind.Run>;
355
- get body(): StatementBlock;
355
+ get block(): FunctionBlock;
356
356
  protected get thisAsNode(): Node;
357
357
  constructor(green: green.PackageEntryPointDeclaration, rangeStart: number, parent: PackageMemberDeclarationParent);
358
358
  private createChildren;
@@ -362,7 +362,7 @@ export declare class PackageMethodDeclaration extends BaseNode {
362
362
  readonly green: green.PackageMethodDeclaration;
363
363
  readonly parent: PackageMemberDeclarationParent;
364
364
  private _children;
365
- get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Function>, Identifier, TypeParameterClause | undefined, ParameterClause, TypeAnnotation | undefined, StatementBlock | undefined];
365
+ get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Function>, Identifier, TypeParameterClause | undefined, ParameterClause, TypeAnnotation | undefined, FunctionBlock | undefined];
366
366
  get tagList(): TagList;
367
367
  get modifierList(): ModifierList;
368
368
  get functionKeyword(): Keyword<KeywordKind.Function>;
@@ -370,7 +370,7 @@ export declare class PackageMethodDeclaration extends BaseNode {
370
370
  get typeParameterClause(): TypeParameterClause | undefined;
371
371
  get parameterClause(): ParameterClause;
372
372
  get returnTypeAnnotation(): TypeAnnotation | undefined;
373
- get body(): StatementBlock | undefined;
373
+ get block(): FunctionBlock | undefined;
374
374
  protected get thisAsNode(): Node;
375
375
  constructor(green: green.PackageMethodDeclaration, rangeStart: number, parent: PackageMemberDeclarationParent);
376
376
  private createChildren;
@@ -502,13 +502,13 @@ export declare class PackageVariableGetterDeclaration extends BaseNode {
502
502
  readonly green: green.PackageVariableGetterDeclaration;
503
503
  readonly parent: PackageMemberDeclarationParent;
504
504
  private _children;
505
- get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Get>, Identifier, TypeAnnotation, StatementBlock | undefined];
505
+ get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Get>, Identifier, TypeAnnotation, FunctionBlock | undefined];
506
506
  get tagList(): TagList;
507
507
  get modifierList(): ModifierList;
508
508
  get getKeyword(): Keyword<KeywordKind.Get>;
509
509
  get name(): Identifier;
510
510
  get typeAnnotation(): TypeAnnotation;
511
- get body(): StatementBlock | undefined;
511
+ get block(): FunctionBlock | undefined;
512
512
  protected get thisAsNode(): Node;
513
513
  constructor(green: green.PackageVariableGetterDeclaration, rangeStart: number, parent: PackageMemberDeclarationParent);
514
514
  private createChildren;
@@ -518,12 +518,12 @@ export declare class PackageVariableSetterDeclaration extends BaseNode {
518
518
  readonly green: green.PackageVariableSetterDeclaration;
519
519
  readonly parent: PackageMemberDeclarationParent;
520
520
  private _children;
521
- get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Set>, Identifier, StatementBlock | undefined];
521
+ get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Set>, Identifier, FunctionBlock | undefined];
522
522
  get tagList(): TagList;
523
523
  get modifierList(): ModifierList;
524
524
  get setKeyword(): Keyword<KeywordKind.Set>;
525
525
  get name(): Identifier;
526
- get body(): StatementBlock | undefined;
526
+ get block(): FunctionBlock | undefined;
527
527
  protected get thisAsNode(): Node;
528
528
  constructor(green: green.PackageVariableSetterDeclaration, rangeStart: number, parent: PackageMemberDeclarationParent);
529
529
  private createChildren;
@@ -635,12 +635,12 @@ export declare class TypeConstructorDeclaration extends BaseNode {
635
635
  readonly green: green.TypeConstructorDeclaration;
636
636
  readonly parent: TypeMemberDeclarationParent;
637
637
  private _children;
638
- get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Creation>, ParameterClause, StatementBlock | undefined];
638
+ get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Creation>, ParameterClause, FunctionBlock | undefined];
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
645
  constructor(green: green.TypeConstructorDeclaration, rangeStart: number, parent: TypeMemberDeclarationParent);
646
646
  private createChildren;
@@ -650,12 +650,12 @@ export declare class TypeDestructorDeclaration extends BaseNode {
650
650
  readonly green: green.TypeDestructorDeclaration;
651
651
  readonly parent: TypeMemberDeclarationParent;
652
652
  private _children;
653
- get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Destruction>, ParameterClause, StatementBlock | undefined];
653
+ get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Destruction>, ParameterClause, FunctionBlock | undefined];
654
654
  get tagList(): TagList;
655
655
  get modifierList(): ModifierList;
656
656
  get destructionKeyword(): Keyword<KeywordKind.Destruction>;
657
657
  get parameterClause(): ParameterClause;
658
- get body(): StatementBlock | undefined;
658
+ get block(): FunctionBlock | undefined;
659
659
  protected get thisAsNode(): Node;
660
660
  constructor(green: green.TypeDestructorDeclaration, rangeStart: number, parent: TypeMemberDeclarationParent);
661
661
  private createChildren;
@@ -665,13 +665,13 @@ export declare class TypeIndexedGetterDeclaration extends BaseNode {
665
665
  readonly green: green.TypeIndexedGetterDeclaration;
666
666
  readonly parent: TypeMemberDeclarationParent;
667
667
  private _children;
668
- get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Get>, TypeIndexerParameterClause, TypeAnnotation, StatementBlock | undefined];
668
+ get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Get>, TypeIndexerParameterClause, TypeAnnotation, FunctionBlock | undefined];
669
669
  get tagList(): TagList;
670
670
  get modifierList(): ModifierList;
671
671
  get getKeyword(): Keyword<KeywordKind.Get>;
672
672
  get parameterClause(): TypeIndexerParameterClause;
673
673
  get typeAnnotation(): TypeAnnotation;
674
- get body(): StatementBlock | undefined;
674
+ get block(): FunctionBlock | undefined;
675
675
  protected get thisAsNode(): Node;
676
676
  constructor(green: green.TypeIndexedGetterDeclaration, rangeStart: number, parent: TypeMemberDeclarationParent);
677
677
  private createChildren;
@@ -681,12 +681,12 @@ export declare class TypeIndexedSetterDeclaration extends BaseNode {
681
681
  readonly green: green.TypeIndexedSetterDeclaration;
682
682
  readonly parent: TypeMemberDeclarationParent;
683
683
  private _children;
684
- get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Set>, TypeIndexerParameterClause, StatementBlock | undefined];
684
+ get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Set>, TypeIndexerParameterClause, FunctionBlock | undefined];
685
685
  get tagList(): TagList;
686
686
  get modifierList(): ModifierList;
687
687
  get setKeyword(): Keyword<KeywordKind.Set>;
688
688
  get parameterClause(): TypeIndexerParameterClause;
689
- get body(): StatementBlock | undefined;
689
+ get block(): FunctionBlock | undefined;
690
690
  protected get thisAsNode(): Node;
691
691
  constructor(green: green.TypeIndexedSetterDeclaration, rangeStart: number, parent: TypeMemberDeclarationParent);
692
692
  private createChildren;
@@ -710,13 +710,13 @@ export declare class TypeDereferencedVariableGetterDeclaration extends BaseNode
710
710
  readonly green: green.TypeDereferencedVariableGetterDeclaration;
711
711
  readonly parent: TypeMemberDeclarationParent;
712
712
  private _children;
713
- get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Get>, Token<green.TokenKind.Caret>, TypeAnnotation, StatementBlock | undefined];
713
+ get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Get>, Token<green.TokenKind.Caret>, TypeAnnotation, FunctionBlock | undefined];
714
714
  get tagList(): TagList;
715
715
  get modifierList(): ModifierList;
716
716
  get getKeyword(): Keyword<KeywordKind.Get>;
717
717
  get caretToken(): Token<TokenKind.Caret>;
718
718
  get typeAnnotation(): TypeAnnotation;
719
- get body(): StatementBlock | undefined;
719
+ get block(): FunctionBlock | undefined;
720
720
  protected get thisAsNode(): Node;
721
721
  constructor(green: green.TypeDereferencedVariableGetterDeclaration, rangeStart: number, parent: TypeMemberDeclarationParent);
722
722
  private createChildren;
@@ -726,12 +726,12 @@ export declare class TypeDereferencedVariableSetterDeclaration extends BaseNode
726
726
  readonly green: green.TypeDereferencedVariableSetterDeclaration;
727
727
  readonly parent: TypeMemberDeclarationParent;
728
728
  private _children;
729
- get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Set>, Token<green.TokenKind.Caret>, StatementBlock | undefined];
729
+ get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Set>, Token<green.TokenKind.Caret>, FunctionBlock | undefined];
730
730
  get tagList(): TagList;
731
731
  get modifierList(): ModifierList;
732
732
  get setKeyword(): Keyword<KeywordKind.Set>;
733
733
  get caretToken(): Token<TokenKind.Caret>;
734
- get body(): StatementBlock | undefined;
734
+ get block(): FunctionBlock | undefined;
735
735
  protected get thisAsNode(): Node;
736
736
  constructor(green: green.TypeDereferencedVariableSetterDeclaration, rangeStart: number, parent: TypeMemberDeclarationParent);
737
737
  private createChildren;
@@ -741,7 +741,7 @@ export declare class TypeMethodDeclaration extends BaseNode {
741
741
  readonly green: green.TypeMethodDeclaration;
742
742
  readonly parent: TypeMemberDeclarationParent;
743
743
  private _children;
744
- get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Function>, Identifier, TypeParameterClause | undefined, ParameterClause, TypeAnnotation | undefined, StatementBlock | undefined];
744
+ get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Function>, Identifier, TypeParameterClause | undefined, ParameterClause, TypeAnnotation | undefined, FunctionBlock | undefined];
745
745
  get tagList(): TagList;
746
746
  get modifierList(): ModifierList;
747
747
  get functionKeyword(): Keyword<KeywordKind.Function>;
@@ -749,7 +749,7 @@ export declare class TypeMethodDeclaration extends BaseNode {
749
749
  get typeParameterClause(): TypeParameterClause | undefined;
750
750
  get parameterClause(): ParameterClause;
751
751
  get returnTypeAnnotation(): TypeAnnotation | undefined;
752
- get body(): StatementBlock | undefined;
752
+ get block(): FunctionBlock | undefined;
753
753
  protected get thisAsNode(): Node;
754
754
  constructor(green: green.TypeMethodDeclaration, rangeStart: number, parent: TypeMemberDeclarationParent);
755
755
  private createChildren;
@@ -759,14 +759,14 @@ export declare class OperatorDeclaration extends BaseNode {
759
759
  readonly green: green.OperatorDeclaration;
760
760
  readonly parent: TypeMemberDeclarationParent;
761
761
  private _children;
762
- get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Function>, Identifier, ParameterClause, TypeAnnotation | undefined, StatementBlock | undefined];
762
+ get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Function>, Identifier, ParameterClause, TypeAnnotation | undefined, FunctionBlock | undefined];
763
763
  get tagList(): TagList;
764
764
  get modifierList(): ModifierList;
765
765
  get functionKeyword(): Keyword<KeywordKind.Function>;
766
766
  get name(): Identifier;
767
767
  get parameterClause(): ParameterClause;
768
768
  get returnTypeAnnotation(): TypeAnnotation | undefined;
769
- get body(): StatementBlock | undefined;
769
+ get block(): FunctionBlock | undefined;
770
770
  get operatorKind(): OperatorKind;
771
771
  protected get thisAsNode(): Node;
772
772
  constructor(green: green.OperatorDeclaration, rangeStart: number, parent: TypeMemberDeclarationParent);
@@ -793,13 +793,13 @@ export declare class TypeVariableGetterDeclaration extends BaseNode {
793
793
  readonly green: green.TypeVariableGetterDeclaration;
794
794
  readonly parent: TypeMemberDeclarationParent;
795
795
  private _children;
796
- get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Get>, Identifier, TypeAnnotation, StatementBlock | undefined];
796
+ get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Get>, Identifier, TypeAnnotation, FunctionBlock | undefined];
797
797
  get tagList(): TagList;
798
798
  get modifierList(): ModifierList;
799
799
  get getKeyword(): Keyword<KeywordKind.Get>;
800
800
  get name(): Identifier;
801
801
  get typeAnnotation(): TypeAnnotation;
802
- get body(): StatementBlock | undefined;
802
+ get block(): FunctionBlock | undefined;
803
803
  protected get thisAsNode(): Node;
804
804
  constructor(green: green.TypeVariableGetterDeclaration, rangeStart: number, parent: TypeMemberDeclarationParent);
805
805
  private createChildren;
@@ -809,12 +809,12 @@ export declare class TypeVariableSetterDeclaration extends BaseNode {
809
809
  readonly green: green.TypeVariableSetterDeclaration;
810
810
  readonly parent: TypeMemberDeclarationParent;
811
811
  private _children;
812
- get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Set>, Identifier, StatementBlock | undefined];
812
+ get children(): readonly [TagList, ModifierList, Keyword<green.KeywordKind.Set>, Identifier, FunctionBlock | undefined];
813
813
  get tagList(): TagList;
814
814
  get modifierList(): ModifierList;
815
815
  get setKeyword(): Keyword<KeywordKind.Set>;
816
816
  get name(): Identifier;
817
- get body(): StatementBlock | undefined;
817
+ get block(): FunctionBlock | undefined;
818
818
  protected get thisAsNode(): Node;
819
819
  constructor(green: green.TypeVariableSetterDeclaration, rangeStart: number, parent: TypeMemberDeclarationParent);
820
820
  private createChildren;
@@ -837,14 +837,14 @@ export declare class NestedMethodDeclaration extends BaseNode {
837
837
  readonly green: green.NestedMethodDeclaration;
838
838
  readonly parent: NestedMethodDeclarationParent;
839
839
  private _children;
840
- get children(): readonly [Keyword<green.KeywordKind.Async> | undefined, Keyword<green.KeywordKind.Function>, Identifier, TypeParameterClause | undefined, ParameterClause, TypeAnnotation | undefined, StatementBlock];
840
+ get children(): readonly [Keyword<green.KeywordKind.Async> | undefined, Keyword<green.KeywordKind.Function>, Identifier, TypeParameterClause | undefined, ParameterClause, TypeAnnotation | undefined, FunctionBlock];
841
841
  get asyncKeyword(): Keyword<KeywordKind.Async> | undefined;
842
842
  get functionKeyword(): Keyword<KeywordKind.Function>;
843
843
  get name(): Identifier;
844
844
  get typeParameterClause(): TypeParameterClause | undefined;
845
845
  get parameterClause(): ParameterClause;
846
846
  get returnTypeAnnotation(): TypeAnnotation | undefined;
847
- get body(): StatementBlock;
847
+ get block(): FunctionBlock;
848
848
  protected get thisAsNode(): Node;
849
849
  constructor(green: green.NestedMethodDeclaration, rangeStart: number, parent: NestedMethodDeclarationParent);
850
850
  private createChildren;
@@ -878,7 +878,7 @@ export declare class EnumerationVariableDeclaration extends BaseNode {
878
878
  private createChildren;
879
879
  }
880
880
  export type Expression = ArrayLiteral | AsExpression | AssertionExpression | AssumptionExpression | BinaryExpression | MethodBlockLiteral | CallExpression | IdentifierExpression | AutotypeCallExpression | IndexedAccessExpression | InvalidExpression | IsExpression | MethodLiteral | ParenthesizedExpression | WhenTernaryExpression | PrefixUnaryExpression | PropertyAccessExpression | ReferenceExpression | DereferenceExpression | TextTemplateLiteral | GenericSpecializationExpression | DefaultMatchExpression | TokenExpression | KeywordExpression | ObjectExpression | BaseExpression;
881
- export type ExpressionParent = ArrayLiteralElementList | AsExpression | AssertionExpression | AssumptionExpression | AssignmentStatement | BinaryExpression | Argument | CallExpression | DisposeStatement | ErrorStatement | ExpressionStatement | ForStatement | PackageVariableDeclaration | IfStatement | IndexedAccessExpression | IsExpression | LocalVariableDeclaration | MatchExpressionList | ParameterDeclaration | ParenthesizedExpression | WhenTernaryExpression | PrefixUnaryExpression | PropertyAccessExpression | ReferenceExpression | DereferenceExpression | LoopStatement | ReturnStatement | TextTemplateSpan | TypeVariableDeclaration | SwitchStatement | VariantDeclaration | WhileStatement | YieldStatement | GenericSpecializationExpression | ElseIfClause | TextTemplateLiteralTranslation;
881
+ export type ExpressionParent = ArrayLiteralElementList | AsExpression | AssertionExpression | AssumptionExpression | AssignmentStatement | BinaryExpression | Argument | CallExpression | DisposeStatement | ErrorStatement | ImportantStatement | ExpressionStatement | ForStatement | PackageVariableDeclaration | IfStatement | IndexedAccessExpression | IsExpression | LocalVariableDeclaration | MatchExpressionList | ParameterDeclaration | ParenthesizedExpression | WhenTernaryExpression | PrefixUnaryExpression | PropertyAccessExpression | ReferenceExpression | DereferenceExpression | LoopStatement | ReturnStatement | TextTemplateSpan | TypeVariableDeclaration | SwitchStatement | VariantDeclaration | WhileStatement | YieldStatement | GenericSpecializationExpression | ElseIfClause | TextTemplateLiteralTranslation | FunctionBlock;
882
882
  export declare class ArrayLiteral extends BaseNode {
883
883
  readonly kind = NodeKind.ArrayLiteral;
884
884
  readonly green: green.ArrayLiteral;
@@ -962,8 +962,8 @@ export declare class MethodBlockLiteral extends BaseNode {
962
962
  readonly green: green.MethodBlockLiteral;
963
963
  readonly parent: ExpressionParent;
964
964
  private _children;
965
- get children(): readonly [StatementBlock];
966
- get body(): StatementBlock;
965
+ get children(): readonly [FunctionBlock];
966
+ get block(): FunctionBlock;
967
967
  protected get thisAsNode(): Node;
968
968
  constructor(green: green.MethodBlockLiteral, rangeStart: number, parent: ExpressionParent);
969
969
  private createChildren;
@@ -1050,12 +1050,12 @@ export declare class MethodLiteral extends BaseNode {
1050
1050
  readonly green: green.MethodLiteral;
1051
1051
  readonly parent: ExpressionParent;
1052
1052
  private _children;
1053
- get children(): readonly [Keyword<green.KeywordKind.Async> | undefined, Keyword<green.KeywordKind.Function>, ParameterClause, TypeAnnotation | undefined, StatementBlock];
1053
+ get children(): readonly [Keyword<green.KeywordKind.Async> | undefined, Keyword<green.KeywordKind.Function>, ParameterClause, TypeAnnotation | undefined, FunctionBlock];
1054
1054
  get asyncKeyword(): Keyword<KeywordKind.Async> | undefined;
1055
1055
  get functionKeyword(): Keyword<KeywordKind.Function>;
1056
1056
  get parameterClause(): ParameterClause;
1057
1057
  get returnTypeAnnotation(): TypeAnnotation | undefined;
1058
- get body(): StatementBlock;
1058
+ get block(): FunctionBlock;
1059
1059
  protected get thisAsNode(): Node;
1060
1060
  constructor(green: green.MethodLiteral, rangeStart: number, parent: ExpressionParent);
1061
1061
  private createChildren;
@@ -1261,7 +1261,7 @@ export declare class DefaultMatchExpression extends BaseNode {
1261
1261
  constructor(green: green.DefaultMatchExpression, rangeStart: number, parent: ExpressionParent);
1262
1262
  private createChildren;
1263
1263
  }
1264
- export type Statement = RunStatement | TryStatement | EmptyStatement | IfStatement | ForStatement | WhileStatement | LoopStatement | ReturnStatement | ErrorStatement | LocalVariableDeclarationStatement | AssignmentStatement | YieldStatement | InvalidStatement | ExpressionStatement | SwitchStatement | BreakLoopStatement | ContinueLoopStatement | NestedMethodDeclarationStatement | DisposeStatement;
1264
+ export type Statement = RunStatement | TryStatement | EmptyStatement | IfStatement | ForStatement | WhileStatement | LoopStatement | ReturnStatement | ErrorStatement | LocalVariableDeclarationStatement | AssignmentStatement | YieldStatement | InvalidStatement | ImportantStatement | ExpressionStatement | SwitchStatement | BreakLoopStatement | ContinueLoopStatement | NestedMethodDeclarationStatement | DisposeStatement;
1265
1265
  export type StatementParent = StatementList;
1266
1266
  export declare class AssignmentStatement extends BaseNode {
1267
1267
  readonly kind = NodeKind.AssignmentStatement;
@@ -1278,7 +1278,7 @@ export declare class AssignmentStatement extends BaseNode {
1278
1278
  }
1279
1279
  export type AssignmentStatementOperator = Token<TokenKind.Equals> | Token<TokenKind.PlusEquals> | Token<TokenKind.MinusEquals> | Token<TokenKind.AsteriskEquals> | Token<TokenKind.SlashEquals> | Token<TokenKind.BackslashEquals>;
1280
1280
  export type StatementListElement = Statement | Semicolon;
1281
- export type StatementListParent = StatementBlock;
1281
+ export type StatementListParent = FunctionBlock | StatementBlock;
1282
1282
  export declare class StatementList extends BaseNode {
1283
1283
  readonly kind = NodeKind.StatementList;
1284
1284
  readonly green: green.StatementList;
@@ -1291,7 +1291,7 @@ export declare class StatementList extends BaseNode {
1291
1291
  constructor(green: green.StatementList, rangeStart: number, parent: StatementListParent);
1292
1292
  private createChildren;
1293
1293
  }
1294
- export type StatementBlockParent = PackageVariableGetterDeclaration | PackageVariableSetterDeclaration | PackageMethodDeclaration | TypeVariableGetterDeclaration | TypeVariableSetterDeclaration | TypeIndexedGetterDeclaration | TypeIndexedSetterDeclaration | TypeDereferencedVariableGetterDeclaration | TypeDereferencedVariableSetterDeclaration | TypeMethodDeclaration | OperatorDeclaration | NestedMethodDeclaration | MethodLiteral | MethodBlockLiteral | PackageConstructorDeclaration | PackageEntryPointDeclaration | TypeConstructorDeclaration | TypeDestructorDeclaration | IfStatement | ElseIfClause | RunStatement | TryStatement | CatchClause | FinallyClause | ForStatement | LoopStatement | SwitchStatementCaseClause | WhileStatement;
1294
+ export type StatementBlockParent = IfStatement | ElseIfClause | ElseClause | RunStatement | TryStatement | CatchClause | FinallyClause | ForStatement | LoopStatement | CaseClause | WhileStatement;
1295
1295
  export declare class StatementBlock extends BaseNode {
1296
1296
  readonly kind = NodeKind.StatementBlock;
1297
1297
  readonly green: green.StatementBlock;
@@ -1305,6 +1305,21 @@ export declare class StatementBlock extends BaseNode {
1305
1305
  constructor(green: green.StatementBlock, rangeStart: number, parent: StatementBlockParent);
1306
1306
  private createChildren;
1307
1307
  }
1308
+ export type FunctionBlockParent = PackageVariableGetterDeclaration | PackageVariableSetterDeclaration | PackageMethodDeclaration | TypeVariableGetterDeclaration | TypeVariableSetterDeclaration | TypeIndexedGetterDeclaration | TypeIndexedSetterDeclaration | TypeDereferencedVariableGetterDeclaration | TypeDereferencedVariableSetterDeclaration | TypeMethodDeclaration | OperatorDeclaration | NestedMethodDeclaration | MethodLiteral | MethodBlockLiteral | PackageConstructorDeclaration | PackageEntryPointDeclaration | TypeConstructorDeclaration | TypeDestructorDeclaration;
1309
+ export declare class FunctionBlock extends BaseNode {
1310
+ readonly kind = NodeKind.FunctionBlock;
1311
+ readonly green: green.FunctionBlock;
1312
+ readonly parent: FunctionBlockParent;
1313
+ private _children;
1314
+ get children(): readonly [Token<green.TokenKind.OpenBrace>, Expression | undefined, StatementList | undefined, Token<green.TokenKind.CloseBrace>];
1315
+ get openBraceToken(): Token<TokenKind.OpenBrace>;
1316
+ get expression(): Expression | undefined;
1317
+ get statementList(): StatementList | undefined;
1318
+ get closeBraceToken(): Token<TokenKind.CloseBrace>;
1319
+ protected get thisAsNode(): Node;
1320
+ constructor(green: green.FunctionBlock, rangeStart: number, parent: FunctionBlockParent);
1321
+ private createChildren;
1322
+ }
1308
1323
  export declare class BreakLoopStatement extends BaseNode {
1309
1324
  readonly kind = NodeKind.BreakLoopStatement;
1310
1325
  readonly green: green.BreakLoopStatement;
@@ -1346,7 +1361,7 @@ export declare class RunStatement extends BaseNode {
1346
1361
  private _children;
1347
1362
  get children(): readonly [Keyword<green.KeywordKind.Run>, StatementBlock];
1348
1363
  get runKeyword(): Keyword<KeywordKind.Run>;
1349
- get body(): StatementBlock;
1364
+ get block(): StatementBlock;
1350
1365
  protected get thisAsNode(): Node;
1351
1366
  constructor(green: green.RunStatement, rangeStart: number, parent: StatementParent);
1352
1367
  private createChildren;
@@ -1359,7 +1374,7 @@ export declare class TryStatement extends BaseNode {
1359
1374
  private _children;
1360
1375
  get children(): readonly [Keyword<green.KeywordKind.Try>, StatementBlock, CatchClause | undefined, FinallyClause | undefined];
1361
1376
  get tryKeyword(): Keyword<KeywordKind.Try>;
1362
- get body(): StatementBlock;
1377
+ get block(): StatementBlock;
1363
1378
  get catchClause(): CatchClause | undefined;
1364
1379
  get finallyClause(): FinallyClause | undefined;
1365
1380
  protected get thisAsNode(): Node;
@@ -1375,7 +1390,7 @@ export declare class CatchClause extends BaseNode {
1375
1390
  get children(): readonly [Keyword<green.KeywordKind.Catch>, ErrorVariableDeclaration | undefined, StatementBlock];
1376
1391
  get catchKeyword(): Keyword<KeywordKind.Catch>;
1377
1392
  get errorVariable(): ErrorVariableDeclaration | undefined;
1378
- get body(): StatementBlock;
1393
+ get block(): StatementBlock;
1379
1394
  protected get thisAsNode(): Node;
1380
1395
  constructor(green: green.CatchClause, rangeStart: number, parent: CatchClauseParent);
1381
1396
  private createChildren;
@@ -1401,7 +1416,7 @@ export declare class FinallyClause extends BaseNode {
1401
1416
  private _children;
1402
1417
  get children(): readonly [Keyword<green.KeywordKind.Finally>, StatementBlock];
1403
1418
  get finallyKeyword(): Keyword<KeywordKind.Finally>;
1404
- get body(): StatementBlock;
1419
+ get block(): StatementBlock;
1405
1420
  protected get thisAsNode(): Node;
1406
1421
  constructor(green: green.FinallyClause, rangeStart: number, parent: FinallyClauseParent);
1407
1422
  private createChildren;
@@ -1431,6 +1446,19 @@ export declare class ErrorStatement extends BaseNode {
1431
1446
  constructor(green: green.ErrorStatement, rangeStart: number, parent: ErrorStatementParent);
1432
1447
  private createChildren;
1433
1448
  }
1449
+ export type ImportantStatementParent = StatementParent;
1450
+ export declare class ImportantStatement extends BaseNode {
1451
+ readonly kind = NodeKind.ImportantStatement;
1452
+ readonly green: green.ImportantStatement;
1453
+ readonly parent: ImportantStatementParent;
1454
+ private _children;
1455
+ get children(): readonly [Keyword<green.KeywordKind.Important>, Expression];
1456
+ get importantKeyword(): Keyword<KeywordKind.Important>;
1457
+ get expression(): Expression;
1458
+ protected get thisAsNode(): Node;
1459
+ constructor(green: green.ImportantStatement, rangeStart: number, parent: ImportantStatementParent);
1460
+ private createChildren;
1461
+ }
1434
1462
  export type ExpressionStatementParent = StatementParent;
1435
1463
  export declare class ExpressionStatement extends BaseNode {
1436
1464
  readonly kind = NodeKind.ExpressionStatement;
@@ -1467,7 +1495,7 @@ export declare class ForStatement extends BaseNode {
1467
1495
  get enumerationVariableList(): EnumerationVariableList;
1468
1496
  get fromKeyword(): Keyword<KeywordKind.From>;
1469
1497
  get enumeratedExpression(): Expression;
1470
- get body(): StatementBlock;
1498
+ get block(): StatementBlock;
1471
1499
  protected get thisAsNode(): Node;
1472
1500
  constructor(green: green.ForStatement, rangeStart: number, parent: StatementParent);
1473
1501
  private createChildren;
@@ -1477,13 +1505,12 @@ export declare class IfStatement extends BaseNode {
1477
1505
  readonly green: green.IfStatement;
1478
1506
  readonly parent: StatementParent;
1479
1507
  private _children;
1480
- get children(): readonly [Keyword<green.KeywordKind.If>, Expression, StatementBlock, ElseIfClauseList, Keyword<green.KeywordKind.Else> | undefined, StatementBlock | undefined];
1508
+ get children(): readonly [Keyword<green.KeywordKind.If>, Expression, StatementBlock, ElseIfClauseList, ElseClause | undefined];
1481
1509
  get ifKeyword(): Keyword<KeywordKind.If>;
1482
1510
  get condition(): Expression;
1483
- get thenBlock(): StatementBlock;
1511
+ get block(): StatementBlock;
1484
1512
  get elseIfClauseList(): ElseIfClauseList;
1485
- get elseKeyword(): Keyword<KeywordKind.Else> | undefined;
1486
- get elseBlock(): StatementBlock | undefined;
1513
+ get elseClause(): ElseClause | undefined;
1487
1514
  protected get thisAsNode(): Node;
1488
1515
  constructor(green: green.IfStatement, rangeStart: number, parent: StatementParent);
1489
1516
  private createChildren;
@@ -1509,11 +1536,24 @@ export declare class ElseIfClause extends BaseNode {
1509
1536
  get children(): readonly [Keyword<green.KeywordKind.ElseIf>, Expression, StatementBlock];
1510
1537
  get elseIfKeyword(): Keyword<KeywordKind.ElseIf>;
1511
1538
  get condition(): Expression;
1512
- get thenBlock(): StatementBlock;
1539
+ get block(): StatementBlock;
1513
1540
  protected get thisAsNode(): Node;
1514
1541
  constructor(green: green.ElseIfClause, rangeStart: number, parent: ElseIfClauseParent);
1515
1542
  private createChildren;
1516
1543
  }
1544
+ export type ElseClauseParent = IfStatement;
1545
+ export declare class ElseClause extends BaseNode {
1546
+ readonly kind = NodeKind.ElseClause;
1547
+ readonly green: green.ElseClause;
1548
+ readonly parent: ElseClauseParent;
1549
+ private _children;
1550
+ get children(): readonly [Keyword<green.KeywordKind.Else>, StatementBlock];
1551
+ get elseKeyword(): Keyword<KeywordKind.Else>;
1552
+ get block(): StatementBlock;
1553
+ protected get thisAsNode(): Node;
1554
+ constructor(green: green.ElseClause, rangeStart: number, parent: ElseClauseParent);
1555
+ private createChildren;
1556
+ }
1517
1557
  export declare class InvalidStatement extends BaseNode {
1518
1558
  readonly kind = NodeKind.InvalidStatement;
1519
1559
  readonly green: green.InvalidStatement;
@@ -1551,7 +1591,7 @@ export declare class LoopStatement extends BaseNode {
1551
1591
  private _children;
1552
1592
  get children(): readonly [Keyword<green.KeywordKind.Loop>, StatementBlock, Keyword<green.KeywordKind.RepeatWhile> | undefined, Expression | undefined];
1553
1593
  get loopKeyword(): Keyword<KeywordKind.Loop>;
1554
- get body(): StatementBlock;
1594
+ get block(): StatementBlock;
1555
1595
  get repeatWhileKeyword(): Keyword<KeywordKind.RepeatWhile> | undefined;
1556
1596
  get condition(): Expression | undefined;
1557
1597
  protected get thisAsNode(): Node;
@@ -1576,8 +1616,8 @@ export declare class CaseClauseList extends BaseNode {
1576
1616
  readonly green: green.CaseClauseList;
1577
1617
  readonly parent: CaseClauseListParent;
1578
1618
  private _children;
1579
- get children(): readonly SwitchStatementCaseClause[];
1580
- get caseClauses(): readonly SwitchStatementCaseClause[];
1619
+ get children(): readonly CaseClause[];
1620
+ get caseClauses(): readonly CaseClause[];
1581
1621
  protected get thisAsNode(): Node;
1582
1622
  constructor(green: green.CaseClauseList, rangeStart: number, parent: CaseClauseListParent);
1583
1623
  private createChildren;
@@ -1597,7 +1637,7 @@ export declare class SwitchStatement extends BaseNode {
1597
1637
  private createChildren;
1598
1638
  }
1599
1639
  export type MatchExpressionListElement = Expression | Comma;
1600
- export type MatchExpressionListParent = SwitchStatementCaseClause;
1640
+ export type MatchExpressionListParent = CaseClause;
1601
1641
  export declare class MatchExpressionList extends BaseNode {
1602
1642
  readonly kind = NodeKind.MatchExpressionList;
1603
1643
  readonly green: green.MatchExpressionList;
@@ -1610,18 +1650,18 @@ export declare class MatchExpressionList extends BaseNode {
1610
1650
  constructor(green: green.MatchExpressionList, rangeStart: number, parent: MatchExpressionListParent);
1611
1651
  private createChildren;
1612
1652
  }
1613
- export type SwitchStatementCaseClauseParent = CaseClauseList;
1614
- export declare class SwitchStatementCaseClause extends BaseNode {
1615
- readonly kind = NodeKind.SwitchStatementCaseClause;
1616
- readonly green: green.SwitchStatementCaseClause;
1617
- readonly parent: SwitchStatementCaseClauseParent;
1653
+ export type CaseClauseParent = CaseClauseList;
1654
+ export declare class CaseClause extends BaseNode {
1655
+ readonly kind = NodeKind.CaseClause;
1656
+ readonly green: green.CaseClause;
1657
+ readonly parent: CaseClauseParent;
1618
1658
  private _children;
1619
1659
  get children(): readonly [Keyword<green.KeywordKind.Case>, MatchExpressionList, StatementBlock];
1620
1660
  get caseKeyword(): Keyword<KeywordKind.Case>;
1621
1661
  get matchExpressionList(): MatchExpressionList;
1622
- get body(): StatementBlock;
1662
+ get block(): StatementBlock;
1623
1663
  protected get thisAsNode(): Node;
1624
- constructor(green: green.SwitchStatementCaseClause, rangeStart: number, parent: SwitchStatementCaseClauseParent);
1664
+ constructor(green: green.CaseClause, rangeStart: number, parent: CaseClauseParent);
1625
1665
  private createChildren;
1626
1666
  }
1627
1667
  export declare class WhileStatement extends BaseNode {
@@ -1632,7 +1672,7 @@ export declare class WhileStatement extends BaseNode {
1632
1672
  get children(): readonly [Keyword<green.KeywordKind.While>, Expression, StatementBlock];
1633
1673
  get whileKeyword(): Keyword<KeywordKind.While>;
1634
1674
  get condition(): Expression;
1635
- get body(): StatementBlock;
1675
+ get block(): StatementBlock;
1636
1676
  protected get thisAsNode(): Node;
1637
1677
  constructor(green: green.WhileStatement, rangeStart: number, parent: StatementParent);
1638
1678
  private createChildren;
@@ -2142,4 +2182,4 @@ export declare class TypeAnnotation extends BaseNode {
2142
2182
  constructor(green: green.TypeAnnotation, rangeStart: number, parent: TypeAnnotationParent);
2143
2183
  private createChildren;
2144
2184
  }
2145
- 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;
2185
+ 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;
@@ -3,4 +3,4 @@ import { Identifier, Keyword, Node, Token } from './index.js';
3
3
  export declare function isIdentifier(node: Node): node is Identifier;
4
4
  export declare function isToken<T extends TokenKind>(node: Node, kind?: T): node is Token<T>;
5
5
  export declare function isKeyword<T extends KeywordKind>(node: Node, kind?: T): node is Keyword<T>;
6
- export declare function toSourceCode(node: Node, lengthLimit?: number): string;
6
+ export declare function toSourceCode(node: Node, lengthLimit?: number, excludeLeadingTrivia?: boolean): string;
@@ -9,7 +9,8 @@ export declare class TypeFactory {
9
9
  getVariantType(entity: VariantTypeEntity, substitutions: Substitutions): VariantType;
10
10
  getMethodType(entity: MethodTypeEntity, substitutions: Substitutions): MethodType;
11
11
  getAliasType(entity: AliasTypeEntity, substitutions: Substitutions): AliasType;
12
- getUnionType(types: readonly Type[]): Type;
12
+ getUnionType(types: readonly Type[], excludeDuplicates?: boolean): Type;
13
13
  getUnresolvedType(): UnresolvedType;
14
14
  private getUniqueFlattenedConstituentTypes;
15
+ private excludeDuplicateTypesComparingWithEqualsMethod;
15
16
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@artel/artc",
3
- "version": "0.6.25220",
3
+ "version": "0.6.25222",
4
4
  "description": "Артель Компилятор | Artel Compiler",
5
5
  "author": "Nezaboodka Team <contact@nezaboodka.com>",
6
6
  "license": "LGPL-3.0-or-later",