@artel/artc 0.6.25254 → 0.6.25256

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 (108) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +18 -8
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +607 -389
  5. package/build/{chunk-JTDPRR7O.js → chunk-CTEZ5IHI.js} +2 -2
  6. package/build/{chunk-3JS4YG6N.js → chunk-ER3TEZSN.js} +14316 -16033
  7. package/build/{chunk-JV2EK6MS.js → chunk-IHZZGWNS.js} +1 -1
  8. package/build/types/analysis/AccessedFunction.d.ts +19 -6
  9. package/build/types/analysis/AnalyzedTranslationPackage.d.ts +2 -1
  10. package/build/types/analysis/Analyzer.d.ts +119 -47
  11. package/build/types/analysis/ArgumentToParameterMatchResult.d.ts +1 -4
  12. package/build/types/analysis/ArgumentsToParametersMatcher.d.ts +9 -15
  13. package/build/types/analysis/AutotypeCallExpressionMeaning.d.ts +13 -7
  14. package/build/types/analysis/BaseExpressionMeaning.d.ts +43 -15
  15. package/build/types/analysis/CallExpressionMeaning.d.ts +41 -22
  16. package/build/types/analysis/ConstructorCallResolver.d.ts +22 -0
  17. package/build/types/analysis/DiagnosticArgumentFactory.d.ts +3 -1
  18. package/build/types/analysis/DiagnosticCollector.d.ts +5 -9
  19. package/build/types/analysis/DisplayableEntity.d.ts +12 -6
  20. package/build/types/analysis/FunctionAccessResolver.d.ts +15 -0
  21. package/build/types/analysis/IdentifierExpressionMeaning.d.ts +56 -22
  22. package/build/types/analysis/IndexedAccessExpressionMeaning.d.ts +3 -2
  23. package/build/types/analysis/MemberAccessExpressionMeaning.d.ts +76 -27
  24. package/build/types/analysis/NamedTypeSpecifierResolver.d.ts +0 -1
  25. package/build/types/analysis/NodeTypeUtils.d.ts +1 -0
  26. package/build/types/analysis/ObjectExpressionMeaning.d.ts +1 -0
  27. package/build/types/analysis/OperatorAccessResolver.d.ts +9 -0
  28. package/build/types/analysis/OverloadResolver.d.ts +91 -5
  29. package/build/types/analysis/ReturnTypeInferrer.d.ts +13 -0
  30. package/build/types/analysis/SourceFileMembers.d.ts +2 -0
  31. package/build/types/analysis/SubstitutedFunction.d.ts +22 -20
  32. package/build/types/analysis/TagMeaning.d.ts +16 -15
  33. package/build/types/analysis/TypeArgumentInferrer.d.ts +49 -0
  34. package/build/types/analysis/TypeNarrower.d.ts +6 -4
  35. package/build/types/analysis/TypeOverloadResolver.d.ts +4 -2
  36. package/build/types/analysis/UserDefinableBinaryOperatorResolver.d.ts +2 -6
  37. package/build/types/analysis/UserDefinableUnaryOperatorResolver.d.ts +2 -2
  38. package/build/types/analysis/Utils.d.ts +2 -0
  39. package/build/types/analysis/Visitor.d.ts +2 -2
  40. package/build/types/analysis/index.d.ts +0 -2
  41. package/build/types/analysis/semantic-context/Declarations.d.ts +4 -4
  42. package/build/types/analysis/semantic-context/SemanticContextBase.d.ts +4 -0
  43. package/build/types/analysis/semantic-context/SemanticContextBuilder.d.ts +1 -0
  44. package/build/types/api/Api.d.ts +0 -2
  45. package/build/types/common/ArrayUtils.d.ts +5 -2
  46. package/build/types/common/Cached.d.ts +4 -0
  47. package/build/types/common/Lazy.d.ts +2 -0
  48. package/build/types/common/Query.d.ts +1 -1
  49. package/build/types/common/TreeQuery.d.ts +14 -48
  50. package/build/types/common/TreeTraversal.d.ts +1 -1
  51. package/build/types/common/index.d.ts +0 -1
  52. package/build/types/diagnostic/Diagnostic.d.ts +7 -0
  53. package/build/types/diagnostic/DiagnosticCode.d.ts +180 -173
  54. package/build/types/entities/AliasTypeEntity.d.ts +1 -0
  55. package/build/types/entities/AliasedType.d.ts +2 -2
  56. package/build/types/entities/FunctionEntity.d.ts +6 -3
  57. package/build/types/entities/FunctionTypeEntity.d.ts +2 -1
  58. package/build/types/entities/PackageAliasEntity.d.ts +2 -2
  59. package/build/types/entities/PackageMembers.d.ts +1 -0
  60. package/build/types/entities/StructuredTypeEntity.d.ts +1 -0
  61. package/build/types/entities/TypeEntityMembers.d.ts +2 -0
  62. package/build/types/entities/TypeParameterEntity.d.ts +1 -0
  63. package/build/types/entities/VariableEntity.d.ts +23 -11
  64. package/build/types/entities/VariantTypeEntity.d.ts +1 -0
  65. package/build/types/entities/index.d.ts +3 -2
  66. package/build/types/parser/CharacterCodes.d.ts +0 -8
  67. package/build/types/parser/Parser.d.ts +2 -2
  68. package/build/types/parser/TriviaInterner.d.ts +8 -0
  69. package/build/types/services/AddPropertyAssignmentService.d.ts +0 -7
  70. package/build/types/services/DisplayService.d.ts +16 -10
  71. package/build/types/services/NodeSemanticInfo.d.ts +3 -1
  72. package/build/types/services/TreeUtils.d.ts +1 -1
  73. package/build/types/services/signature-help/SignatureWithValueParameters.d.ts +9 -1
  74. package/build/types/services/signature-help/TypeParameterSignatureHelpProvider.d.ts +1 -1
  75. package/build/types/services/source-generation/EntityToSyntax.d.ts +1 -1
  76. package/build/types/tree/BaseNode.d.ts +32 -0
  77. package/build/types/tree/{green/Nodes.d.ts → Nodes.d.ts} +411 -359
  78. package/build/types/tree/{green/SyntaxToCode.d.ts → SyntaxToCode.d.ts} +1 -1
  79. package/build/types/tree/{green/Token.d.ts → Token.d.ts} +26 -10
  80. package/build/types/tree/{red/Utils.d.ts → Utils.d.ts} +4 -3
  81. package/build/types/tree/index.d.ts +10 -1
  82. package/build/types/ts-interop/Entities.d.ts +14 -0
  83. package/build/types/types/AliasType.d.ts +2 -2
  84. package/build/types/types/FunctionType.d.ts +2 -2
  85. package/build/types/types/IntersectionType.d.ts +3 -3
  86. package/build/types/types/ParameterType.d.ts +2 -2
  87. package/build/types/types/StructuredType.d.ts +2 -2
  88. package/build/types/types/Substitutions.d.ts +18 -6
  89. package/build/types/types/Type.d.ts +3 -3
  90. package/build/types/types/TypeMembers.d.ts +2 -1
  91. package/build/types/types/UnionType.d.ts +3 -3
  92. package/build/types/types/UnresolvedType.d.ts +2 -2
  93. package/build/types/types/VariantType.d.ts +2 -2
  94. package/package.json +7 -1
  95. package/build/types/analysis/ConstructorOverloadResolver.d.ts +0 -31
  96. package/build/types/analysis/FunctionOverloadResolver.d.ts +0 -21
  97. package/build/types/analysis/TargetTypeHint.d.ts +0 -5
  98. package/build/types/common/Errors.d.ts +0 -2
  99. package/build/types/tree/green/BaseNode.d.ts +0 -14
  100. package/build/types/tree/green/Utils.d.ts +0 -2
  101. package/build/types/tree/green/index.d.ts +0 -8
  102. package/build/types/tree/red/BaseNode.d.ts +0 -16
  103. package/build/types/tree/red/Internal.d.ts +0 -2
  104. package/build/types/tree/red/Nodes.d.ts +0 -2271
  105. package/build/types/tree/red/Token.d.ts +0 -30
  106. package/build/types/tree/red/index.d.ts +0 -10
  107. /package/build/types/tree/{red/NodePath.d.ts → NodePath.d.ts} +0 -0
  108. /package/build/types/tree/{green/SyntaxFactory.d.ts → SyntaxFactory.d.ts} +0 -0
@@ -1,55 +1,62 @@
1
- import { ParserDiagnostic } from '../../parser/ParserDiagnostic.js';
2
- import { KeywordKind, NodeKind, OperatorKind, TokenKind } from '../index.js';
3
- import * as red from '../red/index.js';
1
+ import { Query, Range } from '../common/index.js';
2
+ import { ParserDiagnostic } from '../parser/ParserDiagnostic.js';
4
3
  import { BaseNode } from './BaseNode.js';
4
+ import { KeywordKind } from './KeywordKind.js';
5
+ import { NodeKind } from './NodeKind.js';
6
+ import { OperatorKind } from './OperatorKind.js';
5
7
  import { Token } from './Token.js';
8
+ import { TokenKind } from './TokenKind.js';
9
+ export type Comma = Token<TokenKind.Comma>;
10
+ export type Semicolon = Token<TokenKind.Semicolon>;
11
+ export type Identifier = Token<TokenKind.Identifier>;
12
+ export type IdentifierParent = PackageImport | PackageName | PackageAliasTypeDeclaration | PackageFunctionDeclaration | PackageFunctionTypeDeclaration | PackageStructuredTypeDeclaration | PackageVariableDeclaration | PackageVariableGetterDeclaration | PackageVariableSetterDeclaration | PackageVariantTypeDeclaration | MethodDeclaration | OperatorDeclaration | FieldDeclaration | FieldGetterDeclaration | FieldSetterDeclaration | NestedFunctionDeclaration | LocalVariableDeclaration | EnumerationVariableDeclaration | ErrorVariableDeclaration | MemberAccessExpression | IdentifierExpression | TranslationParameterList | TranslationTypeParameterList | PackageFunctionTranslationDeclaration | MethodTranslation | FunctionTypeTranslationDeclaration | QualifiedName | PackageVariableTranslationDeclaration | FieldOrVariantTranslation | TypeTranslationDeclaration | VariantDeclaration | TypeParameterDeclaration | ParameterDeclaration | Argument | Keyword;
13
+ export type IdentifierListElement = Identifier | Comma;
14
+ export declare class Keyword<TKind extends KeywordKind = KeywordKind> extends BaseNode {
15
+ readonly kind = NodeKind.Keyword;
16
+ readonly children: readonly Identifier[];
17
+ readonly keywordKind: TKind;
18
+ readonly isMissing: boolean;
19
+ get parent(): Node;
20
+ get tokens(): readonly Identifier[];
21
+ protected get thisAsNode(): Node;
22
+ constructor(tokens: readonly Identifier[], keywordKind: TKind, isMissing: boolean | undefined, rangeWithTrivia: Range | undefined);
23
+ }
6
24
  export declare class SourceFile extends BaseNode {
7
- readonly diagnostics: readonly ParserDiagnostic[];
8
25
  readonly kind = NodeKind.SourceFile;
9
26
  readonly children: readonly [
10
27
  PackageImportDirectiveList,
11
28
  PackageMemberDeclarationList,
12
29
  Token<TokenKind.EndOfFile>
13
30
  ];
31
+ readonly diagnostics: readonly ParserDiagnostic[];
32
+ get parent(): undefined;
14
33
  get packageImportDirectiveList(): PackageImportDirectiveList;
15
34
  get declarationList(): PackageMemberDeclarationList;
16
35
  get endOfFileToken(): Token<TokenKind.EndOfFile>;
17
36
  getSourceCode(): string;
18
37
  protected get thisAsNode(): Node;
19
- constructor(packageImportDirectiveList: PackageImportDirectiveList, declarationList: PackageMemberDeclarationList, endOfFileToken: Token<TokenKind.EndOfFile>, diagnostics: readonly ParserDiagnostic[]);
20
- toRed(): red.SourceFile;
38
+ constructor(packageImportDirectiveList: PackageImportDirectiveList, declarationList: PackageMemberDeclarationList, endOfFileToken: Token<TokenKind.EndOfFile>, diagnostics: readonly ParserDiagnostic[], rangeWithTrivia: Range | undefined);
21
39
  }
22
40
  export type PackageMemberDeclarationListElement = PackageMemberDeclaration | Semicolon;
41
+ export type PackageMemberDeclarationListParent = SourceFile | PackageMemberGroupDeclaration;
23
42
  export declare class PackageMemberDeclarationList extends BaseNode {
24
43
  readonly kind = NodeKind.PackageMemberDeclarationList;
25
44
  readonly children: readonly PackageMemberDeclarationListElement[];
45
+ get parent(): PackageMemberDeclarationListParent;
26
46
  get elements(): readonly PackageMemberDeclarationListElement[];
47
+ get declarations(): Query<PackageMemberDeclaration>;
27
48
  protected get thisAsNode(): Node;
28
- constructor(elements: readonly PackageMemberDeclarationListElement[]);
29
- toRed(rangeStart: number, parent: red.PackageMemberDeclarationListParent): red.PackageMemberDeclarationList;
30
- }
31
- export type Comma = Token<TokenKind.Comma>;
32
- export type Semicolon = Token<TokenKind.Semicolon>;
33
- export type Identifier = Token<TokenKind.Identifier>;
34
- export type IdentifierListElement = Identifier | Comma;
35
- export declare class Keyword<TKind extends KeywordKind = KeywordKind> extends BaseNode {
36
- readonly keywordKind: TKind;
37
- readonly isMissing: boolean;
38
- readonly kind = NodeKind.Keyword;
39
- readonly children: readonly Identifier[];
40
- get tokens(): readonly Identifier[];
41
- protected get thisAsNode(): Node;
42
- constructor(tokens: readonly Identifier[], keywordKind: TKind, isMissing?: boolean);
43
- toRed(rangeStart: number, parent: red.KeywordParent): red.Keyword<TKind>;
49
+ constructor(elements: readonly PackageMemberDeclarationListElement[], rangeWithTrivia: Range | undefined);
44
50
  }
45
51
  export type PackageImportDirectiveListElement = PackageImportDirective | Semicolon;
46
52
  export declare class PackageImportDirectiveList extends BaseNode {
47
53
  readonly kind = NodeKind.PackageImportDirectiveList;
48
54
  readonly children: readonly PackageImportDirectiveListElement[];
55
+ get parent(): SourceFile;
49
56
  get elements(): readonly PackageImportDirectiveListElement[];
57
+ get packageImportDirectives(): Query<PackageImportDirective>;
50
58
  protected get thisAsNode(): Node;
51
- constructor(elements: readonly PackageImportDirectiveListElement[]);
52
- toRed(rangeStart: number, parent: red.PackageImportDirectiveListParent): red.PackageImportDirectiveList;
59
+ constructor(elements: readonly PackageImportDirectiveListElement[], rangeWithTrivia: Range | undefined);
53
60
  }
54
61
  export type PackageImportDirective = SinglePackageImportDirective | PackageGroupImportDirective;
55
62
  export declare class SinglePackageImportDirective extends BaseNode {
@@ -58,11 +65,11 @@ export declare class SinglePackageImportDirective extends BaseNode {
58
65
  Keyword<KeywordKind.Import>,
59
66
  PackageImport
60
67
  ];
68
+ get parent(): PackageImportDirectiveList;
61
69
  get importKeyword(): Keyword<KeywordKind.Import>;
62
70
  get packageImport(): PackageImport;
63
71
  protected get thisAsNode(): Node;
64
- constructor(importKeyword: Keyword<KeywordKind.Import>, packageImport: PackageImport);
65
- toRed(rangeStart: number, parent: red.PackageImportDirectiveParent): red.SinglePackageImportDirective;
72
+ constructor(importKeyword: Keyword<KeywordKind.Import>, packageImport: PackageImport, rangeWithTrivia: Range | undefined);
66
73
  }
67
74
  export declare class PackageGroupImportDirective extends BaseNode {
68
75
  readonly kind = NodeKind.PackageGroupImportDirective;
@@ -72,23 +79,25 @@ export declare class PackageGroupImportDirective extends BaseNode {
72
79
  PackageImportList,
73
80
  Token<TokenKind.CloseBrace>
74
81
  ];
82
+ get parent(): PackageImportDirectiveList;
75
83
  get importKeyword(): Keyword<KeywordKind.Import>;
76
84
  get openBraceToken(): Token<TokenKind.OpenBrace>;
77
85
  get packageImportList(): PackageImportList;
78
86
  get closeBraceToken(): Token<TokenKind.CloseBrace>;
79
87
  protected get thisAsNode(): Node;
80
- constructor(importKeyword: Keyword<KeywordKind.Import>, openBraceToken: Token<TokenKind.OpenBrace>, packageImportList: PackageImportList, closeBraceToken: Token<TokenKind.CloseBrace>);
81
- toRed(rangeStart: number, parent: red.PackageImportDirectiveParent): red.PackageGroupImportDirective;
88
+ constructor(importKeyword: Keyword<KeywordKind.Import>, openBraceToken: Token<TokenKind.OpenBrace>, packageImportList: PackageImportList, closeBraceToken: Token<TokenKind.CloseBrace>, rangeWithTrivia: Range | undefined);
82
89
  }
83
90
  export type PackageImportListElement = PackageImport | Semicolon;
84
91
  export declare class PackageImportList extends BaseNode {
85
92
  readonly kind = NodeKind.PackageImportList;
86
93
  readonly children: readonly PackageImportListElement[];
94
+ get parent(): PackageGroupImportDirective;
87
95
  get elements(): readonly PackageImportListElement[];
96
+ get packageImports(): Query<PackageImport>;
88
97
  protected get thisAsNode(): Node;
89
- constructor(elements: readonly PackageImportListElement[]);
90
- toRed(rangeStart: number, parent: red.PackageImportListParent): red.PackageImportList;
98
+ constructor(elements: readonly PackageImportListElement[], rangeWithTrivia: Range | undefined);
91
99
  }
