@zenstackhq/language 1.0.0-alpha.99 → 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,19 +7,27 @@ 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;
22
- export type RegularID = 'in' | string;
29
+ export type RegularID = 'abstract' | 'attribute' | 'datasource' | 'enum' | 'in' | 'model' | 'plugin' | 'sort' | string;
30
+ export declare function isRegularID(item: unknown): item is RegularID;
23
31
  export type TypeDeclaration = DataModel | Enum;
24
32
  export declare const TypeDeclaration = "TypeDeclaration";
25
33
  export declare function isTypeDeclaration(item: unknown): item is TypeDeclaration;
@@ -32,7 +40,7 @@ export interface Argument extends AstNode {
32
40
  export declare const Argument = "Argument";
33
41
  export declare function isArgument(item: unknown): item is Argument;
34
42
  export interface ArrayExpr extends AstNode {
35
- 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;
36
44
  readonly $type: 'ArrayExpr';
37
45
  items: Array<Expression>;
38
46
  }
@@ -83,7 +91,7 @@ export interface AttributeParamType extends AstNode {
83
91
  export declare const AttributeParamType = "AttributeParamType";
84
92
  export declare function isAttributeParamType(item: unknown): item is AttributeParamType;
85
93
  export interface BinaryExpr extends AstNode {
86
- 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;
87
95
  readonly $type: 'BinaryExpr';
88
96
  left: Expression;
89
97
  operator: '!' | '!=' | '&&' | '<' | '<=' | '==' | '>' | '>=' | '?' | '^' | 'in' | '||';
@@ -97,7 +105,9 @@ export interface DataModel extends AstNode {
97
105
  attributes: Array<DataModelAttribute>;
98
106
  comments: Array<string>;
99
107
  fields: Array<DataModelField>;
108
+ isAbstract: boolean;
100
109
  name: RegularID;
110
+ superTypes: Array<Reference<DataModel>>;
101
111
  }
102
112
  export declare const DataModel = "DataModel";
103
113
  export declare function isDataModel(item: unknown): item is DataModel;
@@ -134,6 +144,7 @@ export interface DataModelFieldType extends AstNode {
134
144
  optional: boolean;
135
145
  reference?: Reference<TypeDeclaration>;
136
146
  type?: BuiltinType;
147
+ unsupported?: UnsupportedFieldType;
137
148
  }
138
149
  export declare const DataModelFieldType = "DataModelFieldType";
139
150
  export declare function isDataModelFieldType(item: unknown): item is DataModelFieldType;
@@ -225,7 +236,7 @@ export interface GeneratorField extends AstNode {
225
236
  export declare const GeneratorField = "GeneratorField";
226
237
  export declare function isGeneratorField(item: unknown): item is GeneratorField;
227
238
  export interface InvocationExpr extends AstNode {
228
- 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;
229
240
  readonly $type: 'InvocationExpr';
230
241
  args: Array<Argument>;
231
242
  function: Reference<FunctionDecl>;
@@ -233,14 +244,14 @@ export interface InvocationExpr extends AstNode {
233
244
  export declare const InvocationExpr = "InvocationExpr";
234
245
  export declare function isInvocationExpr(item: unknown): item is InvocationExpr;
235
246
  export interface LiteralExpr extends AstNode {
236
- 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;
237
248
  readonly $type: 'LiteralExpr';
238
249
  value: boolean | number | string;
239
250
  }
240
251
  export declare const LiteralExpr = "LiteralExpr";
241
252
  export declare function isLiteralExpr(item: unknown): item is LiteralExpr;
242
253
  export interface MemberAccessExpr extends AstNode {
243
- 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;
244
255
  readonly $type: 'MemberAccessExpr';
245
256
  member: Reference<DataModelField>;
246
257
  operand: Expression;
@@ -250,18 +261,26 @@ export declare function isMemberAccessExpr(item: unknown): item is MemberAccessE
250
261
  export interface Model extends AstNode {
251
262
  readonly $type: 'Model';
252
263
  declarations: Array<AbstractDeclaration>;
264
+ imports: Array<ModelImport>;
253
265
  }
254
266
  export declare const Model = "Model";
255
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;
256
275
  export interface NullExpr extends AstNode {
257
- 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;
258
277
  readonly $type: 'NullExpr';
259
278
  value: string;
260
279
  }
261
280
  export declare const NullExpr = "NullExpr";
262
281
  export declare function isNullExpr(item: unknown): item is NullExpr;
263
282
  export interface ObjectExpr extends AstNode {
264
- 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;
265
284
  readonly $type: 'ObjectExpr';
266
285
  fields: Array<FieldInitializer>;
267
286
  }
@@ -292,7 +311,7 @@ export interface ReferenceArg extends AstNode {
292
311
  export declare const ReferenceArg = "ReferenceArg";
293
312
  export declare function isReferenceArg(item: unknown): item is ReferenceArg;
294
313
  export interface ReferenceExpr extends AstNode {
295
- 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;
296
315
  readonly $type: 'ReferenceExpr';
297
316
  args: Array<ReferenceArg>;
298
317
  target: Reference<ReferenceTarget>;
@@ -300,21 +319,28 @@ export interface ReferenceExpr extends AstNode {
300
319
  export declare const ReferenceExpr = "ReferenceExpr";
301
320
  export declare function isReferenceExpr(item: unknown): item is ReferenceExpr;
302
321
  export interface ThisExpr extends AstNode {
303
- 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;
304
323
  readonly $type: 'ThisExpr';
305
324
  value: string;
306
325
  }
307
326
  export declare const ThisExpr = "ThisExpr";
308
327
  export declare function isThisExpr(item: unknown): item is ThisExpr;
309
328
  export interface UnaryExpr extends AstNode {
310
- 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;
311
330
  readonly $type: 'UnaryExpr';
312
331
  operand: Expression;
313
332
  operator: '!';
314
333
  }
315
334
  export declare const UnaryExpr = "UnaryExpr";
316
335
  export declare function isUnaryExpr(item: unknown): item is UnaryExpr;
317
- 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 = {
318
344
  AbstractDeclaration: AbstractDeclaration;
319
345
  Argument: Argument;
320
346
  ArrayExpr: ArrayExpr;
@@ -344,6 +370,7 @@ export interface ZModelAstType {
344
370
  LiteralExpr: LiteralExpr;
345
371
  MemberAccessExpr: MemberAccessExpr;
346
372
  Model: Model;
373
+ ModelImport: ModelImport;
347
374
  NullExpr: NullExpr;
348
375
  ObjectExpr: ObjectExpr;
349
376
  Plugin: Plugin;
@@ -354,7 +381,8 @@ export interface ZModelAstType {
354
381
  ThisExpr: ThisExpr;
355
382
  TypeDeclaration: TypeDeclaration;
356
383
  UnaryExpr: UnaryExpr;
357
- }
384
+ UnsupportedFieldType: UnsupportedFieldType;
385
+ };
358
386
  export declare class ZModelAstReflection extends AbstractAstReflection {
359
387
  getAllTypes(): string[];
360
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":"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"}
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';