@artel/artc 0.6.25225 → 0.6.25227

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 (60) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +10 -56
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +397 -316
  5. package/build/{chunk-Z6TZA6SN.js → chunk-74TFH7TE.js} +3 -3
  6. package/build/{chunk-TFTCV5R5.js → chunk-NOECPQMV.js} +6157 -5620
  7. package/build/{chunk-UB6LHKS5.js → chunk-VD6OPILI.js} +3 -3
  8. package/build/types/analysis/Analyzer.d.ts +24 -70
  9. package/build/types/analysis/AssignmentChecker.d.ts +11 -0
  10. package/build/types/analysis/CallExpressionMeaning.d.ts +2 -0
  11. package/build/types/analysis/DiagnosticCollector.d.ts +6 -3
  12. package/build/types/analysis/IdentifierExpressionMeaning.d.ts +6 -6
  13. package/build/types/analysis/IndexedAccessExpressionMeaning.d.ts +3 -3
  14. package/build/types/analysis/MemberAccessExpressionMeaning.d.ts +9 -9
  15. package/build/types/analysis/NamedTypeResolver.d.ts +3 -2
  16. package/build/types/analysis/NamedTypeSpecifierResolver.d.ts +3 -2
  17. package/build/types/analysis/NodeTypeUtils.d.ts +3 -2
  18. package/build/types/analysis/TagMeaning.d.ts +3 -2
  19. package/build/types/analysis/TypeMemberLookup.d.ts +11 -11
  20. package/build/types/analysis/TypeNarrower.d.ts +0 -69
  21. package/build/types/analysis/control-flow/GraphBuilder.d.ts +1 -0
  22. package/build/types/analysis/control-flow/NarrowableReference.d.ts +73 -0
  23. package/build/types/analysis/control-flow/Nodes.d.ts +9 -0
  24. package/build/types/analysis/control-flow/index.d.ts +1 -0
  25. package/build/types/analysis/semantic-context/Declarations.d.ts +117 -0
  26. package/build/types/analysis/semantic-context/FieldWithInitializerSemanticContext.d.ts +22 -0
  27. package/build/types/analysis/semantic-context/SemanticContext.d.ts +13 -0
  28. package/build/types/analysis/semantic-context/SemanticContextBase.d.ts +168 -0
  29. package/build/types/analysis/semantic-context/SemanticContextBasedEntityHidingMatcher.d.ts +14 -0
  30. package/build/types/analysis/semantic-context/SemanticContextBuilder.d.ts +84 -0
  31. package/build/types/analysis/semantic-context/SemanticContextValidatingNameConflicts.d.ts +124 -0
  32. package/build/types/analysis/semantic-context/SemanticContextWithParent.d.ts +9 -0
  33. package/build/types/analysis/semantic-context/SourceFileSemanticContext.d.ts +42 -0
  34. package/build/types/analysis/semantic-context/SpecialLocalDeclarationsBuilder.d.ts +23 -0
  35. package/build/types/analysis/semantic-context/SubprogramSemanticContext.d.ts +122 -0
  36. package/build/types/analysis/semantic-context/TypeSemanticContext.d.ts +109 -0
  37. package/build/types/analysis/semantic-context/index.d.ts +9 -0
  38. package/build/types/api/Api.d.ts +3 -5
  39. package/build/types/common/Errors.d.ts +2 -0
  40. package/build/types/common/Lazy.d.ts +4 -0
  41. package/build/types/common/Query.d.ts +2 -1
  42. package/build/types/common/WithDiagnostics.d.ts +4 -3
  43. package/build/types/common/index.d.ts +1 -0
  44. package/build/types/diagnostic/DiagnosticCode.d.ts +105 -99
  45. package/build/types/emitter/IrBuilder.d.ts +1 -0
  46. package/build/types/emitter/Transformer.d.ts +1 -1
  47. package/build/types/entities/FunctionEntity.d.ts +2 -2
  48. package/build/types/entities/VariableEntity.d.ts +35 -19
  49. package/build/types/services/DefinitionService.d.ts +3 -0
  50. package/build/types/tree/KeywordKind.d.ts +31 -30
  51. package/build/types/tree/NodeKind.d.ts +81 -80
  52. package/build/types/tree/green/Nodes.d.ts +40 -18
  53. package/build/types/tree/red/Nodes.d.ts +31 -15
  54. package/build/types/types/TypeFactory.d.ts +0 -2
  55. package/package.json +1 -1
  56. package/build/types/analysis/Lookup.d.ts +0 -28
  57. package/build/types/analysis/Scope.d.ts +0 -205
  58. package/build/types/analysis/SemanticContext.d.ts +0 -367
  59. package/build/types/analysis/SemanticContextBuilder.d.ts +0 -59
  60. package/build/types/analysis/StatementBlockScopeBuilder.d.ts +0 -26
