@zenstackhq/language 1.0.0-alpha.98 → 1.0.0-beta.1

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.
package/ast.d.ts CHANGED
@@ -21,6 +21,15 @@ declare module './generated/ast' {
21
21
  */
22
22
  $resolvedParam?: AttributeParam;
23
23
  }
24
+ interface DataModel {
25
+ /**
26
+ * Resolved fields, include inherited fields
27
+ */
28
+ $resolvedFields: Array<DataModelField>;
29
+ }
30
+ interface DataModelField {
31
+ $isInherited?: boolean;
32
+ }
24
33
  }
25
34
  declare module 'langium' {
26
35
  interface AstNode {
@@ -1,5 +1,5 @@
1
1
  /******************************************************************************
2
- * This file was generated by langium-cli 1.1.0.
2
+ * This file was generated by langium-cli 1.2.0.
3
3
  * DO NOT EDIT MANUALLY!
4
4
  ******************************************************************************/
5
5
  import { AstNode, AbstractAstReflection, Reference, ReferenceInfo, TypeMetaData } from 'langium';
@@ -7,31 +7,40 @@ export type AbstractDeclaration = Attribute | DataModel | DataSource | Enum | Fu
7
7
  export declare const AbstractDeclaration = "AbstractDeclaration";
8
8
  export declare function isAbstractDeclaration(item: unknown): item is AbstractDeclaration;
9
9
  export type AttributeAttributeName = string;
10
+ export declare function isAttributeAttributeName(item: unknown): item is AttributeAttributeName;
10
11
  export type AttributeName = AttributeAttributeName | DataModelAttributeName | DataModelFieldAttributeName;
12
+ export declare function isAttributeName(item: unknown): item is AttributeName;
11
13
  export type BuiltinType = 'BigInt' | 'Boolean' | 'Bytes' | 'DateTime' | 'Decimal' | 'Float' | 'Int' | 'Json' | 'String';
14
+ export declare function isBuiltinType(item: unknown): item is BuiltinType;
12
15
  export type DataModelAttributeName = string;
16
+ export declare function isDataModelAttributeName(item: unknown): item is DataModelAttributeName;
13
17
  export type DataModelFieldAttributeName = string;
18
+ export declare function isDataModelFieldAttributeName(item: unknown): item is DataModelFieldAttributeName;
14
19
  export type Expression = ArrayExpr | BinaryExpr | InvocationExpr | LiteralExpr | MemberAccessExpr | NullExpr | ObjectExpr | ReferenceExpr | ThisExpr | UnaryExpr;
15
20
  export declare const Expression = "Expression";
16
21
  export declare function isExpression(item: unknown): item is Expression;
17
- export type ExpressionType = 'Any' | 'Boolean' | 'DateTime' | 'Float' | 'Int' | 'Null' | 'Object' | 'String';
22
+ export type ExpressionType = 'Any' | 'Boolean' | 'DateTime' | 'Float' | 'Int' | 'Null' | 'Object' | 'String' | 'Unsupported';
23
+ export declare function isExpressionType(item: unknown): item is ExpressionType;
18
24
  export type QualifiedName = string;
25
+ export declare function isQualifiedName(item: unknown): item is QualifiedName;
19
26
  export type ReferenceTarget = DataModelField | EnumField | FunctionParam;
20
27
  export declare const ReferenceTarget = "ReferenceTarget";
21
28
  export declare function isReferenceTarget(item: unknown): item is ReferenceTarget;
29
+ export type RegularID = 'abstract' | 'attribute' | 'datasource' | 'enum' | 'in' | 'model' | 'plugin' | 'sort' | string;
30
+ export declare function isRegularID(item: unknown): item is RegularID;
22
31
  export type TypeDeclaration = DataModel | Enum;
23
32
  export declare const TypeDeclaration = "TypeDeclaration";
24
33
  export declare function isTypeDeclaration(item: unknown): item is TypeDeclaration;
25
34
  export interface Argument extends AstNode {
26
35
  readonly $container: InvocationExpr;
27
36
  readonly $type: 'Argument';
28
- name?: string;
37
+ name?: RegularID;
29
38
  value: Expression;
30
39
  }
31
40
  export declare const Argument = "Argument";
32
41
  export declare function isArgument(item: unknown): item is Argument;
33
42
  export interface ArrayExpr extends AstNode {
34
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
43
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
35
44
  readonly $type: 'ArrayExpr';
36
45
  items: Array<Expression>;
37
46
  }
@@ -49,7 +58,7 @@ export declare function isAttribute(item: unknown): item is Attribute;
49
58
  export interface AttributeArg extends AstNode {
50
59
  readonly $container: AttributeAttribute | DataModelAttribute | DataModelFieldAttribute;
51
60
  readonly $type: 'AttributeArg';
52
- name?: string;
61
+ name?: RegularID;
53
62
  value: Expression;
54
63
  }
55
64
  export declare const AttributeArg = "AttributeArg";
@@ -66,7 +75,7 @@ export interface AttributeParam extends AstNode {
66
75
  readonly $container: Attribute;
67
76
  readonly $type: 'AttributeParam';
68
77
  default: boolean;
69
- name: string;
78
+ name: RegularID;
70
79
  type: AttributeParamType;
71
80
  }
72
81
  export declare const AttributeParam = "AttributeParam";
@@ -82,7 +91,7 @@ export interface AttributeParamType extends AstNode {
82
91
  export declare const AttributeParamType = "AttributeParamType";
83
92
  export declare function isAttributeParamType(item: unknown): item is AttributeParamType;
84
93
  export interface BinaryExpr extends AstNode {
85
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
94
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
86
95
  readonly $type: 'BinaryExpr';
87
96
  left: Expression;
88
97
  operator: '!' | '!=' | '&&' | '<' | '<=' | '==' | '>' | '>=' | '?' | '^' | 'in' | '||';
@@ -96,7 +105,9 @@ export interface DataModel extends AstNode {
96
105
  attributes: Array<DataModelAttribute>;
97
106
  comments: Array<string>;
98
107
  fields: Array<DataModelField>;
99
- name: string;
108
+ isAbstract: boolean;
109
+ name: RegularID;
110
+ superTypes: Array<Reference<DataModel>>;
100
111
  }
101
112
  export declare const DataModel = "DataModel";
102
113
  export declare function isDataModel(item: unknown): item is DataModel;
@@ -113,7 +124,7 @@ export interface DataModelField extends AstNode {
113
124
  readonly $type: 'DataModelField';
114
125
  attributes: Array<DataModelFieldAttribute>;
115
126
  comments: Array<string>;
116
- name: string;
127
+ name: RegularID;
117
128
  type: DataModelFieldType;
118
129
  }
119
130
  export declare const DataModelField = "DataModelField";
@@ -133,6 +144,7 @@ export interface DataModelFieldType extends AstNode {
133
144
  optional: boolean;
134
145
  reference?: Reference<TypeDeclaration>;
135
146
  type?: BuiltinType;
147
+ unsupported?: UnsupportedFieldType;
136
148
  }
137
149
  export declare const DataModelFieldType = "DataModelFieldType";
138
150
  export declare function isDataModelFieldType(item: unknown): item is DataModelFieldType;
@@ -140,14 +152,14 @@ export interface DataSource extends AstNode {
140
152
  readonly $container: Model;
141
153
  readonly $type: 'DataSource';
142
154
  fields: Array<DataSourceField>;
143
- name: string;
155
+ name: RegularID;
144
156
  }
145
157
  export declare const DataSource = "DataSource";
146
158
  export declare function isDataSource(item: unknown): item is DataSource;
147
159
  export interface DataSourceField extends AstNode {
148
160
  readonly $container: DataSource;
149
161
  readonly $type: 'DataSourceField';
150
- name: string;
162
+ name: RegularID;
151
163
  value: ArrayExpr | InvocationExpr | LiteralExpr;
152
164
  }
153
165
  export declare const DataSourceField = "DataSourceField";
@@ -158,7 +170,7 @@ export interface Enum extends AstNode {
158
170
  attributes: Array<DataModelAttribute>;
159
171
  comments: Array<string>;
160
172
  fields: Array<EnumField>;
161
- name: string;
173
+ name: RegularID;
162
174
  }
163
175
  export declare const Enum = "Enum";
164
176
  export declare function isEnum(item: unknown): item is Enum;
@@ -167,14 +179,14 @@ export interface EnumField extends AstNode {
167
179
  readonly $type: 'EnumField';
168
180
  attributes: Array<DataModelFieldAttribute>;
169
181
  comments: Array<string>;
170
- name: string;
182
+ name: RegularID;
171
183
  }
172
184
  export declare const EnumField = "EnumField";
173
185
  export declare function isEnumField(item: unknown): item is EnumField;
174
186
  export interface FieldInitializer extends AstNode {
175
187
  readonly $container: ObjectExpr;
176
188
  readonly $type: 'FieldInitializer';
177
- name: string;
189
+ name: RegularID;
178
190
  value: Expression;
179
191
  }
180
192
  export declare const FieldInitializer = "FieldInitializer";
@@ -183,7 +195,7 @@ export interface FunctionDecl extends AstNode {
183
195
  readonly $container: Model;
184
196
  readonly $type: 'FunctionDecl';
185
197
  expression?: Expression;
186
- name: string;
198
+ name: RegularID;
187
199
  params: Array<FunctionParam>;
188
200
  returnType: FunctionParamType;
189
201
  }
@@ -192,7 +204,7 @@ export declare function isFunctionDecl(item: unknown): item is FunctionDecl;
192
204
  export interface FunctionParam extends AstNode {
193
205
  readonly $container: DataModel | Enum | FunctionDecl;
194
206
  readonly $type: 'FunctionParam';
195
- name: string;
207
+ name: RegularID;
196
208
  optional: boolean;
197
209
  type: FunctionParamType;
198
210
  }
@@ -211,20 +223,20 @@ export interface GeneratorDecl extends AstNode {
211
223
  readonly $container: Model;
212
224
  readonly $type: 'GeneratorDecl';
213
225
  fields: Array<GeneratorField>;
214
- name: string;
226
+ name: RegularID;
215
227
  }
216
228
  export declare const GeneratorDecl = "GeneratorDecl";
217
229
  export declare function isGeneratorDecl(item: unknown): item is GeneratorDecl;
218
230
  export interface GeneratorField extends AstNode {
219
231
  readonly $container: GeneratorDecl;
220
232
  readonly $type: 'GeneratorField';
221
- name: string;
233
+ name: RegularID;
222
234
  value: ArrayExpr | LiteralExpr;
223
235
  }
224
236
  export declare const GeneratorField = "GeneratorField";
225
237
  export declare function isGeneratorField(item: unknown): item is GeneratorField;
226
238
  export interface InvocationExpr extends AstNode {
227
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
239
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
228
240
  readonly $type: 'InvocationExpr';
229
241
  args: Array<Argument>;
230
242
  function: Reference<FunctionDecl>;
@@ -232,14 +244,14 @@ export interface InvocationExpr extends AstNode {
232
244
  export declare const InvocationExpr = "InvocationExpr";
233
245
  export declare function isInvocationExpr(item: unknown): item is InvocationExpr;
234
246
  export interface LiteralExpr extends AstNode {
235
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
247
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
236
248
  readonly $type: 'LiteralExpr';
237
249
  value: boolean | number | string;
238
250
  }
239
251
  export declare const LiteralExpr = "LiteralExpr";
240
252
  export declare function isLiteralExpr(item: unknown): item is LiteralExpr;
241
253
  export interface MemberAccessExpr extends AstNode {
242
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
254
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
243
255
  readonly $type: 'MemberAccessExpr';
244
256
  member: Reference<DataModelField>;
245
257
  operand: Expression;
@@ -249,18 +261,26 @@ export declare function isMemberAccessExpr(item: unknown): item is MemberAccessE
249
261
  export interface Model extends AstNode {
250
262
  readonly $type: 'Model';
251
263
  declarations: Array<AbstractDeclaration>;
264
+ imports: Array<ModelImport>;
252
265
  }
253
266
  export declare const Model = "Model";
254
267
  export declare function isModel(item: unknown): item is Model;
268
+ export interface ModelImport extends AstNode {
269
+ readonly $container: Model;
270
+ readonly $type: 'ModelImport';
271
+ path: string;
272
+ }
273
+ export declare const ModelImport = "ModelImport";
274
+ export declare function isModelImport(item: unknown): item is ModelImport;
255
275
  export interface NullExpr extends AstNode {
256
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
276
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
257
277
  readonly $type: 'NullExpr';
258
278
  value: string;
259
279
  }
260
280
  export declare const NullExpr = "NullExpr";
261
281
  export declare function isNullExpr(item: unknown): item is NullExpr;
262
282
  export interface ObjectExpr extends AstNode {
263
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
283
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
264
284
  readonly $type: 'ObjectExpr';
265
285
  fields: Array<FieldInitializer>;
266
286
  }
@@ -270,15 +290,15 @@ export interface Plugin extends AstNode {
270
290
  readonly $container: Model;
271
291
  readonly $type: 'Plugin';
272
292
  fields: Array<PluginField>;
273
- name: string;
293
+ name: RegularID;
274
294
  }
275
295
  export declare const Plugin = "Plugin";
276
296
  export declare function isPlugin(item: unknown): item is Plugin;
277
297
  export interface PluginField extends AstNode {
278
298
  readonly $container: Plugin;
279
299
  readonly $type: 'PluginField';
280
- name: string;
281
- value: ArrayExpr | LiteralExpr;
300
+ name: RegularID;
301
+ value: ArrayExpr | LiteralExpr | ObjectExpr;
282
302
  }
283
303
  export declare const PluginField = "PluginField";
284
304
  export declare function isPluginField(item: unknown): item is PluginField;
@@ -291,7 +311,7 @@ export interface ReferenceArg extends AstNode {
291
311
  export declare const ReferenceArg = "ReferenceArg";
292
312
  export declare function isReferenceArg(item: unknown): item is ReferenceArg;
293
313
  export interface ReferenceExpr extends AstNode {
294
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
314
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
295
315
  readonly $type: 'ReferenceExpr';
296
316
  args: Array<ReferenceArg>;
297
317
  target: Reference<ReferenceTarget>;
@@ -299,21 +319,28 @@ export interface ReferenceExpr extends AstNode {
299
319
  export declare const ReferenceExpr = "ReferenceExpr";
300
320
  export declare function isReferenceExpr(item: unknown): item is ReferenceExpr;
301
321
  export interface ThisExpr extends AstNode {
302
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
322
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
303
323
  readonly $type: 'ThisExpr';
304
324
  value: string;
305
325
  }
306
326
  export declare const ThisExpr = "ThisExpr";
307
327
  export declare function isThisExpr(item: unknown): item is ThisExpr;
308
328
  export interface UnaryExpr extends AstNode {
309
- readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr;
329
+ readonly $container: Argument | ArrayExpr | AttributeArg | BinaryExpr | DataSourceField | FieldInitializer | FunctionDecl | GeneratorField | MemberAccessExpr | PluginField | UnaryExpr | UnsupportedFieldType;
310
330
  readonly $type: 'UnaryExpr';
311
331
  operand: Expression;
312
332
  operator: '!';
313
333
  }
314
334
  export declare const UnaryExpr = "UnaryExpr";
315
335
  export declare function isUnaryExpr(item: unknown): item is UnaryExpr;
316
- export interface ZModelAstType {
336
+ export interface UnsupportedFieldType extends AstNode {
337
+ readonly $container: DataModelFieldType;
338
+ readonly $type: 'UnsupportedFieldType';
339
+ value: LiteralExpr;
340
+ }
341
+ export declare const UnsupportedFieldType = "UnsupportedFieldType";
342
+ export declare function isUnsupportedFieldType(item: unknown): item is UnsupportedFieldType;
343
+ export type ZModelAstType = {
317
344
  AbstractDeclaration: AbstractDeclaration;
318
345
  Argument: Argument;
319
346
  ArrayExpr: ArrayExpr;
@@ -343,6 +370,7 @@ export interface ZModelAstType {
343
370
  LiteralExpr: LiteralExpr;
344
371
  MemberAccessExpr: MemberAccessExpr;
345
372
  Model: Model;
373
+ ModelImport: ModelImport;
346
374
  NullExpr: NullExpr;
347
375
  ObjectExpr: ObjectExpr;
348
376
  Plugin: Plugin;
@@ -353,7 +381,8 @@ export interface ZModelAstType {
353
381
  ThisExpr: ThisExpr;
354
382
  TypeDeclaration: TypeDeclaration;
355
383
  UnaryExpr: UnaryExpr;
356
- }
384
+ UnsupportedFieldType: UnsupportedFieldType;
385
+ };
357
386
  export declare class ZModelAstReflection extends AbstractAstReflection {
358
387
  getAllTypes(): string[];
359
388
  protected computeIsSubtype(subtype: string, supertype: string): boolean;
package/generated/ast.js CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  /******************************************************************************
3
- * This file was generated by langium-cli 1.1.0.
3
+ * This file was generated by langium-cli 1.2.0.
4
4
  * DO NOT EDIT MANUALLY!
5
5
  ******************************************************************************/
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.isFunctionParamType = exports.FunctionParamType = exports.isFunctionParam = exports.FunctionParam = exports.isFunctionDecl = exports.FunctionDecl = exports.isFieldInitializer = exports.FieldInitializer = exports.isEnumField = exports.EnumField = exports.isEnum = exports.Enum = exports.isDataSourceField = exports.DataSourceField = exports.isDataSource = exports.DataSource = exports.isDataModelFieldType = exports.DataModelFieldType = exports.isDataModelFieldAttribute = exports.DataModelFieldAttribute = exports.isDataModelField = exports.DataModelField = exports.isDataModelAttribute = exports.DataModelAttribute = exports.isDataModel = exports.DataModel = exports.isBinaryExpr = exports.BinaryExpr = exports.isAttributeParamType = exports.AttributeParamType = exports.isAttributeParam = exports.AttributeParam = exports.isAttributeAttribute = exports.AttributeAttribute = exports.isAttributeArg = exports.AttributeArg = exports.isAttribute = exports.Attribute = exports.isArrayExpr = exports.ArrayExpr = exports.isArgument = exports.Argument = exports.isTypeDeclaration = exports.TypeDeclaration = exports.isReferenceTarget = exports.ReferenceTarget = exports.isExpression = exports.Expression = exports.isAbstractDeclaration = exports.AbstractDeclaration = void 0;
8
- exports.reflection = exports.ZModelAstReflection = exports.isUnaryExpr = exports.UnaryExpr = exports.isThisExpr = exports.ThisExpr = exports.isReferenceExpr = exports.ReferenceExpr = exports.isReferenceArg = exports.ReferenceArg = exports.isPluginField = exports.PluginField = exports.isPlugin = exports.Plugin = exports.isObjectExpr = exports.ObjectExpr = exports.isNullExpr = exports.NullExpr = exports.isModel = exports.Model = exports.isMemberAccessExpr = exports.MemberAccessExpr = exports.isLiteralExpr = exports.LiteralExpr = exports.isInvocationExpr = exports.InvocationExpr = exports.isGeneratorField = exports.GeneratorField = exports.isGeneratorDecl = exports.GeneratorDecl = void 0;
7
+ exports.isEnumField = exports.EnumField = exports.isEnum = exports.Enum = exports.isDataSourceField = exports.DataSourceField = exports.isDataSource = exports.DataSource = exports.isDataModelFieldType = exports.DataModelFieldType = exports.isDataModelFieldAttribute = exports.DataModelFieldAttribute = exports.isDataModelField = exports.DataModelField = exports.isDataModelAttribute = exports.DataModelAttribute = exports.isDataModel = exports.DataModel = exports.isBinaryExpr = exports.BinaryExpr = exports.isAttributeParamType = exports.AttributeParamType = exports.isAttributeParam = exports.AttributeParam = exports.isAttributeAttribute = exports.AttributeAttribute = exports.isAttributeArg = exports.AttributeArg = exports.isAttribute = exports.Attribute = exports.isArrayExpr = exports.ArrayExpr = exports.isArgument = exports.Argument = exports.isTypeDeclaration = exports.TypeDeclaration = exports.isRegularID = exports.isReferenceTarget = exports.ReferenceTarget = exports.isQualifiedName = exports.isExpressionType = exports.isExpression = exports.Expression = exports.isDataModelFieldAttributeName = exports.isDataModelAttributeName = exports.isBuiltinType = exports.isAttributeName = exports.isAttributeAttributeName = exports.isAbstractDeclaration = exports.AbstractDeclaration = void 0;
8
+ exports.reflection = exports.ZModelAstReflection = exports.isUnsupportedFieldType = exports.UnsupportedFieldType = exports.isUnaryExpr = exports.UnaryExpr = exports.isThisExpr = exports.ThisExpr = exports.isReferenceExpr = exports.ReferenceExpr = exports.isReferenceArg = exports.ReferenceArg = exports.isPluginField = exports.PluginField = exports.isPlugin = exports.Plugin = exports.isObjectExpr = exports.ObjectExpr = exports.isNullExpr = exports.NullExpr = exports.isModelImport = exports.ModelImport = exports.isModel = exports.Model = exports.isMemberAccessExpr = exports.MemberAccessExpr = exports.isLiteralExpr = exports.LiteralExpr = exports.isInvocationExpr = exports.InvocationExpr = exports.isGeneratorField = exports.GeneratorField = exports.isGeneratorDecl = exports.GeneratorDecl = exports.isFunctionParamType = exports.FunctionParamType = exports.isFunctionParam = exports.FunctionParam = exports.isFunctionDecl = exports.FunctionDecl = exports.isFieldInitializer = exports.FieldInitializer = void 0;
9
9
  /* eslint-disable */
10
10
  const langium_1 = require("langium");
11
11
  exports.AbstractDeclaration = 'AbstractDeclaration';
@@ -13,16 +13,48 @@ function isAbstractDeclaration(item) {
13
13
  return exports.reflection.isInstance(item, exports.AbstractDeclaration);
14
14
  }
15
15
  exports.isAbstractDeclaration = isAbstractDeclaration;
16
+ function isAttributeAttributeName(item) {
17
+ return typeof item === 'string';
18
+ }
19
+ exports.isAttributeAttributeName = isAttributeAttributeName;
20
+ function isAttributeName(item) {
21
+ return isDataModelAttributeName(item) || isDataModelFieldAttributeName(item) || isAttributeAttributeName(item);
22
+ }
23
+ exports.isAttributeName = isAttributeName;
24
+ function isBuiltinType(item) {
25
+ return item === 'String' || item === 'Boolean' || item === 'Int' || item === 'BigInt' || item === 'Float' || item === 'Decimal' || item === 'DateTime' || item === 'Json' || item === 'Bytes';
26
+ }
27
+ exports.isBuiltinType = isBuiltinType;
28
+ function isDataModelAttributeName(item) {
29
+ return typeof item === 'string';
30
+ }
31
+ exports.isDataModelAttributeName = isDataModelAttributeName;
32
+ function isDataModelFieldAttributeName(item) {
33
+ return typeof item === 'string';
34
+ }
35
+ exports.isDataModelFieldAttributeName = isDataModelFieldAttributeName;
16
36
  exports.Expression = 'Expression';
17
37
  function isExpression(item) {
18
38
  return exports.reflection.isInstance(item, exports.Expression);
19
39
  }
20
40
  exports.isExpression = isExpression;
41
+ function isExpressionType(item) {
42
+ return item === 'String' || item === 'Int' || item === 'Float' || item === 'Boolean' || item === 'DateTime' || item === 'Null' || item === 'Object' || item === 'Any' || item === 'Unsupported';
43
+ }
44
+ exports.isExpressionType = isExpressionType;
45
+ function isQualifiedName(item) {
46
+ return typeof item === 'string';
47
+ }
48
+ exports.isQualifiedName = isQualifiedName;
21
49
  exports.ReferenceTarget = 'ReferenceTarget';
22
50
  function isReferenceTarget(item) {
23
51
  return exports.reflection.isInstance(item, exports.ReferenceTarget);
24
52
  }
25
53
  exports.isReferenceTarget = isReferenceTarget;
54
+ function isRegularID(item) {
55
+ return item === 'model' || item === 'enum' || item === 'attribute' || item === 'datasource' || item === 'plugin' || item === 'abstract' || item === 'in' || item === 'sort' || (typeof item === 'string' && (/[_a-zA-Z][\w_]*/.test(item)));
56
+ }
57
+ exports.isRegularID = isRegularID;
26
58
  exports.TypeDeclaration = 'TypeDeclaration';
27
59
  function isTypeDeclaration(item) {
28
60
  return exports.reflection.isInstance(item, exports.TypeDeclaration);
@@ -163,6 +195,11 @@ function isModel(item) {
163
195
  return exports.reflection.isInstance(item, exports.Model);
164
196
  }
165
197
  exports.isModel = isModel;
198
+ exports.ModelImport = 'ModelImport';
199
+ function isModelImport(item) {
200
+ return exports.reflection.isInstance(item, exports.ModelImport);
201
+ }
202
+ exports.isModelImport = isModelImport;
166
203
  exports.NullExpr = 'NullExpr';
167
204
  function isNullExpr(item) {
168
205
  return exports.reflection.isInstance(item, exports.NullExpr);
@@ -203,9 +240,14 @@ function isUnaryExpr(item) {
203
240
  return exports.reflection.isInstance(item, exports.UnaryExpr);
204
241
  }
205
242
  exports.isUnaryExpr = isUnaryExpr;
243
+ exports.UnsupportedFieldType = 'UnsupportedFieldType';
244
+ function isUnsupportedFieldType(item) {
245
+ return exports.reflection.isInstance(item, exports.UnsupportedFieldType);
246
+ }
247
+ exports.isUnsupportedFieldType = isUnsupportedFieldType;
206
248
  class ZModelAstReflection extends langium_1.AbstractAstReflection {
207
249
  getAllTypes() {
208
- return ['AbstractDeclaration', 'Argument', 'ArrayExpr', 'Attribute', 'AttributeArg', 'AttributeAttribute', 'AttributeParam', 'AttributeParamType', 'BinaryExpr', 'DataModel', 'DataModelAttribute', 'DataModelField', 'DataModelFieldAttribute', 'DataModelFieldType', 'DataSource', 'DataSourceField', 'Enum', 'EnumField', 'Expression', 'FieldInitializer', 'FunctionDecl', 'FunctionParam', 'FunctionParamType', 'GeneratorDecl', 'GeneratorField', 'InvocationExpr', 'LiteralExpr', 'MemberAccessExpr', 'Model', 'NullExpr', 'ObjectExpr', 'Plugin', 'PluginField', 'ReferenceArg', 'ReferenceExpr', 'ReferenceTarget', 'ThisExpr', 'TypeDeclaration', 'UnaryExpr'];
250
+ return ['AbstractDeclaration', 'Argument', 'ArrayExpr', 'Attribute', 'AttributeArg', 'AttributeAttribute', 'AttributeParam', 'AttributeParamType', 'BinaryExpr', 'DataModel', 'DataModelAttribute', 'DataModelField', 'DataModelFieldAttribute', 'DataModelFieldType', 'DataSource', 'DataSourceField', 'Enum', 'EnumField', 'Expression', 'FieldInitializer', 'FunctionDecl', 'FunctionParam', 'FunctionParamType', 'GeneratorDecl', 'GeneratorField', 'InvocationExpr', 'LiteralExpr', 'MemberAccessExpr', 'Model', 'ModelImport', 'NullExpr', 'ObjectExpr', 'Plugin', 'PluginField', 'ReferenceArg', 'ReferenceExpr', 'ReferenceTarget', 'ThisExpr', 'TypeDeclaration', 'UnaryExpr', 'UnsupportedFieldType'];
209
251
  }
210
252
  computeIsSubtype(subtype, supertype) {
211
253
  switch (subtype) {
@@ -255,6 +297,9 @@ class ZModelAstReflection extends langium_1.AbstractAstReflection {
255
297
  case 'FunctionParamType:reference': {
256
298
  return exports.TypeDeclaration;
257
299
  }
300
+ case 'DataModel:superTypes': {
301
+ return exports.DataModel;
302
+ }
258
303
  case 'InvocationExpr:function': {
259
304
  return exports.FunctionDecl;
260
305
  }
@@ -319,7 +364,9 @@ class ZModelAstReflection extends langium_1.AbstractAstReflection {
319
364
  mandatory: [
320
365
  { name: 'attributes', type: 'array' },
321
366
  { name: 'comments', type: 'array' },
322
- { name: 'fields', type: 'array' }
367
+ { name: 'fields', type: 'array' },
368
+ { name: 'isAbstract', type: 'boolean' },
369
+ { name: 'superTypes', type: 'array' }
323
370
  ]
324
371
  };
325
372
  }
@@ -436,7 +483,8 @@ class ZModelAstReflection extends langium_1.AbstractAstReflection {
436
483
  return {
437
484
  name: 'Model',
438
485
  mandatory: [
439
- { name: 'declarations', type: 'array' }
486
+ { name: 'declarations', type: 'array' },
487
+ { name: 'imports', type: 'array' }
440
488
  ]
441
489
  };
442
490
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/generated/ast.ts"],"names":[],"mappings":";AAAA;;;gFAGgF;;;;AAEhF,oBAAoB;AACpB,qCAAiG;AAIpF,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAEzD,SAAgB,qBAAqB,CAAC,IAAa;IAC/C,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,2BAAmB,CAAC,CAAC;AAC5D,CAAC;AAFD,sDAEC;AAcY,QAAA,UAAU,GAAG,YAAY,CAAC;AAEvC,SAAgB,YAAY,CAAC,IAAa;IACtC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,kBAAU,CAAC,CAAC;AACnD,CAAC;AAFD,oCAEC;AAQY,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAEjD,SAAgB,iBAAiB,CAAC,IAAa;IAC3C,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,uBAAe,CAAC,CAAC;AACxD,CAAC;AAFD,8CAEC;AAIY,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAEjD,SAAgB,iBAAiB,CAAC,IAAa;IAC3C,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,uBAAe,CAAC,CAAC;AACxD,CAAC;AAFD,8CAEC;AASY,QAAA,QAAQ,GAAG,UAAU,CAAC;AAEnC,SAAgB,UAAU,CAAC,IAAa;IACpC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAQ,CAAC,CAAC;AACjD,CAAC;AAFD,gCAEC;AAQY,QAAA,SAAS,GAAG,WAAW,CAAC;AAErC,SAAgB,WAAW,CAAC,IAAa;IACrC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAS,CAAC,CAAC;AAClD,CAAC;AAFD,kCAEC;AAUY,QAAA,SAAS,GAAG,WAAW,CAAC;AAErC,SAAgB,WAAW,CAAC,IAAa;IACrC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAS,CAAC,CAAC;AAClD,CAAC;AAFD,kCAEC;AASY,QAAA,YAAY,GAAG,cAAc,CAAC;AAE3C,SAAgB,cAAc,CAAC,IAAa;IACxC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,oBAAY,CAAC,CAAC;AACrD,CAAC;AAFD,wCAEC;AASY,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAEvD,SAAgB,oBAAoB,CAAC,IAAa;IAC9C,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,0BAAkB,CAAC,CAAC;AAC3D,CAAC;AAFD,oDAEC;AAUY,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAE/C,SAAgB,gBAAgB,CAAC,IAAa;IAC1C,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,sBAAc,CAAC,CAAC;AACvD,CAAC;AAFD,4CAEC;AAWY,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAEvD,SAAgB,oBAAoB,CAAC,IAAa;IAC9C,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,0BAAkB,CAAC,CAAC;AAC3D,CAAC;AAFD,oDAEC;AAUY,QAAA,UAAU,GAAG,YAAY,CAAC;AAEvC,SAAgB,YAAY,CAAC,IAAa;IACtC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,kBAAU,CAAC,CAAC;AACnD,CAAC;AAFD,oCAEC;AAWY,QAAA,SAAS,GAAG,WAAW,CAAC;AAErC,SAAgB,WAAW,CAAC,IAAa;IACrC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAS,CAAC,CAAC;AAClD,CAAC;AAFD,kCAEC;AASY,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAEvD,SAAgB,oBAAoB,CAAC,IAAa;IAC9C,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,0BAAkB,CAAC,CAAC;AAC3D,CAAC;AAFD,oDAEC;AAWY,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAE/C,SAAgB,gBAAgB,CAAC,IAAa;IAC1C,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,sBAAc,CAAC,CAAC;AACvD,CAAC;AAFD,4CAEC;AASY,QAAA,uBAAuB,GAAG,yBAAyB,CAAC;AAEjE,SAAgB,yBAAyB,CAAC,IAAa;IACnD,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,+BAAuB,CAAC,CAAC;AAChE,CAAC;AAFD,8DAEC;AAWY,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAEvD,SAAgB,oBAAoB,CAAC,IAAa;IAC9C,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,0BAAkB,CAAC,CAAC;AAC3D,CAAC;AAFD,oDAEC;AASY,QAAA,UAAU,GAAG,YAAY,CAAC;AAEvC,SAAgB,YAAY,CAAC,IAAa;IACtC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,kBAAU,CAAC,CAAC;AACnD,CAAC;AAFD,oCAEC;AASY,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAEjD,SAAgB,iBAAiB,CAAC,IAAa;IAC3C,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,uBAAe,CAAC,CAAC;AACxD,CAAC;AAFD,8CAEC;AAWY,QAAA,IAAI,GAAG,MAAM,CAAC;AAE3B,SAAgB,MAAM,CAAC,IAAa;IAChC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,YAAI,CAAC,CAAC;AAC7C,CAAC;AAFD,wBAEC;AAUY,QAAA,SAAS,GAAG,WAAW,CAAC;AAErC,SAAgB,WAAW,CAAC,IAAa;IACrC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAS,CAAC,CAAC;AAClD,CAAC;AAFD,kCAEC;AASY,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AAEnD,SAAgB,kBAAkB,CAAC,IAAa;IAC5C,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,wBAAgB,CAAC,CAAC;AACzD,CAAC;AAFD,gDAEC;AAWY,QAAA,YAAY,GAAG,cAAc,CAAC;AAE3C,SAAgB,cAAc,CAAC,IAAa;IACxC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,oBAAY,CAAC,CAAC;AACrD,CAAC;AAFD,wCAEC;AAUY,QAAA,aAAa,GAAG,eAAe,CAAC;AAE7C,SAAgB,eAAe,CAAC,IAAa;IACzC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,qBAAa,CAAC,CAAC;AACtD,CAAC;AAFD,0CAEC;AAUY,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAErD,SAAgB,mBAAmB,CAAC,IAAa;IAC7C,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,yBAAiB,CAAC,CAAC;AAC1D,CAAC;AAFD,kDAEC;AASY,QAAA,aAAa,GAAG,eAAe,CAAC;AAE7C,SAAgB,eAAe,CAAC,IAAa;IACzC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,qBAAa,CAAC,CAAC;AACtD,CAAC;AAFD,0CAEC;AASY,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAE/C,SAAgB,gBAAgB,CAAC,IAAa;IAC1C,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,sBAAc,CAAC,CAAC;AACvD,CAAC;AAFD,4CAEC;AASY,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAE/C,SAAgB,gBAAgB,CAAC,IAAa;IAC1C,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,sBAAc,CAAC,CAAC;AACvD,CAAC;AAFD,4CAEC;AAQY,QAAA,WAAW,GAAG,aAAa,CAAC;AAEzC,SAAgB,aAAa,CAAC,IAAa;IACvC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,mBAAW,CAAC,CAAC;AACpD,CAAC;AAFD,sCAEC;AASY,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AAEnD,SAAgB,kBAAkB,CAAC,IAAa;IAC5C,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,wBAAgB,CAAC,CAAC;AACzD,CAAC;AAFD,gDAEC;AAOY,QAAA,KAAK,GAAG,OAAO,CAAC;AAE7B,SAAgB,OAAO,CAAC,IAAa;IACjC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,aAAK,CAAC,CAAC;AAC9C,CAAC;AAFD,0BAEC;AAQY,QAAA,QAAQ,GAAG,UAAU,CAAC;AAEnC,SAAgB,UAAU,CAAC,IAAa;IACpC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAQ,CAAC,CAAC;AACjD,CAAC;AAFD,gCAEC;AAQY,QAAA,UAAU,GAAG,YAAY,CAAC;AAEvC,SAAgB,YAAY,CAAC,IAAa;IACtC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,kBAAU,CAAC,CAAC;AACnD,CAAC;AAFD,oCAEC;AASY,QAAA,MAAM,GAAG,QAAQ,CAAC;AAE/B,SAAgB,QAAQ,CAAC,IAAa;IAClC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,cAAM,CAAC,CAAC;AAC/C,CAAC;AAFD,4BAEC;AASY,QAAA,WAAW,GAAG,aAAa,CAAC;AAEzC,SAAgB,aAAa,CAAC,IAAa;IACvC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,mBAAW,CAAC,CAAC;AACpD,CAAC;AAFD,sCAEC;AASY,QAAA,YAAY,GAAG,cAAc,CAAC;AAE3C,SAAgB,cAAc,CAAC,IAAa;IACxC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,oBAAY,CAAC,CAAC;AACrD,CAAC;AAFD,wCAEC;AASY,QAAA,aAAa,GAAG,eAAe,CAAC;AAE7C,SAAgB,eAAe,CAAC,IAAa;IACzC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,qBAAa,CAAC,CAAC;AACtD,CAAC;AAFD,0CAEC;AAQY,QAAA,QAAQ,GAAG,UAAU,CAAC;AAEnC,SAAgB,UAAU,CAAC,IAAa;IACpC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAQ,CAAC,CAAC;AACjD,CAAC;AAFD,gCAEC;AASY,QAAA,SAAS,GAAG,WAAW,CAAC;AAErC,SAAgB,WAAW,CAAC,IAAa;IACrC,OAAO,kBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAS,CAAC,CAAC;AAClD,CAAC;AAFD,kCAEC;AA4CD,MAAa,mBAAoB,SAAQ,+BAAqB;IAE1D,WAAW;QACP,OAAO,CAAC,qBAAqB,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC7oB,CAAC;IAEkB,gBAAgB,CAAC,OAAe,EAAE,SAAiB;QAClE,QAAQ,OAAO,EAAE;YACb,KAAK,iBAAS,CAAC;YACf,KAAK,kBAAU,CAAC;YAChB,KAAK,sBAAc,CAAC;YACpB,KAAK,mBAAW,CAAC;YACjB,KAAK,wBAAgB,CAAC;YACtB,KAAK,gBAAQ,CAAC;YACd,KAAK,kBAAU,CAAC;YAChB,KAAK,qBAAa,CAAC;YACnB,KAAK,gBAAQ,CAAC;YACd,KAAK,iBAAS,CAAC,CAAC;gBACZ,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAU,EAAE,SAAS,CAAC,CAAC;aAChD;YACD,KAAK,iBAAS,CAAC;YACf,KAAK,kBAAU,CAAC;YAChB,KAAK,oBAAY,CAAC;YAClB,KAAK,qBAAa,CAAC;YACnB,KAAK,cAAM,CAAC,CAAC;gBACT,OAAO,IAAI,CAAC,SAAS,CAAC,2BAAmB,EAAE,SAAS,CAAC,CAAC;aACzD;YACD,KAAK,iBAAS,CAAC;YACf,KAAK,YAAI,CAAC,CAAC;gBACP,OAAO,IAAI,CAAC,SAAS,CAAC,2BAAmB,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,uBAAe,EAAE,SAAS,CAAC,CAAC;aACvG;YACD,KAAK,sBAAc,CAAC;YACpB,KAAK,iBAAS,CAAC;YACf,KAAK,qBAAa,CAAC,CAAC;gBAChB,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAe,EAAE,SAAS,CAAC,CAAC;aACrD;YACD,OAAO,CAAC,CAAC;gBACL,OAAO,KAAK,CAAC;aAChB;SACJ;IACL,CAAC;IAED,gBAAgB,CAAC,OAAsB;QACnC,MAAM,WAAW,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrE,QAAQ,WAAW,EAAE;YACjB,KAAK,yBAAyB,CAAC;YAC/B,KAAK,yBAAyB,CAAC;YAC/B,KAAK,8BAA8B,CAAC,CAAC;gBACjC,OAAO,iBAAS,CAAC;aACpB;YACD,KAAK,8BAA8B,CAAC;YACpC,KAAK,8BAA8B,CAAC;YACpC,KAAK,6BAA6B,CAAC,CAAC;gBAChC,OAAO,uBAAe,CAAC;aAC1B;YACD,KAAK,yBAAyB,CAAC,CAAC;gBAC5B,OAAO,oBAAY,CAAC;aACvB;YACD,KAAK,yBAAyB,CAAC,CAAC;gBAC5B,OAAO,sBAAc,CAAC;aACzB;YACD,KAAK,sBAAsB,CAAC,CAAC;gBACzB,OAAO,uBAAe,CAAC;aAC1B;YACD,OAAO,CAAC,CAAC;gBACL,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,+BAA+B,CAAC,CAAC;aAClE;SACJ;IACL,CAAC;IAED,eAAe,CAAC,IAAY;QACxB,QAAQ,IAAI,EAAE;YACV,KAAK,WAAW,CAAC,CAAC;gBACd,OAAO;oBACH,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;qBACnC;iBACJ,CAAC;aACL;YACD,KAAK,WAAW,CAAC,CAAC;gBACd,OAAO;oBACH,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;wBACrC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;qBACpC;iBACJ,CAAC;aACL;YACD,KAAK,oBAAoB,CAAC,CAAC;gBACvB,OAAO;oBACH,IAAI,EAAE,oBAAoB;oBAC1B,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;qBAClC;iBACJ,CAAC;aACL;YACD,KAAK,gBAAgB,CAAC,CAAC;gBACnB,OAAO;oBACH,IAAI,EAAE,gBAAgB;oBACtB,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;qBACvC;iBACJ,CAAC;aACL;YACD,KAAK,oBAAoB,CAAC,CAAC;gBACvB,OAAO;oBACH,IAAI,EAAE,oBAAoB;oBAC1B,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;wBAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;qBACxC;iBACJ,CAAC;aACL;YACD,KAAK,WAAW,CAAC,CAAC;gBACd,OAAO;oBACH,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;wBACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;wBACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;qBACpC;iBACJ,CAAC;aACL;YACD,KAAK,oBAAoB,CAAC,CAAC;gBACvB,OAAO;oBACH,IAAI,EAAE,oBAAoB;oBAC1B,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;qBAClC;iBACJ,CAAC;aACL;YACD,KAAK,gBAAgB,CAAC,CAAC;gBACnB,OAAO;oBACH,IAAI,EAAE,gBAAgB;oBACtB,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;wBACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;qBACtC;iBACJ,CAAC;aACL;YACD,KAAK,yBAAyB,CAAC,CAAC;gBAC5B,OAAO;oBACH,IAAI,EAAE,yBAAyB;oBAC/B,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;qBAClC;iBACJ,CAAC;aACL;YACD,KAAK,oBAAoB,CAAC,CAAC;gBACvB,OAAO;oBACH,IAAI,EAAE,oBAAoB;oBAC1B,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;wBAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;qBACxC;iBACJ,CAAC;aACL;YACD,KAAK,YAAY,CAAC,CAAC;gBACf,OAAO;oBACH,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;qBACpC;iBACJ,CAAC;aACL;YACD,KAAK,MAAM,CAAC,CAAC;gBACT,OAAO;oBACH,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;wBACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;wBACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;qBACpC;iBACJ,CAAC;aACL;YACD,KAAK,WAAW,CAAC,CAAC;gBACd,OAAO;oBACH,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;wBACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;qBACtC;iBACJ,CAAC;aACL;YACD,KAAK,cAAc,CAAC,CAAC;gBACjB,OAAO;oBACH,IAAI,EAAE,cAAc;oBACpB,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;qBACpC;iBACJ,CAAC;aACL;YACD,KAAK,eAAe,CAAC,CAAC;gBAClB,OAAO;oBACH,IAAI,EAAE,eAAe;oBACrB,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;qBACxC;iBACJ,CAAC;aACL;YACD,KAAK,mBAAmB,CAAC,CAAC;gBACtB,OAAO;oBACH,IAAI,EAAE,mBAAmB;oBACzB,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;qBACrC;iBACJ,CAAC;aACL;YACD,KAAK,eAAe,CAAC,CAAC;gBAClB,OAAO;oBACH,IAAI,EAAE,eAAe;oBACrB,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;qBACpC;iBACJ,CAAC;aACL;YACD,KAAK,gBAAgB,CAAC,CAAC;gBACnB,OAAO;oBACH,IAAI,EAAE,gBAAgB;oBACtB,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;qBAClC;iBACJ,CAAC;aACL;YACD,KAAK,aAAa,CAAC,CAAC;gBAChB,OAAO;oBACH,IAAI,EAAE,aAAa;oBACnB,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;qBACrC;iBACJ,CAAC;aACL;YACD,KAAK,OAAO,CAAC,CAAC;gBACV,OAAO;oBACH,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE;qBAC1C;iBACJ,CAAC;aACL;YACD,KAAK,YAAY,CAAC,CAAC;gBACf,OAAO;oBACH,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;qBACpC;iBACJ,CAAC;aACL;YACD,KAAK,QAAQ,CAAC,CAAC;gBACX,OAAO;oBACH,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;qBACpC;iBACJ,CAAC;aACL;YACD,KAAK,eAAe,CAAC,CAAC;gBAClB,OAAO;oBACH,IAAI,EAAE,eAAe;oBACrB,SAAS,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;qBAClC;iBACJ,CAAC;aACL;YACD,OAAO,CAAC,CAAC;gBACL,OAAO;oBACH,IAAI,EAAE,IAAI;oBACV,SAAS,EAAE,EAAE;iBAChB,CAAC;aACL;SACJ;IACL,CAAC;CACJ;AAjRD,kDAiRC;AAEY,QAAA,UAAU,GAAG,IAAI,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/generated/ast.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /******************************************************************************
2
- * This file was generated by langium-cli 1.1.0.
2
+ * This file was generated by langium-cli 1.2.0.
3
3
  * DO NOT EDIT MANUALLY!
4
4
  ******************************************************************************/
5
5
  import { Grammar } from 'langium';