100
+ export type PackageImportParent = SinglePackageImportDirective | PackageImportList;
92
101
  export declare class PackageImport extends BaseNode {
93
102
  readonly kind = NodeKind.PackageImport;
94
103
  readonly children: readonly [
@@ -96,51 +105,56 @@ export declare class PackageImport extends BaseNode {
96
105
  Token<TokenKind.Equals> | undefined,
97
106
  PackageName
98
107
  ];
108
+ get parent(): PackageImportParent;
99
109
  get alias(): Identifier | undefined;
100
110
  get equalsToken(): Token<TokenKind.Equals> | undefined;
101
111
  get packageName(): PackageName;
102
112
  protected get thisAsNode(): Node;
103
- constructor(alias: Identifier | undefined, equalsToken: Token<TokenKind.Equals> | undefined, packageName: PackageName);
104
- toRed(rangeStart: number, parent: red.PackageImportParent): red.PackageImport;
113
+ constructor(alias: Identifier | undefined, equalsToken: Token<TokenKind.Equals> | undefined, packageName: PackageName, rangeWithTrivia: Range | undefined);
105
114
  }
106
115
  export type PackageNamePart = Identifier | Token<TokenKind.Dot>;
107
116
  export declare class PackageName extends BaseNode {
108
117
  readonly kind = NodeKind.PackageName;
109
118
  readonly children: readonly PackageNamePart[];
119
+ get parent(): PackageImport;
110
120
  get parts(): readonly PackageNamePart[];
121
+ get segments(): Query<Identifier>;
111
122
  protected get thisAsNode(): Node;
112
- constructor(parts: readonly PackageNamePart[]);
113
- toRed(rangeStart: number, parent: red.PackageNameParent): red.PackageName;
123
+ constructor(parts: readonly PackageNamePart[], rangeWithTrivia: Range | undefined);
114
124
  }
115
125
  export type TypeSpecifier = NamedTypeSpecifier | AnonymousTypeSpecifier | UnionTypeSpecifier | IntersectionTypeSpecifier | ParenthesizedTypeSpecifier | NullableTypeSpecifier | MissingTypeSpecifier;
126
+ export type NamedTypeSpecifierParent = BaseTypeList | NonNamedTypeSpecifierParent;
127
+ export type NonNamedTypeSpecifierParent = AliasTypeDeclarationBody | AsExpression | IsExpression | TypeParameterDeclaration | TypeArgumentList | TypeAnnotation | ParenthesizedTypeSpecifier | NullableTypeSpecifier | UnionTypeSpecifier | IntersectionTypeSpecifier;
116
128
  export declare class NamedTypeSpecifier extends BaseNode {
117
129
  readonly kind = NodeKind.NamedTypeSpecifier;
118
130
  readonly children: readonly [
119
131
  QualifiedName,
120
132
  TypeArgumentClause | undefined
121
133
  ];
134
+ get parent(): NamedTypeSpecifierParent;
122
135
  get qualifiedName(): QualifiedName;
123
136
  get typeArgumentClause(): TypeArgumentClause | undefined;
124
137
  protected get thisAsNode(): Node;
125
- constructor(qualifiedName: QualifiedName, typeArgumentClause: TypeArgumentClause | undefined);
126
- toRed(rangeStart: number, parent: red.NamedTypeSpecifierParent): red.NamedTypeSpecifier;
138
+ constructor(qualifiedName: QualifiedName, typeArgumentClause: TypeArgumentClause | undefined, rangeWithTrivia: Range | undefined);
127
139
  }
128
140
  export declare class UnionTypeSpecifier extends BaseNode {
129
141
  readonly kind = NodeKind.UnionTypeSpecifier;
130
142
  readonly children: readonly UnionTypeSpecifierTypeListElement[];
143
+ get parent(): NonNamedTypeSpecifierParent;
131
144
  get typeListElements(): readonly UnionTypeSpecifierTypeListElement[];
145
+ get types(): Query<TypeSpecifier>;
132
146
  protected get thisAsNode(): Node;
133
- constructor(typeListElements: readonly UnionTypeSpecifierTypeListElement[]);
134
- toRed(rangeStart: number, parent: red.NonNamedTypeSpecifierParent): red.UnionTypeSpecifier;
147
+ constructor(typeListElements: readonly UnionTypeSpecifierTypeListElement[], rangeWithTrivia: Range | undefined);
135
148
  }
136
149
  export type UnionTypeSpecifierTypeListElement = TypeSpecifier | Token<TokenKind.Bar>;
137
150
  export declare class IntersectionTypeSpecifier extends BaseNode {
138
151
  readonly kind = NodeKind.IntersectionTypeSpecifier;
139
152
  readonly children: readonly IntersectionTypeSpecifierTypeListElement[];
153
+ get parent(): NonNamedTypeSpecifierParent;
140
154
  get typeListElements(): readonly IntersectionTypeSpecifierTypeListElement[];
155
+ get types(): Query<TypeSpecifier>;
141
156
  protected get thisAsNode(): Node;
142
- constructor(typeListElements: readonly IntersectionTypeSpecifierTypeListElement[]);
143
- toRed(rangeStart: number, parent: red.NonNamedTypeSpecifierParent): red.IntersectionTypeSpecifier;
157
+ constructor(typeListElements: readonly IntersectionTypeSpecifierTypeListElement[], rangeWithTrivia: Range | undefined);
144
158
  }
145
159
  export type IntersectionTypeSpecifierTypeListElement = TypeSpecifier | Token<TokenKind.Ampersand>;
146
160
  export declare class ParenthesizedTypeSpecifier extends BaseNode {
@@ -150,12 +164,12 @@ export declare class ParenthesizedTypeSpecifier extends BaseNode {
150
164
  TypeSpecifier,
151
165
  Token<TokenKind.CloseParenthesis>
152
166
  ];
167
+ get parent(): NonNamedTypeSpecifierParent;
153
168
  get openParenthesisToken(): Token<TokenKind.OpenParenthesis>;
154
169
  get typeSpecifier(): TypeSpecifier;
155
170
  get closeParenthesisToken(): Token<TokenKind.CloseParenthesis>;
156
171
  protected get thisAsNode(): Node;
157
- constructor(openParenthesisToken: Token<TokenKind.OpenParenthesis>, typeSpecifier: TypeSpecifier, closeParenthesisToken: Token<TokenKind.CloseParenthesis>);
158
- toRed(rangeStart: number, parent: red.NonNamedTypeSpecifierParent): red.ParenthesizedTypeSpecifier;
172
+ constructor(openParenthesisToken: Token<TokenKind.OpenParenthesis>, typeSpecifier: TypeSpecifier, closeParenthesisToken: Token<TokenKind.CloseParenthesis>, rangeWithTrivia: Range | undefined);
159
173
  }
160
174
  export declare class NullableTypeSpecifier extends BaseNode {
161
175
  readonly kind = NodeKind.NullableTypeSpecifier;
@@ -163,28 +177,28 @@ export declare class NullableTypeSpecifier extends BaseNode {
163
177
  TypeSpecifier,
164
178
  Token<TokenKind.Question>
165
179
  ];
180
+ get parent(): NonNamedTypeSpecifierParent;
166
181
  get typeSpecifier(): TypeSpecifier;
167
182
  get questionToken(): Token<TokenKind.Question>;
168
183
  protected get thisAsNode(): Node;
169
- constructor(typeSpecifier: TypeSpecifier, questionToken: Token<TokenKind.Question>);
170
- toRed(rangeStart: number, parent: red.NonNamedTypeSpecifierParent): red.NullableTypeSpecifier;
184
+ constructor(typeSpecifier: TypeSpecifier, questionToken: Token<TokenKind.Question>, rangeWithTrivia: Range | undefined);
171
185
  }
172
186
  export declare class AnonymousTypeSpecifier extends BaseNode {
173
187
  readonly kind = NodeKind.AnonymousTypeSpecifier;
174
188
  readonly children: readonly [
175
189
  AnonymousTypeDeclaration
176
190
  ];
191
+ get parent(): NonNamedTypeSpecifierParent;
177
192
  get typeDeclaration(): AnonymousTypeDeclaration;
178
193
  protected get thisAsNode(): Node;
179
- constructor(typeDeclaration: AnonymousTypeDeclaration);
180
- toRed(rangeStart: number, parent: red.NonNamedTypeSpecifierParent): red.AnonymousTypeSpecifier;
194
+ constructor(typeDeclaration: AnonymousTypeDeclaration, rangeWithTrivia: Range | undefined);
181
195
  }
182
196
  export declare class MissingTypeSpecifier extends BaseNode {
183
197
  readonly kind = NodeKind.MissingTypeSpecifier;
184
- readonly children: never[];
198
+ get children(): readonly [];
199
+ get parent(): NonNamedTypeSpecifierParent;
185
200
  protected get thisAsNode(): Node;
186
- constructor();
187
- toRed(rangeStart: number, parent: red.NonNamedTypeSpecifierParent): red.MissingTypeSpecifier;
201
+ constructor(rangeWithTrivia: Range | undefined);
188
202
  }
189
203
  export type AnonymousTypeDeclaration = AnonymousFunctionTypeDeclaration | AnonymousStructuredTypeDeclaration | AnonymousVariantTypeDeclaration;
190
204
  export declare class AnonymousFunctionTypeDeclaration extends BaseNode {
@@ -192,30 +206,30 @@ export declare class AnonymousFunctionTypeDeclaration extends BaseNode {
192
206
  readonly children: readonly [
193
207
  FunctionTypeDeclarationBody
194
208
  ];
209
+ get parent(): AnonymousTypeSpecifier;
195
210
  get body(): FunctionTypeDeclarationBody;
196
211
  protected get thisAsNode(): Node;
197
- constructor(body: FunctionTypeDeclarationBody);
198
- toRed(rangeStart: number, parent: red.AnonymousTypeDeclarationParent): red.AnonymousFunctionTypeDeclaration;
212
+ constructor(body: FunctionTypeDeclarationBody, rangeWithTrivia: Range | undefined);
199
213
  }
200
214
  export declare class AnonymousStructuredTypeDeclaration extends BaseNode {
201
215
  readonly kind = NodeKind.AnonymousStructuredTypeDeclaration;
202
216
  readonly children: readonly [
203
217
  StructuredTypeDeclarationBody
204
218
  ];
219
+ get parent(): AnonymousTypeSpecifier;
205
220
  get body(): StructuredTypeDeclarationBody;
206
221
  protected get thisAsNode(): Node;
207
- constructor(body: StructuredTypeDeclarationBody);
208
- toRed(rangeStart: number, parent: red.AnonymousTypeDeclarationParent): red.AnonymousStructuredTypeDeclaration;
222
+ constructor(body: StructuredTypeDeclarationBody, rangeWithTrivia: Range | undefined);
209
223
  }
210
224
  export declare class AnonymousVariantTypeDeclaration extends BaseNode {
211
225
  readonly kind = NodeKind.AnonymousVariantTypeDeclaration;
212
226
  readonly children: readonly [
213
227
  VariantTypeDeclarationBody
214
228
  ];
229
+ get parent(): AnonymousTypeSpecifier;
215
230
  get body(): VariantTypeDeclarationBody;
216
231
  protected get thisAsNode(): Node;
217
- constructor(body: VariantTypeDeclarationBody);
218
- toRed(rangeStart: number, parent: red.AnonymousTypeDeclarationParent): red.AnonymousVariantTypeDeclaration;
232
+ constructor(body: VariantTypeDeclarationBody, rangeWithTrivia: Range | undefined);
219
233
  }
220
234
  export type PackageMemberDeclaration = PackageAliasTypeDeclaration | PackageMemberGroupDeclaration | TypeExtensionDeclaration | PackageConstructorDeclaration | PackageEntryPointDeclaration | PackageFunctionDeclaration | PackageFunctionTypeDeclaration | PackageStructuredTypeDeclaration | PackageVariableDeclaration | PackageVariableGetterDeclaration | PackageVariableSetterDeclaration | PackageVariantTypeDeclaration | MissingPackageMemberDeclaration | TranslationsDeclaration;
221
235
  export declare class PackageAliasTypeDeclaration extends BaseNode {
@@ -229,6 +243,7 @@ export declare class PackageAliasTypeDeclaration extends BaseNode {
229
243
  Token<TokenKind.Equals>,
230
244
  AliasTypeDeclarationBody
231
245
  ];
246
+ get parent(): PackageMemberDeclarationList;
232
247
  get tagList(): TagList;
233
248
  get modifierList(): ModifierList;
234
249
  get typeKeyword(): Keyword<KeywordKind.Type>;
@@ -237,8 +252,7 @@ export declare class PackageAliasTypeDeclaration extends BaseNode {
237
252
  get equalsToken(): Token<TokenKind.Equals>;
238
253
  get body(): AliasTypeDeclarationBody;
239
254
  protected get thisAsNode(): Node;
240
- constructor(tagList: TagList, modifierList: ModifierList, typeKeyword: Keyword<KeywordKind.Type>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, equalsToken: Token<TokenKind.Equals>, body: AliasTypeDeclarationBody);
241
- toRed(rangeStart: number, parent: red.PackageMemberDeclarationParent): red.PackageAliasTypeDeclaration;
255
+ constructor(tagList: TagList, modifierList: ModifierList, typeKeyword: Keyword<KeywordKind.Type>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, equalsToken: Token<TokenKind.Equals>, body: AliasTypeDeclarationBody, rangeWithTrivia: Range | undefined);
242
256
  }
243
257
  export declare class AliasTypeDeclarationBody extends BaseNode {
244
258
  readonly kind = NodeKind.AliasTypeDeclarationBody;
@@ -246,11 +260,11 @@ export declare class AliasTypeDeclarationBody extends BaseNode {
246
260
  TypeSpecifier,
247
261
  TypeMemberDeclarationBlock | undefined
248
262
  ];
263
+ get parent(): PackageAliasTypeDeclaration;
249
264
  get aliasedTypeSpecifier(): TypeSpecifier;
250
265
  get memberBlock(): TypeMemberDeclarationBlock | undefined;
251
266
  protected get thisAsNode(): Node;
252
- constructor(aliasedTypeSpecifier: TypeSpecifier, memberBlock: TypeMemberDeclarationBlock | undefined);
253
- toRed(rangeStart: number, parent: red.AliasTypeDeclarationBodyParent): red.AliasTypeDeclarationBody;
267
+ constructor(aliasedTypeSpecifier: TypeSpecifier, memberBlock: TypeMemberDeclarationBlock | undefined, rangeWithTrivia: Range | undefined);
254
268
  }
255
269
  export declare class PackageMemberGroupDeclaration extends BaseNode {
256
270
  readonly kind = NodeKind.PackageMemberGroupDeclaration;
@@ -261,14 +275,14 @@ export declare class PackageMemberGroupDeclaration extends BaseNode {
261
275
  PackageMemberDeclarationList,
262
276
  Token<TokenKind.CloseBrace>
263
277
  ];
278
+ get parent(): PackageMemberDeclarationList;
264
279
  get tagList(): TagList;
265
280
  get modifierList(): ModifierList;
266
281
  get openBraceToken(): Token<TokenKind.OpenBrace>;
267
282
  get declarationList(): PackageMemberDeclarationList;
268
283
  get closeBraceToken(): Token<TokenKind.CloseBrace>;
269
284
  protected get thisAsNode(): Node;
270
- constructor(tagList: TagList, modifierList: ModifierList, openBraceToken: Token<TokenKind.OpenBrace>, declarationList: PackageMemberDeclarationList, closeBraceToken: Token<TokenKind.CloseBrace>);
271
- toRed(rangeStart: number, parent: red.PackageMemberDeclarationParent): red.PackageMemberGroupDeclaration;
285
+ constructor(tagList: TagList, modifierList: ModifierList, openBraceToken: Token<TokenKind.OpenBrace>, declarationList: PackageMemberDeclarationList, closeBraceToken: Token<TokenKind.CloseBrace>, rangeWithTrivia: Range | undefined);
272
286
  }
273
287
  export declare class PackageConstructorDeclaration extends BaseNode {
274
288
  readonly kind = NodeKind.PackageConstructorDeclaration;
@@ -278,13 +292,13 @@ export declare class PackageConstructorDeclaration extends BaseNode {
278
292
  Keyword<KeywordKind.Creation>,
279
293
  FunctionBlock
280
294
  ];
295
+ get parent(): PackageMemberDeclarationList;
281
296
  get tagList(): TagList;
282
297
  get modifierList(): ModifierList;
283
298
  get creationKeyword(): Keyword<KeywordKind.Creation>;
284
299
  get block(): FunctionBlock;
285
300
  protected get thisAsNode(): Node;
286
- constructor(tagList: TagList, modifierList: ModifierList, creationKeyword: Keyword<KeywordKind.Creation>, block: FunctionBlock);
287
- toRed(rangeStart: number, parent: red.PackageMemberDeclarationParent): red.PackageConstructorDeclaration;
301
+ constructor(tagList: TagList, modifierList: ModifierList, creationKeyword: Keyword<KeywordKind.Creation>, block: FunctionBlock, rangeWithTrivia: Range | undefined);
288
302
  }
289
303
  export declare class PackageEntryPointDeclaration extends BaseNode {
290
304
  readonly kind = NodeKind.PackageEntryPointDeclaration;
@@ -294,13 +308,13 @@ export declare class PackageEntryPointDeclaration extends BaseNode {
294
308
  Keyword<KeywordKind.Run>,
295
309
  FunctionBlock
296
310
  ];
311
+ get parent(): PackageMemberDeclarationList;
297
312
  get tagList(): TagList;
298
313
  get modifierList(): ModifierList;
299
314
  get runKeyword(): Keyword<KeywordKind.Run>;
300
315
  get block(): FunctionBlock;
301
316
  protected get thisAsNode(): Node;
302
- constructor(tagList: TagList, modifierList: ModifierList, runKeyword: Keyword<KeywordKind.Run>, block: FunctionBlock);
303
- toRed(rangeStart: number, parent: red.PackageMemberDeclarationParent): red.PackageEntryPointDeclaration;
317
+ constructor(tagList: TagList, modifierList: ModifierList, runKeyword: Keyword<KeywordKind.Run>, block: FunctionBlock, rangeWithTrivia: Range | undefined);
304
318
  }
305
319
  export declare class PackageFunctionDeclaration extends BaseNode {
306
320
  readonly kind = NodeKind.PackageFunctionDeclaration;
@@ -314,6 +328,7 @@ export declare class PackageFunctionDeclaration extends BaseNode {
314
328
  TypeAnnotation | undefined,
315
329
  FunctionBlock | undefined
316
330
  ];
331
+ get parent(): PackageMemberDeclarationList;
317
332
  get tagList(): TagList;
318
333
  get modifierList(): ModifierList;
319
334
  get functionKeyword(): Keyword<KeywordKind.Function>;
@@ -323,8 +338,7 @@ export declare class PackageFunctionDeclaration extends BaseNode {
323
338
  get returnTypeAnnotation(): TypeAnnotation | undefined;
324
339
  get block(): FunctionBlock | undefined;
325
340
  protected get thisAsNode(): Node;
326
- constructor(tagList: TagList, modifierList: ModifierList, functionKeyword: Keyword<KeywordKind.Function>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, block: FunctionBlock | undefined);
327
- toRed(rangeStart: number, parent: red.PackageMemberDeclarationParent): red.PackageFunctionDeclaration;
341
+ constructor(tagList: TagList, modifierList: ModifierList, functionKeyword: Keyword<KeywordKind.Function>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, block: FunctionBlock | undefined, rangeWithTrivia: Range | undefined);
328
342
  }
329
343
  export declare class PackageFunctionTypeDeclaration extends BaseNode {
330
344
  readonly kind = NodeKind.PackageFunctionTypeDeclaration;
@@ -337,6 +351,7 @@ export declare class PackageFunctionTypeDeclaration extends BaseNode {
337
351
  Token<TokenKind.Equals>,
338
352
  FunctionTypeDeclarationBody
339
353
  ];
354
+ get parent(): PackageMemberDeclarationList;
340
355
  get tagList(): TagList;
341
356
  get modifierList(): ModifierList;
342
357
  get typeKeyword(): Keyword<KeywordKind.Type>;
@@ -345,9 +360,9 @@ export declare class PackageFunctionTypeDeclaration extends BaseNode {
345
360
  get equalsToken(): Token<TokenKind.Equals>;
346
361
  get body(): FunctionTypeDeclarationBody;
347
362
  protected get thisAsNode(): Node;
348
- constructor(tagList: TagList, modifierList: ModifierList, typeKeyword: Keyword<KeywordKind.Type>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, equalsToken: Token<TokenKind.Equals>, body: FunctionTypeDeclarationBody);
349
- toRed(rangeStart: number, parent: red.PackageMemberDeclarationParent): red.PackageFunctionTypeDeclaration;
363
+ constructor(tagList: TagList, modifierList: ModifierList, typeKeyword: Keyword<KeywordKind.Type>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, equalsToken: Token<TokenKind.Equals>, body: FunctionTypeDeclarationBody, rangeWithTrivia: Range | undefined);
350
364
  }
365
+ export type FunctionTypeDeclarationBodyParent = PackageFunctionTypeDeclaration | AnonymousFunctionTypeDeclaration;
351
366
  export declare class FunctionTypeDeclarationBody extends BaseNode {
352
367
  readonly kind = NodeKind.FunctionTypeDeclarationBody;
353
368
  readonly children: readonly [
@@ -356,32 +371,36 @@ export declare class FunctionTypeDeclarationBody extends BaseNode {
356
371
  ParameterClause,
357
372
  TypeAnnotation | undefined
358
373
  ];
374
+ get parent(): FunctionTypeDeclarationBodyParent;
359
375
  get asyncKeyword(): Keyword<KeywordKind.Async> | undefined;
360
376
  get functionKeyword(): Keyword<KeywordKind.Function>;
361
377
  get parameterClause(): ParameterClause;
362
378
  get returnTypeAnnotation(): TypeAnnotation | undefined;
363
379
  protected get thisAsNode(): Node;
364
- constructor(asyncKeyword: Keyword<KeywordKind.Async> | undefined, functionKeyword: Keyword<KeywordKind.Function>, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined);
365
- toRed(rangeStart: number, parent: red.FunctionTypeDeclarationBodyParent): red.FunctionTypeDeclarationBody;
380
+ constructor(asyncKeyword: Keyword<KeywordKind.Async> | undefined, functionKeyword: Keyword<KeywordKind.Function>, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, rangeWithTrivia: Range | undefined);
366
381
  }
367
382
  export type BaseTypeListElement = NamedTypeSpecifier | Comma;
383
+ export type BaseTypeListParent = VariantTypeDeclarationBody | StructuredTypeDeclarationBody;
368
384
  export declare class BaseTypeList extends BaseNode {
369
385
  readonly kind = NodeKind.BaseTypeList;
370
386
  readonly children: readonly BaseTypeListElement[];
387
+ get parent(): BaseTypeListParent;
371
388
  get elements(): readonly BaseTypeListElement[];
389
+ get baseTypes(): Query<NamedTypeSpecifier>;
372
390
  protected get thisAsNode(): Node;
373
- constructor(elements: readonly BaseTypeListElement[]);
374
- toRed(rangeStart: number, parent: red.BaseTypeListParent): red.BaseTypeList;
391
+ constructor(elements: readonly BaseTypeListElement[], rangeWithTrivia: Range | undefined);
375
392
  }
376
393
  export type TypeMemberDeclarationListElement = TypeMemberDeclaration | Semicolon;
377
394
  export declare class TypeMemberDeclarationList extends BaseNode {
378
395
  readonly kind = NodeKind.TypeMemberDeclarationList;
379
396
  readonly children: readonly TypeMemberDeclarationListElement[];
397
+ get parent(): TypeMemberDeclarationBlock;
380
398
  get elements(): readonly TypeMemberDeclarationListElement[];
399
+ get members(): Query<TypeMemberDeclaration>;
381
400
  protected get thisAsNode(): Node;
382
- constructor(elements: readonly TypeMemberDeclarationListElement[]);
383
- toRed(rangeStart: number, parent: red.TypeMemberDeclarationListParent): red.TypeMemberDeclarationList;
401
+ constructor(elements: readonly TypeMemberDeclarationListElement[], rangeWithTrivia: Range | undefined);
384
402
  }
403
+ export type TypeMemberDeclarationBlockParent = StructuredTypeDeclarationBody | VariantTypeDeclarationBody | AliasTypeDeclarationBody | TypeExtensionDeclaration | TypeMemberGroupDeclaration;
385
404
  export declare class TypeMemberDeclarationBlock extends BaseNode {
386
405
  readonly kind = NodeKind.TypeMemberDeclarationBlock;
387
406
  readonly children: readonly [
@@ -389,12 +408,12 @@ export declare class TypeMemberDeclarationBlock extends BaseNode {
389
408
  TypeMemberDeclarationList,
390
409
  Token<TokenKind.CloseBrace>
391
410
  ];
411
+ get parent(): TypeMemberDeclarationBlockParent;
392
412
  get openBraceToken(): Token<TokenKind.OpenBrace>;
393
413
  get memberList(): TypeMemberDeclarationList;
394
414
  get closeBraceToken(): Token<TokenKind.CloseBrace>;
395
415
  protected get thisAsNode(): Node;
396
- constructor(openBraceToken: Token<TokenKind.OpenBrace>, memberList: TypeMemberDeclarationList, closeBraceToken: Token<TokenKind.CloseBrace>);
397
- toRed(rangeStart: number, parent: red.TypeMemberDeclarationBlockParent): red.TypeMemberDeclarationBlock;
416
+ constructor(openBraceToken: Token<TokenKind.OpenBrace>, memberList: TypeMemberDeclarationList, closeBraceToken: Token<TokenKind.CloseBrace>, rangeWithTrivia: Range | undefined);
398
417
  }
399
418
  export declare class PackageStructuredTypeDeclaration extends BaseNode {
400
419
  readonly kind = NodeKind.PackageStructuredTypeDeclaration;
@@ -407,6 +426,7 @@ export declare class PackageStructuredTypeDeclaration extends BaseNode {
407
426
  Token<TokenKind.Equals>,
408
427
  StructuredTypeDeclarationBody
409
428
  ];
429
+ get parent(): PackageMemberDeclarationList;
410
430
  get tagList(): TagList;
411
431
  get modifierList(): ModifierList;
412
432
  get typeKeyword(): Keyword<KeywordKind.Type>;
@@ -415,9 +435,9 @@ export declare class PackageStructuredTypeDeclaration extends BaseNode {
415
435
  get equalsToken(): Token<TokenKind.Equals>;
416
436
  get body(): StructuredTypeDeclarationBody;
417
437
  protected get thisAsNode(): Node;
418
- constructor(tagList: TagList, modifierList: ModifierList, typeKeyword: Keyword<KeywordKind.Type>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, equalsToken: Token<TokenKind.Equals>, body: StructuredTypeDeclarationBody);
419
- toRed(rangeStart: number, parent: red.PackageMemberDeclarationParent): red.PackageStructuredTypeDeclaration;
438
+ constructor(tagList: TagList, modifierList: ModifierList, typeKeyword: Keyword<KeywordKind.Type>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, equalsToken: Token<TokenKind.Equals>, body: StructuredTypeDeclarationBody, rangeWithTrivia: Range | undefined);
420
439
  }
440
+ export type StructuredTypeDeclarationBodyParent = PackageStructuredTypeDeclaration | AnonymousStructuredTypeDeclaration;
421
441
  export declare class StructuredTypeDeclarationBody extends BaseNode {
422
442
  readonly kind = NodeKind.StructuredTypeDeclarationBody;
423
443
  readonly children: readonly [
@@ -425,12 +445,12 @@ export declare class StructuredTypeDeclarationBody extends BaseNode {
425
445
  BaseTypeList | undefined,
426
446
  TypeMemberDeclarationBlock
427
447
  ];
448
+ get parent(): StructuredTypeDeclarationBodyParent;
428
449
  get structuredTypeKindKeyword(): StructuredTypeKindKeyword;
429
450
  get baseTypeList(): BaseTypeList | undefined;
430
451
  get memberBlock(): TypeMemberDeclarationBlock;
431
452
  protected get thisAsNode(): Node;
432
- constructor(structuredTypeKindKeyword: StructuredTypeKindKeyword, baseTypeList: BaseTypeList | undefined, memberBlock: TypeMemberDeclarationBlock);
433
- toRed(rangeStart: number, parent: red.StructuredTypeDeclarationBodyParent): red.StructuredTypeDeclarationBody;
453
+ constructor(structuredTypeKindKeyword: StructuredTypeKindKeyword, baseTypeList: BaseTypeList | undefined, memberBlock: TypeMemberDeclarationBlock, rangeWithTrivia: Range | undefined);
434
454
  }
435
455
  export type StructuredTypeKindKeyword = Keyword<KeywordKind.Object> | Keyword<KeywordKind.PlainObject> | Keyword<KeywordKind.Aspect>;
436
456
  export declare class PackageVariableDeclaration extends BaseNode {
@@ -443,6 +463,7 @@ export declare class PackageVariableDeclaration extends BaseNode {
443
463
  Token<TokenKind.Equals> | undefined,
444
464
  Expression | undefined
445
465
  ];
466
+ get parent(): PackageMemberDeclarationList;
446
467
  get tagList(): TagList;
447
468
  get modifierList(): ModifierList;
448
469
  get name(): Identifier;
@@ -450,8 +471,7 @@ export declare class PackageVariableDeclaration extends BaseNode {
450
471
  get equalsToken(): Token<TokenKind.Equals> | undefined;
451
472
  get initializer(): Expression | undefined;
452
473
  protected get thisAsNode(): Node;
453
- constructor(tagList: TagList, modifierList: ModifierList, name: Identifier, typeAnnotation: TypeAnnotation | undefined, equalsToken: Token<TokenKind.Equals> | undefined, initializer: Expression | undefined);
454
- toRed(rangeStart: number, parent: red.PackageMemberDeclarationParent): red.PackageVariableDeclaration;
474
+ constructor(tagList: TagList, modifierList: ModifierList, name: Identifier, typeAnnotation: TypeAnnotation | undefined, equalsToken: Token<TokenKind.Equals> | undefined, initializer: Expression | undefined, rangeWithTrivia: Range | undefined);
455
475
  }
456
476
  export declare class PackageVariableGetterDeclaration extends BaseNode {
457
477
  readonly kind = NodeKind.PackageVariableGetterDeclaration;
@@ -463,6 +483,7 @@ export declare class PackageVariableGetterDeclaration extends BaseNode {
463
483
  TypeAnnotation,
464
484
  FunctionBlock | undefined
465
485
  ];
486
+ get parent(): PackageMemberDeclarationList;
466
487
  get tagList(): TagList;
467
488
  get modifierList(): ModifierList;
468
489
  get getKeyword(): Keyword<KeywordKind.Get>;
@@ -470,8 +491,7 @@ export declare class PackageVariableGetterDeclaration extends BaseNode {
470
491
  get typeAnnotation(): TypeAnnotation;
471
492
  get block(): FunctionBlock | undefined;
472
493
  protected get thisAsNode(): Node;
473
- constructor(tagList: TagList, modifierList: ModifierList, getKeyword: Keyword<KeywordKind.Get>, name: Identifier, typeAnnotation: TypeAnnotation, block: FunctionBlock | undefined);
474
- toRed(rangeStart: number, parent: red.PackageMemberDeclarationParent): red.PackageVariableGetterDeclaration;
494
+ constructor(tagList: TagList, modifierList: ModifierList, getKeyword: Keyword<KeywordKind.Get>, name: Identifier, typeAnnotation: TypeAnnotation, block: FunctionBlock | undefined, rangeWithTrivia: Range | undefined);
475
495
  }
476
496
  export declare class PackageVariableSetterDeclaration extends BaseNode {
477
497
  readonly kind = NodeKind.PackageVariableSetterDeclaration;
@@ -482,14 +502,14 @@ export declare class PackageVariableSetterDeclaration extends BaseNode {
482
502
  Identifier,
483
503
  FunctionBlock | undefined
484
504
  ];
505
+ get parent(): PackageMemberDeclarationList;
485
506
  get tagList(): TagList;
486
507
  get modifierList(): ModifierList;
487
508
  get setKeyword(): Keyword<KeywordKind.Set>;
488
509
  get name(): Identifier;
489
510
  get block(): FunctionBlock | undefined;
490
511
  protected get thisAsNode(): Node;
491
- constructor(tagList: TagList, modifierList: ModifierList, setKeyword: Keyword<KeywordKind.Set>, name: Identifier, block: FunctionBlock | undefined);
492
- toRed(rangeStart: number, parent: red.PackageMemberDeclarationParent): red.PackageVariableSetterDeclaration;
512
+ constructor(tagList: TagList, modifierList: ModifierList, setKeyword: Keyword<KeywordKind.Set>, name: Identifier, block: FunctionBlock | undefined, rangeWithTrivia: Range | undefined);
493
513
  }
494
514
  export declare class PackageVariantTypeDeclaration extends BaseNode {
495
515
  readonly kind = NodeKind.PackageVariantTypeDeclaration;
@@ -502,6 +522,7 @@ export declare class PackageVariantTypeDeclaration extends BaseNode {
502
522
  Token<TokenKind.Equals>,
503
523
  VariantTypeDeclarationBody
504
524
  ];
525
+ get parent(): PackageMemberDeclarationList;
505
526
  get tagList(): TagList;
506
527
  get modifierList(): ModifierList;
507
528
  get typeKeyword(): Keyword<KeywordKind.Type>;
@@ -510,9 +531,9 @@ export declare class PackageVariantTypeDeclaration extends BaseNode {
510
531
  get equalsToken(): Token<TokenKind.Equals>;
511
532
  get body(): VariantTypeDeclarationBody;
512
533
  protected get thisAsNode(): Node;
513
- constructor(tagList: TagList, modifierList: ModifierList, typeKeyword: Keyword<KeywordKind.Type>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, equalsToken: Token<TokenKind.Equals>, body: VariantTypeDeclarationBody);
514
- toRed(rangeStart: number, parent: red.PackageMemberDeclarationParent): red.PackageVariantTypeDeclaration;
534
+ constructor(tagList: TagList, modifierList: ModifierList, typeKeyword: Keyword<KeywordKind.Type>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, equalsToken: Token<TokenKind.Equals>, body: VariantTypeDeclarationBody, rangeWithTrivia: Range | undefined);
515
535
  }
536
+ export type VariantTypeDeclarationBodyParent = PackageVariantTypeDeclaration | AnonymousVariantTypeDeclaration;
516
537
  export declare class VariantTypeDeclarationBody extends BaseNode {
517
538
  readonly kind = NodeKind.VariantTypeDeclarationBody;
518
539
  readonly children: readonly [
@@ -520,12 +541,12 @@ export declare class VariantTypeDeclarationBody extends BaseNode {
520
541
  BaseTypeList | undefined,
521
542
  TypeMemberDeclarationBlock
522
543
  ];
544
+ get parent(): VariantTypeDeclarationBodyParent;
523
545
  get variantKeyword(): Keyword<KeywordKind.Variant>;
524
546
  get baseTypeList(): BaseTypeList | undefined;
525
547
  get memberBlock(): TypeMemberDeclarationBlock;
526
548
  protected get thisAsNode(): Node;
527
- constructor(variantKeyword: Keyword<KeywordKind.Variant>, baseTypeList: BaseTypeList | undefined, memberBlock: TypeMemberDeclarationBlock);
528
- toRed(rangeStart: number, parent: red.VariantTypeDeclarationBodyParent): red.VariantTypeDeclarationBody;
549
+ constructor(variantKeyword: Keyword<KeywordKind.Variant>, baseTypeList: BaseTypeList | undefined, memberBlock: TypeMemberDeclarationBlock, rangeWithTrivia: Range | undefined);
529
550
  }
530
551
  export declare class TypeExtensionDeclaration extends BaseNode {
531
552
  readonly kind = NodeKind.TypeExtensionDeclaration;
@@ -537,6 +558,7 @@ export declare class TypeExtensionDeclaration extends BaseNode {
537
558
  Token<TokenKind.PlusEquals>,
538
559
  TypeMemberDeclarationBlock
539
560
  ];
561
+ get parent(): PackageMemberDeclarationList;
540
562
  get tagList(): TagList;
541
563
  get modifierList(): ModifierList;
542
564
  get typeKeyword(): Keyword<KeywordKind.Type>;
@@ -544,16 +566,15 @@ export declare class TypeExtensionDeclaration extends BaseNode {
544
566
  get plusEqualsToken(): Token<TokenKind.PlusEquals>;
545
567
  get memberBlock(): TypeMemberDeclarationBlock;
546
568
  protected get thisAsNode(): Node;
547
- constructor(tagList: TagList, modifierList: ModifierList, typeKeyword: Keyword<KeywordKind.Type>, extendedTypeClause: ExtendedTypeClause, plusEqualsToken: Token<TokenKind.PlusEquals>, memberBlock: TypeMemberDeclarationBlock);
548
- toRed(rangeStart: number, parent: red.PackageMemberDeclarationParent): red.TypeExtensionDeclaration;
569
+ constructor(tagList: TagList, modifierList: ModifierList, typeKeyword: Keyword<KeywordKind.Type>, extendedTypeClause: ExtendedTypeClause, plusEqualsToken: Token<TokenKind.PlusEquals>, memberBlock: TypeMemberDeclarationBlock, rangeWithTrivia: Range | undefined);
549
570
  }
550
571
  export declare class ExtendedTypeClauseCommaList extends BaseNode {
551
572
  readonly kind = NodeKind.ExtendedTypeClauseCommaList;
552
573
  readonly children: readonly Comma[];
574
+ get parent(): ExtendedTypeClause;
553
575
  get commas(): readonly Comma[];
554
576
  protected get thisAsNode(): Node;
555
- constructor(commas: readonly Comma[]);
556
- toRed(rangeStart: number, parent: red.ExtendedTypeClauseCommaListParent): red.ExtendedTypeClauseCommaList;
577
+ constructor(commas: readonly Comma[], rangeWithTrivia: Range | undefined);
557
578
  }
558
579
  export declare class ExtendedTypeClause extends BaseNode {
559
580
  readonly kind = NodeKind.ExtendedTypeClause;
@@ -563,13 +584,13 @@ export declare class ExtendedTypeClause extends BaseNode {
563
584
  ExtendedTypeClauseCommaList | undefined,
564
585
  Token<TokenKind.GreaterThan> | undefined
565
586
  ];
587
+ get parent(): TypeExtensionDeclaration;
566
588
  get qualifiedName(): QualifiedName;
567
589
  get lessThanToken(): Token<TokenKind.LessThan> | undefined;
568
590
  get commaList(): ExtendedTypeClauseCommaList | undefined;
569
591
  get greaterThanToken(): Token<TokenKind.GreaterThan> | undefined;
570
592
  protected get thisAsNode(): Node;
571
- constructor(qualifiedName: QualifiedName, lessThanToken: Token<TokenKind.LessThan> | undefined, commaList: ExtendedTypeClauseCommaList | undefined, greaterThanToken: Token<TokenKind.GreaterThan> | undefined);
572
- toRed(rangeStart: number, parent: red.ExtendedTypeClauseParent): red.ExtendedTypeClause;
593
+ constructor(qualifiedName: QualifiedName, lessThanToken: Token<TokenKind.LessThan> | undefined, commaList: ExtendedTypeClauseCommaList | undefined, greaterThanToken: Token<TokenKind.GreaterThan> | undefined, rangeWithTrivia: Range | undefined);
573
594
  }
574
595
  export declare class MissingPackageMemberDeclaration extends BaseNode {
575
596
  readonly kind = NodeKind.MissingPackageMemberDeclaration;
@@ -577,11 +598,11 @@ export declare class MissingPackageMemberDeclaration extends BaseNode {
577
598
  TagList,
578
599
  ModifierList
579
600
  ];
601
+ get parent(): PackageMemberDeclarationList;
580
602
  get tagList(): TagList;
581
603
  get modifierList(): ModifierList;
582
604
  protected get thisAsNode(): Node;
583
- constructor(tagList: TagList, modifierList: ModifierList);
584
- toRed(rangeStart: number, parent: red.MissingPackageMemberDeclarationParent): red.MissingPackageMemberDeclaration;
605
+ constructor(tagList: TagList, modifierList: ModifierList, rangeWithTrivia: Range | undefined);
585
606
  }
586
607
  export type TypeMemberDeclaration = FieldDeclaration | FieldGetterDeclaration | FieldSetterDeclaration | VariantDeclaration | MethodDeclaration | OperatorDeclaration | ConstructorDeclaration | DestructorDeclaration | IndexedElementGetterDeclaration | IndexedElementSetterDeclaration | DereferencedVariableGetterDeclaration | DereferencedVariableSetterDeclaration | TypeMemberGroupDeclaration | MissingTypeMemberDeclaration;
587
608
  export declare class TypeMemberGroupDeclaration extends BaseNode {
@@ -591,12 +612,12 @@ export declare class TypeMemberGroupDeclaration extends BaseNode {
591
612
  ModifierList,
592
613
  TypeMemberDeclarationBlock
593
614
  ];
615
+ get parent(): TypeMemberDeclarationList;
594
616
  get tagList(): TagList;
595
617
  get modifierList(): ModifierList;
596
618
  get memberBlock(): TypeMemberDeclarationBlock;
597
619
  protected get thisAsNode(): Node;
598
- constructor(tagList: TagList, modifierList: ModifierList, memberBlock: TypeMemberDeclarationBlock);
599
- toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.TypeMemberGroupDeclaration;
620
+ constructor(tagList: TagList, modifierList: ModifierList, memberBlock: TypeMemberDeclarationBlock, rangeWithTrivia: Range | undefined);
600
621
  }
601
622
  export declare class ConstructorDeclaration extends BaseNode {
602
623
  readonly kind = NodeKind.ConstructorDeclaration;
@@ -607,14 +628,14 @@ export declare class ConstructorDeclaration extends BaseNode {
607
628
  ParameterClause,
608
629
  FunctionBlock | undefined
609
630
  ];
631
+ get parent(): TypeMemberDeclarationList;
610
632
  get tagList(): TagList;
611
633
  get modifierList(): ModifierList;
612
634
  get creationKeyword(): Keyword<KeywordKind.Creation>;
613
635
  get parameterClause(): ParameterClause;
614
636
  get block(): FunctionBlock | undefined;
615
637
  protected get thisAsNode(): Node;
616
- constructor(tagList: TagList, modifierList: ModifierList, creationKeyword: Keyword<KeywordKind.Creation>, parameterClause: ParameterClause, block: FunctionBlock | undefined);
617
- toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.ConstructorDeclaration;
638
+ constructor(tagList: TagList, modifierList: ModifierList, creationKeyword: Keyword<KeywordKind.Creation>, parameterClause: ParameterClause, block: FunctionBlock | undefined, rangeWithTrivia: Range | undefined);
618
639
  }
619
640
  export declare class DestructorDeclaration extends BaseNode {
620
641
  readonly kind = NodeKind.DestructorDeclaration;
@@ -625,14 +646,14 @@ export declare class DestructorDeclaration extends BaseNode {
625
646
  ParameterClause,
626
647
  FunctionBlock | undefined
627
648
  ];
649
+ get parent(): TypeMemberDeclarationList;
628
650
  get tagList(): TagList;
629
651
  get modifierList(): ModifierList;
630
652
  get destructionKeyword(): Keyword<KeywordKind.Destruction>;
631
653
  get parameterClause(): ParameterClause;
632
654
  get block(): FunctionBlock | undefined;
633
655
  protected get thisAsNode(): Node;
634
- constructor(tagList: TagList, modifierList: ModifierList, destructionKeyword: Keyword<KeywordKind.Destruction>, parameterClause: ParameterClause, block: FunctionBlock | undefined);
635
- toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.DestructorDeclaration;
656
+ constructor(tagList: TagList, modifierList: ModifierList, destructionKeyword: Keyword<KeywordKind.Destruction>, parameterClause: ParameterClause, block: FunctionBlock | undefined, rangeWithTrivia: Range | undefined);
636
657
  }
637
658
  export declare class IndexedElementGetterDeclaration extends BaseNode {
638
659
  readonly kind = NodeKind.IndexedElementGetterDeclaration;
@@ -644,6 +665,7 @@ export declare class IndexedElementGetterDeclaration extends BaseNode {
644
665
  TypeAnnotation,
645
666
  FunctionBlock | undefined
646
667
  ];
668
+ get parent(): TypeMemberDeclarationList;
647
669
  get tagList(): TagList;
648
670
  get modifierList(): ModifierList;
649
671
  get getKeyword(): Keyword<KeywordKind.Get>;
@@ -651,8 +673,7 @@ export declare class IndexedElementGetterDeclaration extends BaseNode {
651
673
  get typeAnnotation(): TypeAnnotation;
652
674
  get block(): FunctionBlock | undefined;
653
675
  protected get thisAsNode(): Node;
654
- constructor(tagList: TagList, modifierList: ModifierList, getKeyword: Keyword<KeywordKind.Get>, parameterClause: IndexParameterClause, typeAnnotation: TypeAnnotation, block: FunctionBlock | undefined);
655
- toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.IndexedElementGetterDeclaration;
676
+ constructor(tagList: TagList, modifierList: ModifierList, getKeyword: Keyword<KeywordKind.Get>, parameterClause: IndexParameterClause, typeAnnotation: TypeAnnotation, block: FunctionBlock | undefined, rangeWithTrivia: Range | undefined);
656
677
  }
657
678
  export declare class IndexedElementSetterDeclaration extends BaseNode {
658
679
  readonly kind = NodeKind.IndexedElementSetterDeclaration;
@@ -663,15 +684,16 @@ export declare class IndexedElementSetterDeclaration extends BaseNode {
663
684
  IndexParameterClause,
664
685
  FunctionBlock | undefined
665
686
  ];
687
+ get parent(): TypeMemberDeclarationList;
666
688
  get tagList(): TagList;
667
689
  get modifierList(): ModifierList;
668
690
  get setKeyword(): Keyword<KeywordKind.Set>;
669
691
  get parameterClause(): IndexParameterClause;
670
692
  get block(): FunctionBlock | undefined;
671
693
  protected get thisAsNode(): Node;
672
- constructor(tagList: TagList, modifierList: ModifierList, setKeyword: Keyword<KeywordKind.Set>, parameterClause: IndexParameterClause, block: FunctionBlock | undefined);
673
- toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.IndexedElementSetterDeclaration;
694
+ constructor(tagList: TagList, modifierList: ModifierList, setKeyword: Keyword<KeywordKind.Set>, parameterClause: IndexParameterClause, block: FunctionBlock | undefined, rangeWithTrivia: Range | undefined);
674
695
  }
696
+ export type IndexParameterClauseParent = IndexedElementGetterDeclaration | IndexedElementSetterDeclaration;
675
697
  export declare class IndexParameterClause extends BaseNode {
676
698
  readonly kind = NodeKind.IndexParameterClause;
677
699
  readonly children: readonly [
@@ -679,12 +701,12 @@ export declare class IndexParameterClause extends BaseNode {
679
701
  ParameterList,
680
702
  Token<TokenKind.CloseSquareBracket>
681
703
  ];
704
+ get parent(): IndexParameterClauseParent;
682
705
  get openSquareBracketToken(): Token<TokenKind.OpenSquareBracket>;
683
706
  get parameterList(): ParameterList;
684
707
  get closeSquareBracketToken(): Token<TokenKind.CloseSquareBracket>;
685
708
  protected get thisAsNode(): Node;
686
- constructor(openSquareBracketToken: Token<TokenKind.OpenSquareBracket>, parameterList: ParameterList, closeSquareBracketToken: Token<TokenKind.CloseSquareBracket>);
687
- toRed(rangeStart: number, parent: red.IndexParameterClauseParent): red.IndexParameterClause;
709
+ constructor(openSquareBracketToken: Token<TokenKind.OpenSquareBracket>, parameterList: ParameterList, closeSquareBracketToken: Token<TokenKind.CloseSquareBracket>, rangeWithTrivia: Range | undefined);
688
710
  }
689
711
  export declare class DereferencedVariableGetterDeclaration extends BaseNode {
690
712
  readonly kind = NodeKind.DereferencedVariableGetterDeclaration;
@@ -696,6 +718,7 @@ export declare class DereferencedVariableGetterDeclaration extends BaseNode {
696
718
  TypeAnnotation,
697
719
  FunctionBlock | undefined
698
720
  ];
721
+ get parent(): TypeMemberDeclarationList;
699
722
  get tagList(): TagList;
700
723
  get modifierList(): ModifierList;
701
724
  get getKeyword(): Keyword<KeywordKind.Get>;
@@ -703,8 +726,7 @@ export declare class DereferencedVariableGetterDeclaration extends BaseNode {
703
726
  get typeAnnotation(): TypeAnnotation;
704
727
  get block(): FunctionBlock | undefined;
705
728
  protected get thisAsNode(): Node;
706
- constructor(tagList: TagList, modifierList: ModifierList, getKeyword: Keyword<KeywordKind.Get>, caretToken: Token<TokenKind.Caret>, typeAnnotation: TypeAnnotation, block: FunctionBlock | undefined);
707
- toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.DereferencedVariableGetterDeclaration;
729
+ constructor(tagList: TagList, modifierList: ModifierList, getKeyword: Keyword<KeywordKind.Get>, caretToken: Token<TokenKind.Caret>, typeAnnotation: TypeAnnotation, block: FunctionBlock | undefined, rangeWithTrivia: Range | undefined);
708
730
  }
709
731
  export declare class DereferencedVariableSetterDeclaration extends BaseNode {
710
732
  readonly kind = NodeKind.DereferencedVariableSetterDeclaration;
@@ -715,14 +737,14 @@ export declare class DereferencedVariableSetterDeclaration extends BaseNode {
715
737
  Token<TokenKind.Caret>,
716
738
  FunctionBlock | undefined
717
739
  ];
740
+ get parent(): TypeMemberDeclarationList;
718
741
  get tagList(): TagList;
719
742
  get modifierList(): ModifierList;
720
743
  get setKeyword(): Keyword<KeywordKind.Set>;
721
744
  get caretToken(): Token<TokenKind.Caret>;
722
745
  get block(): FunctionBlock | undefined;
723
746
  protected get thisAsNode(): Node;
724
- constructor(tagList: TagList, modifierList: ModifierList, setKeyword: Keyword<KeywordKind.Set>, caretToken: Token<TokenKind.Caret>, block: FunctionBlock | undefined);
725
- toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.DereferencedVariableSetterDeclaration;
747
+ constructor(tagList: TagList, modifierList: ModifierList, setKeyword: Keyword<KeywordKind.Set>, caretToken: Token<TokenKind.Caret>, block: FunctionBlock | undefined, rangeWithTrivia: Range | undefined);
726
748
  }
727
749
  export declare class MethodDeclaration extends BaseNode {
728
750
  readonly kind = NodeKind.MethodDeclaration;
@@ -736,6 +758,7 @@ export declare class MethodDeclaration extends BaseNode {
736
758
  TypeAnnotation | undefined,
737
759
  FunctionBlock | undefined
738
760
  ];
761
+ get parent(): TypeMemberDeclarationList;
739
762
  get tagList(): TagList;
740
763
  get modifierList(): ModifierList;
741
764
  get functionKeyword(): Keyword<KeywordKind.Function>;
@@ -745,11 +768,9 @@ export declare class MethodDeclaration extends BaseNode {
745
768
  get returnTypeAnnotation(): TypeAnnotation | undefined;
746
769
  get block(): FunctionBlock | undefined;
747
770
  protected get thisAsNode(): Node;
748
- constructor(tagList: TagList, modifierList: ModifierList, functionKeyword: Keyword<KeywordKind.Function>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, block: FunctionBlock | undefined);
749
- toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.MethodDeclaration;
771
+ constructor(tagList: TagList, modifierList: ModifierList, functionKeyword: Keyword<KeywordKind.Function>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, block: FunctionBlock | undefined, rangeWithTrivia: Range | undefined);
750
772
  }
751
773
  export declare class OperatorDeclaration extends BaseNode {
752
- readonly operatorKind: OperatorKind;
753
774
  readonly kind = NodeKind.OperatorDeclaration;
754
775
  readonly children: readonly [
755
776
  TagList,
@@ -760,6 +781,8 @@ export declare class OperatorDeclaration extends BaseNode {
760
781
  TypeAnnotation | undefined,
761
782
  FunctionBlock | undefined
762
783
  ];
784
+ readonly operatorKind: OperatorKind;
785
+ get parent(): TypeMemberDeclarationList;
763
786
  get tagList(): TagList;
764
787
  get modifierList(): ModifierList;
765
788
  get functionKeyword(): Keyword<KeywordKind.Function>;
@@ -768,8 +791,7 @@ export declare class OperatorDeclaration extends BaseNode {
768
791
  get returnTypeAnnotation(): TypeAnnotation | undefined;
769
792
  get block(): FunctionBlock | undefined;
770
793
  protected get thisAsNode(): Node;
771
- constructor(tagList: TagList, modifierList: ModifierList, functionKeyword: Keyword<KeywordKind.Function>, name: Identifier, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, block: FunctionBlock | undefined, operatorKind: OperatorKind);
772
- toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.OperatorDeclaration;
794
+ constructor(tagList: TagList, modifierList: ModifierList, functionKeyword: Keyword<KeywordKind.Function>, name: Identifier, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, block: FunctionBlock | undefined, operatorKind: OperatorKind, rangeWithTrivia: Range | undefined);
773
795
  }
774
796
  export declare class FieldDeclaration extends BaseNode {
775
797
  readonly kind = NodeKind.FieldDeclaration;
@@ -781,6 +803,7 @@ export declare class FieldDeclaration extends BaseNode {
781
803
  Token<TokenKind.Equals> | undefined,
782
804
  Expression | undefined
783
805
  ];
806
+ get parent(): TypeMemberDeclarationList;
784
807
  get tagList(): TagList;
785
808
  get modifierList(): ModifierList;
786
809
  get name(): Identifier;
@@ -788,8 +811,7 @@ export declare class FieldDeclaration extends BaseNode {
788
811
  get equalsToken(): Token<TokenKind.Equals> | undefined;
789
812
  get initializer(): Expression | undefined;
790
813
  protected get thisAsNode(): Node;
791
- constructor(tagList: TagList, modifierList: ModifierList, name: Identifier, typeAnnotation: TypeAnnotation | undefined, equalsToken: Token<TokenKind.Equals> | undefined, initializer: Expression | undefined);
792
- toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.FieldDeclaration;
814
+ constructor(tagList: TagList, modifierList: ModifierList, name: Identifier, typeAnnotation: TypeAnnotation | undefined, equalsToken: Token<TokenKind.Equals> | undefined, initializer: Expression | undefined, rangeWithTrivia: Range | undefined);
793
815
  }
794
816
  export declare class FieldGetterDeclaration extends BaseNode {
795
817
  readonly kind = NodeKind.FieldGetterDeclaration;
@@ -801,6 +823,7 @@ export declare class FieldGetterDeclaration extends BaseNode {
801
823
  TypeAnnotation,
802
824
  FunctionBlock | undefined
803
825
  ];
826
+ get parent(): TypeMemberDeclarationList;
804
827
  get tagList(): TagList;
805
828
  get modifierList(): ModifierList;
806
829
  get getKeyword(): Keyword<KeywordKind.Get>;
@@ -808,8 +831,7 @@ export declare class FieldGetterDeclaration extends BaseNode {
808
831
  get typeAnnotation(): TypeAnnotation;
809
832
  get block(): FunctionBlock | undefined;
810
833
  protected get thisAsNode(): Node;
811
- constructor(tagList: TagList, modifierList: ModifierList, getKeyword: Keyword<KeywordKind.Get>, name: Identifier, typeAnnotation: TypeAnnotation, block: FunctionBlock | undefined);
812
- toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.FieldGetterDeclaration;
834
+ constructor(tagList: TagList, modifierList: ModifierList, getKeyword: Keyword<KeywordKind.Get>, name: Identifier, typeAnnotation: TypeAnnotation, block: FunctionBlock | undefined, rangeWithTrivia: Range | undefined);
813
835
  }
814
836
  export declare class FieldSetterDeclaration extends BaseNode {
815
837
  readonly kind = NodeKind.FieldSetterDeclaration;
@@ -820,14 +842,14 @@ export declare class FieldSetterDeclaration extends BaseNode {
820
842
  Identifier,
821
843
  FunctionBlock | undefined
822
844
  ];
845
+ get parent(): TypeMemberDeclarationList;
823
846
  get tagList(): TagList;
824
847
  get modifierList(): ModifierList;
825
848
  get setKeyword(): Keyword<KeywordKind.Set>;
826
849
  get name(): Identifier;
827
850
  get block(): FunctionBlock | undefined;
828
851
  protected get thisAsNode(): Node;
829
- constructor(tagList: TagList, modifierList: ModifierList, setKeyword: Keyword<KeywordKind.Set>, name: Identifier, block: FunctionBlock | undefined);
830
- toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.FieldSetterDeclaration;
852
+ constructor(tagList: TagList, modifierList: ModifierList, setKeyword: Keyword<KeywordKind.Set>, name: Identifier, block: FunctionBlock | undefined, rangeWithTrivia: Range | undefined);
831
853
  }
832
854
  export declare class MissingTypeMemberDeclaration extends BaseNode {
833
855
  readonly kind = NodeKind.MissingTypeMemberDeclaration;
@@ -835,11 +857,11 @@ export declare class MissingTypeMemberDeclaration extends BaseNode {
835
857
  TagList,
836
858
  ModifierList
837
859
  ];
860
+ get parent(): TypeMemberDeclarationList;
838
861
  get tagList(): TagList;
839
862
  get modifierList(): ModifierList;
840
863
  protected get thisAsNode(): Node;
841
- constructor(tagList: TagList, modifierList: ModifierList);
842
- toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.MissingTypeMemberDeclaration;
864
+ constructor(tagList: TagList, modifierList: ModifierList, rangeWithTrivia: Range | undefined);
843
865
  }
844
866
  export declare class NestedFunctionDeclaration extends BaseNode {
845
867
  readonly kind = NodeKind.NestedFunctionDeclaration;
@@ -852,6 +874,7 @@ export declare class NestedFunctionDeclaration extends BaseNode {
852
874
  TypeAnnotation | undefined,
853
875
  FunctionBlock
854
876
  ];
877
+ get parent(): NestedFunctionDeclarationStatement;
855
878
  get asyncKeyword(): Keyword<KeywordKind.Async> | undefined;
856
879
  get functionKeyword(): Keyword<KeywordKind.Function>;
857
880
  get name(): Identifier;
@@ -860,8 +883,7 @@ export declare class NestedFunctionDeclaration extends BaseNode {
860
883
  get returnTypeAnnotation(): TypeAnnotation | undefined;
861
884
  get block(): FunctionBlock;
862
885
  protected get thisAsNode(): Node;
863
- constructor(asyncKeyword: Keyword<KeywordKind.Async> | undefined, functionKeyword: Keyword<KeywordKind.Function>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, block: FunctionBlock);
864
- toRed(rangeStart: number, parent: red.NestedFunctionDeclarationParent): red.NestedFunctionDeclaration;
886
+ constructor(asyncKeyword: Keyword<KeywordKind.Async> | undefined, functionKeyword: Keyword<KeywordKind.Function>, name: Identifier, typeParameterClause: TypeParameterClause | undefined, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, block: FunctionBlock, rangeWithTrivia: Range | undefined);
865
887
  }
866
888
  export declare class LocalVariableDeclaration extends BaseNode {
867
889
  readonly kind = NodeKind.LocalVariableDeclaration;
@@ -872,26 +894,27 @@ export declare class LocalVariableDeclaration extends BaseNode {
872
894
  Token<TokenKind.Equals> | undefined,
873
895
  Expression | undefined
874
896
  ];
897
+ get parent(): LocalVariableDeclarationStatement;
875
898
  get letOrConstKeyword(): Keyword<KeywordKind.Let> | Keyword<KeywordKind.Const>;
876
899
  get name(): Identifier;
877
900
  get typeAnnotation(): TypeAnnotation | undefined;
878
901
  get equalsToken(): Token<TokenKind.Equals> | undefined;
879
902
  get initializer(): Expression | undefined;
880
903
  protected get thisAsNode(): Node;
881
- constructor(letOrConstKeyword: Keyword<KeywordKind.Let> | Keyword<KeywordKind.Const>, name: Identifier, typeAnnotation: TypeAnnotation | undefined, equalsToken: Token<TokenKind.Equals> | undefined, initializer: Expression | undefined);
882
- toRed(rangeStart: number, parent: red.LocalVariableDeclarationParent): red.LocalVariableDeclaration;
904
+ constructor(letOrConstKeyword: Keyword<KeywordKind.Let> | Keyword<KeywordKind.Const>, name: Identifier, typeAnnotation: TypeAnnotation | undefined, equalsToken: Token<TokenKind.Equals> | undefined, initializer: Expression | undefined, rangeWithTrivia: Range | undefined);
883
905
  }
884
906
  export declare class EnumerationVariableDeclaration extends BaseNode {
885
907
  readonly kind = NodeKind.EnumerationVariableDeclaration;
886
908
  readonly children: readonly [
887
909
  Identifier
888
910
  ];
911
+ get parent(): EnumerationVariableList;
889
912
  get name(): Identifier;
890
913
  protected get thisAsNode(): Node;
891
- constructor(name: Identifier);
892
- toRed(rangeStart: number, parent: red.EnumerationVariableDeclarationParent): red.EnumerationVariableDeclaration;
914
+ constructor(name: Identifier, rangeWithTrivia: Range | undefined);
893
915
  }
894
916
  export type Expression = ArrayLiteral | AsExpression | AssertionExpression | AssumptionExpression | BinaryExpression | FunctionLiteral | FunctionBlockLiteral | CallExpression | IdentifierExpression | AutotypeCallExpression | IndexedAccessExpression | MissingExpression | IsExpression | ParenthesizedExpression | ConditionalExpression | PrefixUnaryExpression | MemberAccessExpression | ReferenceExpression | DereferenceExpression | TextLiteral | LocalizableTextLiteral | TextTemplateLiteral | LocalizableTextTemplateLiteral | GenericSpecializationExpression | DefaultMatchExpression | TokenExpression | KeywordExpression | ObjectExpression | BaseExpression;
917
+ export type ExpressionParent = ArrayLiteralElementList | AsExpression | AssertionExpression | AssumptionExpression | AssignmentStatement | BinaryExpression | Argument | CallExpression | DisposeStatement | ErrorStatement | ImportantStatement | ExpressionStatement | ForStatement | PackageVariableDeclaration | IfStatement | IndexedAccessExpression | IsExpression | LocalVariableDeclaration | MatchExpressionList | ParameterDeclaration | ParenthesizedExpression | ConditionalExpression | PrefixUnaryExpression | MemberAccessExpression | ReferenceExpression | DereferenceExpression | LoopStatement | ReturnStatement | TextTemplateSpan | FieldDeclaration | SwitchStatement | VariantDeclaration | WhileStatement | YieldStatement | GenericSpecializationExpression | ElseIfClause | TextTranslationDeclaration | FunctionBlock;
895
918
  export type ExpressionListElement = Expression | Comma;
896
919
  export declare class ArrayLiteral extends BaseNode {
897
920
  readonly kind = NodeKind.ArrayLiteral;
@@ -900,20 +923,21 @@ export declare class ArrayLiteral extends BaseNode {
900
923
  ArrayLiteralElementList,
901
924
  Token<TokenKind.CloseSquareBracket>
902
925
  ];
926
+ get parent(): ExpressionParent;
903
927
  get openSquareBracketToken(): Token<TokenKind.OpenSquareBracket>;
904
928
  get elementList(): ArrayLiteralElementList;
905
929
  get closeSquareBracketToken(): Token<TokenKind.CloseSquareBracket>;
906
930
  protected get thisAsNode(): Node;
907
- constructor(openSquareBracketToken: Token<TokenKind.OpenSquareBracket>, elementList: ArrayLiteralElementList, closeSquareBracketToken: Token<TokenKind.CloseSquareBracket>);
908
- toRed(rangeStart: number, parent: red.ExpressionParent): red.ArrayLiteral;
931
+ constructor(openSquareBracketToken: Token<TokenKind.OpenSquareBracket>, elementList: ArrayLiteralElementList, closeSquareBracketToken: Token<TokenKind.CloseSquareBracket>, rangeWithTrivia: Range | undefined);
909
932
  }
910
933
  export declare class ArrayLiteralElementList extends BaseNode {
911
934
  readonly kind = NodeKind.ArrayLiteralElementList;
912
935
  readonly children: readonly ExpressionListElement[];
936
+ get parent(): ArrayLiteral;
913
937
  get elements(): readonly ExpressionListElement[];
938
+ get expressions(): Query<Expression>;
914
939
  protected get thisAsNode(): Node;
915
- constructor(elements: readonly ExpressionListElement[]);
916
- toRed(rangeStart: number, parent: red.ArrayLiteralElementListParent): red.ArrayLiteralElementList;
940
+ constructor(elements: readonly ExpressionListElement[], rangeWithTrivia: Range | undefined);
917
941
  }
918
942
  export declare class AssertionExpression extends BaseNode {
919
943
  readonly kind = NodeKind.AssertionExpression;
@@ -921,11 +945,11 @@ export declare class AssertionExpression extends BaseNode {
921
945
  Expression,
922
946
  Token<TokenKind.Exclamation>
923
947
  ];
948
+ get parent(): ExpressionParent;
924
949
  get expression(): Expression;
925
950
  get exclamationToken(): Token<TokenKind.Exclamation>;
926
951
  protected get thisAsNode(): Node;
927
- constructor(expression: Expression, exclamationToken: Token<TokenKind.Exclamation>);
928
- toRed(rangeStart: number, parent: red.ExpressionParent): red.AssertionExpression;
952
+ constructor(expression: Expression, exclamationToken: Token<TokenKind.Exclamation>, rangeWithTrivia: Range | undefined);
929
953
  }
930
954
  export declare class AssumptionExpression extends BaseNode {
931
955
  readonly kind = NodeKind.AssumptionExpression;
@@ -933,11 +957,11 @@ export declare class AssumptionExpression extends BaseNode {
933
957
  Expression,
934
958
  Token<TokenKind.Question>
935
959
  ];
960
+ get parent(): ExpressionParent;
936
961
  get expression(): Expression;
937
962
  get questionToken(): Token<TokenKind.Question>;
938
963
  protected get thisAsNode(): Node;
939
- constructor(expression: Expression, questionToken: Token<TokenKind.Question>);
940
- toRed(rangeStart: number, parent: red.ExpressionParent): red.AssumptionExpression;
964
+ constructor(expression: Expression, questionToken: Token<TokenKind.Question>, rangeWithTrivia: Range | undefined);
941
965
  }
942
966
  export declare class AsExpression extends BaseNode {
943
967
  readonly kind = NodeKind.AsExpression;
@@ -946,12 +970,12 @@ export declare class AsExpression extends BaseNode {
946
970
  Keyword<KeywordKind.As>,
947
971
  TypeSpecifier
948
972
  ];
973
+ get parent(): ExpressionParent;
949
974
  get expression(): Expression;
950
975
  get asKeyword(): Keyword<KeywordKind.As>;
951
976
  get typeSpecifier(): TypeSpecifier;
952
977
  protected get thisAsNode(): Node;
953
- constructor(expression: Expression, asKeyword: Keyword<KeywordKind.As>, typeSpecifier: TypeSpecifier);
954
- toRed(rangeStart: number, parent: red.ExpressionParent): red.AsExpression;
978
+ constructor(expression: Expression, asKeyword: Keyword<KeywordKind.As>, typeSpecifier: TypeSpecifier, rangeWithTrivia: Range | undefined);
955
979
  }
956
980
  export declare class BinaryExpression extends BaseNode {
957
981
  readonly kind = NodeKind.BinaryExpression;
@@ -960,12 +984,12 @@ export declare class BinaryExpression extends BaseNode {
960
984
  BinaryExpressionOperator,
961
985
  Expression
962
986
  ];
987
+ get parent(): ExpressionParent;
963
988
  get left(): Expression;
964
989
  get operator(): BinaryExpressionOperator;
965
990
  get right(): Expression;
966
991
  protected get thisAsNode(): Node;
967
- constructor(left: Expression, operator: BinaryExpressionOperator, right: Expression);
968
- toRed(rangeStart: number, parent: red.ExpressionParent): red.BinaryExpression;
992
+ constructor(left: Expression, operator: BinaryExpressionOperator, right: Expression, rangeWithTrivia: Range | undefined);
969
993
  }
970
994
  export type BinaryExpressionOperator = Token<TokenKind.Plus> | Token<TokenKind.Minus> | Token<TokenKind.Asterisk> | Token<TokenKind.Slash> | Token<TokenKind.Backslash> | Token<TokenKind.BackslashBackslash> | Token<TokenKind.EqualsEquals> | Token<TokenKind.ExclamationEquals> | Token<TokenKind.LessThan> | Token<TokenKind.GreaterThan> | Token<TokenKind.LessThanOrEqual> | Token<TokenKind.GreaterThanOrEqual> | Token<TokenKind.QuestionQuestion> | Keyword<KeywordKind.Or> | Keyword<KeywordKind.And> | Keyword<KeywordKind.Xor> | Token<TokenKind.Ampersand> | Token<TokenKind.Bar> | Token<TokenKind.BarBar>;
971
995
  export declare class FunctionLiteral extends BaseNode {
@@ -977,33 +1001,35 @@ export declare class FunctionLiteral extends BaseNode {
977
1001
  TypeAnnotation | undefined,
978
1002
  FunctionBlock
979
1003
  ];
1004
+ get parent(): ExpressionParent;
980
1005
  get asyncKeyword(): Keyword<KeywordKind.Async> | undefined;
981
1006
  get functionKeyword(): Keyword<KeywordKind.Function>;
982
1007
  get parameterClause(): ParameterClause;
983
1008
  get returnTypeAnnotation(): TypeAnnotation | undefined;
984
1009
  get block(): FunctionBlock;
985
1010
  protected get thisAsNode(): Node;
986
- constructor(asyncKeyword: Keyword<KeywordKind.Async> | undefined, functionKeyword: Keyword<KeywordKind.Function>, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, block: FunctionBlock);
987
- toRed(rangeStart: number, parent: red.ExpressionParent): red.FunctionLiteral;
1011
+ constructor(asyncKeyword: Keyword<KeywordKind.Async> | undefined, functionKeyword: Keyword<KeywordKind.Function>, parameterClause: ParameterClause, returnTypeAnnotation: TypeAnnotation | undefined, block: FunctionBlock, rangeWithTrivia: Range | undefined);
988
1012
  }
989
1013
  export declare class FunctionBlockLiteral extends BaseNode {
990
1014
  readonly kind = NodeKind.FunctionBlockLiteral;
991
1015
  readonly children: readonly [
992
1016
  FunctionBlock
993
1017
  ];
1018
+ get parent(): ExpressionParent;
994
1019
  get block(): FunctionBlock;
995
1020
  protected get thisAsNode(): Node;
996
- constructor(block: FunctionBlock);
997
- toRed(rangeStart: number, parent: red.ExpressionParent): red.FunctionBlockLiteral;
1021
+ constructor(block: FunctionBlock, rangeWithTrivia: Range | undefined);
998
1022
  }
999
1023
  export type ArgumentListElement = Argument | Comma;
1024
+ export type ArgumentListParent = CallExpression | AutotypeCallExpression | Tag | IndexedAccessExpression;
1000
1025
  export declare class ArgumentList extends BaseNode {
1001
1026
  readonly kind = NodeKind.ArgumentList;
1002
1027
  readonly children: readonly ArgumentListElement[];
1028
+ get parent(): ArgumentListParent;
1003
1029
  get elements(): readonly ArgumentListElement[];
1030
+ get arguments(): Query<Argument>;
1004
1031
  protected get thisAsNode(): Node;
1005
- constructor(elements: readonly ArgumentListElement[]);
1006
- toRed(rangeStart: number, parent: red.ArgumentListParent): red.ArgumentList;
1032
+ constructor(elements: readonly ArgumentListElement[], rangeWithTrivia: Range | undefined);
1007
1033
  }
1008
1034
  export declare class CallExpression extends BaseNode {
1009
1035
  readonly kind = NodeKind.CallExpression;
@@ -1013,13 +1039,13 @@ export declare class CallExpression extends BaseNode {
1013
1039
  ArgumentList,
1014
1040
  Token<TokenKind.CloseParenthesis>
1015
1041
  ];
1042
+ get parent(): ExpressionParent;
1016
1043
  get expression(): Expression;
1017
1044
  get openParenthesisToken(): Token<TokenKind.OpenParenthesis>;
1018
1045
  get argumentList(): ArgumentList;
1019
1046
  get closeParenthesisToken(): Token<TokenKind.CloseParenthesis>;
1020
1047
  protected get thisAsNode(): Node;
1021
- constructor(expression: Expression, openParenthesisToken: Token<TokenKind.OpenParenthesis>, argumentList: ArgumentList, closeParenthesisToken: Token<TokenKind.CloseParenthesis>);
1022
- toRed(rangeStart: number, parent: red.ExpressionParent): red.CallExpression;
1048
+ constructor(expression: Expression, openParenthesisToken: Token<TokenKind.OpenParenthesis>, argumentList: ArgumentList, closeParenthesisToken: Token<TokenKind.CloseParenthesis>, rangeWithTrivia: Range | undefined);
1023
1049
  }
1024
1050
  export declare class AutotypeCallExpression extends BaseNode {
1025
1051
  readonly kind = NodeKind.AutotypeCallExpression;
@@ -1029,13 +1055,13 @@ export declare class AutotypeCallExpression extends BaseNode {
1029
1055
  ArgumentList,
1030
1056
  Token<TokenKind.CloseParenthesis>
1031
1057
  ];
1058
+ get parent(): ExpressionParent;
1032
1059
  get autotypeKeyword(): Keyword<KeywordKind.Autotype>;
1033
1060
  get openParenthesisToken(): Token<TokenKind.OpenParenthesis>;
1034
1061
  get argumentList(): ArgumentList;
1035
1062
  get closeParenthesisToken(): Token<TokenKind.CloseParenthesis>;
1036
1063
  protected get thisAsNode(): Node;
1037
- constructor(autotypeKeyword: Keyword<KeywordKind.Autotype>, openParenthesisToken: Token<TokenKind.OpenParenthesis>, argumentList: ArgumentList, closeParenthesisToken: Token<TokenKind.CloseParenthesis>);
1038
- toRed(rangeStart: number, parent: red.ExpressionParent): red.AutotypeCallExpression;
1064
+ constructor(autotypeKeyword: Keyword<KeywordKind.Autotype>, openParenthesisToken: Token<TokenKind.OpenParenthesis>, argumentList: ArgumentList, closeParenthesisToken: Token<TokenKind.CloseParenthesis>, rangeWithTrivia: Range | undefined);
1039
1065
  }
1040
1066
  export declare class IndexedAccessExpression extends BaseNode {
1041
1067
  readonly kind = NodeKind.IndexedAccessExpression;
@@ -1045,20 +1071,20 @@ export declare class IndexedAccessExpression extends BaseNode {
1045
1071
  ArgumentList,
1046
1072
  Token<TokenKind.CloseSquareBracket>
1047
1073
  ];
1074
+ get parent(): ExpressionParent;
1048
1075
  get expression(): Expression;
1049
1076
  get openSquareBracketToken(): Token<TokenKind.OpenSquareBracket>;
1050
1077
  get argumentList(): ArgumentList;
1051
1078
  get closeSquareBracketToken(): Token<TokenKind.CloseSquareBracket>;
1052
1079
  protected get thisAsNode(): Node;
1053
- constructor(expression: Expression, openSquareBracketToken: Token<TokenKind.OpenSquareBracket>, argumentList: ArgumentList, closeSquareBracketToken: Token<TokenKind.CloseSquareBracket>);
1054
- toRed(rangeStart: number, parent: red.ExpressionParent): red.IndexedAccessExpression;
1080
+ constructor(expression: Expression, openSquareBracketToken: Token<TokenKind.OpenSquareBracket>, argumentList: ArgumentList, closeSquareBracketToken: Token<TokenKind.CloseSquareBracket>, rangeWithTrivia: Range | undefined);
1055
1081
  }
1056
1082
  export declare class MissingExpression extends BaseNode {
1057
1083
  readonly kind = NodeKind.MissingExpression;
1058
- readonly children: never[];
1084
+ get children(): readonly [];
1085
+ get parent(): ExpressionParent;
1059
1086
  protected get thisAsNode(): Node;
1060
- constructor();
1061
- toRed(rangeStart: number, parent: red.ExpressionParent): red.MissingExpression;
1087
+ constructor(rangeWithTrivia: Range | undefined);
1062
1088
  }
1063
1089
  export declare class IsExpression extends BaseNode {
1064
1090
  readonly kind = NodeKind.IsExpression;
@@ -1067,12 +1093,12 @@ export declare class IsExpression extends BaseNode {
1067
1093
  Keyword<KeywordKind.Is>,
1068
1094
  TypeSpecifier
1069
1095
  ];
1096
+ get parent(): ExpressionParent;
1070
1097
  get expression(): Expression;
1071
1098
  get isKeyword(): Keyword<KeywordKind.Is>;
1072
1099
  get typeSpecifier(): TypeSpecifier;
1073
1100
  protected get thisAsNode(): Node;
1074
- constructor(expression: Expression, isKeyword: Keyword<KeywordKind.Is>, typeSpecifier: TypeSpecifier);
1075
- toRed(rangeStart: number, parent: red.ExpressionParent): red.IsExpression;
1101
+ constructor(expression: Expression, isKeyword: Keyword<KeywordKind.Is>, typeSpecifier: TypeSpecifier, rangeWithTrivia: Range | undefined);
1076
1102
  }
1077
1103
  export declare class ParenthesizedExpression extends BaseNode {
1078
1104
  readonly kind = NodeKind.ParenthesizedExpression;
@@ -1081,12 +1107,12 @@ export declare class ParenthesizedExpression extends BaseNode {
1081
1107
  Expression,
1082
1108
  Token<TokenKind.CloseParenthesis>
1083
1109
  ];
1110
+ get parent(): ExpressionParent;
1084
1111
  get openParenthesisToken(): Token<TokenKind.OpenParenthesis>;
1085
1112
  get expression(): Expression;
1086
1113
  get closeParenthesisToken(): Token<TokenKind.CloseParenthesis>;
1087
1114
  protected get thisAsNode(): Node;
1088
- constructor(openParenthesisToken: Token<TokenKind.OpenParenthesis>, expression: Expression, closeParenthesisToken: Token<TokenKind.CloseParenthesis>);
1089
- toRed(rangeStart: number, parent: red.ExpressionParent): red.ParenthesizedExpression;
1115
+ constructor(openParenthesisToken: Token<TokenKind.OpenParenthesis>, expression: Expression, closeParenthesisToken: Token<TokenKind.CloseParenthesis>, rangeWithTrivia: Range | undefined);
1090
1116
  }
1091
1117
  export declare class ConditionalExpression extends BaseNode {
1092
1118
  readonly kind = NodeKind.ConditionalExpression;
@@ -1100,6 +1126,7 @@ export declare class ConditionalExpression extends BaseNode {
1100
1126
  Expression | undefined,
1101
1127
  Token<TokenKind.CloseParenthesis>
1102
1128
  ];
1129
+ get parent(): ExpressionParent;
1103
1130
  get condKeyword(): Keyword<KeywordKind.Cond>;
1104
1131
  get openParenthesisToken(): Token<TokenKind.OpenParenthesis>;
1105
1132
  get condition(): Expression;
@@ -1109,8 +1136,7 @@ export declare class ConditionalExpression extends BaseNode {
1109
1136
  get secondExpression(): Expression | undefined;
1110
1137
  get closeParenthesisToken(): Token<TokenKind.CloseParenthesis>;
1111
1138
  protected get thisAsNode(): Node;
1112
- constructor(condKeyword: Keyword<KeywordKind.Cond>, openParenthesisToken: Token<TokenKind.OpenParenthesis>, condition: Expression, firstComma: Comma, firstExpression: Expression, secondComma: Comma | undefined, secondExpression: Expression | undefined, closeParenthesisToken: Token<TokenKind.CloseParenthesis>);
1113
- toRed(rangeStart: number, parent: red.ExpressionParent): red.ConditionalExpression;
1139
+ constructor(condKeyword: Keyword<KeywordKind.Cond>, openParenthesisToken: Token<TokenKind.OpenParenthesis>, condition: Expression, firstComma: Comma, firstExpression: Expression, secondComma: Comma | undefined, secondExpression: Expression | undefined, closeParenthesisToken: Token<TokenKind.CloseParenthesis>, rangeWithTrivia: Range | undefined);
1114
1140
  }
1115
1141
  export declare class PrefixUnaryExpression extends BaseNode {
1116
1142
  readonly kind = NodeKind.PrefixUnaryExpression;
@@ -1118,11 +1144,11 @@ export declare class PrefixUnaryExpression extends BaseNode {
1118
1144
  PrefixUnaryExpressionOperator,
1119
1145
  Expression
1120
1146
  ];
1147
+ get parent(): ExpressionParent;
1121
1148
  get operator(): PrefixUnaryExpressionOperator;
1122
1149
  get operand(): Expression;
1123
1150
  protected get thisAsNode(): Node;
1124
- constructor(operator: PrefixUnaryExpressionOperator, operand: Expression);
1125
- toRed(rangeStart: number, parent: red.ExpressionParent): red.PrefixUnaryExpression;
1151
+ constructor(operator: PrefixUnaryExpressionOperator, operand: Expression, rangeWithTrivia: Range | undefined);
1126
1152
  }
1127
1153
  export type PrefixUnaryExpressionOperator = Token<TokenKind.Plus> | Token<TokenKind.Minus> | Keyword<KeywordKind.Not>;
1128
1154
  export declare class MemberAccessExpression extends BaseNode {
@@ -1132,12 +1158,12 @@ export declare class MemberAccessExpression extends BaseNode {
1132
1158
  Token<TokenKind.Dot>,
1133
1159
  Identifier
1134
1160
  ];
1161
+ get parent(): ExpressionParent;
1135
1162
  get expression(): Expression;
1136
1163
  get dotToken(): Token<TokenKind.Dot>;
1137
1164
  get memberName(): Identifier;
1138
1165
  protected get thisAsNode(): Node;
1139
- constructor(expression: Expression, dotToken: Token<TokenKind.Dot>, memberName: Identifier);
1140
- toRed(rangeStart: number, parent: red.ExpressionParent): red.MemberAccessExpression;
1166
+ constructor(expression: Expression, dotToken: Token<TokenKind.Dot>, memberName: Identifier, rangeWithTrivia: Range | undefined);
1141
1167
  }
1142
1168
  export declare class ReferenceExpression extends BaseNode {
1143
1169
  readonly kind = NodeKind.ReferenceExpression;
@@ -1147,13 +1173,13 @@ export declare class ReferenceExpression extends BaseNode {
1147
1173
  Expression,
1148
1174
  Token<TokenKind.CloseParenthesis>
1149
1175
  ];
1176
+ get parent(): ExpressionParent;
1150
1177
  get referenceKeyword(): Keyword<KeywordKind.Reference>;
1151
1178
  get openParenthesisToken(): Token<TokenKind.OpenParenthesis>;
1152
1179
  get expression(): Expression;
1153
1180
  get closeParenthesisToken(): Token<TokenKind.CloseParenthesis>;
1154
1181
  protected get thisAsNode(): Node;
1155
- constructor(referenceKeyword: Keyword<KeywordKind.Reference>, openParenthesisToken: Token<TokenKind.OpenParenthesis>, expression: Expression, closeParenthesisToken: Token<TokenKind.CloseParenthesis>);
1156
- toRed(rangeStart: number, parent: red.ExpressionParent): red.ReferenceExpression;
1182
+ constructor(referenceKeyword: Keyword<KeywordKind.Reference>, openParenthesisToken: Token<TokenKind.OpenParenthesis>, expression: Expression, closeParenthesisToken: Token<TokenKind.CloseParenthesis>, rangeWithTrivia: Range | undefined);
1157
1183
  }
1158
1184
  export declare class DereferenceExpression extends BaseNode {
1159
1185
  readonly kind = NodeKind.DereferenceExpression;
@@ -1161,11 +1187,11 @@ export declare class DereferenceExpression extends BaseNode {
1161
1187
  Expression,
1162
1188
  Token<TokenKind.Caret>
1163
1189
  ];
1190
+ get parent(): ExpressionParent;
1164
1191
  get expression(): Expression;
1165
1192
  get caretToken(): Token<TokenKind.Caret>;
1166
1193
  protected get thisAsNode(): Node;
1167
- constructor(expression: Expression, caretToken: Token<TokenKind.Caret>);
1168
- toRed(rangeStart: number, parent: red.ExpressionParent): red.DereferenceExpression;
1194
+ constructor(expression: Expression, caretToken: Token<TokenKind.Caret>, rangeWithTrivia: Range | undefined);
1169
1195
  }
1170
1196
  export declare class TextTemplateLiteral extends BaseNode {
1171
1197
  readonly kind = NodeKind.TextTemplateLiteral;
@@ -1173,11 +1199,11 @@ export declare class TextTemplateLiteral extends BaseNode {
1173
1199
  TextTemplateHead,
1174
1200
  TextTemplateSpanList
1175
1201
  ];
1202
+ get parent(): ExpressionParent;
1176
1203
  get head(): TextTemplateHead;
1177
1204
  get spanList(): TextTemplateSpanList;
1178
1205
  protected get thisAsNode(): Node;
1179
- constructor(head: TextTemplateHead, spanList: TextTemplateSpanList);
1180
- toRed(rangeStart: number, parent: red.ExpressionParent): red.TextTemplateLiteral;
1206
+ constructor(head: TextTemplateHead, spanList: TextTemplateSpanList, rangeWithTrivia: Range | undefined);
1181
1207
  }
1182
1208
  export declare class LocalizableTextTemplateLiteral extends BaseNode {
1183
1209
  readonly kind = NodeKind.LocalizableTextTemplateLiteral;
@@ -1185,19 +1211,20 @@ export declare class LocalizableTextTemplateLiteral extends BaseNode {
1185
1211
  TextTemplateHead,
1186
1212
  TextTemplateSpanList
1187
1213
  ];
1214
+ get parent(): ExpressionParent;
1188
1215
  get head(): TextTemplateHead;
1189
1216
  get spanList(): TextTemplateSpanList;
1190
1217
  protected get thisAsNode(): Node;
1191
- constructor(head: TextTemplateHead, spanList: TextTemplateSpanList);
1192
- toRed(rangeStart: number, parent: red.ExpressionParent): red.LocalizableTextTemplateLiteral;
1218
+ constructor(head: TextTemplateHead, spanList: TextTemplateSpanList, rangeWithTrivia: Range | undefined);
1193
1219
  }
1220
+ export type TextTemplateSpanListParent = TextTemplateLiteral | LocalizableTextTemplateLiteral;
1194
1221
  export declare class TextTemplateSpanList extends BaseNode {
1195
1222
  readonly kind = NodeKind.TextTemplateSpanList;
1196
1223
  readonly children: readonly TextTemplateSpan[];
1224
+ get parent(): TextTemplateSpanListParent;
1197
1225
  get spans(): readonly TextTemplateSpan[];
1198
1226
  protected get thisAsNode(): Node;
1199
- constructor(spans: readonly TextTemplateSpan[]);
1200
- toRed(rangeStart: number, parent: red.TextTemplateSpanListParent): red.TextTemplateSpanList;
1227
+ constructor(spans: readonly TextTemplateSpan[], rangeWithTrivia: Range | undefined);
1201
1228
  }
1202
1229
  export type TextTemplateHead = Token<TokenKind.TextTemplateHead>;
1203
1230
  export type TextTemplatePart = Token<TokenKind.TextTemplatePart>;
@@ -1208,21 +1235,21 @@ export declare class TextTemplateSpan extends BaseNode {
1208
1235
  Expression,
1209
1236
  TextTemplatePart | TextTemplateTail
1210
1237
  ];
1238
+ get parent(): TextTemplateSpanList;
1211
1239
  get expression(): Expression;
1212
1240
  get text(): TextTemplatePart | TextTemplateTail;
1213
1241
  protected get thisAsNode(): Node;
1214
- constructor(expression: Expression, text: TextTemplatePart | TextTemplateTail);
1215
- toRed(rangeStart: number, parent: red.TextTemplateSpanParent): red.TextTemplateSpan;
1242
+ constructor(expression: Expression, text: TextTemplatePart | TextTemplateTail, rangeWithTrivia: Range | undefined);
1216
1243
  }
1217
1244
  export declare class TokenExpression extends BaseNode {
1218
1245
  readonly kind = NodeKind.TokenExpression;
1219
1246
  readonly children: readonly [
1220
1247
  TokenExpressionToken
1221
1248
  ];
1249
+ get parent(): ExpressionParent;
1222
1250
  get token(): TokenExpressionToken;
1223
1251
  protected get thisAsNode(): Node;
1224
- constructor(token: TokenExpressionToken);
1225
- toRed(rangeStart: number, parent: red.ExpressionParent): red.TokenExpression;
1252
+ constructor(token: TokenExpressionToken, rangeWithTrivia: Range | undefined);
1226
1253
  }
1227
1254
  export type TokenExpressionToken = Token<TokenKind.CharLiteral> | Token<TokenKind.IntegerLiteral> | Token<TokenKind.RealLiteral> | Token<TokenKind.MeasureLiteral>;
1228
1255
  export declare class TextLiteral extends BaseNode {
@@ -1230,30 +1257,30 @@ export declare class TextLiteral extends BaseNode {
1230
1257
  readonly children: readonly [
1231
1258
  Token<TokenKind.TextLiteral>
1232
1259
  ];
1260
+ get parent(): ExpressionParent;
1233
1261
  get text(): Token<TokenKind.TextLiteral>;
1234
1262
  protected get thisAsNode(): Node;
1235
- constructor(text: Token<TokenKind.TextLiteral>);
1236
- toRed(rangeStart: number, parent: red.ExpressionParent): red.TextLiteral;
1263
+ constructor(text: Token<TokenKind.TextLiteral>, rangeWithTrivia: Range | undefined);
1237
1264
  }
1238
1265
  export declare class LocalizableTextLiteral extends BaseNode {
1239
1266
  readonly kind = NodeKind.LocalizableTextLiteral;
1240
1267
  readonly children: readonly [
1241
1268
  Token<TokenKind.TextLiteral>
1242
1269
  ];
1270
+ get parent(): ExpressionParent;
1243
1271
  get text(): Token<TokenKind.TextLiteral>;
1244
1272
  protected get thisAsNode(): Node;
1245
- constructor(text: Token<TokenKind.TextLiteral>);
1246
- toRed(rangeStart: number, parent: red.ExpressionParent): red.LocalizableTextLiteral;
1273
+ constructor(text: Token<TokenKind.TextLiteral>, rangeWithTrivia: Range | undefined);
1247
1274
  }
1248
1275
  export declare class KeywordExpression extends BaseNode {
1249
1276
  readonly kind = NodeKind.KeywordExpression;
1250
1277
  readonly children: readonly [
1251
1278
  KeywordExpressionKeyword
1252
1279
  ];
1280
+ get parent(): ExpressionParent;
1253
1281
  get keyword(): KeywordExpressionKeyword;
1254
1282
  protected get thisAsNode(): Node;
1255
- constructor(keyword: KeywordExpressionKeyword);
1256
- toRed(rangeStart: number, parent: red.ExpressionParent): red.KeywordExpression;
1283
+ constructor(keyword: KeywordExpressionKeyword, rangeWithTrivia: Range | undefined);
1257
1284
  }
1258
1285
  export type KeywordExpressionKeyword = Keyword<KeywordKind.Yes> | Keyword<KeywordKind.No> | Keyword<KeywordKind.Null>;
1259
1286
  export declare class ObjectExpression extends BaseNode {
@@ -1261,30 +1288,30 @@ export declare class ObjectExpression extends BaseNode {
1261
1288
  readonly children: readonly [
1262
1289
  Keyword<KeywordKind.Object>
1263
1290
  ];
1291
+ get parent(): ExpressionParent;
1264
1292
  get keyword(): Keyword<KeywordKind.Object>;
1265
1293
  protected get thisAsNode(): Node;
1266
- constructor(keyword: Keyword<KeywordKind.Object>);
1267
- toRed(rangeStart: number, parent: red.ExpressionParent): red.ObjectExpression;
1294
+ constructor(keyword: Keyword<KeywordKind.Object>, rangeWithTrivia: Range | undefined);
1268
1295
  }
1269
1296
  export declare class BaseExpression extends BaseNode {
1270
1297
  readonly kind = NodeKind.BaseExpression;
1271
1298
  readonly children: readonly [
1272
1299
  Keyword<KeywordKind.Base>
1273
1300
  ];
1301
+ get parent(): ExpressionParent;
1274
1302
  get keyword(): Keyword<KeywordKind.Base>;
1275
1303
  protected get thisAsNode(): Node;
1276
- constructor(keyword: Keyword<KeywordKind.Base>);
1277
- toRed(rangeStart: number, parent: red.ExpressionParent): red.BaseExpression;
1304
+ constructor(keyword: Keyword<KeywordKind.Base>, rangeWithTrivia: Range | undefined);
1278
1305
  }
1279
1306
  export declare class IdentifierExpression extends BaseNode {
1280
1307
  readonly kind = NodeKind.IdentifierExpression;
1281
1308
  readonly children: readonly [
1282
1309
  Identifier
1283
1310
  ];
1311
+ get parent(): ExpressionParent;
1284
1312
  get identifier(): Identifier;
1285
1313
  protected get thisAsNode(): Node;
1286
- constructor(identifier: Identifier);
1287
- toRed(rangeStart: number, parent: red.ExpressionParent): red.IdentifierExpression;
1314
+ constructor(identifier: Identifier, rangeWithTrivia: Range | undefined);
1288
1315
  }
1289
1316
  export declare class GenericSpecializationExpression extends BaseNode {
1290
1317
  readonly kind = NodeKind.GenericSpecializationExpression;
@@ -1292,23 +1319,23 @@ export declare class GenericSpecializationExpression extends BaseNode {
1292
1319
  Expression,
1293
1320
  TypeArgumentClause
1294
1321
  ];
1322
+ get parent(): ExpressionParent;
1295
1323
  get expression(): Expression;
1296
1324
  get typeArgumentClause(): TypeArgumentClause;
1297
1325
  protected get thisAsNode(): Node;
1298
- constructor(expression: Expression, typeArgumentClause: TypeArgumentClause);
1299
- toRed(rangeStart: number, parent: red.ExpressionParent): red.GenericSpecializationExpression;
1326
+ constructor(expression: Expression, typeArgumentClause: TypeArgumentClause, rangeWithTrivia: Range | undefined);
1300
1327
  }
1301
1328
  export declare class DefaultMatchExpression extends BaseNode {
1302
1329
  readonly kind = NodeKind.DefaultMatchExpression;
1303
1330
  readonly children: readonly [
1304
1331
  Token<TokenKind.Asterisk>
1305
1332
  ];
1333
+ get parent(): ExpressionParent;
1306
1334
  get asteriskToken(): Token<TokenKind.Asterisk>;
1307
1335
  protected get thisAsNode(): Node;
1308
- constructor(asteriskToken: Token<TokenKind.Asterisk>);
1309
- toRed(rangeStart: number, parent: red.ExpressionParent): red.DefaultMatchExpression;
1336
+ constructor(asteriskToken: Token<TokenKind.Asterisk>, rangeWithTrivia: Range | undefined);
1310
1337
  }
1311
- export type Statement = RunStatement | TryStatement | EmptyStatement | IfStatement | ForStatement | WhileStatement | LoopStatement | ReturnStatement | ErrorStatement | LocalVariableDeclarationStatement | AssignmentStatement | YieldStatement | MissingStatement | ImportantStatement | ExpressionStatement | SwitchStatement | BreakLoopStatement | ContinueLoopStatement | NestedFunctionDeclarationStatement | DisposeStatement;
1338
+ export type Statement = AssignmentStatement | RunStatement | TryStatement | EmptyStatement | IfStatement | ForStatement | WhileStatement | LoopStatement | ReturnStatement | ErrorStatement | LocalVariableDeclarationStatement | YieldStatement | MissingStatement | ImportantStatement | ExpressionStatement | SwitchStatement | BreakLoopStatement | ContinueLoopStatement | DisposeStatement | NestedFunctionDeclarationStatement;
1312
1339
  export declare class AssignmentStatement extends BaseNode {
1313
1340
  readonly kind = NodeKind.AssignmentStatement;
1314
1341
  readonly children: readonly [
@@ -1316,23 +1343,26 @@ export declare class AssignmentStatement extends BaseNode {
1316
1343
  AssignmentStatementOperator,
1317
1344
  Expression
1318
1345
  ];
1346
+ get parent(): StatementList;
1319
1347
  get left(): Expression;
1320
1348
  get operator(): AssignmentStatementOperator;
1321
1349
  get right(): Expression;
1322
1350
  protected get thisAsNode(): Node;
1323
- constructor(left: Expression, operator: AssignmentStatementOperator, right: Expression);
1324
- toRed(rangeStart: number, parent: red.StatementParent): red.AssignmentStatement;
1351
+ constructor(left: Expression, operator: AssignmentStatementOperator, right: Expression, rangeWithTrivia: Range | undefined);
1325
1352
  }
1326
1353
  export type AssignmentStatementOperator = Token<TokenKind.Equals> | Token<TokenKind.PlusEquals> | Token<TokenKind.MinusEquals> | Token<TokenKind.AsteriskEquals> | Token<TokenKind.SlashEquals> | Token<TokenKind.BackslashEquals>;
1354
+ export type StatementListParent = FunctionBlock | StatementBlock;
1327
1355
  export type StatementListElement = Statement | Semicolon;
1328
1356
  export declare class StatementList extends BaseNode {
1329
1357
  readonly kind = NodeKind.StatementList;
1330
1358
  readonly children: readonly StatementListElement[];
1359
+ get parent(): StatementListParent;
1331
1360
  get elements(): readonly StatementListElement[];
1361
+ get statements(): Query<Statement>;
1332
1362
  protected get thisAsNode(): Node;
1333
- constructor(elements: readonly StatementListElement[]);
1334
- toRed(rangeStart: number, parent: red.StatementListParent): red.StatementList;
1363
+ constructor(elements: readonly StatementListElement[], rangeWithTrivia: Range | undefined);
1335
1364
  }
1365
+ export type StatementBlockParent = IfStatement | ElseIfClause | ElseClause | RunStatement | TryStatement | CatchClause | FinallyClause | ForStatement | LoopStatement | CaseClause | WhileStatement;
1336
1366
  export declare class StatementBlock extends BaseNode {
1337
1367
  readonly kind = NodeKind.StatementBlock;
1338
1368
  readonly children: readonly [
@@ -1340,13 +1370,14 @@ export declare class StatementBlock extends BaseNode {
1340
1370
  StatementList,
1341
1371
  Token<TokenKind.CloseBrace>
1342
1372
  ];
1373
+ get parent(): StatementBlockParent;
1343
1374
  get openBraceToken(): Token<TokenKind.OpenBrace>;
1344
1375
  get statementList(): StatementList;
1345
1376
  get closeBraceToken(): Token<TokenKind.CloseBrace>;
1346
1377
  protected get thisAsNode(): Node;
1347
- constructor(openBraceToken: Token<TokenKind.OpenBrace>, statementList: StatementList, closeBraceToken: Token<TokenKind.CloseBrace>);
1348
- toRed(rangeStart: number, parent: red.StatementBlockParent): red.StatementBlock;
1378
+ constructor(openBraceToken: Token<TokenKind.OpenBrace>, statementList: StatementList, closeBraceToken: Token<TokenKind.CloseBrace>, rangeWithTrivia: Range | undefined);
1349
1379
  }
1380
+ export type FunctionBlockParent = PackageVariableGetterDeclaration | PackageVariableSetterDeclaration | PackageFunctionDeclaration | FieldGetterDeclaration | FieldSetterDeclaration | IndexedElementGetterDeclaration | IndexedElementSetterDeclaration | DereferencedVariableGetterDeclaration | DereferencedVariableSetterDeclaration | MethodDeclaration | OperatorDeclaration | NestedFunctionDeclaration | FunctionLiteral | FunctionBlockLiteral | PackageConstructorDeclaration | PackageEntryPointDeclaration | ConstructorDeclaration | DestructorDeclaration;
1350
1381
  export type ExpressionOrStatementList = Expression | StatementList;
1351
1382
  export declare class FunctionBlock extends BaseNode {
1352
1383
  readonly kind = NodeKind.FunctionBlock;
@@ -1355,32 +1386,32 @@ export declare class FunctionBlock extends BaseNode {
1355
1386
  ExpressionOrStatementList,
1356
1387
  Token<TokenKind.CloseBrace>
1357
1388
  ];
1389
+ get parent(): FunctionBlockParent;
1358
1390
  get openBraceToken(): Token<TokenKind.OpenBrace>;
1359
1391
  get expressionOrStatementList(): ExpressionOrStatementList;
1360
1392
  get closeBraceToken(): Token<TokenKind.CloseBrace>;
1361
1393
  protected get thisAsNode(): Node;
1362
- constructor(openBraceToken: Token<TokenKind.OpenBrace>, expressionOrStatementList: ExpressionOrStatementList, closeBraceToken: Token<TokenKind.CloseBrace>);
1363
- toRed(rangeStart: number, parent: red.FunctionBlockParent): red.FunctionBlock;
1394
+ constructor(openBraceToken: Token<TokenKind.OpenBrace>, expressionOrStatementList: ExpressionOrStatementList, closeBraceToken: Token<TokenKind.CloseBrace>, rangeWithTrivia: Range | undefined);
1364
1395
  }
1365
1396
  export declare class BreakLoopStatement extends BaseNode {
1366
1397
  readonly kind = NodeKind.BreakLoopStatement;
1367
1398
  readonly children: readonly [
1368
1399
  Keyword<KeywordKind.BreakLoop>
1369
1400
  ];
1401
+ get parent(): StatementList;
1370
1402
  get breakLoopKeyword(): Keyword<KeywordKind.BreakLoop>;
1371
1403
  protected get thisAsNode(): Node;
1372
- constructor(breakLoopKeyword: Keyword<KeywordKind.BreakLoop>);
1373
- toRed(rangeStart: number, parent: red.StatementParent): red.BreakLoopStatement;
1404
+ constructor(breakLoopKeyword: Keyword<KeywordKind.BreakLoop>, rangeWithTrivia: Range | undefined);
1374
1405
  }
1375
1406
  export declare class ContinueLoopStatement extends BaseNode {
1376
1407
  readonly kind = NodeKind.ContinueLoopStatement;
1377
1408
  readonly children: readonly [
1378
1409
  Keyword<KeywordKind.ContinueLoop>
1379
1410
  ];
1411
+ get parent(): StatementList;
1380
1412
  get continueLoopKeyword(): Keyword<KeywordKind.ContinueLoop>;
1381
1413
  protected get thisAsNode(): Node;
1382
- constructor(continueLoopKeyword: Keyword<KeywordKind.ContinueLoop>);
1383
- toRed(rangeStart: number, parent: red.StatementParent): red.ContinueLoopStatement;
1414
+ constructor(continueLoopKeyword: Keyword<KeywordKind.ContinueLoop>, rangeWithTrivia: Range | undefined);
1384
1415
  }
1385
1416
  export declare class DisposeStatement extends BaseNode {
1386
1417
  readonly kind = NodeKind.DisposeStatement;
@@ -1388,11 +1419,11 @@ export declare class DisposeStatement extends BaseNode {
1388
1419
  Keyword<KeywordKind.Dispose>,
1389
1420
  Expression
1390
1421
  ];
1422
+ get parent(): StatementList;
1391
1423
  get disposeKeyword(): Keyword<KeywordKind.Dispose>;
1392
1424
  get expression(): Expression;
1393
1425
  protected get thisAsNode(): Node;
1394
- constructor(disposeKeyword: Keyword<KeywordKind.Dispose>, expression: Expression);
1395
- toRed(rangeStart: number, parent: red.StatementParent): red.DisposeStatement;
1426
+ constructor(disposeKeyword: Keyword<KeywordKind.Dispose>, expression: Expression, rangeWithTrivia: Range | undefined);
1396
1427
  }
1397
1428
  export declare class RunStatement extends BaseNode {
1398
1429
  readonly kind = NodeKind.RunStatement;
@@ -1400,11 +1431,11 @@ export declare class RunStatement extends BaseNode {
1400
1431
  Keyword<KeywordKind.Run>,
1401
1432
  StatementBlock
1402
1433
  ];
1434
+ get parent(): StatementList;
1403
1435
  get runKeyword(): Keyword<KeywordKind.Run>;
1404
1436
  get block(): StatementBlock;
1405
1437
  protected get thisAsNode(): Node;
1406
- constructor(runKeyword: Keyword<KeywordKind.Run>, block: StatementBlock);
1407
- toRed(rangeStart: number, parent: red.StatementParent): red.RunStatement;
1438
+ constructor(runKeyword: Keyword<KeywordKind.Run>, block: StatementBlock, rangeWithTrivia: Range | undefined);
1408
1439
  }
1409
1440
  export declare class TryStatement extends BaseNode {
1410
1441
  readonly kind = NodeKind.TryStatement;
@@ -1414,13 +1445,13 @@ export declare class TryStatement extends BaseNode {
1414
1445
  CatchClause | undefined,
1415
1446
  FinallyClause | undefined
1416
1447
  ];
1448
+ get parent(): StatementList;
1417
1449
  get tryKeyword(): Keyword<KeywordKind.Try>;
1418
1450
  get block(): StatementBlock;
1419
1451
  get catchClause(): CatchClause | undefined;
1420
1452
  get finallyClause(): FinallyClause | undefined;
1421
1453
  protected get thisAsNode(): Node;
1422
- constructor(tryKeyword: Keyword<KeywordKind.Try>, block: StatementBlock, catchClause: CatchClause | undefined, finallyClause: FinallyClause | undefined);
1423
- toRed(rangeStart: number, parent: red.TryStatementParent): red.TryStatement;
1454
+ constructor(tryKeyword: Keyword<KeywordKind.Try>, block: StatementBlock, catchClause: CatchClause | undefined, finallyClause: FinallyClause | undefined, rangeWithTrivia: Range | undefined);
1424
1455
  }
1425
1456
  export declare class CatchClause extends BaseNode {
1426
1457
  readonly kind = NodeKind.CatchClause;
@@ -1429,12 +1460,12 @@ export declare class CatchClause extends BaseNode {
1429
1460
  ErrorVariableDeclaration | undefined,
1430
1461
  StatementBlock
1431
1462
  ];
1463
+ get parent(): TryStatement;
1432
1464
  get catchKeyword(): Keyword<KeywordKind.Catch>;
1433
1465
  get errorVariable(): ErrorVariableDeclaration | undefined;
1434
1466
  get block(): StatementBlock;
1435
1467
  protected get thisAsNode(): Node;
1436
- constructor(catchKeyword: Keyword<KeywordKind.Catch>, errorVariable: ErrorVariableDeclaration | undefined, block: StatementBlock);
1437
- toRed(rangeStart: number, parent: red.CatchClauseParent): red.CatchClause;
1468
+ constructor(catchKeyword: Keyword<KeywordKind.Catch>, errorVariable: ErrorVariableDeclaration | undefined, block: StatementBlock, rangeWithTrivia: Range | undefined);
1438
1469
  }
1439
1470
  export declare class ErrorVariableDeclaration extends BaseNode {
1440
1471
  readonly kind = NodeKind.ErrorVariableDeclaration;
@@ -1442,11 +1473,11 @@ export declare class ErrorVariableDeclaration extends BaseNode {
1442
1473
  Identifier,
1443
1474
  TypeAnnotation | undefined
1444
1475
  ];
1476
+ get parent(): CatchClause;
1445
1477
  get name(): Identifier;
1446
1478
  get typeAnnotation(): TypeAnnotation | undefined;
1447
1479
  protected get thisAsNode(): Node;
1448
- constructor(name: Identifier, typeAnnotation: TypeAnnotation | undefined);
1449
- toRed(rangeStart: number, parent: red.ErrorVariableDeclarationParent): red.ErrorVariableDeclaration;
1480
+ constructor(name: Identifier, typeAnnotation: TypeAnnotation | undefined, rangeWithTrivia: Range | undefined);
1450
1481
  }
1451
1482
  export declare class FinallyClause extends BaseNode {
1452
1483
  readonly kind = NodeKind.FinallyClause;
@@ -1454,21 +1485,21 @@ export declare class FinallyClause extends BaseNode {
1454
1485
  Keyword<KeywordKind.Finally>,
1455
1486
  StatementBlock
1456
1487
  ];
1488
+ get parent(): TryStatement;
1457
1489
  get finallyKeyword(): Keyword<KeywordKind.Finally>;
1458
1490
  get block(): StatementBlock;
1459
1491
  protected get thisAsNode(): Node;
1460
- constructor(finallyKeyword: Keyword<KeywordKind.Finally>, block: StatementBlock);
1461
- toRed(rangeStart: number, parent: red.FinallyClauseParent): red.FinallyClause;
1492
+ constructor(finallyKeyword: Keyword<KeywordKind.Finally>, block: StatementBlock, rangeWithTrivia: Range | undefined);
1462
1493
  }
1463
1494
  export declare class EmptyStatement extends BaseNode {
1464
1495
  readonly kind = NodeKind.EmptyStatement;
1465
1496
  readonly children: readonly [
1466
1497
  Semicolon
1467
1498
  ];
1499
+ get parent(): StatementList;
1468
1500
  get semicolonToken(): Semicolon;
1469
1501
  protected get thisAsNode(): Node;
1470
- constructor(semicolonToken: Semicolon);
1471
- toRed(rangeStart: number, parent: red.EmptyStatementParent): red.EmptyStatement;
1502
+ constructor(semicolonToken: Semicolon, rangeWithTrivia: Range | undefined);
1472
1503
  }
1473
1504
  export declare class ErrorStatement extends BaseNode {
1474
1505
  readonly kind = NodeKind.ErrorStatement;
@@ -1476,11 +1507,11 @@ export declare class ErrorStatement extends BaseNode {
1476
1507
  Keyword<KeywordKind.Error>,
1477
1508
  Expression
1478
1509
  ];
1510
+ get parent(): StatementList;
1479
1511
  get errorKeyword(): Keyword<KeywordKind.Error>;
1480
1512
  get expression(): Expression;
1481
1513
  protected get thisAsNode(): Node;
1482
- constructor(errorKeyword: Keyword<KeywordKind.Error>, expression: Expression);
1483
- toRed(rangeStart: number, parent: red.ErrorStatementParent): red.ErrorStatement;
1514
+ constructor(errorKeyword: Keyword<KeywordKind.Error>, expression: Expression, rangeWithTrivia: Range | undefined);
1484
1515
  }
1485
1516
  export declare class ImportantStatement extends BaseNode {
1486
1517
  readonly kind = NodeKind.ImportantStatement;
@@ -1488,30 +1519,31 @@ export declare class ImportantStatement extends BaseNode {
1488
1519
  Keyword<KeywordKind.Important>,
1489
1520
  Expression
1490
1521
  ];
1522
+ get parent(): StatementList;
1491
1523
  get importantKeyword(): Keyword<KeywordKind.Important>;
1492
1524
  get expression(): Expression;
1493
1525
  protected get thisAsNode(): Node;
1494
- constructor(importantKeyword: Keyword<KeywordKind.Important>, expression: Expression);
1495
- toRed(rangeStart: number, parent: red.ImportantStatementParent): red.ImportantStatement;
1526
+ constructor(importantKeyword: Keyword<KeywordKind.Important>, expression: Expression, rangeWithTrivia: Range | undefined);
1496
1527
  }
1497
1528
  export declare class ExpressionStatement extends BaseNode {
1498
1529
  readonly kind = NodeKind.ExpressionStatement;
1499
1530
  readonly children: readonly [
1500
1531
  Expression
1501
1532
  ];
1533
+ get parent(): StatementList;
1502
1534
  get expression(): Expression;
1503
1535
  protected get thisAsNode(): Node;
1504
- constructor(expression: Expression);
1505
- toRed(rangeStart: number, parent: red.ExpressionStatementParent): red.ExpressionStatement;
1536
+ constructor(expression: Expression, rangeWithTrivia: Range | undefined);
1506
1537
  }
1507
1538
  export type EnumerationVariableListElement = EnumerationVariableDeclaration | Comma;
1508
1539
  export declare class EnumerationVariableList extends BaseNode {
1509
1540
  readonly kind = NodeKind.EnumerationVariableList;
1510
1541
  readonly children: readonly EnumerationVariableListElement[];
1542
+ get parent(): ForStatement;
1511
1543
  get elements(): readonly EnumerationVariableListElement[];
1544
+ get enumerationVariables(): Query<EnumerationVariableDeclaration>;
1512
1545
  protected get thisAsNode(): Node;
1513
- constructor(elements: readonly EnumerationVariableListElement[]);
1514
- toRed(rangeStart: number, parent: red.EnumerationVariableListParent): red.EnumerationVariableList;
1546
+ constructor(elements: readonly EnumerationVariableListElement[], rangeWithTrivia: Range | undefined);
1515
1547
  }
1516
1548
  export declare class ForStatement extends BaseNode {
1517
1549
  readonly kind = NodeKind.ForStatement;
@@ -1522,14 +1554,14 @@ export declare class ForStatement extends BaseNode {
1522
1554
  Expression,
1523
1555
  StatementBlock
1524
1556
  ];
1557
+ get parent(): StatementList;
1525
1558
  get forKeyword(): Keyword<KeywordKind.For>;
1526
1559
  get enumerationVariableList(): EnumerationVariableList;
1527
1560
  get fromKeyword(): Keyword<KeywordKind.From>;
1528
1561
  get enumeratedExpression(): Expression;
1529
1562
  get block(): StatementBlock;
1530
1563
  protected get thisAsNode(): Node;
1531
- constructor(forKeyword: Keyword<KeywordKind.For>, enumerationVariableList: EnumerationVariableList, fromKeyword: Keyword<KeywordKind.From>, enumeratedExpression: Expression, block: StatementBlock);
1532
- toRed(rangeStart: number, parent: red.StatementParent): red.ForStatement;
1564
+ constructor(forKeyword: Keyword<KeywordKind.For>, enumerationVariableList: EnumerationVariableList, fromKeyword: Keyword<KeywordKind.From>, enumeratedExpression: Expression, block: StatementBlock, rangeWithTrivia: Range | undefined);
1533
1565
  }
1534
1566
  export declare class IfStatement extends BaseNode {
1535
1567
  readonly kind = NodeKind.IfStatement;
@@ -1540,22 +1572,22 @@ export declare class IfStatement extends BaseNode {
1540
1572
  ElseIfClauseList,
1541
1573
  ElseClause | undefined
1542
1574
  ];
1575
+ get parent(): StatementList;
1543
1576
  get ifKeyword(): Keyword<KeywordKind.If>;
1544
1577
  get condition(): Expression;
1545
1578
  get block(): StatementBlock;
1546
1579
  get elseIfClauseList(): ElseIfClauseList;
1547
1580
  get elseClause(): ElseClause | undefined;
1548
1581
  protected get thisAsNode(): Node;
1549
- constructor(ifKeyword: Keyword<KeywordKind.If>, condition: Expression, block: StatementBlock, elseIfClauseList: ElseIfClauseList, elseClause: ElseClause | undefined);
1550
- toRed(rangeStart: number, parent: red.StatementParent): red.IfStatement;
1582
+ constructor(ifKeyword: Keyword<KeywordKind.If>, condition: Expression, block: StatementBlock, elseIfClauseList: ElseIfClauseList, elseClause: ElseClause | undefined, rangeWithTrivia: Range | undefined);
1551
1583
  }
1552
1584
  export declare class ElseIfClauseList extends BaseNode {
1553
1585
  readonly kind = NodeKind.ElseIfClauseList;
1554
1586
  readonly children: readonly ElseIfClause[];
1587
+ get parent(): IfStatement;
1555
1588
  get elseIfClauses(): readonly ElseIfClause[];
1556
1589
  protected get thisAsNode(): Node;
1557
- constructor(elseIfClauses: readonly ElseIfClause[]);
1558
- toRed(rangeStart: number, parent: red.ElseIfClauseListParent): red.ElseIfClauseList;
1590
+ constructor(elseIfClauses: readonly ElseIfClause[], rangeWithTrivia: Range | undefined);
1559
1591
  }
1560
1592
  export declare class ElseIfClause extends BaseNode {
1561
1593
  readonly kind = NodeKind.ElseIfClause;
@@ -1564,12 +1596,12 @@ export declare class ElseIfClause extends BaseNode {
1564
1596
  Expression,
1565
1597
  StatementBlock
1566
1598
  ];
1599
+ get parent(): ElseIfClauseList;
1567
1600
  get elseIfKeyword(): Keyword<KeywordKind.ElseIf>;
1568
1601
  get condition(): Expression;
1569
1602
  get block(): StatementBlock;
1570
1603
  protected get thisAsNode(): Node;
1571
- constructor(elseIfKeyword: Keyword<KeywordKind.ElseIf>, condition: Expression, block: StatementBlock);
1572
- toRed(rangeStart: number, parent: red.ElseIfClauseParent): red.ElseIfClause;
1604
+ constructor(elseIfKeyword: Keyword<KeywordKind.ElseIf>, condition: Expression, block: StatementBlock, rangeWithTrivia: Range | undefined);
1573
1605
  }
1574
1606
  export declare class ElseClause extends BaseNode {
1575
1607
  readonly kind = NodeKind.ElseClause;
@@ -1577,38 +1609,28 @@ export declare class ElseClause extends BaseNode {
1577
1609
  Keyword<KeywordKind.Else>,
1578
1610
  StatementBlock
1579
1611
  ];
1612
+ get parent(): IfStatement;
1580
1613
  get elseKeyword(): Keyword<KeywordKind.Else>;
1581
1614
  get block(): StatementBlock;
1582
1615
  protected get thisAsNode(): Node;
1583
- constructor(elseKeyword: Keyword<KeywordKind.Else>, block: StatementBlock);
1584
- toRed(rangeStart: number, parent: red.ElseClauseParent): red.ElseClause;
1616
+ constructor(elseKeyword: Keyword<KeywordKind.Else>, block: StatementBlock, rangeWithTrivia: Range | undefined);
1585
1617
  }
1586
1618
  export declare class MissingStatement extends BaseNode {
1587
1619
  readonly kind = NodeKind.MissingStatement;
1588
- readonly children: never[];
1620
+ get children(): readonly [];
1621
+ get parent(): StatementList;
1589
1622
  protected get thisAsNode(): Node;
1590
- constructor();
1591
- toRed(rangeStart: number, parent: red.StatementParent): red.MissingStatement;
1592
- }
1593
- export declare class NestedFunctionDeclarationStatement extends BaseNode {
1594
- readonly kind = NodeKind.NestedFunctionDeclarationStatement;
1595
- readonly children: readonly [
1596
- NestedFunctionDeclaration
1597
- ];
1598
- get declaration(): NestedFunctionDeclaration;
1599
- protected get thisAsNode(): Node;
1600
- constructor(declaration: NestedFunctionDeclaration);
1601
- toRed(rangeStart: number, parent: red.StatementParent): red.NestedFunctionDeclarationStatement;
1623
+ constructor(rangeWithTrivia: Range | undefined);
1602
1624
  }
1603
1625
  export declare class LocalVariableDeclarationStatement extends BaseNode {
1604
1626
  readonly kind = NodeKind.LocalVariableDeclarationStatement;
1605
1627
  readonly children: readonly [
1606
1628
  LocalVariableDeclaration
1607
1629
  ];
1630
+ get parent(): StatementList;
1608
1631
  get declaration(): LocalVariableDeclaration;
1609
1632
  protected get thisAsNode(): Node;
1610
- constructor(declaration: LocalVariableDeclaration);
1611
- toRed(rangeStart: number, parent: red.StatementParent): red.LocalVariableDeclarationStatement;
1633
+ constructor(declaration: LocalVariableDeclaration, rangeWithTrivia: Range | undefined);
1612
1634
  }
1613
1635
  export declare class LoopStatement extends BaseNode {
1614
1636
  readonly kind = NodeKind.LoopStatement;
@@ -1618,13 +1640,13 @@ export declare class LoopStatement extends BaseNode {
1618
1640
  Keyword<KeywordKind.RepeatWhile> | undefined,
1619
1641
  Expression | undefined
1620
1642
  ];
1643
+ get parent(): StatementList;
1621
1644
  get loopKeyword(): Keyword<KeywordKind.Loop>;
1622
1645
  get block(): StatementBlock;
1623
1646
  get repeatWhileKeyword(): Keyword<KeywordKind.RepeatWhile> | undefined;
1624
1647
  get condition(): Expression | undefined;
1625
1648
  protected get thisAsNode(): Node;
1626
- constructor(loopKeyword: Keyword<KeywordKind.Loop>, block: StatementBlock, repeatWhileKeyword: Keyword<KeywordKind.RepeatWhile> | undefined, condition: Expression | undefined);
1627
- toRed(rangeStart: number, parent: red.StatementParent): red.LoopStatement;
1649
+ constructor(loopKeyword: Keyword<KeywordKind.Loop>, block: StatementBlock, repeatWhileKeyword: Keyword<KeywordKind.RepeatWhile> | undefined, condition: Expression | undefined, rangeWithTrivia: Range | undefined);
1628
1650
  }
1629
1651
  export declare class ReturnStatement extends BaseNode {
1630
1652
  readonly kind = NodeKind.ReturnStatement;
@@ -1632,19 +1654,19 @@ export declare class ReturnStatement extends BaseNode {
1632
1654
  Keyword<KeywordKind.Return>,
1633
1655
  Expression | undefined
1634
1656
  ];
1657
+ get parent(): StatementList;
1635
1658
  get returnKeyword(): Keyword<KeywordKind.Return>;
1636
1659
  get expression(): Expression | undefined;
1637
1660
  protected get thisAsNode(): Node;
1638
- constructor(returnKeyword: Keyword<KeywordKind.Return>, expression: Expression | undefined);
1639
- toRed(rangeStart: number, parent: red.StatementParent): red.ReturnStatement;
1661
+ constructor(returnKeyword: Keyword<KeywordKind.Return>, expression: Expression | undefined, rangeWithTrivia: Range | undefined);
1640
1662
  }
1641
1663
  export declare class CaseClauseList extends BaseNode {
1642
1664
  readonly kind = NodeKind.CaseClauseList;
1643
1665
  readonly children: readonly CaseClause[];
1666
+ get parent(): SwitchStatement;
1644
1667
  get caseClauses(): readonly CaseClause[];
1645
1668
  protected get thisAsNode(): Node;
1646
- constructor(caseClauses: readonly CaseClause[]);
1647
- toRed(rangeStart: number, parent: red.CaseClauseListParent): red.CaseClauseList;
1669
+ constructor(caseClauses: readonly CaseClause[], rangeWithTrivia: Range | undefined);
1648
1670
  }
1649
1671
  export declare class SwitchStatement extends BaseNode {
1650
1672
  readonly kind = NodeKind.SwitchStatement;
@@ -1653,20 +1675,21 @@ export declare class SwitchStatement extends BaseNode {
1653
1675
  Expression,
1654
1676
  CaseClauseList
1655
1677
  ];
1678
+ get parent(): StatementList;
1656
1679
  get switchKeyword(): Keyword<KeywordKind.Switch>;
1657
1680
  get expression(): Expression;
1658
1681
  get caseClauseList(): CaseClauseList;
1659
1682
  protected get thisAsNode(): Node;
1660
- constructor(switchKeyword: Keyword<KeywordKind.Switch>, expression: Expression, caseClauseList: CaseClauseList);
1661
- toRed(rangeStart: number, parent: red.SwitchStatementParent): red.SwitchStatement;
1683
+ constructor(switchKeyword: Keyword<KeywordKind.Switch>, expression: Expression, caseClauseList: CaseClauseList, rangeWithTrivia: Range | undefined);
1662
1684
  }
1663
1685
  export declare class MatchExpressionList extends BaseNode {
1664
1686
  readonly kind = NodeKind.MatchExpressionList;
1665
1687
  readonly children: readonly ExpressionListElement[];
1688
+ get parent(): CaseClause;
1666
1689
  get elements(): readonly ExpressionListElement[];
1690
+ get matchExpressions(): Query<Expression>;
1667
1691
  protected get thisAsNode(): Node;
1668
- constructor(elements: readonly ExpressionListElement[]);
1669
- toRed(rangeStart: number, parent: red.MatchExpressionListParent): red.MatchExpressionList;
1692
+ constructor(elements: readonly ExpressionListElement[], rangeWithTrivia: Range | undefined);
1670
1693
  }
1671
1694
  export declare class CaseClause extends BaseNode {
1672
1695
  readonly kind = NodeKind.CaseClause;
@@ -1675,12 +1698,12 @@ export declare class CaseClause extends BaseNode {
1675
1698
  MatchExpressionList,
1676
1699
  StatementBlock
1677
1700
  ];
1701
+ get parent(): CaseClauseList;
1678
1702
  get caseKeyword(): Keyword<KeywordKind.Case>;
1679
1703
  get matchExpressionList(): MatchExpressionList;
1680
1704
  get block(): StatementBlock;
1681
1705
  protected get thisAsNode(): Node;
1682
- constructor(caseKeyword: Keyword<KeywordKind.Case>, matchExpressionList: MatchExpressionList, block: StatementBlock);
1683
- toRed(rangeStart: number, parent: red.CaseClauseParent): red.CaseClause;
1706
+ constructor(caseKeyword: Keyword<KeywordKind.Case>, matchExpressionList: MatchExpressionList, block: StatementBlock, rangeWithTrivia: Range | undefined);
1684
1707
  }
1685
1708
  export declare class WhileStatement extends BaseNode {
1686
1709
  readonly kind = NodeKind.WhileStatement;
@@ -1689,12 +1712,12 @@ export declare class WhileStatement extends BaseNode {
1689
1712
  Expression,
1690
1713
  StatementBlock
1691
1714
  ];
1715
+ get parent(): StatementList;
1692
1716
  get whileKeyword(): Keyword<KeywordKind.While>;
1693
1717
  get condition(): Expression;
1694
1718
  get block(): StatementBlock;
1695
1719
  protected get thisAsNode(): Node;
1696
- constructor(whileKeyword: Keyword<KeywordKind.While>, condition: Expression, block: StatementBlock);
1697
- toRed(rangeStart: number, parent: red.StatementParent): red.WhileStatement;
1720
+ constructor(whileKeyword: Keyword<KeywordKind.While>, condition: Expression, block: StatementBlock, rangeWithTrivia: Range | undefined);
1698
1721
  }
1699
1722
  export declare class YieldStatement extends BaseNode {
1700
1723
  readonly kind = NodeKind.YieldStatement;
@@ -1702,11 +1725,21 @@ export declare class YieldStatement extends BaseNode {
1702
1725
  Keyword<KeywordKind.Yield>,
1703
1726
  Expression
1704
1727
  ];
1728
+ get parent(): StatementList;
1705
1729
  get yieldKeyword(): Keyword<KeywordKind.Yield>;
1706
1730
  get expression(): Expression;
1707
1731
  protected get thisAsNode(): Node;
1708
- constructor(yieldKeyword: Keyword<KeywordKind.Yield>, expression: Expression);
1709
- toRed(rangeStart: number, parent: red.StatementParent): red.YieldStatement;
1732
+ constructor(yieldKeyword: Keyword<KeywordKind.Yield>, expression: Expression, rangeWithTrivia: Range | undefined);
1733
+ }
1734
+ export declare class NestedFunctionDeclarationStatement extends BaseNode {
1735
+ readonly kind = NodeKind.NestedFunctionDeclarationStatement;
1736
+ readonly children: readonly [
1737
+ NestedFunctionDeclaration
1738
+ ];
1739
+ get parent(): StatementList;
1740
+ get declaration(): NestedFunctionDeclaration;
1741
+ protected get thisAsNode(): Node;
1742
+ constructor(declaration: NestedFunctionDeclaration, rangeWithTrivia: Range | undefined);
1710
1743
  }
1711
1744
  export declare class TranslationsDeclaration extends BaseNode {
1712
1745
  readonly kind = NodeKind.TranslationsDeclaration;
@@ -1718,6 +1751,7 @@ export declare class TranslationsDeclaration extends BaseNode {
1718
1751
  TopLevelTranslationList,
1719
1752
  Token<TokenKind.CloseBrace>
1720
1753
  ];
1754
+ get parent(): PackageMemberDeclarationList;
1721
1755
  get tagList(): TagList;
1722
1756
  get modifierList(): ModifierList;
1723
1757
  get translationsKeyword(): Keyword<KeywordKind.Translations>;
@@ -1725,27 +1759,30 @@ export declare class TranslationsDeclaration extends BaseNode {
1725
1759
  get translationList(): TopLevelTranslationList;
1726
1760
  get closeBraceToken(): Token<TokenKind.CloseBrace>;
1727
1761
  protected get thisAsNode(): Node;
1728
- constructor(tagList: TagList, modifierList: ModifierList, translationsKeyword: Keyword<KeywordKind.Translations>, openBraceToken: Token<TokenKind.OpenBrace>, translationList: TopLevelTranslationList, closeBraceToken: Token<TokenKind.CloseBrace>);
1729
- toRed(rangeStart: number, parent: red.PackageMemberDeclarationParent): red.TranslationsDeclaration;
1762
+ constructor(tagList: TagList, modifierList: ModifierList, translationsKeyword: Keyword<KeywordKind.Translations>, openBraceToken: Token<TokenKind.OpenBrace>, translationList: TopLevelTranslationList, closeBraceToken: Token<TokenKind.CloseBrace>, rangeWithTrivia: Range | undefined);
1730
1763
  }
1731
1764
  export type TopLevelTranslationListElement = TranslationDeclaration | Semicolon;
1732
1765
  export declare class TopLevelTranslationList extends BaseNode {
1733
1766
  readonly kind = NodeKind.TopLevelTranslationList;
1734
1767
  readonly children: readonly TopLevelTranslationListElement[];
1768
+ get parent(): TranslationsDeclaration;
1735
1769
  get elements(): readonly TopLevelTranslationListElement[];
1770
+ get translationDeclarations(): Query<TranslationDeclaration>;
1736
1771
  protected get thisAsNode(): Node;
1737
- constructor(elements: readonly TopLevelTranslationListElement[]);
1738
- toRed(rangeStart: number, parent: red.TopLevelTranslationListParent): red.TopLevelTranslationList;
1772
+ constructor(elements: readonly TopLevelTranslationListElement[], rangeWithTrivia: Range | undefined);
1739
1773
  }
1740
1774
  export type TranslationDeclaration = PackageImportTranslationDeclaration | PackageVariableTranslationDeclaration | PackageFunctionTranslationDeclaration | TypeTranslationDeclaration | FunctionTypeTranslationDeclaration | TextTranslationDeclaration;
1775
+ export type TranslationParameterListParent = TranslationParameterClause | IndexParameterTranslationClause;
1741
1776
  export declare class TranslationParameterList extends BaseNode {
1742
1777
  readonly kind = NodeKind.TranslationParameterList;
1743
1778
  readonly children: readonly IdentifierListElement[];
1779
+ get parent(): TranslationParameterListParent;
1744
1780
  get elements(): readonly IdentifierListElement[];
1781
+ get parameters(): Query<Identifier>;
1745
1782
  protected get thisAsNode(): Node;
1746
- constructor(elements: readonly IdentifierListElement[]);
1747
- toRed(rangeStart: number, parent: red.TranslationParameterListParent): red.TranslationParameterList;
1783
+ constructor(elements: readonly IdentifierListElement[], rangeWithTrivia: Range | undefined);
1748
1784
  }
1785
+ export type TranslationParameterClauseParent = ConstructorTranslation | PackageFunctionTranslationDeclaration | MethodTranslation | FunctionTypeTranslationDeclaration;
1749
1786
  export declare class TranslationParameterClause extends BaseNode {
1750
1787
  readonly kind = NodeKind.TranslationParameterClause;
1751
1788
  readonly children: readonly [
@@ -1753,12 +1790,12 @@ export declare class TranslationParameterClause extends BaseNode {
1753
1790
  TranslationParameterList,
1754
1791
  Token<TokenKind.CloseParenthesis>
1755
1792
  ];
1793
+ get parent(): TranslationParameterClauseParent;
1756
1794
  get openParenthesisToken(): Token<TokenKind.OpenParenthesis>;
1757
1795
  get parameterList(): TranslationParameterList;
1758
1796
  get closeParenthesisToken(): Token<TokenKind.CloseParenthesis>;
1759
1797
  protected get thisAsNode(): Node;
1760
- constructor(openParenthesisToken: Token<TokenKind.OpenParenthesis>, parameterList: TranslationParameterList, closeParenthesisToken: Token<TokenKind.CloseParenthesis>);
1761
- toRed(rangeStart: number, parent: red.TranslationParameterClauseParent): red.TranslationParameterClause;
1798
+ constructor(openParenthesisToken: Token<TokenKind.OpenParenthesis>, parameterList: TranslationParameterList, closeParenthesisToken: Token<TokenKind.CloseParenthesis>, rangeWithTrivia: Range | undefined);
1762
1799
  }
1763
1800
  export declare class ConstructorTranslation extends BaseNode {
1764
1801
  readonly kind = NodeKind.ConstructorTranslation;
@@ -1768,13 +1805,13 @@ export declare class ConstructorTranslation extends BaseNode {
1768
1805
  Token<TokenKind.MinusGreaterThan>,
1769
1806
  TranslationParameterClause
1770
1807
  ];
1808
+ get parent(): TypeMemberTranslationList;
1771
1809
  get creationKeyword(): Keyword<KeywordKind.Creation>;
1772
1810
  get sourceParameterClause(): TranslationParameterClause;
1773
1811
  get minusGreaterThanToken(): Token<TokenKind.MinusGreaterThan>;
1774
1812
  get translatedParameterClause(): TranslationParameterClause;
1775
1813
  protected get thisAsNode(): Node;
1776
- constructor(creationKeyword: Keyword<KeywordKind.Creation>, sourceParameterClause: TranslationParameterClause, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedParameterClause: TranslationParameterClause);
1777
- toRed(rangeStart: number, parent: red.TypeMemberTranslationParent): red.ConstructorTranslation;
1814
+ constructor(creationKeyword: Keyword<KeywordKind.Creation>, sourceParameterClause: TranslationParameterClause, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedParameterClause: TranslationParameterClause, rangeWithTrivia: Range | undefined);
1778
1815
  }
1779
1816
  export declare class IndexParameterTranslationClause extends BaseNode {
1780
1817
  readonly kind = NodeKind.IndexParameterTranslationClause;
@@ -1783,12 +1820,12 @@ export declare class IndexParameterTranslationClause extends BaseNode {
1783
1820
  TranslationParameterList,
1784
1821
  Token<TokenKind.CloseSquareBracket>
1785
1822
  ];
1823
+ get parent(): IndexerTranslation;
1786
1824
  get openSquareBracketToken(): Token<TokenKind.OpenSquareBracket>;
1787
1825
  get parameterList(): TranslationParameterList;
1788
1826
  get closeSquareBracketToken(): Token<TokenKind.CloseSquareBracket>;
1789
1827
  protected get thisAsNode(): Node;
1790
- constructor(openSquareBracketToken: Token<TokenKind.OpenSquareBracket>, parameterList: TranslationParameterList, closeSquareBracketToken: Token<TokenKind.CloseSquareBracket>);
1791
- toRed(rangeStart: number, parent: red.IndexParameterTranslationClauseParent): red.IndexParameterTranslationClause;
1828
+ constructor(openSquareBracketToken: Token<TokenKind.OpenSquareBracket>, parameterList: TranslationParameterList, closeSquareBracketToken: Token<TokenKind.CloseSquareBracket>, rangeWithTrivia: Range | undefined);
1792
1829
  }
1793
1830
  export declare class IndexerTranslation extends BaseNode {
1794
1831
  readonly kind = NodeKind.IndexerTranslation;
@@ -1797,21 +1834,23 @@ export declare class IndexerTranslation extends BaseNode {
1797
1834
  Token<TokenKind.MinusGreaterThan>,
1798
1835
  IndexParameterTranslationClause
1799
1836
  ];
1837
+ get parent(): TypeMemberTranslationList;
1800
1838
  get sourceParameterClause(): IndexParameterTranslationClause;
1801
1839
  get minusGreaterThanToken(): Token<TokenKind.MinusGreaterThan>;
1802
1840
  get translatedParameterClause(): IndexParameterTranslationClause;
1803
1841
  protected get thisAsNode(): Node;
1804
- constructor(sourceParameterClause: IndexParameterTranslationClause, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedParameterClause: IndexParameterTranslationClause);
1805
- toRed(rangeStart: number, parent: red.TypeMemberTranslationParent): red.IndexerTranslation;
1842
+ constructor(sourceParameterClause: IndexParameterTranslationClause, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedParameterClause: IndexParameterTranslationClause, rangeWithTrivia: Range | undefined);
1806
1843
  }
1807
1844
  export declare class TranslationTypeParameterList extends BaseNode {
1808
1845
  readonly kind = NodeKind.TranslationTypeParameterList;
1809
1846
  readonly children: readonly IdentifierListElement[];
1847
+ get parent(): TranslationTypeParameterClause;
1810
1848
  get elements(): readonly IdentifierListElement[];
1849
+ get parameters(): Query<Identifier>;
1811
1850
  protected get thisAsNode(): Node;
1812
- constructor(elements: readonly IdentifierListElement[]);
1813
- toRed(rangeStart: number, parent: red.TranslationTypeParameterListParent): red.TranslationTypeParameterList;
1851
+ constructor(elements: readonly IdentifierListElement[], rangeWithTrivia: Range | undefined);
1814
1852
  }
1853
+ export type TranslationTypeParameterClauseParent = PackageFunctionTranslationDeclaration | MethodTranslation | FunctionTypeTranslationDeclaration | TypeTranslationDeclaration;
1815
1854
  export declare class TranslationTypeParameterClause extends BaseNode {
1816
1855
  readonly kind = NodeKind.TranslationTypeParameterClause;
1817
1856
  readonly children: readonly [
@@ -1819,12 +1858,12 @@ export declare class TranslationTypeParameterClause extends BaseNode {
1819
1858
  TranslationTypeParameterList,
1820
1859
  Token<TokenKind.GreaterThan>
1821
1860
  ];
1861
+ get parent(): TranslationTypeParameterClauseParent;
1822
1862
  get lessThanToken(): Token<TokenKind.LessThan>;
1823
1863
  get parameterList(): TranslationTypeParameterList;
1824
1864
  get greaterThanToken(): Token<TokenKind.GreaterThan>;
1825
1865
  protected get thisAsNode(): Node;
1826
- constructor(lessThanToken: Token<TokenKind.LessThan>, parameterList: TranslationTypeParameterList, greaterThanToken: Token<TokenKind.GreaterThan>);
1827
- toRed(rangeStart: number, parent: red.TranslationTypeParameterClauseParent): red.TranslationTypeParameterClause;
1866
+ constructor(lessThanToken: Token<TokenKind.LessThan>, parameterList: TranslationTypeParameterList, greaterThanToken: Token<TokenKind.GreaterThan>, rangeWithTrivia: Range | undefined);
1828
1867
  }
1829
1868
  export declare class PackageFunctionTranslationDeclaration extends BaseNode {
1830
1869
  readonly kind = NodeKind.PackageFunctionTranslationDeclaration;
@@ -1838,6 +1877,7 @@ export declare class PackageFunctionTranslationDeclaration extends BaseNode {
1838
1877
  TranslationTypeParameterClause | undefined,
1839
1878
  TranslationParameterClause
1840
1879
  ];
1880
+ get parent(): TopLevelTranslationList;
1841
1881
  get functionKeyword(): Keyword<KeywordKind.Function>;
1842
1882
  get sourceName(): Identifier;
1843
1883
  get sourceTypeParameterClause(): TranslationTypeParameterClause | undefined;
@@ -1847,8 +1887,7 @@ export declare class PackageFunctionTranslationDeclaration extends BaseNode {
1847
1887
  get translatedTypeParameterClause(): TranslationTypeParameterClause | undefined;
1848
1888
  get translatedParameterClause(): TranslationParameterClause;
1849
1889
  protected get thisAsNode(): Node;
1850
- constructor(functionKeyword: Keyword<KeywordKind.Function>, sourceName: Identifier, sourceTypeParameterClause: TranslationTypeParameterClause | undefined, sourceParameterClause: TranslationParameterClause, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedName: Identifier, translatedTypeParameterClause: TranslationTypeParameterClause | undefined, translatedParameterClause: TranslationParameterClause);
1851
- toRed(rangeStart: number, parent: red.PackageFunctionTranslationDeclarationParent): red.PackageFunctionTranslationDeclaration;
1890
+ constructor(functionKeyword: Keyword<KeywordKind.Function>, sourceName: Identifier, sourceTypeParameterClause: TranslationTypeParameterClause | undefined, sourceParameterClause: TranslationParameterClause, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedName: Identifier, translatedTypeParameterClause: TranslationTypeParameterClause | undefined, translatedParameterClause: TranslationParameterClause, rangeWithTrivia: Range | undefined);
1852
1891
  }
1853
1892
  export declare class MethodTranslation extends BaseNode {
1854
1893
  readonly kind = NodeKind.MethodTranslation;
@@ -1862,6 +1901,7 @@ export declare class MethodTranslation extends BaseNode {
1862
1901
  TranslationTypeParameterClause | undefined,
1863
1902
  TranslationParameterClause
1864
1903
  ];
1904
+ get parent(): TypeMemberTranslationList;
1865
1905
  get functionKeyword(): Keyword<KeywordKind.Function>;
1866
1906
  get sourceName(): Identifier;
1867
1907
  get sourceTypeParameterClause(): TranslationTypeParameterClause | undefined;
@@ -1871,8 +1911,7 @@ export declare class MethodTranslation extends BaseNode {
1871
1911
  get translatedTypeParameterClause(): TranslationTypeParameterClause | undefined;
1872
1912
  get translatedParameterClause(): TranslationParameterClause;
1873
1913
  protected get thisAsNode(): Node;
1874
- constructor(functionKeyword: Keyword<KeywordKind.Function>, sourceName: Identifier, sourceTypeParameterClause: TranslationTypeParameterClause | undefined, sourceParameterClause: TranslationParameterClause, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedName: Identifier, translatedTypeParameterClause: TranslationTypeParameterClause | undefined, translatedParameterClause: TranslationParameterClause);
1875
- toRed(rangeStart: number, parent: red.MethodTranslationParent): red.MethodTranslation;
1914
+ constructor(functionKeyword: Keyword<KeywordKind.Function>, sourceName: Identifier, sourceTypeParameterClause: TranslationTypeParameterClause | undefined, sourceParameterClause: TranslationParameterClause, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedName: Identifier, translatedTypeParameterClause: TranslationTypeParameterClause | undefined, translatedParameterClause: TranslationParameterClause, rangeWithTrivia: Range | undefined);
1876
1915
  }
1877
1916
  export declare class FunctionTypeTranslationDeclaration extends BaseNode {
1878
1917
  readonly kind = NodeKind.FunctionTypeTranslationDeclaration;
@@ -1886,6 +1925,7 @@ export declare class FunctionTypeTranslationDeclaration extends BaseNode {
1886
1925
  TranslationTypeParameterClause | undefined,
1887
1926
  TranslationParameterClause
1888
1927
  ];
1928
+ get parent(): TopLevelTranslationList;
1889
1929
  get typeKeyword(): Keyword<KeywordKind.Type>;
1890
1930
  get sourceName(): Identifier;
1891
1931
  get sourceTypeParameterClause(): TranslationTypeParameterClause | undefined;
@@ -1895,8 +1935,7 @@ export declare class FunctionTypeTranslationDeclaration extends BaseNode {
1895
1935
  get translatedTypeParameterClause(): TranslationTypeParameterClause | undefined;
1896
1936
  get translatedParameterClause(): TranslationParameterClause;
1897
1937
  protected get thisAsNode(): Node;
1898
- constructor(typeKeyword: Keyword<KeywordKind.Type>, sourceName: Identifier, sourceTypeParameterClause: TranslationTypeParameterClause | undefined, sourceParameterClause: TranslationParameterClause, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedName: Identifier, translatedTypeParameterClause: TranslationTypeParameterClause | undefined, translatedParameterClause: TranslationParameterClause);
1899
- toRed(rangeStart: number, parent: red.FunctionTypeTranslationDeclarationParent): red.FunctionTypeTranslationDeclaration;
1938
+ constructor(typeKeyword: Keyword<KeywordKind.Type>, sourceName: Identifier, sourceTypeParameterClause: TranslationTypeParameterClause | undefined, sourceParameterClause: TranslationParameterClause, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedName: Identifier, translatedTypeParameterClause: TranslationTypeParameterClause | undefined, translatedParameterClause: TranslationParameterClause, rangeWithTrivia: Range | undefined);
1900
1939
  }
1901
1940
  export declare class PackageImportTranslationDeclaration extends BaseNode {
1902
1941
  readonly kind = NodeKind.PackageImportTranslationDeclaration;
@@ -1906,22 +1945,24 @@ export declare class PackageImportTranslationDeclaration extends BaseNode {
1906
1945
  Token<TokenKind.MinusGreaterThan>,
1907
1946
  QualifiedName
1908
1947
  ];
1948
+ get parent(): TopLevelTranslationList;
1909
1949
  get importKeyword(): Keyword<KeywordKind.Import>;
1910
1950
  get sourceName(): QualifiedName;
1911
1951
  get minusGreaterThanToken(): Token<TokenKind.MinusGreaterThan>;
1912
1952
  get translatedName(): QualifiedName;
1913
1953
  protected get thisAsNode(): Node;
1914
- constructor(importKeyword: Keyword<KeywordKind.Import>, sourceName: QualifiedName, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedName: QualifiedName);
1915
- toRed(rangeStart: number, parent: red.PackageImportTranslationDeclarationParent): red.PackageImportTranslationDeclaration;
1954
+ constructor(importKeyword: Keyword<KeywordKind.Import>, sourceName: QualifiedName, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedName: QualifiedName, rangeWithTrivia: Range | undefined);
1916
1955
  }
1917
1956
  export type QualifiedNamePart = Identifier | Token<TokenKind.Dot>;
1957
+ export type QualifiedNameParent = PackageImportTranslationDeclaration | NamedTypeSpecifier | ExtendedTypeClause | Tag;
1918
1958
  export declare class QualifiedName extends BaseNode {
1919
1959
  readonly kind = NodeKind.QualifiedName;
1920
1960
  readonly children: readonly QualifiedNamePart[];
1961
+ get parent(): QualifiedNameParent;
1921
1962
  get parts(): readonly QualifiedNamePart[];
1963
+ get qualifiers(): Query<Identifier>;
1922
1964
  protected get thisAsNode(): Node;
1923
- constructor(parts: readonly QualifiedNamePart[]);
1924
- toRed(rangeStart: number, parent: red.QualifiedNameParent): red.QualifiedName;
1965
+ constructor(parts: readonly QualifiedNamePart[], rangeWithTrivia: Range | undefined);
1925
1966
  }
1926
1967
  export declare class PackageVariableTranslationDeclaration extends BaseNode {
1927
1968
  readonly kind = NodeKind.PackageVariableTranslationDeclaration;
@@ -1930,12 +1971,12 @@ export declare class PackageVariableTranslationDeclaration extends BaseNode {
1930
1971
  Token<TokenKind.MinusGreaterThan>,
1931
1972
  Identifier
1932
1973
  ];
1974
+ get parent(): TopLevelTranslationList;
1933
1975
  get sourceName(): Identifier;
1934
1976
  get minusGreaterThanToken(): Token<TokenKind.MinusGreaterThan>;
1935
1977
  get translatedName(): Identifier;
1936
1978
  protected get thisAsNode(): Node;
1937
- constructor(sourceName: Identifier, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedName: Identifier);
1938
- toRed(rangeStart: number, parent: red.PackageVariableTranslationDeclarationParent): red.PackageVariableTranslationDeclaration;
1979
+ constructor(sourceName: Identifier, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedName: Identifier, rangeWithTrivia: Range | undefined);
1939
1980
  }
1940
1981
  export declare class FieldOrVariantTranslation extends BaseNode {
1941
1982
  readonly kind = NodeKind.FieldOrVariantTranslation;
@@ -1944,21 +1985,22 @@ export declare class FieldOrVariantTranslation extends BaseNode {
1944
1985
  Token<TokenKind.MinusGreaterThan>,
1945
1986
  Identifier
1946
1987
  ];
1988
+ get parent(): TypeMemberTranslationList;
1947
1989
  get sourceName(): Identifier;
1948
1990
  get minusGreaterThanToken(): Token<TokenKind.MinusGreaterThan>;
1949
1991
  get translatedName(): Identifier;
1950
1992
  protected get thisAsNode(): Node;
1951
- constructor(sourceName: Identifier, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedName: Identifier);
1952
- toRed(rangeStart: number, parent: red.FieldOrVariantTranslationParent): red.FieldOrVariantTranslation;
1993
+ constructor(sourceName: Identifier, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedName: Identifier, rangeWithTrivia: Range | undefined);
1953
1994
  }
1954
1995
  export type TypeMemberTranslationListElement = TypeMemberTranslation | Semicolon;
1955
1996
  export declare class TypeMemberTranslationList extends BaseNode {
1956
1997
  readonly kind = NodeKind.TypeMemberTranslationList;
1957
1998
  readonly children: readonly TypeMemberTranslationListElement[];
1999
+ get parent(): TypeTranslationDeclaration;
1958
2000
  get elements(): readonly TypeMemberTranslationListElement[];
2001
+ get members(): Query<TypeMemberTranslation>;
1959
2002
  protected get thisAsNode(): Node;
1960
- constructor(elements: readonly TypeMemberTranslationListElement[]);
1961
- toRed(rangeStart: number, parent: red.TypeMemberTranslationListParent): red.TypeMemberTranslationList;
2003
+ constructor(elements: readonly TypeMemberTranslationListElement[], rangeWithTrivia: Range | undefined);
1962
2004
  }
1963
2005
  export declare class TypeTranslationDeclaration extends BaseNode {
1964
2006
  readonly kind = NodeKind.TypeTranslationDeclaration;
@@ -1973,6 +2015,7 @@ export declare class TypeTranslationDeclaration extends BaseNode {
1973
2015
  TypeMemberTranslationList | undefined,
1974
2016
  Token<TokenKind.CloseBrace> | undefined
1975
2017
  ];
2018
+ get parent(): TopLevelTranslationList;
1976
2019
  get typeKeyword(): Keyword<KeywordKind.Type>;
1977
2020
  get sourceName(): Identifier;
1978
2021
  get sourceTypeParameterClause(): TranslationTypeParameterClause | undefined;
@@ -1983,8 +2026,7 @@ export declare class TypeTranslationDeclaration extends BaseNode {
1983
2026
  get memberList(): TypeMemberTranslationList | undefined;
1984
2027
  get closeBraceToken(): Token<TokenKind.CloseBrace> | undefined;
1985
2028
  protected get thisAsNode(): Node;
1986
- constructor(typeKeyword: Keyword<KeywordKind.Type>, sourceName: Identifier, sourceTypeParameterClause: TranslationTypeParameterClause | undefined, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedName: Identifier, translatedTypeParameterClause: TranslationTypeParameterClause | undefined, openBraceToken: Token<TokenKind.OpenBrace> | undefined, memberList: TypeMemberTranslationList | undefined, closeBraceToken: Token<TokenKind.CloseBrace> | undefined);
1987
- toRed(rangeStart: number, parent: red.TypeTranslationDeclarationParent): red.TypeTranslationDeclaration;
2029
+ constructor(typeKeyword: Keyword<KeywordKind.Type>, sourceName: Identifier, sourceTypeParameterClause: TranslationTypeParameterClause | undefined, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedName: Identifier, translatedTypeParameterClause: TranslationTypeParameterClause | undefined, openBraceToken: Token<TokenKind.OpenBrace> | undefined, memberList: TypeMemberTranslationList | undefined, closeBraceToken: Token<TokenKind.CloseBrace> | undefined, rangeWithTrivia: Range | undefined);
1988
2030
  }
1989
2031
  export type TypeMemberTranslation = FieldOrVariantTranslation | MethodTranslation | IndexerTranslation | ConstructorTranslation;
1990
2032
  export type TextTranslationSource = TranslationTextLiteral | TranslationTextTemplate;
@@ -1996,22 +2038,22 @@ export declare class TextTranslationDeclaration extends BaseNode {
1996
2038
  Token<TokenKind.MinusGreaterThan>,
1997
2039
  TranslatedTextOrTranslationFunction
1998
2040
  ];
2041
+ get parent(): TopLevelTranslationList;
1999
2042
  get sourceText(): TextTranslationSource;
2000
2043
  get minusGreaterThanToken(): Token<TokenKind.MinusGreaterThan>;
2001
2044
  get translatedTextOrTranslationFunction(): TranslatedTextOrTranslationFunction;
2002
2045
  protected get thisAsNode(): Node;
2003
- constructor(sourceText: TextTranslationSource, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedTextOrTranslationFunction: TranslatedTextOrTranslationFunction);
2004
- toRed(rangeStart: number, parent: red.TextTranslationDeclarationParent): red.TextTranslationDeclaration;
2046
+ constructor(sourceText: TextTranslationSource, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedTextOrTranslationFunction: TranslatedTextOrTranslationFunction, rangeWithTrivia: Range | undefined);
2005
2047
  }
2006
2048
  export declare class TranslationTextLiteral extends BaseNode {
2007
2049
  readonly kind = NodeKind.TranslationTextLiteral;
2008
2050
  readonly children: readonly [
2009
2051
  Token<TokenKind.TextLiteral>
2010
2052
  ];
2053
+ get parent(): TextTranslationDeclaration;
2011
2054
  get text(): Token<TokenKind.TextLiteral>;
2012
2055
  protected get thisAsNode(): Node;
2013
- constructor(text: Token<TokenKind.TextLiteral>);
2014
- toRed(rangeStart: number, parent: red.TranslationTextLiteralParent): red.TranslationTextLiteral;
2056
+ constructor(text: Token<TokenKind.TextLiteral>, rangeWithTrivia: Range | undefined);
2015
2057
  }
2016
2058
  export declare class TranslationTextTemplate extends BaseNode {
2017
2059
  readonly kind = NodeKind.TranslationTextTemplate;
@@ -2019,19 +2061,19 @@ export declare class TranslationTextTemplate extends BaseNode {
2019
2061
  TextTemplateHead,
2020
2062
  TranslationTextTemplateSpanList
2021
2063
  ];
2064
+ get parent(): TextTranslationDeclaration;
2022
2065
  get head(): TextTemplateHead;
2023
2066
  get spanList(): TranslationTextTemplateSpanList;
2024
2067
  protected get thisAsNode(): Node;
2025
- constructor(head: TextTemplateHead, spanList: TranslationTextTemplateSpanList);
2026
- toRed(rangeStart: number, parent: red.TranslationTextTemplateParent): red.TranslationTextTemplate;
2068
+ constructor(head: TextTemplateHead, spanList: TranslationTextTemplateSpanList, rangeWithTrivia: Range | undefined);
2027
2069
  }
2028
2070
  export declare class TranslationTextTemplateSpanList extends BaseNode {
2029
2071
  readonly kind = NodeKind.TranslationTextTemplateSpanList;
2030
2072
  readonly children: readonly TranslationTextTemplateSpan[];
2073
+ get parent(): TranslationTextTemplate;
2031
2074
  get spans(): readonly TranslationTextTemplateSpan[];
2032
2075
  protected get thisAsNode(): Node;
2033
- constructor(spans: readonly TranslationTextTemplateSpan[]);
2034
- toRed(rangeStart: number, parent: red.TranslationTextTemplateSpanListParent): red.TranslationTextTemplateSpanList;
2076
+ constructor(spans: readonly TranslationTextTemplateSpan[], rangeWithTrivia: Range | undefined);
2035
2077
  }
2036
2078
  export declare class TranslationTextTemplateSpan extends BaseNode {
2037
2079
  readonly kind = NodeKind.TranslationTextTemplateSpan;
@@ -2039,11 +2081,11 @@ export declare class TranslationTextTemplateSpan extends BaseNode {
2039
2081
  TranslationTextTemplateParameter,
2040
2082
  TextTemplatePart | TextTemplateTail
2041
2083
  ];
2084
+ get parent(): TranslationTextTemplateSpanList;
2042
2085
  get parameter(): TranslationTextTemplateParameter;
2043
2086
  get text(): TextTemplatePart | TextTemplateTail;
2044
2087
  protected get thisAsNode(): Node;
2045
- constructor(parameter: TranslationTextTemplateParameter, text: TextTemplatePart | TextTemplateTail);
2046
- toRed(rangeStart: number, parent: red.TranslationTextTemplateSpanParent): red.TranslationTextTemplateSpan;
2088
+ constructor(parameter: TranslationTextTemplateParameter, text: TextTemplatePart | TextTemplateTail, rangeWithTrivia: Range | undefined);
2047
2089
  }
2048
2090
  export declare class TranslationTextTemplateParameter extends BaseNode {
2049
2091
  readonly kind = NodeKind.TranslationTextTemplateParameter;
@@ -2051,11 +2093,11 @@ export declare class TranslationTextTemplateParameter extends BaseNode {
2051
2093
  Identifier,
2052
2094
  TypeAnnotation | undefined
2053
2095
  ];
2096
+ get parent(): TranslationTextTemplateSpan;
2054
2097
  get name(): Identifier;
2055
2098
  get typeAnnotation(): TypeAnnotation | undefined;
2056
2099
  protected get thisAsNode(): Node;
2057
- constructor(name: Identifier, typeAnnotation: TypeAnnotation | undefined);
2058
- toRed(rangeStart: number, parent: red.TranslationTextTemplateParameterParent): red.TranslationTextTemplateParameter;
2100
+ constructor(name: Identifier, typeAnnotation: TypeAnnotation | undefined, rangeWithTrivia: Range | undefined);
2059
2101
  }
2060
2102
  export declare class VariantDeclaration extends BaseNode {
2061
2103
  readonly kind = NodeKind.VariantDeclaration;
@@ -2066,14 +2108,14 @@ export declare class VariantDeclaration extends BaseNode {
2066
2108
  Token<TokenKind.Equals> | undefined,
2067
2109
  Expression | undefined
2068
2110
  ];
2111
+ get parent(): TypeMemberDeclarationList;
2069
2112
  get tagList(): TagList;
2070
2113
  get modifierList(): ModifierList;
2071
2114
  get name(): Identifier;
2072
2115
  get equalsToken(): Token<TokenKind.Equals> | undefined;
2073
2116
  get value(): Expression | undefined;
2074
2117
  protected get thisAsNode(): Node;
2075
- constructor(tagList: TagList, modifierList: ModifierList, name: Identifier, equalsToken: Token<TokenKind.Equals> | undefined, value: Expression | undefined);
2076
- toRed(rangeStart: number, parent: red.TypeMemberDeclarationParent): red.VariantDeclaration;
2118
+ constructor(tagList: TagList, modifierList: ModifierList, name: Identifier, equalsToken: Token<TokenKind.Equals> | undefined, value: Expression | undefined, rangeWithTrivia: Range | undefined);
2077
2119
  }
2078
2120
  export declare class TypeParameterDeclaration extends BaseNode {
2079
2121
  readonly kind = NodeKind.TypeParameterDeclaration;
@@ -2084,14 +2126,14 @@ export declare class TypeParameterDeclaration extends BaseNode {
2084
2126
  Token<TokenKind.Equals> | undefined,
2085
2127
  TypeSpecifier | undefined
2086
2128
  ];
2129
+ get parent(): TypeParameterList;
2087
2130
  get name(): Identifier;
2088
2131
  get colonToken(): Token<TokenKind.Colon> | undefined;
2089
2132
  get constraint(): TypeSpecifier | undefined;
2090
2133
  get equalsToken(): Token<TokenKind.Equals> | undefined;
2091
2134
  get defaultType(): TypeSpecifier | undefined;
2092
2135
  protected get thisAsNode(): Node;
2093
- constructor(name: Identifier, colonToken: Token<TokenKind.Colon> | undefined, constraint: TypeSpecifier | undefined, equalsToken: Token<TokenKind.Equals> | undefined, defaultType: TypeSpecifier | undefined);
2094
- toRed(rangeStart: number, parent: red.TypeParameterDeclarationParent): red.TypeParameterDeclaration;
2136
+ constructor(name: Identifier, colonToken: Token<TokenKind.Colon> | undefined, constraint: TypeSpecifier | undefined, equalsToken: Token<TokenKind.Equals> | undefined, defaultType: TypeSpecifier | undefined, rangeWithTrivia: Range | undefined);
2095
2137
  }
2096
2138
  export declare class ParameterDeclaration extends BaseNode {
2097
2139
  readonly kind = NodeKind.ParameterDeclaration;
@@ -2102,14 +2144,14 @@ export declare class ParameterDeclaration extends BaseNode {
2102
2144
  Token<TokenKind.Equals> | undefined,
2103
2145
  Expression | undefined
2104
2146
  ];
2147
+ get parent(): ParameterList;
2105
2148
  get tagList(): TagList;
2106
2149
  get name(): Identifier;
2107
2150
  get typeAnnotation(): TypeAnnotation | undefined;
2108
2151
  get equalsToken(): Token<TokenKind.Equals> | undefined;
2109
2152
  get defaultValue(): Expression | undefined;
2110
2153
  protected get thisAsNode(): Node;
2111
- constructor(tagList: TagList, name: Identifier, typeAnnotation: TypeAnnotation | undefined, equalsToken: Token<TokenKind.Equals> | undefined, defaultValue: Expression | undefined);
2112
- toRed(rangeStart: number, parent: red.ParameterDeclarationParent): red.ParameterDeclaration;
2154
+ constructor(tagList: TagList, name: Identifier, typeAnnotation: TypeAnnotation | undefined, equalsToken: Token<TokenKind.Equals> | undefined, defaultValue: Expression | undefined, rangeWithTrivia: Range | undefined);
2113
2155
  }
2114
2156
  export declare class Argument extends BaseNode {
2115
2157
  readonly kind = NodeKind.Argument;
@@ -2118,20 +2160,21 @@ export declare class Argument extends BaseNode {
2118
2160
  Token<TokenKind.Equals> | undefined,
2119
2161
  Expression
2120
2162
  ];
2163
+ get parent(): ArgumentList;
2121
2164
  get name(): Identifier | undefined;
2122
2165
  get equalsToken(): Token<TokenKind.Equals> | undefined;
2123
2166
  get value(): Expression;
2124
2167
  protected get thisAsNode(): Node;
2125
- constructor(name: Identifier | undefined, equalsToken: Token<TokenKind.Equals> | undefined, value: Expression);
2126
- toRed(rangeStart: number, parent: red.ArgumentParent): red.Argument;
2168
+ constructor(name: Identifier | undefined, equalsToken: Token<TokenKind.Equals> | undefined, value: Expression, rangeWithTrivia: Range | undefined);
2127
2169
  }
2170
+ export type TagListParent = PackageMemberDeclaration | TypeMemberDeclaration | ParameterDeclaration;
2128
2171
  export declare class TagList extends BaseNode {
2129
2172
  readonly kind = NodeKind.TagList;
2130
2173
  readonly children: readonly Tag[];
2174
+ get parent(): TagListParent;
2131
2175
  get tags(): readonly Tag[];
2132
2176
  protected get thisAsNode(): Node;
2133
- constructor(tags: readonly Tag[]);
2134
- toRed(rangeStart: number, parent: red.TagListParent): red.TagList;
2177
+ constructor(tags: readonly Tag[], rangeWithTrivia: Range | undefined);
2135
2178
  }
2136
2179
  export declare class Tag extends BaseNode {
2137
2180
  readonly kind = NodeKind.Tag;
@@ -2143,6 +2186,7 @@ export declare class Tag extends BaseNode {
2143
2186
  ArgumentList | undefined,
2144
2187
  Token<TokenKind.CloseParenthesis> | undefined
2145
2188
  ];
2189
+ get parent(): TagList;
2146
2190
  get hashSignToken(): Token<TokenKind.HashSign>;
2147
2191
  get name(): QualifiedName;
2148
2192
  get typeArgumentClause(): TypeArgumentClause | undefined;
@@ -2150,17 +2194,20 @@ export declare class Tag extends BaseNode {
2150
2194
  get argumentList(): ArgumentList | undefined;
2151
2195
  get closeParenthesisToken(): Token<TokenKind.CloseParenthesis> | undefined;
2152
2196
  protected get thisAsNode(): Node;
2153
- constructor(hashSignToken: Token<TokenKind.HashSign>, name: QualifiedName, typeArgumentClause: TypeArgumentClause | undefined, openParenthesisToken: Token<TokenKind.OpenParenthesis> | undefined, argumentList: ArgumentList | undefined, closeParenthesisToken: Token<TokenKind.CloseParenthesis> | undefined);
2154
- toRed(rangeStart: number, parent: red.TagParent): red.Tag;
2197
+ constructor(hashSignToken: Token<TokenKind.HashSign>, name: QualifiedName, typeArgumentClause: TypeArgumentClause | undefined, openParenthesisToken: Token<TokenKind.OpenParenthesis> | undefined, argumentList: ArgumentList | undefined, closeParenthesisToken: Token<TokenKind.CloseParenthesis> | undefined, rangeWithTrivia: Range | undefined);
2155
2198
  }
2199
+ export type ModifierListParent = PackageMemberDeclaration | TypeMemberDeclaration;
2156
2200
  export declare class ModifierList extends BaseNode {
2157
2201
  readonly kind = NodeKind.ModifierList;
2158
2202
  readonly children: readonly Modifier[];
2203
+ get parent(): ModifierListParent;
2159
2204
  get modifiers(): readonly Modifier[];
2160
2205
  protected get thisAsNode(): Node;
2161
- constructor(modifiers: readonly Modifier[]);
2162
- toRed(rangeStart: number, parent: red.ModifierListParent): red.ModifierList;
2206
+ constructor(modifiers: readonly Modifier[], rangeWithTrivia: Range | undefined);
2163
2207
  }
2208
+ export type ModifierKeyword = Keyword<ModifierKeywordKind>;
2209
+ export type ModifierKeywordKind = KeywordKind.Hidden | KeywordKind.Basic | KeywordKind.Static | KeywordKind.Abstract | KeywordKind.Override | KeywordKind.Async | KeywordKind.Const;
2210
+ export type ModifierLevelKeyword = Keyword<KeywordKind.InType> | Keyword<KeywordKind.InHierarchy> | Keyword<KeywordKind.InFile> | Keyword<KeywordKind.InPackage>;
2164
2211
  export declare class Modifier extends BaseNode {
2165
2212
  readonly kind = NodeKind.Modifier;
2166
2213
  readonly children: readonly [
@@ -2169,17 +2216,15 @@ export declare class Modifier extends BaseNode {
2169
2216
  ModifierLevelKeyword | undefined,
2170
2217
  Token<TokenKind.CloseParenthesis> | undefined
2171
2218
  ];
2219
+ get parent(): ModifierList;
2172
2220
  get value(): ModifierKeyword;
2173
2221
  get openParenthesisToken(): Token<TokenKind.OpenParenthesis> | undefined;
2174
2222
  get level(): ModifierLevelKeyword | undefined;
2175
2223
  get closeParenthesisToken(): Token<TokenKind.CloseParenthesis> | undefined;
2176
2224
  protected get thisAsNode(): Node;
2177
- constructor(value: ModifierKeyword, openParenthesisToken: Token<TokenKind.OpenParenthesis> | undefined, level: ModifierLevelKeyword | undefined, closeParenthesisToken: Token<TokenKind.CloseParenthesis> | undefined);
2178
- toRed(rangeStart: number, parent: red.ModifierParent): red.Modifier;
2225
+ constructor(value: ModifierKeyword, openParenthesisToken: Token<TokenKind.OpenParenthesis> | undefined, level: ModifierLevelKeyword | undefined, closeParenthesisToken: Token<TokenKind.CloseParenthesis> | undefined, rangeWithTrivia: Range | undefined);
2179
2226
  }
2180
- export type ModifierKeyword = Keyword<ModifierKeywordKind>;
2181
- export type ModifierKeywordKind = KeywordKind.Hidden | KeywordKind.Basic | KeywordKind.Static | KeywordKind.Abstract | KeywordKind.Override | KeywordKind.Async | KeywordKind.Const;
2182
- export type ModifierLevelKeyword = Keyword<KeywordKind.InType> | Keyword<KeywordKind.InHierarchy> | Keyword<KeywordKind.InFile> | Keyword<KeywordKind.InPackage>;
2227
+ export type ParameterClauseParent = PackageFunctionDeclaration | NestedFunctionDeclaration | FunctionLiteral | ConstructorDeclaration | DestructorDeclaration | MethodDeclaration | OperatorDeclaration | FunctionTypeDeclarationBody;
2183
2228
  export declare class ParameterClause extends BaseNode {
2184
2229
  readonly kind = NodeKind.ParameterClause;
2185
2230
  readonly children: readonly [
@@ -2187,22 +2232,25 @@ export declare class ParameterClause extends BaseNode {
2187
2232
  ParameterList,
2188
2233
  Token<TokenKind.CloseParenthesis>
2189
2234
  ];
2235
+ get parent(): ParameterClauseParent;
2190
2236
  get openParenthesisToken(): Token<TokenKind.OpenParenthesis>;
2191
2237
  get parameterList(): ParameterList;
2192
2238
  get closeParenthesisToken(): Token<TokenKind.CloseParenthesis>;
2193
2239
  protected get thisAsNode(): Node;
2194
- constructor(openParenthesisToken: Token<TokenKind.OpenParenthesis>, parameterList: ParameterList, closeParenthesisToken: Token<TokenKind.CloseParenthesis>);
2195
- toRed(rangeStart: number, parent: red.ParameterClauseParent): red.ParameterClause;
2240
+ constructor(openParenthesisToken: Token<TokenKind.OpenParenthesis>, parameterList: ParameterList, closeParenthesisToken: Token<TokenKind.CloseParenthesis>, rangeWithTrivia: Range | undefined);
2196
2241
  }
2197
2242
  export type ParameterListElement = ParameterDeclaration | Comma;
2243
+ export type ParameterListParent = ParameterClause | IndexParameterClause;
2198
2244
  export declare class ParameterList extends BaseNode {
2199
2245
  readonly kind = NodeKind.ParameterList;
2200
2246
  readonly children: readonly ParameterListElement[];
2247
+ get parent(): ParameterListParent;
2201
2248
  get elements(): readonly ParameterListElement[];
2249
+ get parameters(): Query<ParameterDeclaration>;
2202
2250
  protected get thisAsNode(): Node;
2203
- constructor(elements: readonly ParameterListElement[]);
2204
- toRed(rangeStart: number, parent: red.ParameterListParent): red.ParameterList;
2251
+ constructor(elements: readonly ParameterListElement[], rangeWithTrivia: Range | undefined);
2205
2252
  }
2253
+ export type TypeArgumentClauseParent = NamedTypeSpecifier | GenericSpecializationExpression | Tag;
2206
2254
  export declare class TypeArgumentClause extends BaseNode {
2207
2255
  readonly kind = NodeKind.TypeArgumentClause;
2208
2256
  readonly children: readonly [
@@ -2210,22 +2258,24 @@ export declare class TypeArgumentClause extends BaseNode {
2210
2258
  TypeArgumentList,
2211
2259
  Token<TokenKind.GreaterThan>
2212
2260
  ];
2261
+ get parent(): TypeArgumentClauseParent;
2213
2262
  get lessThanToken(): Token<TokenKind.LessThan>;
2214
2263
  get typeArgumentList(): TypeArgumentList;
2215
2264
  get greaterThanToken(): Token<TokenKind.GreaterThan>;
2216
2265
  protected get thisAsNode(): Node;
2217
- constructor(lessThanToken: Token<TokenKind.LessThan>, typeArgumentList: TypeArgumentList, greaterThanToken: Token<TokenKind.GreaterThan>);
2218
- toRed(rangeStart: number, parent: red.TypeArgumentClauseParent): red.TypeArgumentClause;
2266
+ constructor(lessThanToken: Token<TokenKind.LessThan>, typeArgumentList: TypeArgumentList, greaterThanToken: Token<TokenKind.GreaterThan>, rangeWithTrivia: Range | undefined);
2219
2267
  }
2220
2268
  export type TypeArgumentListElement = TypeSpecifier | Comma;
2221
2269
  export declare class TypeArgumentList extends BaseNode {
2222
2270
  readonly kind = NodeKind.TypeArgumentList;
2223
2271
  readonly children: readonly TypeArgumentListElement[];
2272
+ get parent(): TypeArgumentClause;
2224
2273
  get elements(): readonly TypeArgumentListElement[];
2274
+ get typeArguments(): Query<TypeSpecifier>;
2225
2275
  protected get thisAsNode(): Node;
2226
- constructor(elements: readonly TypeArgumentListElement[]);
2227
- toRed(rangeStart: number, parent: red.TypeArgumentListParent): red.TypeArgumentList;
2276
+ constructor(elements: readonly TypeArgumentListElement[], rangeWithTrivia: Range | undefined);
2228
2277
  }
2278
+ export type TypeParameterClauseParent = PackageStructuredTypeDeclaration | PackageVariantTypeDeclaration | PackageFunctionTypeDeclaration | PackageAliasTypeDeclaration | PackageFunctionDeclaration | MethodDeclaration | NestedFunctionDeclaration;
2229
2279
  export declare class TypeParameterClause extends BaseNode {
2230
2280
  readonly kind = NodeKind.TypeParameterClause;
2231
2281
  readonly children: readonly [
@@ -2233,32 +2283,34 @@ export declare class TypeParameterClause extends BaseNode {
2233
2283
  TypeParameterList,
2234
2284
  Token<TokenKind.GreaterThan>
2235
2285
  ];
2286
+ get parent(): TypeParameterClauseParent;
2236
2287
  get lessThanToken(): Token<TokenKind.LessThan>;
2237
2288
  get typeParameterList(): TypeParameterList;
2238
2289
  get greaterThanToken(): Token<TokenKind.GreaterThan>;
2239
2290
  protected get thisAsNode(): Node;
2240
- constructor(lessThanToken: Token<TokenKind.LessThan>, typeParameterList: TypeParameterList, greaterThanToken: Token<TokenKind.GreaterThan>);
2241
- toRed(rangeStart: number, parent: red.TypeParameterClauseParent): red.TypeParameterClause;
2291
+ constructor(lessThanToken: Token<TokenKind.LessThan>, typeParameterList: TypeParameterList, greaterThanToken: Token<TokenKind.GreaterThan>, rangeWithTrivia: Range | undefined);
2242
2292
  }
2243
2293
  export type TypeParameterListElement = TypeParameterDeclaration | Comma;
2244
2294
  export declare class TypeParameterList extends BaseNode {
2245
2295
  readonly kind = NodeKind.TypeParameterList;
2246
2296
  readonly children: readonly TypeParameterListElement[];
2297
+ get parent(): TypeParameterClause;
2247
2298
  get elements(): readonly TypeParameterListElement[];
2299
+ get typeParameters(): Query<TypeParameterDeclaration>;
2248
2300
  protected get thisAsNode(): Node;
2249
- constructor(elements: readonly TypeParameterListElement[]);
2250
- toRed(rangeStart: number, parent: red.TypeParameterListParent): red.TypeParameterList;
2301
+ constructor(elements: readonly TypeParameterListElement[], rangeWithTrivia: Range | undefined);
2251
2302
  }
2303
+ export type TypeAnnotationParent = PackageFunctionDeclaration | FunctionTypeDeclarationBody | PackageVariableDeclaration | PackageVariableGetterDeclaration | PackageVariableSetterDeclaration | NestedFunctionDeclaration | LocalVariableDeclaration | FunctionLiteral | ParameterDeclaration | IndexedElementGetterDeclaration | IndexedElementSetterDeclaration | DereferencedVariableGetterDeclaration | DereferencedVariableSetterDeclaration | MethodDeclaration | OperatorDeclaration | FieldDeclaration | FieldGetterDeclaration | FieldSetterDeclaration | ErrorVariableDeclaration | TranslationTextTemplateParameter;
2252
2304
  export declare class TypeAnnotation extends BaseNode {
2253
2305
  readonly kind = NodeKind.TypeAnnotation;
2254
2306
  readonly children: readonly [
2255
2307
  Token<TokenKind.Colon>,
2256
2308
  TypeSpecifier
2257
2309
  ];
2310
+ get parent(): TypeAnnotationParent;
2258
2311
  get colonToken(): Token<TokenKind.Colon>;
2259
2312
  get typeSpecifier(): TypeSpecifier;
2260
2313
  protected get thisAsNode(): Node;
2261
- constructor(colonToken: Token<TokenKind.Colon>, typeSpecifier: TypeSpecifier);
2262
- toRed(rangeStart: number, parent: red.TypeAnnotationParent): red.TypeAnnotation;
2314
+ constructor(colonToken: Token<TokenKind.Colon>, typeSpecifier: TypeSpecifier, rangeWithTrivia: Range | undefined);
2263
2315
  }
2264
- export type Node = SourceFile | PackageMemberDeclarationList | Keyword | PackageImportDirectiveList | SinglePackageImportDirective | PackageGroupImportDirective | PackageImportList | PackageImport | PackageName | NamedTypeSpecifier | UnionTypeSpecifier | IntersectionTypeSpecifier | ParenthesizedTypeSpecifier | NullableTypeSpecifier | AnonymousTypeSpecifier | MissingTypeSpecifier | AnonymousFunctionTypeDeclaration | AnonymousStructuredTypeDeclaration | AnonymousVariantTypeDeclaration | PackageAliasTypeDeclaration | AliasTypeDeclarationBody | PackageMemberGroupDeclaration | PackageConstructorDeclaration | PackageEntryPointDeclaration | PackageFunctionDeclaration | PackageFunctionTypeDeclaration | FunctionTypeDeclarationBody | BaseTypeList | TypeMemberDeclarationList | TypeMemberDeclarationBlock | PackageStructuredTypeDeclaration | StructuredTypeDeclarationBody | PackageVariableDeclaration | PackageVariableGetterDeclaration | PackageVariableSetterDeclaration | PackageVariantTypeDeclaration | VariantTypeDeclarationBody | TypeExtensionDeclaration | ExtendedTypeClauseCommaList | ExtendedTypeClause | MissingPackageMemberDeclaration | TypeMemberGroupDeclaration | ConstructorDeclaration | DestructorDeclaration | IndexedElementGetterDeclaration | IndexedElementSetterDeclaration | IndexParameterClause | DereferencedVariableGetterDeclaration | DereferencedVariableSetterDeclaration | MethodDeclaration | OperatorDeclaration | FieldDeclaration | FieldGetterDeclaration | FieldSetterDeclaration | MissingTypeMemberDeclaration | NestedFunctionDeclaration | LocalVariableDeclaration | EnumerationVariableDeclaration | ArrayLiteral | ArrayLiteralElementList | AssertionExpression | AssumptionExpression | AsExpression | BinaryExpression | FunctionLiteral | FunctionBlockLiteral | ArgumentList | CallExpression | AutotypeCallExpression | IndexedAccessExpression | MissingExpression | IsExpression | ParenthesizedExpression | ConditionalExpression | PrefixUnaryExpression | MemberAccessExpression | ReferenceExpression | DereferenceExpression | TextTemplateLiteral | LocalizableTextTemplateLiteral | TextTemplateSpanList | TextTemplateSpan | TokenExpression | TextLiteral | LocalizableTextLiteral | 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 | MissingStatement | NestedFunctionDeclarationStatement | LocalVariableDeclarationStatement | LoopStatement | ReturnStatement | CaseClauseList | SwitchStatement | MatchExpressionList | CaseClause | WhileStatement | YieldStatement | TranslationsDeclaration | TopLevelTranslationList | TranslationParameterList | TranslationParameterClause | ConstructorTranslation | IndexParameterTranslationClause | IndexerTranslation | TranslationTypeParameterList | TranslationTypeParameterClause | PackageFunctionTranslationDeclaration | MethodTranslation | FunctionTypeTranslationDeclaration | PackageImportTranslationDeclaration | QualifiedName | PackageVariableTranslationDeclaration | FieldOrVariantTranslation | TypeMemberTranslationList | TypeTranslationDeclaration | TextTranslationDeclaration | TranslationTextLiteral | TranslationTextTemplate | TranslationTextTemplateSpanList | TranslationTextTemplateSpan | TranslationTextTemplateParameter | VariantDeclaration | TypeParameterDeclaration | ParameterDeclaration | Argument | TagList | Tag | ModifierList | Modifier | ParameterClause | ParameterList | TypeArgumentClause | TypeArgumentList | TypeParameterClause | TypeParameterList | TypeAnnotation | Token;
2316
+ export type Node = Token | Keyword | SourceFile | PackageMemberDeclarationList | PackageImportDirectiveList | SinglePackageImportDirective | PackageGroupImportDirective | PackageImportList | PackageImport | PackageName | NamedTypeSpecifier | UnionTypeSpecifier | IntersectionTypeSpecifier | ParenthesizedTypeSpecifier | NullableTypeSpecifier | AnonymousTypeSpecifier | MissingTypeSpecifier | AnonymousFunctionTypeDeclaration | AnonymousStructuredTypeDeclaration | AnonymousVariantTypeDeclaration | PackageAliasTypeDeclaration | AliasTypeDeclarationBody | PackageMemberGroupDeclaration | PackageConstructorDeclaration | PackageEntryPointDeclaration | PackageFunctionDeclaration | PackageFunctionTypeDeclaration | FunctionTypeDeclarationBody | BaseTypeList | TypeMemberDeclarationList | TypeMemberDeclarationBlock | PackageStructuredTypeDeclaration | StructuredTypeDeclarationBody | PackageVariableDeclaration | PackageVariableGetterDeclaration | PackageVariableSetterDeclaration | PackageVariantTypeDeclaration | VariantTypeDeclarationBody | TypeExtensionDeclaration | ExtendedTypeClauseCommaList | ExtendedTypeClause | MissingPackageMemberDeclaration | TypeMemberGroupDeclaration | ConstructorDeclaration | DestructorDeclaration | IndexedElementGetterDeclaration | IndexedElementSetterDeclaration | IndexParameterClause | DereferencedVariableGetterDeclaration | DereferencedVariableSetterDeclaration | MethodDeclaration | OperatorDeclaration | FieldDeclaration | FieldGetterDeclaration | FieldSetterDeclaration | MissingTypeMemberDeclaration | NestedFunctionDeclaration | LocalVariableDeclaration | EnumerationVariableDeclaration | ArrayLiteral | ArrayLiteralElementList | AssertionExpression | AssumptionExpression | AsExpression | BinaryExpression | FunctionLiteral | FunctionBlockLiteral | ArgumentList | CallExpression | AutotypeCallExpression | IndexedAccessExpression | MissingExpression | IsExpression | ParenthesizedExpression | ConditionalExpression | PrefixUnaryExpression | MemberAccessExpression | ReferenceExpression | DereferenceExpression | TextTemplateLiteral | LocalizableTextTemplateLiteral | TextTemplateSpanList | TextTemplateSpan | TokenExpression | TextLiteral | LocalizableTextLiteral | 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 | MissingStatement | NestedFunctionDeclarationStatement | LocalVariableDeclarationStatement | LoopStatement | ReturnStatement | CaseClauseList | SwitchStatement | MatchExpressionList | CaseClause | WhileStatement | YieldStatement | TranslationsDeclaration | TopLevelTranslationList | TranslationParameterList | TranslationParameterClause | ConstructorTranslation | IndexParameterTranslationClause | IndexerTranslation | TranslationTypeParameterList | TranslationTypeParameterClause | PackageFunctionTranslationDeclaration | MethodTranslation | FunctionTypeTranslationDeclaration | PackageImportTranslationDeclaration | QualifiedName | PackageVariableTranslationDeclaration | FieldOrVariantTranslation | TypeMemberTranslationList | TypeTranslationDeclaration | TextTranslationDeclaration | TranslationTextLiteral | TranslationTextTemplate | TranslationTextTemplateSpanList | TranslationTextTemplateSpan | TranslationTextTemplateParameter | VariantDeclaration | TypeParameterDeclaration | ParameterDeclaration | Argument | TagList | Tag | ModifierList | Modifier | ParameterClause | ParameterList | TypeArgumentClause | TypeArgumentList | TypeParameterClause | TypeParameterList | TypeAnnotation;