@@ -95,7 +95,7 @@ export declare class Transformer {
95
95
  transformVariableAccessExpressionChildren(_expression: ir.VariableAccessExpression): void;
96
96
  transformFunctionAccessExpressionChildren(_expression: ir.FunctionAccessExpression): void;
97
97
  transformTypeAccessExpression(expression: ir.TypeAccessExpression): ir.TypeAccessExpression;
98
- transformInstanceVariableAccessExpressionChildren(expression: ir.FieldAccessExpression): void;
98
+ transformFieldAccessExpressionChildren(expression: ir.FieldAccessExpression): void;
99
99
  transformMethodAccessExpressionChildren(expression: ir.MethodAccessExpression): void;
100
100
  transformConstructorCallExpressionChildren(expression: ir.ConstructorCallExpression): void;
101
101
  transformInlineJsExpressionChildren(_expression: ir.InlineJsExpression): void;
@@ -1,7 +1,7 @@
1
1
  import { Tag } from '../analysis/Tags.js';
2
2
  import { Analyzer } from '../analysis/index.js';
3
3
  import { Name } from '../common/index.js';
4
- import { FunctionBlockLiteral, FunctionLiteral, NestedFunctionDeclaration, PackageFunctionDeclaration, MethodDeclaration } from '../tree/index.js';
4
+ import { NestedFunctionDeclaration, PackageFunctionDeclaration, MethodDeclaration } from '../tree/index.js';
5
5
  import * as types from '../types/index.js';
6
6
  import type { PackageEntity } from './index.js';
7
7
  import { DefinitionKind, Entity, EntityHidingLevel, EntityKind, ParameterVariableEntity, SubstitutionApplicationMode, TypeMemberEntityContainer, TypeParameterEntity } from './index.js';
@@ -40,7 +40,7 @@ interface IFunctionEntity {
40
40
  }
41
41
  export type FunctionEntityDefinition = {
42
42
  kind: DefinitionKind.Source;
43
- node: PackageFunctionDeclaration | MethodDeclaration | NestedFunctionDeclaration | FunctionLiteral | FunctionBlockLiteral;
43
+ node: PackageFunctionDeclaration | MethodDeclaration | NestedFunctionDeclaration;
44
44
  } | {
45
45
  kind: DefinitionKind.Intrinsic;
46
46
  } | {
@@ -1,7 +1,8 @@
1
+ import { SetterDeclaration, SubprogramDeclarationOrLiteral } from '../analysis/NodeTypeUtils.js';
1
2
  import { Tag } from '../analysis/Tags.js';
2
3
  import { Analyzer } from '../analysis/index.js';
3
4
  import { Lazy, Name } from '../common/index.js';
4
- import { EnumerationVariableDeclaration, ErrorVariableDeclaration, FieldDeclaration, FieldGetterDeclaration, FieldSetterDeclaration, FunctionLiteral, LocalVariableDeclaration, PackageVariableDeclaration, PackageVariableGetterDeclaration, PackageVariableSetterDeclaration, ParameterDeclaration, VariantDeclaration } from '../tree/index.js';
5
+ import * as tree from '../tree/index.js';
5
6
  import * as types from '../types/index.js';
6
7
  import type { Entity, IndexerEntity, PackageEntity } from './index.js';
7
8
  import { Entity as ActualEntity, ConstructorEntity, DefinitionKind, DestructorEntity, EntityHidingLevel, EntityKind, FunctionEntity, FunctionTypeEntity, GetterEntity, OperatorEntity, SetterEntity, TypeMemberEntityContainer } from './index.js';
@@ -28,8 +29,14 @@ export interface ParameterVariableEntity extends IVariableEntity {
28
29
  }
29
30
  export interface LocalVariableEntity extends IVariableEntity {
30
31
  readonly subkind: 'local';
32
+ getLocalVariableKind(): LocalVariableKind;
31
33
  getContainingEntity(): Entity;
32
34
  }
35
+ export declare enum LocalVariableKind {
36
+ Regular = 0,
37
+ Enumeration = 1,
38
+ Error = 2
39
+ }
33
40
  interface IVariableEntity {
34
41
  readonly kind: EntityKind.Variable;
35
42
  getName(): Name;
@@ -67,29 +74,34 @@ export type VariableEntityDefinition = {
67
74
  export type SourceVariableEntityDefinition = SingleSourceVariableEntityDefinition | MultiSourceVariableEntityDefinition;
68
75
  export type SingleSourceVariableEntityDefinition = {
69
76
  kind: 'single';
70
- node: PackageVariableDeclaration | FieldDeclaration | LocalVariableDeclaration | EnumerationVariableDeclaration | ErrorVariableDeclaration | ParameterDeclaration | VariantDeclaration;
77
+ node: tree.PackageVariableDeclaration | tree.FieldDeclaration | tree.LocalVariableDeclaration | tree.EnumerationVariableDeclaration | tree.ErrorVariableDeclaration | tree.ParameterDeclaration | tree.VariantDeclaration;
71
78
  };
72
79
  export type MultiSourceVariableEntityDefinition = {
73
80
  kind: 'multi';
74
- nodes: ReadonlyArray<PackageVariableGetterDeclaration | PackageVariableSetterDeclaration | FieldGetterDeclaration | FieldSetterDeclaration | ParameterDeclaration>;
81
+ nodes: ReadonlyArray<tree.PackageVariableGetterDeclaration | tree.PackageVariableSetterDeclaration | tree.FieldGetterDeclaration | tree.FieldSetterDeclaration | tree.ParameterDeclaration>;
75
82
  };
76
- export declare class ImplicitFunctionBlockParameterSpecialVariableEntityInfo {
77
- readonly targetTypeParameter: types.ValueParameter;
78
- readonly kind = "implicit-function-block-parameter";
79
- constructor(targetTypeParameter: types.ValueParameter);
80
- }
81
83
  export type SpecialVariableEntityInfo = ResultSpecialVariableEntityInfo | ValueSpecialVariableEntityInfo | BackingSpecialVariableEntityInfo | ImplicitFunctionBlockParameterSpecialVariableEntityInfo;
82
84
  export declare class ResultSpecialVariableEntityInfo {
85
+ readonly subprogramNode: SubprogramDeclarationOrLiteral;
83
86
  readonly kind = "result";
87
+ constructor(subprogramNode: SubprogramDeclarationOrLiteral);
84
88
  }
85
89
  export declare class ValueSpecialVariableEntityInfo {
90
+ readonly setterDeclaration: SetterDeclaration;
86
91
  readonly kind = "value";
92
+ constructor(setterDeclaration: SetterDeclaration);
87
93
  }
88
94
  export declare class BackingSpecialVariableEntityInfo {
89
95
  readonly computedVariable: PackageVariableEntity | FieldEntity;
90
96
  readonly kind = "backing";
91
97
  constructor(computedVariable: PackageVariableEntity | FieldEntity);
92
98
  }
99
+ export declare class ImplicitFunctionBlockParameterSpecialVariableEntityInfo {
100
+ readonly targetTypeParameter: types.ValueParameter;
101
+ readonly functionBlockLiteral: tree.FunctionBlockLiteral;
102
+ readonly kind = "implicit-function-block-parameter";
103
+ constructor(targetTypeParameter: types.ValueParameter, functionBlockLiteral: tree.FunctionBlockLiteral);
104
+ }
93
105
  export declare class PackageVariableDeclarationEntity implements PackageVariableEntity {
94
106
  private readonly _analyzer;
95
107
  private readonly _node;
@@ -98,7 +110,7 @@ export declare class PackageVariableDeclarationEntity implements PackageVariable
98
110
  private readonly _typeInferrer;
99
111
  private readonly _modifierFlags;
100
112
  private get modifierFlags();
101
- constructor(_analyzer: Analyzer, _node: PackageVariableDeclaration);
113
+ constructor(_analyzer: Analyzer, _node: tree.PackageVariableDeclaration);
102
114
  getName(): Name;
103
115
  getContainingPackage(): PackageEntity;
104
116
  getType(): types.Type;
@@ -119,7 +131,7 @@ export declare class ComputedPackageVariableDeclarationEntity implements Package
119
131
  private readonly _getterOrSetterDeclaration;
120
132
  private readonly _modifierFlags;
121
133
  private get modifierFlags();
122
- constructor(analyzer: Analyzer, getterDeclaration: PackageVariableGetterDeclaration | undefined, setterDeclaration: PackageVariableSetterDeclaration | undefined);
134
+ constructor(analyzer: Analyzer, getterDeclaration: tree.PackageVariableGetterDeclaration | undefined, setterDeclaration: tree.PackageVariableSetterDeclaration | undefined);
123
135
  getName(): Name;
124
136
  getType(): types.Type;
125
137
  getContainingPackage(): PackageEntity;
@@ -140,7 +152,7 @@ export declare class FieldDeclarationEntity implements FieldEntity {
140
152
  private readonly _overriddenMembers;
141
153
  private readonly _modifierFlags;
142
154
  private get modifierFlags();
143
- constructor(analyzer: Analyzer, node: FieldDeclaration);
155
+ constructor(analyzer: Analyzer, node: tree.FieldDeclaration);
144
156
  getName(): Name;
145
157
  getType(): types.Type;
146
158
  getDefinition(): VariableEntityDefinition;
@@ -168,7 +180,7 @@ export declare class ComputedFieldDeclarationEntity implements FieldEntity {
168
180
  private readonly _overriddenMembers;
169
181
  private readonly _modifierFlags;
170
182
  private get modifierFlags();
171
- constructor(analyzer: Analyzer, getterDeclaration: FieldGetterDeclaration | undefined, setterDeclaration: FieldSetterDeclaration | undefined);
183
+ constructor(analyzer: Analyzer, getterDeclaration: tree.FieldGetterDeclaration | undefined, setterDeclaration: tree.FieldSetterDeclaration | undefined);
172
184
  getName(): Name;
173
185
  getType(): types.Type;
174
186
  getContainer(): TypeMemberEntityContainer;
@@ -193,7 +205,7 @@ export declare class VariantDeclarationEntity implements FieldEntity {
193
205
  private readonly _node;
194
206
  private readonly _variantTypeDeclaration;
195
207
  private readonly _type;
196
- constructor(analyzer: Analyzer, node: VariantDeclaration);
208
+ constructor(analyzer: Analyzer, node: tree.VariantDeclaration);
197
209
  getName(): Name;
198
210
  getType(): types.Type;
199
211
  getDefinition(): VariableEntityDefinition;
@@ -217,7 +229,7 @@ export declare class LocalVariableDeclarationEntity implements LocalVariableEnti
217
229
  readonly kind = EntityKind.Variable;
218
230
  readonly subkind = "local";
219
231
  private readonly _typeInferrer;
220
- constructor(_analyzer: Analyzer, _node: LocalVariableDeclaration);
232
+ constructor(_analyzer: Analyzer, _node: tree.LocalVariableDeclaration);
221
233
  getName(): Name;
222
234
  getType(): types.Type;
223
235
  getDefinition(): VariableEntityDefinition;
@@ -227,6 +239,7 @@ export declare class LocalVariableDeclarationEntity implements LocalVariableEnti
227
239
  isHidden(): EntityHidingLevel | undefined;
228
240
  isSpecial(): SpecialVariableEntityInfo | undefined;
229
241
  getTags(): readonly Tag[];
242
+ getLocalVariableKind(): LocalVariableKind;
230
243
  getContainingEntity(): Entity;
231
244
  }
232
245
  export declare class EnumerationVariableDeclarationEntity implements LocalVariableEntity {
@@ -235,7 +248,7 @@ export declare class EnumerationVariableDeclarationEntity implements LocalVariab
235
248
  readonly kind = EntityKind.Variable;
236
249
  readonly subkind = "local";
237
250
  private readonly _typeInferrer;
238
- constructor(_analyzer: Analyzer, _node: EnumerationVariableDeclaration);
251
+ constructor(_analyzer: Analyzer, _node: tree.EnumerationVariableDeclaration);
239
252
  getName(): Name;
240
253
  getType(): types.Type;
241
254
  getDefinition(): VariableEntityDefinition;
@@ -245,6 +258,7 @@ export declare class EnumerationVariableDeclarationEntity implements LocalVariab
245
258
  isHidden(): EntityHidingLevel | undefined;
246
259
  isSpecial(): SpecialVariableEntityInfo | undefined;
247
260
  getTags(): readonly Tag[];
261
+ getLocalVariableKind(): LocalVariableKind;
248
262
  getContainingEntity(): Entity;
249
263
  }
250
264
  export declare class ErrorVariableDeclarationEntity implements LocalVariableEntity {
@@ -252,7 +266,7 @@ export declare class ErrorVariableDeclarationEntity implements LocalVariableEnti
252
266
  private readonly _node;
253
267
  readonly kind = EntityKind.Variable;
254
268
  readonly subkind = "local";
255
- constructor(_analyzer: Analyzer, _node: ErrorVariableDeclaration);
269
+ constructor(_analyzer: Analyzer, _node: tree.ErrorVariableDeclaration);
256
270
  getName(): Name;
257
271
  getType(): types.Type;
258
272
  getDefinition(): VariableEntityDefinition;
@@ -262,6 +276,7 @@ export declare class ErrorVariableDeclarationEntity implements LocalVariableEnti
262
276
  isHidden(): EntityHidingLevel | undefined;
263
277
  isSpecial(): SpecialVariableEntityInfo | undefined;
264
278
  getTags(): readonly Tag[];
279
+ getLocalVariableKind(): LocalVariableKind;
265
280
  getContainingEntity(): Entity;
266
281
  }
267
282
  export declare class ParameterDeclarationEntity implements ParameterVariableEntity {
@@ -270,7 +285,7 @@ export declare class ParameterDeclarationEntity implements ParameterVariableEnti
270
285
  readonly kind = EntityKind.Variable;
271
286
  readonly subkind = "parameter";
272
287
  private readonly _typeInferrer;
273
- constructor(_analyzer: Analyzer, _node: ParameterDeclaration);
288
+ constructor(_analyzer: Analyzer, _node: tree.ParameterDeclaration);
274
289
  getName(): Name;
275
290
  getType(): types.Type;
276
291
  getDefinition(): VariableEntityDefinition;
@@ -293,7 +308,7 @@ export declare class IndexParameterDeclarationEntity implements ParameterVariabl
293
308
  readonly subkind = "parameter";
294
309
  private readonly _getterOrSetterParameterDeclaration;
295
310
  private readonly _typeInferrer;
296
- constructor(_analyzer: Analyzer, _getterParameterDeclaration: ParameterDeclaration | undefined, _setterParameterDeclaration: ParameterDeclaration | undefined, _indexerEntity: IndexerEntity);
311
+ constructor(_analyzer: Analyzer, _getterParameterDeclaration: tree.ParameterDeclaration | undefined, _setterParameterDeclaration: tree.ParameterDeclaration | undefined, _indexerEntity: IndexerEntity);
297
312
  getName(): Name;
298
313
  getType(): types.Type;
299
314
  getDefinition(): VariableEntityDefinition;
@@ -314,7 +329,7 @@ export declare class FunctionLiteralParameterDeclarationEntity implements Parame
314
329
  readonly kind = EntityKind.Variable;
315
330
  readonly subkind = "parameter";
316
331
  private readonly _parameterIndex;
317
- constructor(_analyzer: Analyzer, _node: ParameterDeclaration, _functionLiteral: FunctionLiteral);
332
+ constructor(_analyzer: Analyzer, _node: tree.ParameterDeclaration, _functionLiteral: tree.FunctionLiteral);
318
333
  getName(): Name;
319
334
  getType(): types.Type;
320
335
  getDefinition(): VariableEntityDefinition;
@@ -424,6 +439,7 @@ export declare class IntrinsicLocalVariableEntity implements LocalVariableEntity
424
439
  isHidden(): EntityHidingLevel | undefined;
425
440
  isSpecial(): SpecialVariableEntityInfo | undefined;
426
441
  getTags(): readonly Tag[];
442
+ getLocalVariableKind(): LocalVariableKind;
427
443
  getContainingEntity(): Entity;
428
444
  }
429
445
  export {};
@@ -11,6 +11,9 @@ export declare class DefinitionService {
11
11
  private getReferenceTargetSourceLocation;
12
12
  private getReferenceTargetEntity;
13
13
  private createLocalizationContextForSourceGeneration;
14
+ private getSourceLocationsOfVariableEntity;
15
+ private getSourceLocationsOfSpecialVariable;
16
+ private getSourceLocationOfSubprogramNode;
14
17
  }
15
18
  export declare class DefinitionsAndReferenceInfo {
16
19
  readonly definitionLocations: readonly SourceLocation[];
@@ -29,34 +29,35 @@ export declare enum KeywordKind {
29
29
  RepeatWhile = 27,
30
30
  Yield = 28,
31
31
  When = 29,
32
- Creation = 30,
33
- Catch = 31,
34
- BreakLoop = 32,
35
- ContinueLoop = 33,
36
- For = 34,
37
- Const = 35,
38
- Hidden = 36,
39
- Abstract = 37,
40
- Redefinable = 38,
41
- Redefined = 39,
42
- Async = 40,
43
- Static = 41,
44
- As = 42,
45
- Not = 43,
46
- Switch = 44,
47
- Case = 45,
48
- Dispose = 46,
49
- Destruction = 47,
50
- InHierarchy = 48,
51
- InFile = 49,
52
- InPackage = 50,
53
- InType = 51,
54
- Yes = 52,
55
- No = 53,
56
- Reference = 54,
57
- Translations = 55,
58
- Base = 56,
59
- None = 57,
60
- Get = 58,
61
- Set = 59
32
+ Cond = 30,
33
+ Creation = 31,
34
+ Catch = 32,
35
+ BreakLoop = 33,
36
+ ContinueLoop = 34,
37
+ For = 35,
38
+ Const = 36,
39
+ Hidden = 37,
40
+ Abstract = 38,
41
+ Redefinable = 39,
42
+ Redefined = 40,
43
+ Async = 41,
44
+ Static = 42,
45
+ As = 43,
46
+ Not = 44,
47
+ Switch = 45,
48
+ Case = 46,
49
+ Dispose = 47,
50
+ Destruction = 48,
51
+ InHierarchy = 49,
52
+ InFile = 50,
53
+ InPackage = 51,
54
+ InType = 52,
55
+ Yes = 53,
56
+ No = 54,
57
+ Reference = 55,
58
+ Translations = 56,
59
+ Base = 57,
60
+ None = 58,
61
+ Get = 59,
62
+ Set = 60
62
63
  }
@@ -76,84 +76,85 @@ export declare enum NodeKind {
76
76
  FunctionLiteral = 74,
77
77
  ParenthesizedExpression = 75,
78
78
  WhenTernaryExpression = 76,
79
- PrefixUnaryExpression = 77,
80
- MemberAccessExpression = 78,
81
- ReferenceExpression = 79,
82
- DereferenceExpression = 80,
83
- TextTemplateLiteral = 81,
84
- TextTemplateSpanList = 82,
85
- TextTemplateSpan = 83,
86
- TokenExpression = 84,
87
- KeywordExpression = 85,
88
- ObjectExpression = 86,
89
- BaseExpression = 87,
90
- IdentifierExpression = 88,
91
- GenericSpecializationExpression = 89,
92
- DefaultMatchExpression = 90,
93
- AssignmentStatement = 91,
94
- StatementList = 92,
95
- StatementBlock = 93,
96
- FunctionBlock = 94,
97
- BreakLoopStatement = 95,
98
- ContinueLoopStatement = 96,
99
- DisposeStatement = 97,
100
- RunStatement = 98,
101
- TryStatement = 99,
102
- CatchClause = 100,
103
- ErrorVariableDeclaration = 101,
104
- FinallyClause = 102,
105
- EmptyStatement = 103,
106
- ErrorStatement = 104,
107
- ImportantStatement = 105,
108
- ExpressionStatement = 106,
109
- EnumerationVariableList = 107,
110
- ForStatement = 108,
111
- IfStatement = 109,
112
- ElseIfClauseList = 110,
113
- ElseIfClause = 111,
114
- ElseClause = 112,
115
- InvalidStatement = 113,
116
- NestedFunctionDeclarationStatement = 114,
117
- LocalVariableDeclarationStatement = 115,
118
- LoopStatement = 116,
119
- ReturnStatement = 117,
120
- CaseClauseList = 118,
121
- SwitchStatement = 119,
122
- MatchExpressionList = 120,
123
- CaseClause = 121,
124
- WhileStatement = 122,
125
- YieldStatement = 123,
126
- TranslationParameterList = 124,
127
- TranslationParameterClause = 125,
128
- ConstructorTranslation = 126,
129
- IndexParameterTranslationClause = 127,
130
- IndexerTranslation = 128,
131
- TranslationTypeParameterList = 129,
132
- TranslationTypeParameterClause = 130,
133
- PackageFunctionTranslation = 131,
134
- MethodTranslation = 132,
135
- FunctionTypeTranslation = 133,
136
- PackageImportTranslation = 134,
137
- QualifiedName = 135,
138
- PackageVariableTranslation = 136,
139
- FieldOrVariantTranslation = 137,
140
- TypeMemberTranslationList = 138,
141
- TypeTranslation = 139,
142
- TextLiteralTranslation = 140,
143
- TextTemplateLiteralTranslation = 141,
144
- VariantDeclaration = 142,
145
- TypeParameterDeclaration = 143,
146
- ParameterDeclaration = 144,
147
- Argument = 145,
148
- TagList = 146,
149
- Tag = 147,
150
- ModifierList = 148,
151
- Modifier = 149,
152
- ParameterClause = 150,
153
- ParameterList = 151,
154
- TypeArgumentClause = 152,
155
- TypeArgumentList = 153,
156
- TypeParameterClause = 154,
157
- TypeParameterList = 155,
158
- TypeAnnotation = 156
79
+ ConditionalExpression = 77,
80
+ PrefixUnaryExpression = 78,
81
+ MemberAccessExpression = 79,
82
+ ReferenceExpression = 80,
83
+ DereferenceExpression = 81,
84
+ TextTemplateLiteral = 82,
85
+ TextTemplateSpanList = 83,
86
+ TextTemplateSpan = 84,
87
+ TokenExpression = 85,
88
+ KeywordExpression = 86,
89
+ ObjectExpression = 87,
90
+ BaseExpression = 88,
91
+ IdentifierExpression = 89,
92
+ GenericSpecializationExpression = 90,
93
+ DefaultMatchExpression = 91,
94
+ AssignmentStatement = 92,
95
+ StatementList = 93,
96
+ StatementBlock = 94,
97
+ FunctionBlock = 95,
98
+ BreakLoopStatement = 96,
99
+ ContinueLoopStatement = 97,
100
+ DisposeStatement = 98,
101
+ RunStatement = 99,
102
+ TryStatement = 100,
103
+ CatchClause = 101,
104
+ ErrorVariableDeclaration = 102,
105
+ FinallyClause = 103,
106
+ EmptyStatement = 104,
107
+ ErrorStatement = 105,
108
+ ImportantStatement = 106,
109
+ ExpressionStatement = 107,
110
+ EnumerationVariableList = 108,
111
+ ForStatement = 109,
112
+ IfStatement = 110,
113
+ ElseIfClauseList = 111,
114
+ ElseIfClause = 112,
115
+ ElseClause = 113,
116
+ InvalidStatement = 114,
117
+ NestedFunctionDeclarationStatement = 115,
118
+ LocalVariableDeclarationStatement = 116,
119
+ LoopStatement = 117,
120
+ ReturnStatement = 118,
121
+ CaseClauseList = 119,
122
+ SwitchStatement = 120,
123
+ MatchExpressionList = 121,
124
+ CaseClause = 122,
125
+ WhileStatement = 123,
126
+ YieldStatement = 124,
127
+ TranslationParameterList = 125,
128
+ TranslationParameterClause = 126,
129
+ ConstructorTranslation = 127,
130
+ IndexParameterTranslationClause = 128,
131
+ IndexerTranslation = 129,
132
+ TranslationTypeParameterList = 130,
133
+ TranslationTypeParameterClause = 131,
134
+ PackageFunctionTranslation = 132,
135
+ MethodTranslation = 133,
136
+ FunctionTypeTranslation = 134,
137
+ PackageImportTranslation = 135,
138
+ QualifiedName = 136,
139
+ PackageVariableTranslation = 137,
140
+ FieldOrVariantTranslation = 138,
141
+ TypeMemberTranslationList = 139,
142
+ TypeTranslation = 140,
143
+ TextLiteralTranslation = 141,
144
+ TextTemplateLiteralTranslation = 142,
145
+ VariantDeclaration = 143,
146
+ TypeParameterDeclaration = 144,
147
+ ParameterDeclaration = 145,
148
+ Argument = 146,
149
+ TagList = 147,
150
+ Tag = 148,
151
+ ModifierList = 149,
152
+ Modifier = 150,
153
+ ParameterClause = 151,
154
+ ParameterList = 152,
155
+ TypeArgumentClause = 153,
156
+ TypeArgumentList = 154,
157
+ TypeParameterClause = 155,
158
+ TypeParameterList = 156,
159
+ TypeAnnotation = 157
159
160
  }
@@ -31,6 +31,7 @@ export declare class PackageMemberDeclarationList extends BaseNode {
31
31
  export type Identifier = Token<TokenKind.Identifier>;
32
32
  export type Comma = Token<TokenKind.Comma>;
33
33
  export type Semicolon = Token<TokenKind.Semicolon>;
34
+ export type IdentifierListElement = Identifier | Comma;
34
35
  export declare class Keyword<TKind extends KeywordKind = KeywordKind> extends BaseNode {
35
36
  readonly keywordKind: TKind;
36
37
  readonly isMissing: boolean;
@@ -919,7 +920,8 @@ export declare class EnumerationVariableDeclaration extends BaseNode {
919
920
  constructor(name: Identifier);
920
921
  toRed(rangeStart: number, parent: red.EnumerationVariableDeclarationParent): red.EnumerationVariableDeclaration;
921
922
  }
922
- export type Expression = ArrayLiteral | AsExpression | AssertionExpression | AssumptionExpression | BinaryExpression | FunctionBlockLiteral | CallExpression | IdentifierExpression | AutotypeCallExpression | IndexedAccessExpression | InvalidExpression | IsExpression | FunctionLiteral | ParenthesizedExpression | WhenTernaryExpression | PrefixUnaryExpression | MemberAccessExpression | ReferenceExpression | DereferenceExpression | TextTemplateLiteral | GenericSpecializationExpression | DefaultMatchExpression | TokenExpression | KeywordExpression | ObjectExpression | BaseExpression;
923
+ export type Expression = ArrayLiteral | AsExpression | AssertionExpression | AssumptionExpression | BinaryExpression | FunctionBlockLiteral | CallExpression | IdentifierExpression | AutotypeCallExpression | IndexedAccessExpression | InvalidExpression | IsExpression | FunctionLiteral | ParenthesizedExpression | WhenTernaryExpression | ConditionalExpression | PrefixUnaryExpression | MemberAccessExpression | ReferenceExpression | DereferenceExpression | TextTemplateLiteral | GenericSpecializationExpression | DefaultMatchExpression | TokenExpression | KeywordExpression | ObjectExpression | BaseExpression;
924
+ export type ExpressionListElement = Expression | Comma;
923
925
  export declare class ArrayLiteral extends BaseNode {
924
926
  readonly kind = NodeKind.ArrayLiteral;
925
927
  readonly children: readonly [
@@ -934,13 +936,12 @@ export declare class ArrayLiteral extends BaseNode {
934
936
  constructor(openSquareBracketToken: Token<TokenKind.OpenSquareBracket>, elementList: ArrayLiteralElementList, closeSquareBracketToken: Token<TokenKind.CloseSquareBracket>);
935
937
  toRed(rangeStart: number, parent: red.ExpressionParent): red.ArrayLiteral;
936
938
  }
937
- export type ArrayLiteralElementListElement = Expression | Comma;
938
939
  export declare class ArrayLiteralElementList extends BaseNode {
939
940
  readonly kind = NodeKind.ArrayLiteralElementList;
940
- readonly children: readonly ArrayLiteralElementListElement[];
941
- get elements(): readonly ArrayLiteralElementListElement[];
941
+ readonly children: readonly ExpressionListElement[];
942
+ get elements(): readonly ExpressionListElement[];
942
943
  protected get thisAsNode(): Node;
943
- constructor(elements: readonly ArrayLiteralElementListElement[]);
944
+ constructor(elements: readonly ExpressionListElement[]);
944
945
  toRed(rangeStart: number, parent: red.ArrayLiteralElementListParent): red.ArrayLiteralElementList;
945
946
  }
946
947
  export declare class AssertionExpression extends BaseNode {
@@ -1134,6 +1135,30 @@ export declare class WhenTernaryExpression extends BaseNode {
1134
1135
  constructor(firstExpression: Expression, whenKeyword: Keyword<KeywordKind.When>, condition: Expression, colonToken: Token<TokenKind.Colon>, secondExpression: Expression);
1135
1136
  toRed(rangeStart: number, parent: red.ExpressionParent): red.WhenTernaryExpression;
1136
1137
  }
1138
+ export declare class ConditionalExpression extends BaseNode {
1139
+ readonly kind = NodeKind.ConditionalExpression;
1140
+ readonly children: readonly [
1141
+ Keyword<KeywordKind.Cond>,
1142
+ Token<TokenKind.OpenParenthesis>,
1143
+ Expression,
1144
+ Comma,
1145
+ Expression,
1146
+ Comma | undefined,
1147
+ Expression | undefined,
1148
+ Token<TokenKind.CloseParenthesis>
1149
+ ];
1150
+ get condKeyword(): Keyword<KeywordKind.Cond>;
1151
+ get openParenthesisToken(): Token<TokenKind.OpenParenthesis>;
1152
+ get condition(): Expression;
1153
+ get firstComma(): Comma;
1154
+ get firstExpression(): Expression;
1155
+ get secondComma(): Comma | undefined;
1156
+ get secondExpression(): Expression | undefined;
1157
+ get closeParenthesisToken(): Token<TokenKind.CloseParenthesis>;
1158
+ protected get thisAsNode(): Node;
1159
+ 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>);
1160
+ toRed(rangeStart: number, parent: red.ExpressionParent): red.ConditionalExpression;
1161
+ }
1137
1162
  export declare class PrefixUnaryExpression extends BaseNode {
1138
1163
  readonly kind = NodeKind.PrefixUnaryExpression;
1139
1164
  readonly children: readonly [
@@ -1650,13 +1675,12 @@ export declare class SwitchStatement extends BaseNode {
1650
1675
  constructor(switchKeyword: Keyword<KeywordKind.Switch>, expression: Expression, caseClauseList: CaseClauseList);
1651
1676
  toRed(rangeStart: number, parent: red.SwitchStatementParent): red.SwitchStatement;
1652
1677
  }
1653
- export type MatchExpressionListElement = Expression | Comma;
1654
1678
  export declare class MatchExpressionList extends BaseNode {
1655
1679
  readonly kind = NodeKind.MatchExpressionList;
1656
- readonly children: readonly MatchExpressionListElement[];
1657
- get elements(): readonly MatchExpressionListElement[];
1680
+ readonly children: readonly ExpressionListElement[];
1681
+ get elements(): readonly ExpressionListElement[];
1658
1682
  protected get thisAsNode(): Node;
1659
- constructor(elements: readonly MatchExpressionListElement[]);
1683
+ constructor(elements: readonly ExpressionListElement[]);
1660
1684
  toRed(rangeStart: number, parent: red.MatchExpressionListParent): red.MatchExpressionList;
1661
1685
  }
1662
1686
  export declare class CaseClause extends BaseNode {
@@ -1700,13 +1724,12 @@ export declare class YieldStatement extends BaseNode {
1700
1724
  toRed(rangeStart: number, parent: red.StatementParent): red.YieldStatement;
1701
1725
  }
1702
1726
  export type TopLevelTranslation = PackageImportTranslation | PackageVariableTranslation | PackageFunctionTranslation | TypeTranslation | FunctionTypeTranslation | TextLiteralTranslation | TextTemplateLiteralTranslation;
1703
- export type TranslationParameterListElement = Identifier | Comma;
1704
1727
  export declare class TranslationParameterList extends BaseNode {
1705
1728
  readonly kind = NodeKind.TranslationParameterList;
1706
- readonly children: readonly TranslationParameterListElement[];
1707
- get elements(): readonly TranslationParameterListElement[];
1729
+ readonly children: readonly IdentifierListElement[];
1730
+ get elements(): readonly IdentifierListElement[];
1708
1731
  protected get thisAsNode(): Node;
1709
- constructor(elements: readonly TranslationParameterListElement[]);
1732
+ constructor(elements: readonly IdentifierListElement[]);
1710
1733
  toRed(rangeStart: number, parent: red.TranslationParameterListParent): red.TranslationParameterList;
1711
1734
  }
1712
1735
  export declare class TranslationParameterClause extends BaseNode {
@@ -1767,13 +1790,12 @@ export declare class IndexerTranslation extends BaseNode {
1767
1790
  constructor(sourceParameterClause: IndexParameterTranslationClause, minusGreaterThanToken: Token<TokenKind.MinusGreaterThan>, translatedParameterClause: IndexParameterTranslationClause);
1768
1791
  toRed(rangeStart: number, parent: red.TypeMemberTranslationParent): red.IndexerTranslation;
1769
1792
  }
1770
- export type TranslationTypeParameterListElement = Identifier | Comma;
1771
1793
  export declare class TranslationTypeParameterList extends BaseNode {
1772
1794
  readonly kind = NodeKind.TranslationTypeParameterList;
1773
- readonly children: readonly TranslationTypeParameterListElement[];
1774
- get elements(): readonly TranslationTypeParameterListElement[];
1795
+ readonly children: readonly IdentifierListElement[];
1796
+ get elements(): readonly IdentifierListElement[];
1775
1797
  protected get thisAsNode(): Node;
1776
- constructor(elements: readonly TranslationTypeParameterListElement[]);
1798
+ constructor(elements: readonly IdentifierListElement[]);
1777
1799
  toRed(rangeStart: number, parent: red.TranslationTypeParameterListParent): red.TranslationTypeParameterList;
1778
1800
  }
1779
1801
  export declare class TranslationTypeParameterClause extends BaseNode {
@@ -2183,4 +2205,4 @@ export declare class TypeAnnotation extends BaseNode {
2183
2205
  constructor(colonToken: Token<TokenKind.Colon>, typeSpecifier: TypeSpecifier);
2184
2206
  toRed(rangeStart: number, parent: red.TypeAnnotationParent): red.TypeAnnotation;
2185
2207
  }
2186
- export type Node = SourceFile | PackageMemberDeclarationList | Keyword | PackageImportDirectiveList | SinglePackageImportDirective | PackageGroupImportDirective | PackageImportList | PackageImport | PackageName | NamedTypeSpecifier | UnionTypeSpecifier | IntersectionTypeSpecifier | ParenthesizedTypeSpecifier | NullableTypeSpecifier | AnonymousTypeSpecifier | InvalidTypeSpecifier | AnonymousFunctionTypeDeclaration | AnonymousStructuredTypeDeclaration | AnonymousVariantTypeDeclaration | TopLevelTranslationList | TranslationsDeclaration | PackageAliasTypeDeclaration | AliasTypeDeclarationBody | PackageMemberGroupDeclaration | PackageConstructorDeclaration | PackageEntryPointDeclaration | PackageFunctionDeclaration | PackageFunctionTypeDeclaration | FunctionTypeDeclarationBody | BaseTypeList | TypeMemberDeclarationList | TypeMemberDeclarationBlock | PackageStructuredTypeDeclaration | StructuredTypeDeclarationBody | PackageVariableDeclaration | PackageVariableGetterDeclaration | PackageVariableSetterDeclaration | PackageVariantTypeDeclaration | VariantTypeDeclarationBody | TypeExtensionDeclaration | ExtendedTypeClauseCommaList | ExtendedTypeClause | InvalidPackageMemberDeclaration | TypeMemberGroupDeclaration | ConstructorDeclaration | DestructorDeclaration | IndexedElementGetterDeclaration | IndexedElementSetterDeclaration | IndexParameterClause | DereferencedVariableGetterDeclaration | DereferencedVariableSetterDeclaration | MethodDeclaration | OperatorDeclaration | FieldDeclaration | FieldGetterDeclaration | FieldSetterDeclaration | InvalidTypeMemberDeclaration | NestedFunctionDeclaration | LocalVariableDeclaration | EnumerationVariableDeclaration | ArrayLiteral | ArrayLiteralElementList | AssertionExpression | AssumptionExpression | AsExpression | BinaryExpression | FunctionBlockLiteral | ArgumentList | CallExpression | AutotypeCallExpression | IndexedAccessExpression | InvalidExpression | IsExpression | FunctionLiteral | ParenthesizedExpression | WhenTernaryExpression | PrefixUnaryExpression | MemberAccessExpression | ReferenceExpression | DereferenceExpression | TextTemplateLiteral | TextTemplateSpanList | TextTemplateSpan | TokenExpression | KeywordExpression | ObjectExpression | BaseExpression | IdentifierExpression | GenericSpecializationExpression | DefaultMatchExpression | AssignmentStatement | StatementList | StatementBlock | FunctionBlock | BreakLoopStatement | ContinueLoopStatement | DisposeStatement | RunStatement | TryStatement | CatchClause | ErrorVariableDeclaration | FinallyClause | EmptyStatement | ErrorStatement | ImportantStatement | ExpressionStatement | EnumerationVariableList | ForStatement | IfStatement | ElseIfClauseList | ElseIfClause | ElseClause | InvalidStatement | NestedFunctionDeclarationStatement | LocalVariableDeclarationStatement | LoopStatement | ReturnStatement | CaseClauseList | SwitchStatement | MatchExpressionList | CaseClause | WhileStatement | YieldStatement | TranslationParameterList | TranslationParameterClause | ConstructorTranslation | IndexParameterTranslationClause | IndexerTranslation | TranslationTypeParameterList | TranslationTypeParameterClause | PackageFunctionTranslation | MethodTranslation | FunctionTypeTranslation | PackageImportTranslation | QualifiedName | PackageVariableTranslation | FieldOrVariantTranslation | TypeMemberTranslationList | TypeTranslation | TextLiteralTranslation | TextTemplateLiteralTranslation | VariantDeclaration | TypeParameterDeclaration | ParameterDeclaration | Argument | TagList | Tag | ModifierList | Modifier | ParameterClause | ParameterList | TypeArgumentClause | TypeArgumentList | TypeParameterClause | TypeParameterList | TypeAnnotation | Token;
2208
+ export type Node = SourceFile | PackageMemberDeclarationList | Keyword | PackageImportDirectiveList | SinglePackageImportDirective | PackageGroupImportDirective | PackageImportList | PackageImport | PackageName | NamedTypeSpecifier | UnionTypeSpecifier | IntersectionTypeSpecifier | ParenthesizedTypeSpecifier | NullableTypeSpecifier | AnonymousTypeSpecifier | InvalidTypeSpecifier | AnonymousFunctionTypeDeclaration | AnonymousStructuredTypeDeclaration | AnonymousVariantTypeDeclaration | TopLevelTranslationList | TranslationsDeclaration | PackageAliasTypeDeclaration | AliasTypeDeclarationBody | PackageMemberGroupDeclaration | PackageConstructorDeclaration | PackageEntryPointDeclaration | PackageFunctionDeclaration | PackageFunctionTypeDeclaration | FunctionTypeDeclarationBody | BaseTypeList | TypeMemberDeclarationList | TypeMemberDeclarationBlock | PackageStructuredTypeDeclaration | StructuredTypeDeclarationBody | PackageVariableDeclaration | PackageVariableGetterDeclaration | PackageVariableSetterDeclaration | PackageVariantTypeDeclaration | VariantTypeDeclarationBody | TypeExtensionDeclaration | ExtendedTypeClauseCommaList | ExtendedTypeClause | InvalidPackageMemberDeclaration | TypeMemberGroupDeclaration | ConstructorDeclaration | DestructorDeclaration | IndexedElementGetterDeclaration | IndexedElementSetterDeclaration | IndexParameterClause | DereferencedVariableGetterDeclaration | DereferencedVariableSetterDeclaration | MethodDeclaration | OperatorDeclaration | FieldDeclaration | FieldGetterDeclaration | FieldSetterDeclaration | InvalidTypeMemberDeclaration | NestedFunctionDeclaration | LocalVariableDeclaration | EnumerationVariableDeclaration | ArrayLiteral | ArrayLiteralElementList | AssertionExpression | AssumptionExpression | AsExpression | BinaryExpression | FunctionBlockLiteral | ArgumentList | CallExpression | AutotypeCallExpression | IndexedAccessExpression | InvalidExpression | IsExpression | FunctionLiteral | ParenthesizedExpression | WhenTernaryExpression | ConditionalExpression | PrefixUnaryExpression | MemberAccessExpression | ReferenceExpression | DereferenceExpression | TextTemplateLiteral | TextTemplateSpanList | TextTemplateSpan | TokenExpression | KeywordExpression | ObjectExpression | BaseExpression | IdentifierExpression | GenericSpecializationExpression | DefaultMatchExpression | AssignmentStatement | StatementList | StatementBlock | FunctionBlock | BreakLoopStatement | ContinueLoopStatement | DisposeStatement | RunStatement | TryStatement | CatchClause | ErrorVariableDeclaration | FinallyClause | EmptyStatement | ErrorStatement | ImportantStatement | ExpressionStatement | EnumerationVariableList | ForStatement | IfStatement | ElseIfClauseList | ElseIfClause | ElseClause | InvalidStatement | NestedFunctionDeclarationStatement | LocalVariableDeclarationStatement | LoopStatement | ReturnStatement | CaseClauseList | SwitchStatement | MatchExpressionList | CaseClause | WhileStatement | YieldStatement | TranslationParameterList | TranslationParameterClause | ConstructorTranslation | IndexParameterTranslationClause | IndexerTranslation | TranslationTypeParameterList | TranslationTypeParameterClause | PackageFunctionTranslation | MethodTranslation | FunctionTypeTranslation | PackageImportTranslation | QualifiedName | PackageVariableTranslation | FieldOrVariantTranslation | TypeMemberTranslationList | TypeTranslation | TextLiteralTranslation | TextTemplateLiteralTranslation | VariantDeclaration | TypeParameterDeclaration | ParameterDeclaration | Argument | TagList | Tag | ModifierList | Modifier | ParameterClause | ParameterList | TypeArgumentClause | TypeArgumentList | TypeParameterClause | TypeParameterList | TypeAnnotation | Token;