@venn-lang/core 0.1.0
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/LICENSE +21 -0
- package/README.md +303 -0
- package/dist/index.d.ts +3654 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13137 -0
- package/dist/index.js.map +1 -0
- package/package.json +61 -0
- package/src/ast/call-args.ts +15 -0
- package/src/ast/dotted-path.ts +22 -0
- package/src/ast/index.ts +7 -0
- package/src/ast/is-statement.ts +40 -0
- package/src/ast/split-call.ts +28 -0
- package/src/ast/walk.ts +6 -0
- package/src/codes/build-problem.ts +24 -0
- package/src/codes/catalog.ts +35 -0
- package/src/codes/code.types.ts +7 -0
- package/src/codes/index.ts +3 -0
- package/src/compile/compile.ts +169 -0
- package/src/compile/compile.types.ts +40 -0
- package/src/compile/index.ts +3 -0
- package/src/compile/lex-scope.ts +78 -0
- package/src/compile/nodes/binary.ts +56 -0
- package/src/compile/nodes/call.ts +50 -0
- package/src/compile/nodes/collection.ts +83 -0
- package/src/compile/nodes/const-lit.ts +30 -0
- package/src/compile/nodes/fast-binary.ts +71 -0
- package/src/compile/nodes/fn.ts +87 -0
- package/src/compile/nodes/index.ts +8 -0
- package/src/compile/nodes/literal.ts +86 -0
- package/src/compile/nodes/map-fields.ts +79 -0
- package/src/compile/nodes/member.ts +32 -0
- package/src/events/envelope.types.ts +17 -0
- package/src/events/event-data.types.ts +25 -0
- package/src/events/ids.types.ts +10 -0
- package/src/events/index.ts +5 -0
- package/src/events/run-plan.types.ts +18 -0
- package/src/events/status.types.ts +2 -0
- package/src/expand/accepted-kinds.ts +23 -0
- package/src/expand/deco/deco-decorator.ts +77 -0
- package/src/expand/deco/deco-env.ts +24 -0
- package/src/expand/deco/deco.types.ts +43 -0
- package/src/expand/deco/document-decos.ts +64 -0
- package/src/expand/deco/index.ts +7 -0
- package/src/expand/deco/read-signature.ts +57 -0
- package/src/expand/deco/run-body.ts +119 -0
- package/src/expand/decorate-callable.ts +49 -0
- package/src/expand/decorations.ts +41 -0
- package/src/expand/expand.ts +108 -0
- package/src/expand/expand.types.ts +78 -0
- package/src/expand/handles/around-verbs.ts +35 -0
- package/src/expand/handles/binding-verbs.ts +27 -0
- package/src/expand/handles/common-verbs.ts +40 -0
- package/src/expand/handles/fn-verbs.ts +58 -0
- package/src/expand/handles/handle.types.ts +33 -0
- package/src/expand/handles/index.ts +4 -0
- package/src/expand/handles/kind-of.ts +36 -0
- package/src/expand/handles/make-handle.ts +100 -0
- package/src/expand/handles/missing-verb.ts +27 -0
- package/src/expand/handles/runnable-verbs.ts +13 -0
- package/src/expand/handles/type-verbs.ts +56 -0
- package/src/expand/index.ts +40 -0
- package/src/expand/make-context.ts +69 -0
- package/src/expand/node-meta.ts +30 -0
- package/src/expand/node-span.ts +17 -0
- package/src/expand/swap-node.ts +28 -0
- package/src/expand/wrong-kind.ts +102 -0
- package/src/expr/cell.types.ts +25 -0
- package/src/expr/closure.ts +53 -0
- package/src/expr/closure.types.ts +31 -0
- package/src/expr/eval-env.types.ts +9 -0
- package/src/expr/evaluate.ts +18 -0
- package/src/expr/frame.ts +60 -0
- package/src/expr/index.ts +14 -0
- package/src/expr/invoke.ts +140 -0
- package/src/expr/member-value.ts +91 -0
- package/src/expr/methods/index.ts +65 -0
- package/src/expr/methods/list-grouping.ts +107 -0
- package/src/expr/methods/list-methods.ts +57 -0
- package/src/expr/methods/list-selection.ts +142 -0
- package/src/expr/methods/map-extras.ts +87 -0
- package/src/expr/methods/map-methods.ts +17 -0
- package/src/expr/methods/number-methods.ts +29 -0
- package/src/expr/methods/string-extras.ts +66 -0
- package/src/expr/methods/string-methods.ts +32 -0
- package/src/expr/methods/unit-methods.ts +54 -0
- package/src/expr/namespace.ts +20 -0
- package/src/expr/native.types.ts +40 -0
- package/src/expr/operators.ts +91 -0
- package/src/expr/pending.ts +47 -0
- package/src/expr/prelude.ts +75 -0
- package/src/expr/task.ts +71 -0
- package/src/format/format-text.ts +22 -0
- package/src/format/format.types.ts +18 -0
- package/src/format/from-settings.ts +40 -0
- package/src/format/index.ts +5 -0
- package/src/format/organize-header.ts +66 -0
- package/src/format/reindent.ts +35 -0
- package/src/generated/ast.ts +2383 -0
- package/src/generated/grammar.ts +5236 -0
- package/src/generated/module.ts +25 -0
- package/src/grammar/venn.langium +291 -0
- package/src/graph/graph.types.ts +20 -0
- package/src/graph/index.ts +2 -0
- package/src/graph/to-graph.ts +87 -0
- package/src/index.ts +93 -0
- package/src/interpolation/compile-template.ts +40 -0
- package/src/interpolation/index.ts +4 -0
- package/src/interpolation/interpolation.types.ts +18 -0
- package/src/interpolation/scan-interpolations.ts +47 -0
- package/src/interpolation/template.types.ts +19 -0
- package/src/lang/default-services.ts +14 -0
- package/src/lang/index.ts +3 -0
- package/src/lang/venn-lexer.ts +34 -0
- package/src/lang/venn-module.ts +51 -0
- package/src/module/index.ts +5 -0
- package/src/module/specifier.ts +21 -0
- package/src/parse/error-to-problem.ts +43 -0
- package/src/parse/index.ts +3 -0
- package/src/parse/parse-expression.ts +27 -0
- package/src/parse/parse-output.types.ts +8 -0
- package/src/parse/parse.ts +26 -0
- package/src/problem/build-diff.ts +116 -0
- package/src/problem/diff.types.ts +20 -0
- package/src/problem/format-value.ts +40 -0
- package/src/problem/index.ts +8 -0
- package/src/problem/problem-error.ts +15 -0
- package/src/problem/problem.types.ts +21 -0
- package/src/problem/related.types.ts +7 -0
- package/src/problem/severity.types.ts +2 -0
- package/src/problem/span.types.ts +8 -0
- package/src/typecheck/action-signature.ts +53 -0
- package/src/typecheck/builtin-types.ts +63 -0
- package/src/typecheck/builtins.ts +267 -0
- package/src/typecheck/catalog.types.ts +16 -0
- package/src/typecheck/check-deco.ts +174 -0
- package/src/typecheck/check-stmts.ts +151 -0
- package/src/typecheck/check-types.ts +232 -0
- package/src/typecheck/context.ts +31 -0
- package/src/typecheck/imported-types.ts +127 -0
- package/src/typecheck/index.ts +26 -0
- package/src/typecheck/infer.ts +416 -0
- package/src/typecheck/kind-types.ts +79 -0
- package/src/typecheck/member-docs.ts +211 -0
- package/src/typecheck/named-types.ts +57 -0
- package/src/typecheck/prelude-types.ts +152 -0
- package/src/typecheck/reshaped-fns.ts +58 -0
- package/src/typecheck/scheme.ts +75 -0
- package/src/typecheck/seed-params.ts +72 -0
- package/src/typecheck/seed-values.ts +64 -0
- package/src/typecheck/show.ts +64 -0
- package/src/typecheck/solidify.ts +60 -0
- package/src/typecheck/spec-to-type.ts +88 -0
- package/src/typecheck/type-env.ts +46 -0
- package/src/typecheck/type-ref.ts +62 -0
- package/src/typecheck/type.types.ts +168 -0
- package/src/typecheck/unify.ts +192 -0
- package/src/typecheck/unit-types.ts +49 -0
- package/src/units/combine.ts +97 -0
- package/src/units/index.ts +6 -0
- package/src/units/parse-instant.ts +12 -0
- package/src/units/parse-number.ts +48 -0
- package/src/units/unit-guards.ts +16 -0
- package/src/units/unit.types.ts +38 -0
- package/src/value/equals.ts +4 -0
- package/src/value/index.ts +4 -0
- package/src/value/is-numeric.ts +6 -0
- package/src/value/truthiness.ts +9 -0
- package/src/value/value.types.ts +12 -0
|
@@ -0,0 +1,2383 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
* This file was generated by langium-cli 4.3.0.
|
|
3
|
+
* DO NOT EDIT MANUALLY!
|
|
4
|
+
******************************************************************************/
|
|
5
|
+
|
|
6
|
+
/* eslint-disable */
|
|
7
|
+
import * as langium from 'langium';
|
|
8
|
+
|
|
9
|
+
export const VennTerminals = {
|
|
10
|
+
NL: /([ \t]*(\r?\n|;)[ \t]*)+/,
|
|
11
|
+
WS: /[ \t]+/,
|
|
12
|
+
COMMENT: /#[^\n\r]*/,
|
|
13
|
+
INSTANT: /[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]+)?Z/,
|
|
14
|
+
STRING: /"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,
|
|
15
|
+
NUMBER: /[0-9]+(_[0-9]+)*(\.[0-9]+(_[0-9]+)*)?(ms|kb|mb|gb|b|s|m|h|%)?/,
|
|
16
|
+
ID: /[_a-zA-Z]\w*/,
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export type VennTerminalNames = keyof typeof VennTerminals;
|
|
20
|
+
|
|
21
|
+
export type VennKeywordNames =
|
|
22
|
+
| "!"
|
|
23
|
+
| "!="
|
|
24
|
+
| "%"
|
|
25
|
+
| "&&"
|
|
26
|
+
| "("
|
|
27
|
+
| ")"
|
|
28
|
+
| "*"
|
|
29
|
+
| "+"
|
|
30
|
+
| ","
|
|
31
|
+
| "-"
|
|
32
|
+
| "->"
|
|
33
|
+
| "."
|
|
34
|
+
| "/"
|
|
35
|
+
| ":"
|
|
36
|
+
| "<"
|
|
37
|
+
| "<="
|
|
38
|
+
| "="
|
|
39
|
+
| "=="
|
|
40
|
+
| "=>"
|
|
41
|
+
| ">"
|
|
42
|
+
| ">="
|
|
43
|
+
| "?"
|
|
44
|
+
| "?."
|
|
45
|
+
| "??"
|
|
46
|
+
| "@"
|
|
47
|
+
| "["
|
|
48
|
+
| "]"
|
|
49
|
+
| "afterEach"
|
|
50
|
+
| "all"
|
|
51
|
+
| "as"
|
|
52
|
+
| "beforeEach"
|
|
53
|
+
| "break"
|
|
54
|
+
| "capture"
|
|
55
|
+
| "catch"
|
|
56
|
+
| "config"
|
|
57
|
+
| "const"
|
|
58
|
+
| "continue"
|
|
59
|
+
| "dataset"
|
|
60
|
+
| "deco"
|
|
61
|
+
| "defer"
|
|
62
|
+
| "else"
|
|
63
|
+
| "expect"
|
|
64
|
+
| "factory"
|
|
65
|
+
| "false"
|
|
66
|
+
| "finally"
|
|
67
|
+
| "flow"
|
|
68
|
+
| "fn"
|
|
69
|
+
| "forEach"
|
|
70
|
+
| "fragment"
|
|
71
|
+
| "from"
|
|
72
|
+
| "group"
|
|
73
|
+
| "if"
|
|
74
|
+
| "import"
|
|
75
|
+
| "in"
|
|
76
|
+
| "let"
|
|
77
|
+
| "matrix"
|
|
78
|
+
| "module"
|
|
79
|
+
| "not"
|
|
80
|
+
| "null"
|
|
81
|
+
| "on"
|
|
82
|
+
| "parallel"
|
|
83
|
+
| "pub"
|
|
84
|
+
| "race"
|
|
85
|
+
| "repeat"
|
|
86
|
+
| "report"
|
|
87
|
+
| "return"
|
|
88
|
+
| "run"
|
|
89
|
+
| "setup"
|
|
90
|
+
| "soft"
|
|
91
|
+
| "step"
|
|
92
|
+
| "teardown"
|
|
93
|
+
| "true"
|
|
94
|
+
| "try"
|
|
95
|
+
| "type"
|
|
96
|
+
| "use"
|
|
97
|
+
| "while"
|
|
98
|
+
| "{"
|
|
99
|
+
| "|"
|
|
100
|
+
| "||"
|
|
101
|
+
| "}"
|
|
102
|
+
| "~=";
|
|
103
|
+
|
|
104
|
+
export type VennTokenNames = VennTerminalNames | VennKeywordNames;
|
|
105
|
+
|
|
106
|
+
export interface ActionCall extends Declaration, Statement {
|
|
107
|
+
readonly $type: 'ActionCall';
|
|
108
|
+
args: Array<Expr>;
|
|
109
|
+
call?: ArgList;
|
|
110
|
+
called: boolean;
|
|
111
|
+
opts?: MapLit;
|
|
112
|
+
target: QualifiedName;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export const ActionCall = {
|
|
116
|
+
$type: 'ActionCall',
|
|
117
|
+
annotations: 'annotations',
|
|
118
|
+
args: 'args',
|
|
119
|
+
call: 'call',
|
|
120
|
+
called: 'called',
|
|
121
|
+
opts: 'opts',
|
|
122
|
+
target: 'target'
|
|
123
|
+
} as const;
|
|
124
|
+
|
|
125
|
+
export function isActionCall(item: unknown): item is ActionCall {
|
|
126
|
+
return reflection.isInstance(item, ActionCall.$type);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export interface Annotation extends langium.AstNode {
|
|
130
|
+
readonly $container: Declaration | FieldDecl | Param | Statement;
|
|
131
|
+
readonly $type: 'Annotation';
|
|
132
|
+
args?: ArgList;
|
|
133
|
+
name: string;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export const Annotation = {
|
|
137
|
+
$type: 'Annotation',
|
|
138
|
+
args: 'args',
|
|
139
|
+
name: 'name'
|
|
140
|
+
} as const;
|
|
141
|
+
|
|
142
|
+
export function isAnnotation(item: unknown): item is Annotation {
|
|
143
|
+
return reflection.isInstance(item, Annotation.$type);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export interface Arg extends langium.AstNode {
|
|
147
|
+
readonly $container: ArgList;
|
|
148
|
+
readonly $type: 'Arg';
|
|
149
|
+
name?: string;
|
|
150
|
+
value: Expr;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export const Arg = {
|
|
154
|
+
$type: 'Arg',
|
|
155
|
+
name: 'name',
|
|
156
|
+
value: 'value'
|
|
157
|
+
} as const;
|
|
158
|
+
|
|
159
|
+
export function isArg(item: unknown): item is Arg {
|
|
160
|
+
return reflection.isInstance(item, Arg.$type);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
export interface ArgList extends langium.AstNode {
|
|
164
|
+
readonly $container: ActionCall | Annotation | Call | RunStmt;
|
|
165
|
+
readonly $type: 'ArgList';
|
|
166
|
+
args: Array<Arg>;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
export const ArgList = {
|
|
170
|
+
$type: 'ArgList',
|
|
171
|
+
args: 'args'
|
|
172
|
+
} as const;
|
|
173
|
+
|
|
174
|
+
export function isArgList(item: unknown): item is ArgList {
|
|
175
|
+
return reflection.isInstance(item, ArgList.$type);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export interface Binary extends langium.AstNode {
|
|
179
|
+
readonly $container: ActionCall | Arg | Binary | Call | CaptureStmt | DatasetDecl | ExpectStmt | FnBody | ForEachStmt | IfStmt | Index | LetStmt | LifecycleDecl | ListLit | MapEntry | MatcherClause | Member | RepeatStmt | ReportDecl | ReturnStmt | Ternary | Unary | WhileStmt;
|
|
180
|
+
readonly $type: 'Binary';
|
|
181
|
+
left: Expr;
|
|
182
|
+
operator: '!=' | '%' | '&&' | '*' | '+' | '-' | '/' | '<' | '<=' | '==' | '>' | '>=' | '??' | 'in' | '||' | '~=';
|
|
183
|
+
right: Expr;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export const Binary = {
|
|
187
|
+
$type: 'Binary',
|
|
188
|
+
left: 'left',
|
|
189
|
+
operator: 'operator',
|
|
190
|
+
right: 'right'
|
|
191
|
+
} as const;
|
|
192
|
+
|
|
193
|
+
export function isBinary(item: unknown): item is Binary {
|
|
194
|
+
return reflection.isInstance(item, Binary.$type);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
export interface Block extends langium.AstNode {
|
|
198
|
+
readonly $container: DecoDecl | FlowDecl | ForEachStmt | FragmentDecl | GroupDecl | IfStmt | LifecycleDecl | ParallelStmt | RaceStmt | RepeatStmt | StepDecl | TryStmt | WhileStmt;
|
|
199
|
+
readonly $type: 'Block';
|
|
200
|
+
stmts: Array<Statement>;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
export const Block = {
|
|
204
|
+
$type: 'Block',
|
|
205
|
+
stmts: 'stmts'
|
|
206
|
+
} as const;
|
|
207
|
+
|
|
208
|
+
export function isBlock(item: unknown): item is Block {
|
|
209
|
+
return reflection.isInstance(item, Block.$type);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
export interface BoolLit extends langium.AstNode {
|
|
213
|
+
readonly $container: ActionCall | Arg | Binary | Call | CaptureStmt | DatasetDecl | ExpectStmt | FnBody | ForEachStmt | IfStmt | Index | LetStmt | LifecycleDecl | ListLit | MapEntry | MatcherClause | Member | RepeatStmt | ReportDecl | ReturnStmt | Ternary | Unary | WhileStmt;
|
|
214
|
+
readonly $type: 'BoolLit';
|
|
215
|
+
value: 'false' | 'true';
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
export const BoolLit = {
|
|
219
|
+
$type: 'BoolLit',
|
|
220
|
+
value: 'value'
|
|
221
|
+
} as const;
|
|
222
|
+
|
|
223
|
+
export function isBoolLit(item: unknown): item is BoolLit {
|
|
224
|
+
return reflection.isInstance(item, BoolLit.$type);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
export interface BreakStmt extends Statement {
|
|
228
|
+
readonly $type: 'BreakStmt';
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
export const BreakStmt = {
|
|
232
|
+
$type: 'BreakStmt',
|
|
233
|
+
annotations: 'annotations'
|
|
234
|
+
} as const;
|
|
235
|
+
|
|
236
|
+
export function isBreakStmt(item: unknown): item is BreakStmt {
|
|
237
|
+
return reflection.isInstance(item, BreakStmt.$type);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
export interface Call extends langium.AstNode {
|
|
241
|
+
readonly $container: ActionCall | Arg | Binary | Call | CaptureStmt | DatasetDecl | ExpectStmt | FnBody | ForEachStmt | IfStmt | Index | LetStmt | LifecycleDecl | ListLit | MapEntry | MatcherClause | Member | RepeatStmt | ReportDecl | ReturnStmt | Ternary | Unary | WhileStmt;
|
|
242
|
+
readonly $type: 'Call';
|
|
243
|
+
args?: ArgList;
|
|
244
|
+
callee: Expr;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
export const Call = {
|
|
248
|
+
$type: 'Call',
|
|
249
|
+
args: 'args',
|
|
250
|
+
callee: 'callee'
|
|
251
|
+
} as const;
|
|
252
|
+
|
|
253
|
+
export function isCall(item: unknown): item is Call {
|
|
254
|
+
return reflection.isInstance(item, Call.$type);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
export interface CaptureStmt extends Statement {
|
|
258
|
+
readonly $type: 'CaptureStmt';
|
|
259
|
+
name: string;
|
|
260
|
+
opts?: MapLit;
|
|
261
|
+
value: Expr;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
export const CaptureStmt = {
|
|
265
|
+
$type: 'CaptureStmt',
|
|
266
|
+
annotations: 'annotations',
|
|
267
|
+
name: 'name',
|
|
268
|
+
opts: 'opts',
|
|
269
|
+
value: 'value'
|
|
270
|
+
} as const;
|
|
271
|
+
|
|
272
|
+
export function isCaptureStmt(item: unknown): item is CaptureStmt {
|
|
273
|
+
return reflection.isInstance(item, CaptureStmt.$type);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
export interface ConfigDecl extends Declaration {
|
|
277
|
+
readonly $type: 'ConfigDecl';
|
|
278
|
+
body: MapLit;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
export const ConfigDecl = {
|
|
282
|
+
$type: 'ConfigDecl',
|
|
283
|
+
annotations: 'annotations',
|
|
284
|
+
body: 'body'
|
|
285
|
+
} as const;
|
|
286
|
+
|
|
287
|
+
export function isConfigDecl(item: unknown): item is ConfigDecl {
|
|
288
|
+
return reflection.isInstance(item, ConfigDecl.$type);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
export interface ContinueStmt extends Statement {
|
|
292
|
+
readonly $type: 'ContinueStmt';
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
export const ContinueStmt = {
|
|
296
|
+
$type: 'ContinueStmt',
|
|
297
|
+
annotations: 'annotations'
|
|
298
|
+
} as const;
|
|
299
|
+
|
|
300
|
+
export function isContinueStmt(item: unknown): item is ContinueStmt {
|
|
301
|
+
return reflection.isInstance(item, ContinueStmt.$type);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
export interface DatasetDecl extends Declaration {
|
|
305
|
+
readonly $type: 'DatasetDecl';
|
|
306
|
+
declaredType?: TypeRef;
|
|
307
|
+
name: string;
|
|
308
|
+
value: Expr;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
export const DatasetDecl = {
|
|
312
|
+
$type: 'DatasetDecl',
|
|
313
|
+
annotations: 'annotations',
|
|
314
|
+
declaredType: 'declaredType',
|
|
315
|
+
name: 'name',
|
|
316
|
+
value: 'value'
|
|
317
|
+
} as const;
|
|
318
|
+
|
|
319
|
+
export function isDatasetDecl(item: unknown): item is DatasetDecl {
|
|
320
|
+
return reflection.isInstance(item, DatasetDecl.$type);
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
export interface Declaration extends langium.AstNode {
|
|
324
|
+
readonly $type: 'ActionCall' | 'ConfigDecl' | 'DatasetDecl' | 'Declaration' | 'DecoDecl' | 'ExpectStmt' | 'FactoryDecl' | 'FlowDecl' | 'FnDecl' | 'ForEachStmt' | 'FragmentDecl' | 'IfStmt' | 'LetStmt' | 'LifecycleDecl' | 'MatrixDecl' | 'ParallelStmt' | 'RaceStmt' | 'RepeatStmt' | 'ReportDecl' | 'RunStmt' | 'TryStmt' | 'TypeDecl' | 'WhileStmt';
|
|
325
|
+
annotations: Array<Annotation>;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
export const Declaration = {
|
|
329
|
+
$type: 'Declaration',
|
|
330
|
+
annotations: 'annotations'
|
|
331
|
+
} as const;
|
|
332
|
+
|
|
333
|
+
export function isDeclaration(item: unknown): item is Declaration {
|
|
334
|
+
return reflection.isInstance(item, Declaration.$type);
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
export interface DecoDecl extends Declaration {
|
|
338
|
+
readonly $type: 'DecoDecl';
|
|
339
|
+
body: Block;
|
|
340
|
+
export: boolean;
|
|
341
|
+
name: string;
|
|
342
|
+
params?: ParamList;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
export const DecoDecl = {
|
|
346
|
+
$type: 'DecoDecl',
|
|
347
|
+
annotations: 'annotations',
|
|
348
|
+
body: 'body',
|
|
349
|
+
export: 'export',
|
|
350
|
+
name: 'name',
|
|
351
|
+
params: 'params'
|
|
352
|
+
} as const;
|
|
353
|
+
|
|
354
|
+
export function isDecoDecl(item: unknown): item is DecoDecl {
|
|
355
|
+
return reflection.isInstance(item, DecoDecl.$type);
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
export interface Document extends langium.AstNode {
|
|
359
|
+
readonly $type: 'Document';
|
|
360
|
+
decls: Array<Declaration>;
|
|
361
|
+
imports: Array<ImportDecl>;
|
|
362
|
+
name?: QualifiedName;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
export const Document = {
|
|
366
|
+
$type: 'Document',
|
|
367
|
+
decls: 'decls',
|
|
368
|
+
imports: 'imports',
|
|
369
|
+
name: 'name'
|
|
370
|
+
} as const;
|
|
371
|
+
|
|
372
|
+
export function isDocument(item: unknown): item is Document {
|
|
373
|
+
return reflection.isInstance(item, Document.$type);
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
export type ElseBranch = Block | IfStmt;
|
|
377
|
+
|
|
378
|
+
export const ElseBranch = {
|
|
379
|
+
$type: 'ElseBranch'
|
|
380
|
+
} as const;
|
|
381
|
+
|
|
382
|
+
export function isElseBranch(item: unknown): item is ElseBranch {
|
|
383
|
+
return reflection.isInstance(item, ElseBranch.$type);
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
export interface ExpectStmt extends Declaration, Statement {
|
|
387
|
+
readonly $type: 'ExpectStmt';
|
|
388
|
+
checks: Array<Expr>;
|
|
389
|
+
matcher?: MatcherClause;
|
|
390
|
+
modifier?: 'all' | 'soft';
|
|
391
|
+
negate: boolean;
|
|
392
|
+
subject?: Expr;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
export const ExpectStmt = {
|
|
396
|
+
$type: 'ExpectStmt',
|
|
397
|
+
annotations: 'annotations',
|
|
398
|
+
checks: 'checks',
|
|
399
|
+
matcher: 'matcher',
|
|
400
|
+
modifier: 'modifier',
|
|
401
|
+
negate: 'negate',
|
|
402
|
+
subject: 'subject'
|
|
403
|
+
} as const;
|
|
404
|
+
|
|
405
|
+
export function isExpectStmt(item: unknown): item is ExpectStmt {
|
|
406
|
+
return reflection.isInstance(item, ExpectStmt.$type);
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
export type Expr = Binary | BoolLit | Call | FnExpr | Index | InstantLit | ListLit | MapLit | Member | NullLit | NumberLit | Ref | StringLit | Ternary | Unary;
|
|
410
|
+
|
|
411
|
+
export const Expr = {
|
|
412
|
+
$type: 'Expr'
|
|
413
|
+
} as const;
|
|
414
|
+
|
|
415
|
+
export function isExpr(item: unknown): item is Expr {
|
|
416
|
+
return reflection.isInstance(item, Expr.$type);
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
export interface FactoryDecl extends Declaration {
|
|
420
|
+
readonly $type: 'FactoryDecl';
|
|
421
|
+
body: MapLit;
|
|
422
|
+
name: string;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
export const FactoryDecl = {
|
|
426
|
+
$type: 'FactoryDecl',
|
|
427
|
+
annotations: 'annotations',
|
|
428
|
+
body: 'body',
|
|
429
|
+
name: 'name'
|
|
430
|
+
} as const;
|
|
431
|
+
|
|
432
|
+
export function isFactoryDecl(item: unknown): item is FactoryDecl {
|
|
433
|
+
return reflection.isInstance(item, FactoryDecl.$type);
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
export interface FieldDecl extends langium.AstNode {
|
|
437
|
+
readonly $container: TypeBody;
|
|
438
|
+
readonly $type: 'FieldDecl';
|
|
439
|
+
annotations: Array<Annotation>;
|
|
440
|
+
fieldType: TypeRef;
|
|
441
|
+
name: string;
|
|
442
|
+
optional: boolean;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
export const FieldDecl = {
|
|
446
|
+
$type: 'FieldDecl',
|
|
447
|
+
annotations: 'annotations',
|
|
448
|
+
fieldType: 'fieldType',
|
|
449
|
+
name: 'name',
|
|
450
|
+
optional: 'optional'
|
|
451
|
+
} as const;
|
|
452
|
+
|
|
453
|
+
export function isFieldDecl(item: unknown): item is FieldDecl {
|
|
454
|
+
return reflection.isInstance(item, FieldDecl.$type);
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
export interface FlowDecl extends Declaration {
|
|
458
|
+
readonly $type: 'FlowDecl';
|
|
459
|
+
body: Block;
|
|
460
|
+
title: string;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
export const FlowDecl = {
|
|
464
|
+
$type: 'FlowDecl',
|
|
465
|
+
annotations: 'annotations',
|
|
466
|
+
body: 'body',
|
|
467
|
+
title: 'title'
|
|
468
|
+
} as const;
|
|
469
|
+
|
|
470
|
+
export function isFlowDecl(item: unknown): item is FlowDecl {
|
|
471
|
+
return reflection.isInstance(item, FlowDecl.$type);
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
export interface FnBody extends langium.AstNode {
|
|
475
|
+
readonly $container: FnDecl | FnExpr;
|
|
476
|
+
readonly $type: 'FnBody';
|
|
477
|
+
locals: Array<LetStmt>;
|
|
478
|
+
result: Expr;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
export const FnBody = {
|
|
482
|
+
$type: 'FnBody',
|
|
483
|
+
locals: 'locals',
|
|
484
|
+
result: 'result'
|
|
485
|
+
} as const;
|
|
486
|
+
|
|
487
|
+
export function isFnBody(item: unknown): item is FnBody {
|
|
488
|
+
return reflection.isInstance(item, FnBody.$type);
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
export interface FnDecl extends Declaration {
|
|
492
|
+
readonly $type: 'FnDecl';
|
|
493
|
+
body: FnBody;
|
|
494
|
+
export: boolean;
|
|
495
|
+
name: string;
|
|
496
|
+
params?: ParamList;
|
|
497
|
+
returns?: TypeRef;
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
export const FnDecl = {
|
|
501
|
+
$type: 'FnDecl',
|
|
502
|
+
annotations: 'annotations',
|
|
503
|
+
body: 'body',
|
|
504
|
+
export: 'export',
|
|
505
|
+
name: 'name',
|
|
506
|
+
params: 'params',
|
|
507
|
+
returns: 'returns'
|
|
508
|
+
} as const;
|
|
509
|
+
|
|
510
|
+
export function isFnDecl(item: unknown): item is FnDecl {
|
|
511
|
+
return reflection.isInstance(item, FnDecl.$type);
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
export interface FnExpr extends langium.AstNode {
|
|
515
|
+
readonly $container: ActionCall | Arg | Binary | Call | CaptureStmt | DatasetDecl | ExpectStmt | FnBody | ForEachStmt | IfStmt | Index | LetStmt | LifecycleDecl | ListLit | MapEntry | MatcherClause | Member | RepeatStmt | ReportDecl | ReturnStmt | Ternary | Unary | WhileStmt;
|
|
516
|
+
readonly $type: 'FnExpr';
|
|
517
|
+
body: FnBody;
|
|
518
|
+
params: ParamList;
|
|
519
|
+
returns?: TypeRef;
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
export const FnExpr = {
|
|
523
|
+
$type: 'FnExpr',
|
|
524
|
+
body: 'body',
|
|
525
|
+
params: 'params',
|
|
526
|
+
returns: 'returns'
|
|
527
|
+
} as const;
|
|
528
|
+
|
|
529
|
+
export function isFnExpr(item: unknown): item is FnExpr {
|
|
530
|
+
return reflection.isInstance(item, FnExpr.$type);
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
export interface ForEachStmt extends Declaration, Statement {
|
|
534
|
+
readonly $type: 'ForEachStmt';
|
|
535
|
+
body: Block;
|
|
536
|
+
item: string;
|
|
537
|
+
opts?: MapLit;
|
|
538
|
+
source: Expr;
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
export const ForEachStmt = {
|
|
542
|
+
$type: 'ForEachStmt',
|
|
543
|
+
annotations: 'annotations',
|
|
544
|
+
body: 'body',
|
|
545
|
+
item: 'item',
|
|
546
|
+
opts: 'opts',
|
|
547
|
+
source: 'source'
|
|
548
|
+
} as const;
|
|
549
|
+
|
|
550
|
+
export function isForEachStmt(item: unknown): item is ForEachStmt {
|
|
551
|
+
return reflection.isInstance(item, ForEachStmt.$type);
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
export interface FragmentDecl extends Declaration {
|
|
555
|
+
readonly $type: 'FragmentDecl';
|
|
556
|
+
body: Block;
|
|
557
|
+
export: boolean;
|
|
558
|
+
name: string;
|
|
559
|
+
params?: ParamList;
|
|
560
|
+
returns?: TypeRef;
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
export const FragmentDecl = {
|
|
564
|
+
$type: 'FragmentDecl',
|
|
565
|
+
annotations: 'annotations',
|
|
566
|
+
body: 'body',
|
|
567
|
+
export: 'export',
|
|
568
|
+
name: 'name',
|
|
569
|
+
params: 'params',
|
|
570
|
+
returns: 'returns'
|
|
571
|
+
} as const;
|
|
572
|
+
|
|
573
|
+
export function isFragmentDecl(item: unknown): item is FragmentDecl {
|
|
574
|
+
return reflection.isInstance(item, FragmentDecl.$type);
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
export interface GroupDecl extends Statement {
|
|
578
|
+
readonly $type: 'GroupDecl';
|
|
579
|
+
body: Block;
|
|
580
|
+
title: string;
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
export const GroupDecl = {
|
|
584
|
+
$type: 'GroupDecl',
|
|
585
|
+
annotations: 'annotations',
|
|
586
|
+
body: 'body',
|
|
587
|
+
title: 'title'
|
|
588
|
+
} as const;
|
|
589
|
+
|
|
590
|
+
export function isGroupDecl(item: unknown): item is GroupDecl {
|
|
591
|
+
return reflection.isInstance(item, GroupDecl.$type);
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
export interface IfStmt extends Declaration, Statement {
|
|
595
|
+
readonly $container: IfStmt;
|
|
596
|
+
readonly $type: 'IfStmt';
|
|
597
|
+
cond: Expr;
|
|
598
|
+
otherwise?: ElseBranch;
|
|
599
|
+
then: Block;
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
export const IfStmt = {
|
|
603
|
+
$type: 'IfStmt',
|
|
604
|
+
annotations: 'annotations',
|
|
605
|
+
cond: 'cond',
|
|
606
|
+
otherwise: 'otherwise',
|
|
607
|
+
then: 'then'
|
|
608
|
+
} as const;
|
|
609
|
+
|
|
610
|
+
export function isIfStmt(item: unknown): item is IfStmt {
|
|
611
|
+
return reflection.isInstance(item, IfStmt.$type);
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
export type ImportDecl = UseDecl | ValueImport;
|
|
615
|
+
|
|
616
|
+
export const ImportDecl = {
|
|
617
|
+
$type: 'ImportDecl'
|
|
618
|
+
} as const;
|
|
619
|
+
|
|
620
|
+
export function isImportDecl(item: unknown): item is ImportDecl {
|
|
621
|
+
return reflection.isInstance(item, ImportDecl.$type);
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
export interface Index extends langium.AstNode {
|
|
625
|
+
readonly $container: ActionCall | Arg | Binary | Call | CaptureStmt | DatasetDecl | ExpectStmt | FnBody | ForEachStmt | IfStmt | Index | LetStmt | LifecycleDecl | ListLit | MapEntry | MatcherClause | Member | RepeatStmt | ReportDecl | ReturnStmt | Ternary | Unary | WhileStmt;
|
|
626
|
+
readonly $type: 'Index';
|
|
627
|
+
index: Expr;
|
|
628
|
+
receiver: Expr;
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
export const Index = {
|
|
632
|
+
$type: 'Index',
|
|
633
|
+
index: 'index',
|
|
634
|
+
receiver: 'receiver'
|
|
635
|
+
} as const;
|
|
636
|
+
|
|
637
|
+
export function isIndex(item: unknown): item is Index {
|
|
638
|
+
return reflection.isInstance(item, Index.$type);
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
export interface InstantLit extends langium.AstNode {
|
|
642
|
+
readonly $container: ActionCall | Arg | Binary | Call | CaptureStmt | DatasetDecl | ExpectStmt | FnBody | ForEachStmt | IfStmt | Index | LetStmt | LifecycleDecl | ListLit | MapEntry | MatcherClause | Member | RepeatStmt | ReportDecl | ReturnStmt | Ternary | Unary | WhileStmt;
|
|
643
|
+
readonly $type: 'InstantLit';
|
|
644
|
+
value: string;
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
export const InstantLit = {
|
|
648
|
+
$type: 'InstantLit',
|
|
649
|
+
value: 'value'
|
|
650
|
+
} as const;
|
|
651
|
+
|
|
652
|
+
export function isInstantLit(item: unknown): item is InstantLit {
|
|
653
|
+
return reflection.isInstance(item, InstantLit.$type);
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
export interface LetStmt extends Declaration, Statement {
|
|
657
|
+
readonly $container: FnBody;
|
|
658
|
+
readonly $type: 'LetStmt';
|
|
659
|
+
args: Array<Expr>;
|
|
660
|
+
declaredType?: TypeRef;
|
|
661
|
+
kind: 'const' | 'let';
|
|
662
|
+
name: string;
|
|
663
|
+
opts?: MapLit;
|
|
664
|
+
value: Expr;
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
export const LetStmt = {
|
|
668
|
+
$type: 'LetStmt',
|
|
669
|
+
annotations: 'annotations',
|
|
670
|
+
args: 'args',
|
|
671
|
+
declaredType: 'declaredType',
|
|
672
|
+
kind: 'kind',
|
|
673
|
+
name: 'name',
|
|
674
|
+
opts: 'opts',
|
|
675
|
+
value: 'value'
|
|
676
|
+
} as const;
|
|
677
|
+
|
|
678
|
+
export function isLetStmt(item: unknown): item is LetStmt {
|
|
679
|
+
return reflection.isInstance(item, LetStmt.$type);
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
export interface LifecycleDecl extends Declaration, Statement {
|
|
683
|
+
readonly $type: 'LifecycleDecl';
|
|
684
|
+
arg?: Expr;
|
|
685
|
+
body: Block;
|
|
686
|
+
event?: string;
|
|
687
|
+
hook?: 'afterEach' | 'beforeEach' | 'defer' | 'setup' | 'teardown';
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
export const LifecycleDecl = {
|
|
691
|
+
$type: 'LifecycleDecl',
|
|
692
|
+
annotations: 'annotations',
|
|
693
|
+
arg: 'arg',
|
|
694
|
+
body: 'body',
|
|
695
|
+
event: 'event',
|
|
696
|
+
hook: 'hook'
|
|
697
|
+
} as const;
|
|
698
|
+
|
|
699
|
+
export function isLifecycleDecl(item: unknown): item is LifecycleDecl {
|
|
700
|
+
return reflection.isInstance(item, LifecycleDecl.$type);
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
export interface ListLit extends langium.AstNode {
|
|
704
|
+
readonly $container: ActionCall | Arg | Binary | Call | CaptureStmt | DatasetDecl | ExpectStmt | FnBody | ForEachStmt | IfStmt | Index | LetStmt | LifecycleDecl | ListLit | MapEntry | MatcherClause | Member | RepeatStmt | ReportDecl | ReturnStmt | Ternary | Unary | WhileStmt;
|
|
705
|
+
readonly $type: 'ListLit';
|
|
706
|
+
items: Array<Expr>;
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
export const ListLit = {
|
|
710
|
+
$type: 'ListLit',
|
|
711
|
+
items: 'items'
|
|
712
|
+
} as const;
|
|
713
|
+
|
|
714
|
+
export function isListLit(item: unknown): item is ListLit {
|
|
715
|
+
return reflection.isInstance(item, ListLit.$type);
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
export interface LiteralType extends langium.AstNode {
|
|
719
|
+
readonly $container: TypeRef;
|
|
720
|
+
readonly $type: 'LiteralType';
|
|
721
|
+
value: string;
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
export const LiteralType = {
|
|
725
|
+
$type: 'LiteralType',
|
|
726
|
+
value: 'value'
|
|
727
|
+
} as const;
|
|
728
|
+
|
|
729
|
+
export function isLiteralType(item: unknown): item is LiteralType {
|
|
730
|
+
return reflection.isInstance(item, LiteralType.$type);
|
|
731
|
+
}
|
|
732
|
+
|
|
733
|
+
export interface MapEntry extends langium.AstNode {
|
|
734
|
+
readonly $container: MapLit;
|
|
735
|
+
readonly $type: 'MapEntry';
|
|
736
|
+
key: MapKey;
|
|
737
|
+
value: Expr;
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
export const MapEntry = {
|
|
741
|
+
$type: 'MapEntry',
|
|
742
|
+
key: 'key',
|
|
743
|
+
value: 'value'
|
|
744
|
+
} as const;
|
|
745
|
+
|
|
746
|
+
export function isMapEntry(item: unknown): item is MapEntry {
|
|
747
|
+
return reflection.isInstance(item, MapEntry.$type);
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
export type MapKey = Word | string;
|
|
751
|
+
|
|
752
|
+
export function isMapKey(item: unknown): item is MapKey {
|
|
753
|
+
return isWord(item) || (typeof item === 'string' && (/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/.test(item)));
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
export interface MapLit extends langium.AstNode {
|
|
757
|
+
readonly $container: ActionCall | Arg | Binary | Call | CaptureStmt | ConfigDecl | DatasetDecl | ExpectStmt | FactoryDecl | FnBody | ForEachStmt | IfStmt | Index | LetStmt | LifecycleDecl | ListLit | MapEntry | MatcherClause | MatrixDecl | Member | ParallelStmt | RaceStmt | RepeatStmt | ReportDecl | ReturnStmt | Ternary | Unary | WhileStmt;
|
|
758
|
+
readonly $type: 'MapLit';
|
|
759
|
+
entries: Array<MapEntry>;
|
|
760
|
+
}
|
|
761
|
+
|
|
762
|
+
export const MapLit = {
|
|
763
|
+
$type: 'MapLit',
|
|
764
|
+
entries: 'entries'
|
|
765
|
+
} as const;
|
|
766
|
+
|
|
767
|
+
export function isMapLit(item: unknown): item is MapLit {
|
|
768
|
+
return reflection.isInstance(item, MapLit.$type);
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
export interface MatcherClause extends langium.AstNode {
|
|
772
|
+
readonly $container: ExpectStmt;
|
|
773
|
+
readonly $type: 'MatcherClause';
|
|
774
|
+
args: Array<Expr>;
|
|
775
|
+
name: string;
|
|
776
|
+
opts?: MapLit;
|
|
777
|
+
}
|
|
778
|
+
|
|
779
|
+
export const MatcherClause = {
|
|
780
|
+
$type: 'MatcherClause',
|
|
781
|
+
args: 'args',
|
|
782
|
+
name: 'name',
|
|
783
|
+
opts: 'opts'
|
|
784
|
+
} as const;
|
|
785
|
+
|
|
786
|
+
export function isMatcherClause(item: unknown): item is MatcherClause {
|
|
787
|
+
return reflection.isInstance(item, MatcherClause.$type);
|
|
788
|
+
}
|
|
789
|
+
|
|
790
|
+
export interface MatrixDecl extends Declaration {
|
|
791
|
+
readonly $type: 'MatrixDecl';
|
|
792
|
+
body: MapLit;
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
export const MatrixDecl = {
|
|
796
|
+
$type: 'MatrixDecl',
|
|
797
|
+
annotations: 'annotations',
|
|
798
|
+
body: 'body'
|
|
799
|
+
} as const;
|
|
800
|
+
|
|
801
|
+
export function isMatrixDecl(item: unknown): item is MatrixDecl {
|
|
802
|
+
return reflection.isInstance(item, MatrixDecl.$type);
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
export interface Member extends langium.AstNode {
|
|
806
|
+
readonly $container: ActionCall | Arg | Binary | Call | CaptureStmt | DatasetDecl | ExpectStmt | FnBody | ForEachStmt | IfStmt | Index | LetStmt | LifecycleDecl | ListLit | MapEntry | MatcherClause | Member | RepeatStmt | ReportDecl | ReturnStmt | Ternary | Unary | WhileStmt;
|
|
807
|
+
readonly $type: 'Member';
|
|
808
|
+
member: Word | string;
|
|
809
|
+
optional: boolean;
|
|
810
|
+
receiver: Expr;
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
export const Member = {
|
|
814
|
+
$type: 'Member',
|
|
815
|
+
member: 'member',
|
|
816
|
+
optional: 'optional',
|
|
817
|
+
receiver: 'receiver'
|
|
818
|
+
} as const;
|
|
819
|
+
|
|
820
|
+
export function isMember(item: unknown): item is Member {
|
|
821
|
+
return reflection.isInstance(item, Member.$type);
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
export interface NamedType extends langium.AstNode {
|
|
825
|
+
readonly $container: TypeRef;
|
|
826
|
+
readonly $type: 'NamedType';
|
|
827
|
+
args: Array<TypeRef>;
|
|
828
|
+
name: QualifiedName;
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
export const NamedType = {
|
|
832
|
+
$type: 'NamedType',
|
|
833
|
+
args: 'args',
|
|
834
|
+
name: 'name'
|
|
835
|
+
} as const;
|
|
836
|
+
|
|
837
|
+
export function isNamedType(item: unknown): item is NamedType {
|
|
838
|
+
return reflection.isInstance(item, NamedType.$type);
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
export interface NullLit extends langium.AstNode {
|
|
842
|
+
readonly $container: ActionCall | Arg | Binary | Call | CaptureStmt | DatasetDecl | ExpectStmt | FnBody | ForEachStmt | IfStmt | Index | LetStmt | LifecycleDecl | ListLit | MapEntry | MatcherClause | Member | RepeatStmt | ReportDecl | ReturnStmt | Ternary | Unary | WhileStmt;
|
|
843
|
+
readonly $type: 'NullLit';
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
export const NullLit = {
|
|
847
|
+
$type: 'NullLit'
|
|
848
|
+
} as const;
|
|
849
|
+
|
|
850
|
+
export function isNullLit(item: unknown): item is NullLit {
|
|
851
|
+
return reflection.isInstance(item, NullLit.$type);
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
export interface NumberLit extends langium.AstNode {
|
|
855
|
+
readonly $container: ActionCall | Arg | Binary | Call | CaptureStmt | DatasetDecl | ExpectStmt | FnBody | ForEachStmt | IfStmt | Index | LetStmt | LifecycleDecl | ListLit | MapEntry | MatcherClause | Member | RepeatStmt | ReportDecl | ReturnStmt | Ternary | Unary | WhileStmt;
|
|
856
|
+
readonly $type: 'NumberLit';
|
|
857
|
+
raw: string;
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
export const NumberLit = {
|
|
861
|
+
$type: 'NumberLit',
|
|
862
|
+
raw: 'raw'
|
|
863
|
+
} as const;
|
|
864
|
+
|
|
865
|
+
export function isNumberLit(item: unknown): item is NumberLit {
|
|
866
|
+
return reflection.isInstance(item, NumberLit.$type);
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
export interface ParallelStmt extends Declaration, Statement {
|
|
870
|
+
readonly $type: 'ParallelStmt';
|
|
871
|
+
body: Block;
|
|
872
|
+
opts?: MapLit;
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
export const ParallelStmt = {
|
|
876
|
+
$type: 'ParallelStmt',
|
|
877
|
+
annotations: 'annotations',
|
|
878
|
+
body: 'body',
|
|
879
|
+
opts: 'opts'
|
|
880
|
+
} as const;
|
|
881
|
+
|
|
882
|
+
export function isParallelStmt(item: unknown): item is ParallelStmt {
|
|
883
|
+
return reflection.isInstance(item, ParallelStmt.$type);
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
export interface Param extends langium.AstNode {
|
|
887
|
+
readonly $container: ParamList;
|
|
888
|
+
readonly $type: 'Param';
|
|
889
|
+
annotations: Array<Annotation>;
|
|
890
|
+
name: string;
|
|
891
|
+
paramType?: TypeRef;
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
export const Param = {
|
|
895
|
+
$type: 'Param',
|
|
896
|
+
annotations: 'annotations',
|
|
897
|
+
name: 'name',
|
|
898
|
+
paramType: 'paramType'
|
|
899
|
+
} as const;
|
|
900
|
+
|
|
901
|
+
export function isParam(item: unknown): item is Param {
|
|
902
|
+
return reflection.isInstance(item, Param.$type);
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
export interface ParamList extends langium.AstNode {
|
|
906
|
+
readonly $container: DecoDecl | FnDecl | FnExpr | FragmentDecl;
|
|
907
|
+
readonly $type: 'ParamList';
|
|
908
|
+
params: Array<Param>;
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
export const ParamList = {
|
|
912
|
+
$type: 'ParamList',
|
|
913
|
+
params: 'params'
|
|
914
|
+
} as const;
|
|
915
|
+
|
|
916
|
+
export function isParamList(item: unknown): item is ParamList {
|
|
917
|
+
return reflection.isInstance(item, ParamList.$type);
|
|
918
|
+
}
|
|
919
|
+
|
|
920
|
+
export type QualifiedName = string;
|
|
921
|
+
|
|
922
|
+
export function isQualifiedName(item: unknown): item is QualifiedName {
|
|
923
|
+
return typeof item === 'string';
|
|
924
|
+
}
|
|
925
|
+
|
|
926
|
+
export interface RaceStmt extends Declaration, Statement {
|
|
927
|
+
readonly $type: 'RaceStmt';
|
|
928
|
+
body: Block;
|
|
929
|
+
opts?: MapLit;
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
export const RaceStmt = {
|
|
933
|
+
$type: 'RaceStmt',
|
|
934
|
+
annotations: 'annotations',
|
|
935
|
+
body: 'body',
|
|
936
|
+
opts: 'opts'
|
|
937
|
+
} as const;
|
|
938
|
+
|
|
939
|
+
export function isRaceStmt(item: unknown): item is RaceStmt {
|
|
940
|
+
return reflection.isInstance(item, RaceStmt.$type);
|
|
941
|
+
}
|
|
942
|
+
|
|
943
|
+
export interface Ref extends langium.AstNode {
|
|
944
|
+
readonly $container: ActionCall | Arg | Binary | Call | CaptureStmt | DatasetDecl | ExpectStmt | FnBody | ForEachStmt | IfStmt | Index | LetStmt | LifecycleDecl | ListLit | MapEntry | MatcherClause | Member | RepeatStmt | ReportDecl | ReturnStmt | Ternary | Unary | WhileStmt;
|
|
945
|
+
readonly $type: 'Ref';
|
|
946
|
+
name: RefName;
|
|
947
|
+
}
|
|
948
|
+
|
|
949
|
+
export const Ref = {
|
|
950
|
+
$type: 'Ref',
|
|
951
|
+
name: 'name'
|
|
952
|
+
} as const;
|
|
953
|
+
|
|
954
|
+
export function isRef(item: unknown): item is Ref {
|
|
955
|
+
return reflection.isInstance(item, Ref.$type);
|
|
956
|
+
}
|
|
957
|
+
|
|
958
|
+
export type RefName = 'flow' | 'matrix' | 'step' | string;
|
|
959
|
+
|
|
960
|
+
export function isRefName(item: unknown): item is RefName {
|
|
961
|
+
return item === 'matrix' || item === 'flow' || item === 'step' || (typeof item === 'string' && (/[_a-zA-Z]\w*/.test(item)));
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
export interface RepeatStmt extends Declaration, Statement {
|
|
965
|
+
readonly $type: 'RepeatStmt';
|
|
966
|
+
body: Block;
|
|
967
|
+
count: Expr;
|
|
968
|
+
index?: string;
|
|
969
|
+
}
|
|
970
|
+
|
|
971
|
+
export const RepeatStmt = {
|
|
972
|
+
$type: 'RepeatStmt',
|
|
973
|
+
annotations: 'annotations',
|
|
974
|
+
body: 'body',
|
|
975
|
+
count: 'count',
|
|
976
|
+
index: 'index'
|
|
977
|
+
} as const;
|
|
978
|
+
|
|
979
|
+
export function isRepeatStmt(item: unknown): item is RepeatStmt {
|
|
980
|
+
return reflection.isInstance(item, RepeatStmt.$type);
|
|
981
|
+
}
|
|
982
|
+
|
|
983
|
+
export interface ReportDecl extends Declaration {
|
|
984
|
+
readonly $type: 'ReportDecl';
|
|
985
|
+
reporters: Array<Expr>;
|
|
986
|
+
}
|
|
987
|
+
|
|
988
|
+
export const ReportDecl = {
|
|
989
|
+
$type: 'ReportDecl',
|
|
990
|
+
annotations: 'annotations',
|
|
991
|
+
reporters: 'reporters'
|
|
992
|
+
} as const;
|
|
993
|
+
|
|
994
|
+
export function isReportDecl(item: unknown): item is ReportDecl {
|
|
995
|
+
return reflection.isInstance(item, ReportDecl.$type);
|
|
996
|
+
}
|
|
997
|
+
|
|
998
|
+
export interface ReturnStmt extends Statement {
|
|
999
|
+
readonly $type: 'ReturnStmt';
|
|
1000
|
+
value?: Expr;
|
|
1001
|
+
}
|
|
1002
|
+
|
|
1003
|
+
export const ReturnStmt = {
|
|
1004
|
+
$type: 'ReturnStmt',
|
|
1005
|
+
annotations: 'annotations',
|
|
1006
|
+
value: 'value'
|
|
1007
|
+
} as const;
|
|
1008
|
+
|
|
1009
|
+
export function isReturnStmt(item: unknown): item is ReturnStmt {
|
|
1010
|
+
return reflection.isInstance(item, ReturnStmt.$type);
|
|
1011
|
+
}
|
|
1012
|
+
|
|
1013
|
+
export interface RunStmt extends Declaration, Statement {
|
|
1014
|
+
readonly $type: 'RunStmt';
|
|
1015
|
+
args?: ArgList;
|
|
1016
|
+
bind?: string;
|
|
1017
|
+
target: QualifiedName;
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
export const RunStmt = {
|
|
1021
|
+
$type: 'RunStmt',
|
|
1022
|
+
annotations: 'annotations',
|
|
1023
|
+
args: 'args',
|
|
1024
|
+
bind: 'bind',
|
|
1025
|
+
target: 'target'
|
|
1026
|
+
} as const;
|
|
1027
|
+
|
|
1028
|
+
export function isRunStmt(item: unknown): item is RunStmt {
|
|
1029
|
+
return reflection.isInstance(item, RunStmt.$type);
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
export type SingleType = LiteralType | NamedType;
|
|
1033
|
+
|
|
1034
|
+
export const SingleType = {
|
|
1035
|
+
$type: 'SingleType'
|
|
1036
|
+
} as const;
|
|
1037
|
+
|
|
1038
|
+
export function isSingleType(item: unknown): item is SingleType {
|
|
1039
|
+
return reflection.isInstance(item, SingleType.$type);
|
|
1040
|
+
}
|
|
1041
|
+
|
|
1042
|
+
export interface Statement extends langium.AstNode {
|
|
1043
|
+
readonly $type: 'ActionCall' | 'BreakStmt' | 'CaptureStmt' | 'ContinueStmt' | 'ExpectStmt' | 'ForEachStmt' | 'GroupDecl' | 'IfStmt' | 'LetStmt' | 'LifecycleDecl' | 'ParallelStmt' | 'RaceStmt' | 'RepeatStmt' | 'ReturnStmt' | 'RunStmt' | 'Statement' | 'StepDecl' | 'TryStmt' | 'WhileStmt';
|
|
1044
|
+
annotations: Array<Annotation>;
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
export const Statement = {
|
|
1048
|
+
$type: 'Statement',
|
|
1049
|
+
annotations: 'annotations'
|
|
1050
|
+
} as const;
|
|
1051
|
+
|
|
1052
|
+
export function isStatement(item: unknown): item is Statement {
|
|
1053
|
+
return reflection.isInstance(item, Statement.$type);
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1056
|
+
export interface StepDecl extends Statement {
|
|
1057
|
+
readonly $type: 'StepDecl';
|
|
1058
|
+
body: Block;
|
|
1059
|
+
title: string;
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
export const StepDecl = {
|
|
1063
|
+
$type: 'StepDecl',
|
|
1064
|
+
annotations: 'annotations',
|
|
1065
|
+
body: 'body',
|
|
1066
|
+
title: 'title'
|
|
1067
|
+
} as const;
|
|
1068
|
+
|
|
1069
|
+
export function isStepDecl(item: unknown): item is StepDecl {
|
|
1070
|
+
return reflection.isInstance(item, StepDecl.$type);
|
|
1071
|
+
}
|
|
1072
|
+
|
|
1073
|
+
export interface StringLit extends langium.AstNode {
|
|
1074
|
+
readonly $container: ActionCall | Arg | Binary | Call | CaptureStmt | DatasetDecl | ExpectStmt | FnBody | ForEachStmt | IfStmt | Index | LetStmt | LifecycleDecl | ListLit | MapEntry | MatcherClause | Member | RepeatStmt | ReportDecl | ReturnStmt | Ternary | Unary | WhileStmt;
|
|
1075
|
+
readonly $type: 'StringLit';
|
|
1076
|
+
value: string;
|
|
1077
|
+
}
|
|
1078
|
+
|
|
1079
|
+
export const StringLit = {
|
|
1080
|
+
$type: 'StringLit',
|
|
1081
|
+
value: 'value'
|
|
1082
|
+
} as const;
|
|
1083
|
+
|
|
1084
|
+
export function isStringLit(item: unknown): item is StringLit {
|
|
1085
|
+
return reflection.isInstance(item, StringLit.$type);
|
|
1086
|
+
}
|
|
1087
|
+
|
|
1088
|
+
export interface Ternary extends langium.AstNode {
|
|
1089
|
+
readonly $container: ActionCall | Arg | Binary | Call | CaptureStmt | DatasetDecl | ExpectStmt | FnBody | ForEachStmt | IfStmt | Index | LetStmt | LifecycleDecl | ListLit | MapEntry | MatcherClause | Member | RepeatStmt | ReportDecl | ReturnStmt | Ternary | Unary | WhileStmt;
|
|
1090
|
+
readonly $type: 'Ternary';
|
|
1091
|
+
condition: Expr;
|
|
1092
|
+
otherwise: Expr;
|
|
1093
|
+
then: Expr;
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
export const Ternary = {
|
|
1097
|
+
$type: 'Ternary',
|
|
1098
|
+
condition: 'condition',
|
|
1099
|
+
otherwise: 'otherwise',
|
|
1100
|
+
then: 'then'
|
|
1101
|
+
} as const;
|
|
1102
|
+
|
|
1103
|
+
export function isTernary(item: unknown): item is Ternary {
|
|
1104
|
+
return reflection.isInstance(item, Ternary.$type);
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1107
|
+
export interface TryStmt extends Declaration, Statement {
|
|
1108
|
+
readonly $type: 'TryStmt';
|
|
1109
|
+
body: Block;
|
|
1110
|
+
error?: string;
|
|
1111
|
+
finalizer?: Block;
|
|
1112
|
+
handler?: Block;
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1115
|
+
export const TryStmt = {
|
|
1116
|
+
$type: 'TryStmt',
|
|
1117
|
+
annotations: 'annotations',
|
|
1118
|
+
body: 'body',
|
|
1119
|
+
error: 'error',
|
|
1120
|
+
finalizer: 'finalizer',
|
|
1121
|
+
handler: 'handler'
|
|
1122
|
+
} as const;
|
|
1123
|
+
|
|
1124
|
+
export function isTryStmt(item: unknown): item is TryStmt {
|
|
1125
|
+
return reflection.isInstance(item, TryStmt.$type);
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1128
|
+
export interface TypeBody extends langium.AstNode {
|
|
1129
|
+
readonly $container: TypeDecl;
|
|
1130
|
+
readonly $type: 'TypeBody';
|
|
1131
|
+
fields: Array<FieldDecl>;
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
export const TypeBody = {
|
|
1135
|
+
$type: 'TypeBody',
|
|
1136
|
+
fields: 'fields'
|
|
1137
|
+
} as const;
|
|
1138
|
+
|
|
1139
|
+
export function isTypeBody(item: unknown): item is TypeBody {
|
|
1140
|
+
return reflection.isInstance(item, TypeBody.$type);
|
|
1141
|
+
}
|
|
1142
|
+
|
|
1143
|
+
export interface TypeDecl extends Declaration {
|
|
1144
|
+
readonly $type: 'TypeDecl';
|
|
1145
|
+
alias?: TypeRef;
|
|
1146
|
+
body?: TypeBody;
|
|
1147
|
+
name: string;
|
|
1148
|
+
}
|
|
1149
|
+
|
|
1150
|
+
export const TypeDecl = {
|
|
1151
|
+
$type: 'TypeDecl',
|
|
1152
|
+
alias: 'alias',
|
|
1153
|
+
annotations: 'annotations',
|
|
1154
|
+
body: 'body',
|
|
1155
|
+
name: 'name'
|
|
1156
|
+
} as const;
|
|
1157
|
+
|
|
1158
|
+
export function isTypeDecl(item: unknown): item is TypeDecl {
|
|
1159
|
+
return reflection.isInstance(item, TypeDecl.$type);
|
|
1160
|
+
}
|
|
1161
|
+
|
|
1162
|
+
export interface TypeRef extends langium.AstNode {
|
|
1163
|
+
readonly $container: DatasetDecl | FieldDecl | FnDecl | FnExpr | FragmentDecl | LetStmt | NamedType | Param | TypeDecl;
|
|
1164
|
+
readonly $type: 'TypeRef';
|
|
1165
|
+
members: Array<SingleType>;
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1168
|
+
export const TypeRef = {
|
|
1169
|
+
$type: 'TypeRef',
|
|
1170
|
+
members: 'members'
|
|
1171
|
+
} as const;
|
|
1172
|
+
|
|
1173
|
+
export function isTypeRef(item: unknown): item is TypeRef {
|
|
1174
|
+
return reflection.isInstance(item, TypeRef.$type);
|
|
1175
|
+
}
|
|
1176
|
+
|
|
1177
|
+
export interface Unary extends langium.AstNode {
|
|
1178
|
+
readonly $container: ActionCall | Arg | Binary | Call | CaptureStmt | DatasetDecl | ExpectStmt | FnBody | ForEachStmt | IfStmt | Index | LetStmt | LifecycleDecl | ListLit | MapEntry | MatcherClause | Member | RepeatStmt | ReportDecl | ReturnStmt | Ternary | Unary | WhileStmt;
|
|
1179
|
+
readonly $type: 'Unary';
|
|
1180
|
+
operand: Expr;
|
|
1181
|
+
operator: '!' | '-';
|
|
1182
|
+
}
|
|
1183
|
+
|
|
1184
|
+
export const Unary = {
|
|
1185
|
+
$type: 'Unary',
|
|
1186
|
+
operand: 'operand',
|
|
1187
|
+
operator: 'operator'
|
|
1188
|
+
} as const;
|
|
1189
|
+
|
|
1190
|
+
export function isUnary(item: unknown): item is Unary {
|
|
1191
|
+
return reflection.isInstance(item, Unary.$type);
|
|
1192
|
+
}
|
|
1193
|
+
|
|
1194
|
+
export interface UseDecl extends langium.AstNode {
|
|
1195
|
+
readonly $container: Document;
|
|
1196
|
+
readonly $type: 'UseDecl';
|
|
1197
|
+
alias?: string;
|
|
1198
|
+
pkg: string;
|
|
1199
|
+
}
|
|
1200
|
+
|
|
1201
|
+
export const UseDecl = {
|
|
1202
|
+
$type: 'UseDecl',
|
|
1203
|
+
alias: 'alias',
|
|
1204
|
+
pkg: 'pkg'
|
|
1205
|
+
} as const;
|
|
1206
|
+
|
|
1207
|
+
export function isUseDecl(item: unknown): item is UseDecl {
|
|
1208
|
+
return reflection.isInstance(item, UseDecl.$type);
|
|
1209
|
+
}
|
|
1210
|
+
|
|
1211
|
+
export interface ValueImport extends langium.AstNode {
|
|
1212
|
+
readonly $container: Document;
|
|
1213
|
+
readonly $type: 'ValueImport';
|
|
1214
|
+
default?: string;
|
|
1215
|
+
export: boolean;
|
|
1216
|
+
names: Array<string>;
|
|
1217
|
+
path: string;
|
|
1218
|
+
wildcard?: string;
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
export const ValueImport = {
|
|
1222
|
+
$type: 'ValueImport',
|
|
1223
|
+
default: 'default',
|
|
1224
|
+
export: 'export',
|
|
1225
|
+
names: 'names',
|
|
1226
|
+
path: 'path',
|
|
1227
|
+
wildcard: 'wildcard'
|
|
1228
|
+
} as const;
|
|
1229
|
+
|
|
1230
|
+
export function isValueImport(item: unknown): item is ValueImport {
|
|
1231
|
+
return reflection.isInstance(item, ValueImport.$type);
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
export interface WhileStmt extends Declaration, Statement {
|
|
1235
|
+
readonly $type: 'WhileStmt';
|
|
1236
|
+
body: Block;
|
|
1237
|
+
cond: Expr;
|
|
1238
|
+
}
|
|
1239
|
+
|
|
1240
|
+
export const WhileStmt = {
|
|
1241
|
+
$type: 'WhileStmt',
|
|
1242
|
+
annotations: 'annotations',
|
|
1243
|
+
body: 'body',
|
|
1244
|
+
cond: 'cond'
|
|
1245
|
+
} as const;
|
|
1246
|
+
|
|
1247
|
+
export function isWhileStmt(item: unknown): item is WhileStmt {
|
|
1248
|
+
return reflection.isInstance(item, WhileStmt.$type);
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1251
|
+
export type Word = 'afterEach' | 'all' | 'as' | 'beforeEach' | 'break' | 'capture' | 'catch' | 'config' | 'const' | 'continue' | 'dataset' | 'deco' | 'defer' | 'else' | 'expect' | 'factory' | 'finally' | 'flow' | 'fn' | 'forEach' | 'fragment' | 'from' | 'group' | 'if' | 'import' | 'in' | 'let' | 'matrix' | 'module' | 'not' | 'on' | 'parallel' | 'pub' | 'race' | 'repeat' | 'report' | 'return' | 'run' | 'setup' | 'soft' | 'step' | 'teardown' | 'try' | 'type' | 'use' | 'while' | string;
|
|
1252
|
+
|
|
1253
|
+
export function isWord(item: unknown): item is Word {
|
|
1254
|
+
return item === 'module' || item === 'use' || item === 'as' || item === 'pub' || item === 'import' || item === 'from' || item === 'flow' || item === 'fragment' || item === 'fn' || item === 'deco' || item === 'return' || item === 'const' || item === 'let' || item === 'config' || item === 'matrix' || item === 'report' || item === 'type' || item === 'factory' || item === 'dataset' || item === 'setup' || item === 'teardown' || item === 'beforeEach' || item === 'afterEach' || item === 'defer' || item === 'on' || item === 'step' || item === 'group' || item === 'if' || item === 'else' || item === 'forEach' || item === 'in' || item === 'repeat' || item === 'while' || item === 'parallel' || item === 'race' || item === 'try' || item === 'catch' || item === 'finally' || item === 'capture' || item === 'run' || item === 'break' || item === 'continue' || item === 'expect' || item === 'all' || item === 'soft' || item === 'not' || (typeof item === 'string' && (/[_a-zA-Z]\w*/.test(item)));
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1257
|
+
export type VennAstType = {
|
|
1258
|
+
ActionCall: ActionCall
|
|
1259
|
+
Annotation: Annotation
|
|
1260
|
+
Arg: Arg
|
|
1261
|
+
ArgList: ArgList
|
|
1262
|
+
Binary: Binary
|
|
1263
|
+
Block: Block
|
|
1264
|
+
BoolLit: BoolLit
|
|
1265
|
+
BreakStmt: BreakStmt
|
|
1266
|
+
Call: Call
|
|
1267
|
+
CaptureStmt: CaptureStmt
|
|
1268
|
+
ConfigDecl: ConfigDecl
|
|
1269
|
+
ContinueStmt: ContinueStmt
|
|
1270
|
+
DatasetDecl: DatasetDecl
|
|
1271
|
+
Declaration: Declaration
|
|
1272
|
+
DecoDecl: DecoDecl
|
|
1273
|
+
Document: Document
|
|
1274
|
+
ElseBranch: ElseBranch
|
|
1275
|
+
ExpectStmt: ExpectStmt
|
|
1276
|
+
Expr: Expr
|
|
1277
|
+
FactoryDecl: FactoryDecl
|
|
1278
|
+
FieldDecl: FieldDecl
|
|
1279
|
+
FlowDecl: FlowDecl
|
|
1280
|
+
FnBody: FnBody
|
|
1281
|
+
FnDecl: FnDecl
|
|
1282
|
+
FnExpr: FnExpr
|
|
1283
|
+
ForEachStmt: ForEachStmt
|
|
1284
|
+
FragmentDecl: FragmentDecl
|
|
1285
|
+
GroupDecl: GroupDecl
|
|
1286
|
+
IfStmt: IfStmt
|
|
1287
|
+
ImportDecl: ImportDecl
|
|
1288
|
+
Index: Index
|
|
1289
|
+
InstantLit: InstantLit
|
|
1290
|
+
LetStmt: LetStmt
|
|
1291
|
+
LifecycleDecl: LifecycleDecl
|
|
1292
|
+
ListLit: ListLit
|
|
1293
|
+
LiteralType: LiteralType
|
|
1294
|
+
MapEntry: MapEntry
|
|
1295
|
+
MapLit: MapLit
|
|
1296
|
+
MatcherClause: MatcherClause
|
|
1297
|
+
MatrixDecl: MatrixDecl
|
|
1298
|
+
Member: Member
|
|
1299
|
+
NamedType: NamedType
|
|
1300
|
+
NullLit: NullLit
|
|
1301
|
+
NumberLit: NumberLit
|
|
1302
|
+
ParallelStmt: ParallelStmt
|
|
1303
|
+
Param: Param
|
|
1304
|
+
ParamList: ParamList
|
|
1305
|
+
RaceStmt: RaceStmt
|
|
1306
|
+
Ref: Ref
|
|
1307
|
+
RepeatStmt: RepeatStmt
|
|
1308
|
+
ReportDecl: ReportDecl
|
|
1309
|
+
ReturnStmt: ReturnStmt
|
|
1310
|
+
RunStmt: RunStmt
|
|
1311
|
+
SingleType: SingleType
|
|
1312
|
+
Statement: Statement
|
|
1313
|
+
StepDecl: StepDecl
|
|
1314
|
+
StringLit: StringLit
|
|
1315
|
+
Ternary: Ternary
|
|
1316
|
+
TryStmt: TryStmt
|
|
1317
|
+
TypeBody: TypeBody
|
|
1318
|
+
TypeDecl: TypeDecl
|
|
1319
|
+
TypeRef: TypeRef
|
|
1320
|
+
Unary: Unary
|
|
1321
|
+
UseDecl: UseDecl
|
|
1322
|
+
ValueImport: ValueImport
|
|
1323
|
+
WhileStmt: WhileStmt
|
|
1324
|
+
}
|
|
1325
|
+
|
|
1326
|
+
export class VennAstReflection extends langium.AbstractAstReflection {
|
|
1327
|
+
override readonly types = {
|
|
1328
|
+
ActionCall: {
|
|
1329
|
+
name: ActionCall.$type,
|
|
1330
|
+
properties: {
|
|
1331
|
+
annotations: {
|
|
1332
|
+
name: ActionCall.annotations,
|
|
1333
|
+
defaultValue: [],
|
|
1334
|
+
optional: true
|
|
1335
|
+
},
|
|
1336
|
+
args: {
|
|
1337
|
+
name: ActionCall.args,
|
|
1338
|
+
defaultValue: [],
|
|
1339
|
+
optional: true
|
|
1340
|
+
},
|
|
1341
|
+
call: {
|
|
1342
|
+
name: ActionCall.call,
|
|
1343
|
+
optional: true
|
|
1344
|
+
},
|
|
1345
|
+
called: {
|
|
1346
|
+
name: ActionCall.called,
|
|
1347
|
+
defaultValue: false,
|
|
1348
|
+
optional: true
|
|
1349
|
+
},
|
|
1350
|
+
opts: {
|
|
1351
|
+
name: ActionCall.opts,
|
|
1352
|
+
optional: true
|
|
1353
|
+
},
|
|
1354
|
+
target: {
|
|
1355
|
+
name: ActionCall.target
|
|
1356
|
+
}
|
|
1357
|
+
},
|
|
1358
|
+
superTypes: [Declaration.$type, Statement.$type]
|
|
1359
|
+
},
|
|
1360
|
+
Annotation: {
|
|
1361
|
+
name: Annotation.$type,
|
|
1362
|
+
properties: {
|
|
1363
|
+
args: {
|
|
1364
|
+
name: Annotation.args,
|
|
1365
|
+
optional: true
|
|
1366
|
+
},
|
|
1367
|
+
name: {
|
|
1368
|
+
name: Annotation.name
|
|
1369
|
+
}
|
|
1370
|
+
},
|
|
1371
|
+
superTypes: []
|
|
1372
|
+
},
|
|
1373
|
+
Arg: {
|
|
1374
|
+
name: Arg.$type,
|
|
1375
|
+
properties: {
|
|
1376
|
+
name: {
|
|
1377
|
+
name: Arg.name,
|
|
1378
|
+
optional: true
|
|
1379
|
+
},
|
|
1380
|
+
value: {
|
|
1381
|
+
name: Arg.value
|
|
1382
|
+
}
|
|
1383
|
+
},
|
|
1384
|
+
superTypes: []
|
|
1385
|
+
},
|
|
1386
|
+
ArgList: {
|
|
1387
|
+
name: ArgList.$type,
|
|
1388
|
+
properties: {
|
|
1389
|
+
args: {
|
|
1390
|
+
name: ArgList.args,
|
|
1391
|
+
defaultValue: []
|
|
1392
|
+
}
|
|
1393
|
+
},
|
|
1394
|
+
superTypes: []
|
|
1395
|
+
},
|
|
1396
|
+
Binary: {
|
|
1397
|
+
name: Binary.$type,
|
|
1398
|
+
properties: {
|
|
1399
|
+
left: {
|
|
1400
|
+
name: Binary.left
|
|
1401
|
+
},
|
|
1402
|
+
operator: {
|
|
1403
|
+
name: Binary.operator
|
|
1404
|
+
},
|
|
1405
|
+
right: {
|
|
1406
|
+
name: Binary.right
|
|
1407
|
+
}
|
|
1408
|
+
},
|
|
1409
|
+
superTypes: [Expr.$type]
|
|
1410
|
+
},
|
|
1411
|
+
Block: {
|
|
1412
|
+
name: Block.$type,
|
|
1413
|
+
properties: {
|
|
1414
|
+
stmts: {
|
|
1415
|
+
name: Block.stmts,
|
|
1416
|
+
defaultValue: [],
|
|
1417
|
+
optional: true
|
|
1418
|
+
}
|
|
1419
|
+
},
|
|
1420
|
+
superTypes: [ElseBranch.$type]
|
|
1421
|
+
},
|
|
1422
|
+
BoolLit: {
|
|
1423
|
+
name: BoolLit.$type,
|
|
1424
|
+
properties: {
|
|
1425
|
+
value: {
|
|
1426
|
+
name: BoolLit.value
|
|
1427
|
+
}
|
|
1428
|
+
},
|
|
1429
|
+
superTypes: [Expr.$type]
|
|
1430
|
+
},
|
|
1431
|
+
BreakStmt: {
|
|
1432
|
+
name: BreakStmt.$type,
|
|
1433
|
+
properties: {
|
|
1434
|
+
annotations: {
|
|
1435
|
+
name: BreakStmt.annotations,
|
|
1436
|
+
defaultValue: [],
|
|
1437
|
+
optional: true
|
|
1438
|
+
}
|
|
1439
|
+
},
|
|
1440
|
+
superTypes: [Statement.$type]
|
|
1441
|
+
},
|
|
1442
|
+
Call: {
|
|
1443
|
+
name: Call.$type,
|
|
1444
|
+
properties: {
|
|
1445
|
+
args: {
|
|
1446
|
+
name: Call.args,
|
|
1447
|
+
optional: true
|
|
1448
|
+
},
|
|
1449
|
+
callee: {
|
|
1450
|
+
name: Call.callee
|
|
1451
|
+
}
|
|
1452
|
+
},
|
|
1453
|
+
superTypes: [Expr.$type]
|
|
1454
|
+
},
|
|
1455
|
+
CaptureStmt: {
|
|
1456
|
+
name: CaptureStmt.$type,
|
|
1457
|
+
properties: {
|
|
1458
|
+
annotations: {
|
|
1459
|
+
name: CaptureStmt.annotations,
|
|
1460
|
+
defaultValue: [],
|
|
1461
|
+
optional: true
|
|
1462
|
+
},
|
|
1463
|
+
name: {
|
|
1464
|
+
name: CaptureStmt.name
|
|
1465
|
+
},
|
|
1466
|
+
opts: {
|
|
1467
|
+
name: CaptureStmt.opts,
|
|
1468
|
+
optional: true
|
|
1469
|
+
},
|
|
1470
|
+
value: {
|
|
1471
|
+
name: CaptureStmt.value
|
|
1472
|
+
}
|
|
1473
|
+
},
|
|
1474
|
+
superTypes: [Statement.$type]
|
|
1475
|
+
},
|
|
1476
|
+
ConfigDecl: {
|
|
1477
|
+
name: ConfigDecl.$type,
|
|
1478
|
+
properties: {
|
|
1479
|
+
annotations: {
|
|
1480
|
+
name: ConfigDecl.annotations,
|
|
1481
|
+
defaultValue: [],
|
|
1482
|
+
optional: true
|
|
1483
|
+
},
|
|
1484
|
+
body: {
|
|
1485
|
+
name: ConfigDecl.body
|
|
1486
|
+
}
|
|
1487
|
+
},
|
|
1488
|
+
superTypes: [Declaration.$type]
|
|
1489
|
+
},
|
|
1490
|
+
ContinueStmt: {
|
|
1491
|
+
name: ContinueStmt.$type,
|
|
1492
|
+
properties: {
|
|
1493
|
+
annotations: {
|
|
1494
|
+
name: ContinueStmt.annotations,
|
|
1495
|
+
defaultValue: [],
|
|
1496
|
+
optional: true
|
|
1497
|
+
}
|
|
1498
|
+
},
|
|
1499
|
+
superTypes: [Statement.$type]
|
|
1500
|
+
},
|
|
1501
|
+
DatasetDecl: {
|
|
1502
|
+
name: DatasetDecl.$type,
|
|
1503
|
+
properties: {
|
|
1504
|
+
annotations: {
|
|
1505
|
+
name: DatasetDecl.annotations,
|
|
1506
|
+
defaultValue: [],
|
|
1507
|
+
optional: true
|
|
1508
|
+
},
|
|
1509
|
+
declaredType: {
|
|
1510
|
+
name: DatasetDecl.declaredType,
|
|
1511
|
+
optional: true
|
|
1512
|
+
},
|
|
1513
|
+
name: {
|
|
1514
|
+
name: DatasetDecl.name
|
|
1515
|
+
},
|
|
1516
|
+
value: {
|
|
1517
|
+
name: DatasetDecl.value
|
|
1518
|
+
}
|
|
1519
|
+
},
|
|
1520
|
+
superTypes: [Declaration.$type]
|
|
1521
|
+
},
|
|
1522
|
+
Declaration: {
|
|
1523
|
+
name: Declaration.$type,
|
|
1524
|
+
properties: {
|
|
1525
|
+
annotations: {
|
|
1526
|
+
name: Declaration.annotations,
|
|
1527
|
+
defaultValue: [],
|
|
1528
|
+
optional: true
|
|
1529
|
+
}
|
|
1530
|
+
},
|
|
1531
|
+
superTypes: []
|
|
1532
|
+
},
|
|
1533
|
+
DecoDecl: {
|
|
1534
|
+
name: DecoDecl.$type,
|
|
1535
|
+
properties: {
|
|
1536
|
+
annotations: {
|
|
1537
|
+
name: DecoDecl.annotations,
|
|
1538
|
+
defaultValue: [],
|
|
1539
|
+
optional: true
|
|
1540
|
+
},
|
|
1541
|
+
body: {
|
|
1542
|
+
name: DecoDecl.body
|
|
1543
|
+
},
|
|
1544
|
+
export: {
|
|
1545
|
+
name: DecoDecl.export,
|
|
1546
|
+
defaultValue: false,
|
|
1547
|
+
optional: true
|
|
1548
|
+
},
|
|
1549
|
+
name: {
|
|
1550
|
+
name: DecoDecl.name
|
|
1551
|
+
},
|
|
1552
|
+
params: {
|
|
1553
|
+
name: DecoDecl.params,
|
|
1554
|
+
optional: true
|
|
1555
|
+
}
|
|
1556
|
+
},
|
|
1557
|
+
superTypes: [Declaration.$type]
|
|
1558
|
+
},
|
|
1559
|
+
Document: {
|
|
1560
|
+
name: Document.$type,
|
|
1561
|
+
properties: {
|
|
1562
|
+
decls: {
|
|
1563
|
+
name: Document.decls,
|
|
1564
|
+
defaultValue: [],
|
|
1565
|
+
optional: true
|
|
1566
|
+
},
|
|
1567
|
+
imports: {
|
|
1568
|
+
name: Document.imports,
|
|
1569
|
+
defaultValue: [],
|
|
1570
|
+
optional: true
|
|
1571
|
+
},
|
|
1572
|
+
name: {
|
|
1573
|
+
name: Document.name,
|
|
1574
|
+
optional: true
|
|
1575
|
+
}
|
|
1576
|
+
},
|
|
1577
|
+
superTypes: []
|
|
1578
|
+
},
|
|
1579
|
+
ElseBranch: {
|
|
1580
|
+
name: ElseBranch.$type,
|
|
1581
|
+
properties: {
|
|
1582
|
+
},
|
|
1583
|
+
superTypes: []
|
|
1584
|
+
},
|
|
1585
|
+
ExpectStmt: {
|
|
1586
|
+
name: ExpectStmt.$type,
|
|
1587
|
+
properties: {
|
|
1588
|
+
annotations: {
|
|
1589
|
+
name: ExpectStmt.annotations,
|
|
1590
|
+
defaultValue: [],
|
|
1591
|
+
optional: true
|
|
1592
|
+
},
|
|
1593
|
+
checks: {
|
|
1594
|
+
name: ExpectStmt.checks,
|
|
1595
|
+
defaultValue: [],
|
|
1596
|
+
optional: true
|
|
1597
|
+
},
|
|
1598
|
+
matcher: {
|
|
1599
|
+
name: ExpectStmt.matcher,
|
|
1600
|
+
optional: true
|
|
1601
|
+
},
|
|
1602
|
+
modifier: {
|
|
1603
|
+
name: ExpectStmt.modifier,
|
|
1604
|
+
optional: true
|
|
1605
|
+
},
|
|
1606
|
+
negate: {
|
|
1607
|
+
name: ExpectStmt.negate,
|
|
1608
|
+
defaultValue: false,
|
|
1609
|
+
optional: true
|
|
1610
|
+
},
|
|
1611
|
+
subject: {
|
|
1612
|
+
name: ExpectStmt.subject,
|
|
1613
|
+
optional: true
|
|
1614
|
+
}
|
|
1615
|
+
},
|
|
1616
|
+
superTypes: [Declaration.$type, Statement.$type]
|
|
1617
|
+
},
|
|
1618
|
+
Expr: {
|
|
1619
|
+
name: Expr.$type,
|
|
1620
|
+
properties: {
|
|
1621
|
+
},
|
|
1622
|
+
superTypes: []
|
|
1623
|
+
},
|
|
1624
|
+
FactoryDecl: {
|
|
1625
|
+
name: FactoryDecl.$type,
|
|
1626
|
+
properties: {
|
|
1627
|
+
annotations: {
|
|
1628
|
+
name: FactoryDecl.annotations,
|
|
1629
|
+
defaultValue: [],
|
|
1630
|
+
optional: true
|
|
1631
|
+
},
|
|
1632
|
+
body: {
|
|
1633
|
+
name: FactoryDecl.body
|
|
1634
|
+
},
|
|
1635
|
+
name: {
|
|
1636
|
+
name: FactoryDecl.name
|
|
1637
|
+
}
|
|
1638
|
+
},
|
|
1639
|
+
superTypes: [Declaration.$type]
|
|
1640
|
+
},
|
|
1641
|
+
FieldDecl: {
|
|
1642
|
+
name: FieldDecl.$type,
|
|
1643
|
+
properties: {
|
|
1644
|
+
annotations: {
|
|
1645
|
+
name: FieldDecl.annotations,
|
|
1646
|
+
defaultValue: [],
|
|
1647
|
+
optional: true
|
|
1648
|
+
},
|
|
1649
|
+
fieldType: {
|
|
1650
|
+
name: FieldDecl.fieldType
|
|
1651
|
+
},
|
|
1652
|
+
name: {
|
|
1653
|
+
name: FieldDecl.name
|
|
1654
|
+
},
|
|
1655
|
+
optional: {
|
|
1656
|
+
name: FieldDecl.optional,
|
|
1657
|
+
defaultValue: false,
|
|
1658
|
+
optional: true
|
|
1659
|
+
}
|
|
1660
|
+
},
|
|
1661
|
+
superTypes: []
|
|
1662
|
+
},
|
|
1663
|
+
FlowDecl: {
|
|
1664
|
+
name: FlowDecl.$type,
|
|
1665
|
+
properties: {
|
|
1666
|
+
annotations: {
|
|
1667
|
+
name: FlowDecl.annotations,
|
|
1668
|
+
defaultValue: [],
|
|
1669
|
+
optional: true
|
|
1670
|
+
},
|
|
1671
|
+
body: {
|
|
1672
|
+
name: FlowDecl.body
|
|
1673
|
+
},
|
|
1674
|
+
title: {
|
|
1675
|
+
name: FlowDecl.title
|
|
1676
|
+
}
|
|
1677
|
+
},
|
|
1678
|
+
superTypes: [Declaration.$type]
|
|
1679
|
+
},
|
|
1680
|
+
FnBody: {
|
|
1681
|
+
name: FnBody.$type,
|
|
1682
|
+
properties: {
|
|
1683
|
+
locals: {
|
|
1684
|
+
name: FnBody.locals,
|
|
1685
|
+
defaultValue: [],
|
|
1686
|
+
optional: true
|
|
1687
|
+
},
|
|
1688
|
+
result: {
|
|
1689
|
+
name: FnBody.result
|
|
1690
|
+
}
|
|
1691
|
+
},
|
|
1692
|
+
superTypes: []
|
|
1693
|
+
},
|
|
1694
|
+
FnDecl: {
|
|
1695
|
+
name: FnDecl.$type,
|
|
1696
|
+
properties: {
|
|
1697
|
+
annotations: {
|
|
1698
|
+
name: FnDecl.annotations,
|
|
1699
|
+
defaultValue: [],
|
|
1700
|
+
optional: true
|
|
1701
|
+
},
|
|
1702
|
+
body: {
|
|
1703
|
+
name: FnDecl.body
|
|
1704
|
+
},
|
|
1705
|
+
export: {
|
|
1706
|
+
name: FnDecl.export,
|
|
1707
|
+
defaultValue: false,
|
|
1708
|
+
optional: true
|
|
1709
|
+
},
|
|
1710
|
+
name: {
|
|
1711
|
+
name: FnDecl.name
|
|
1712
|
+
},
|
|
1713
|
+
params: {
|
|
1714
|
+
name: FnDecl.params,
|
|
1715
|
+
optional: true
|
|
1716
|
+
},
|
|
1717
|
+
returns: {
|
|
1718
|
+
name: FnDecl.returns,
|
|
1719
|
+
optional: true
|
|
1720
|
+
}
|
|
1721
|
+
},
|
|
1722
|
+
superTypes: [Declaration.$type]
|
|
1723
|
+
},
|
|
1724
|
+
FnExpr: {
|
|
1725
|
+
name: FnExpr.$type,
|
|
1726
|
+
properties: {
|
|
1727
|
+
body: {
|
|
1728
|
+
name: FnExpr.body
|
|
1729
|
+
},
|
|
1730
|
+
params: {
|
|
1731
|
+
name: FnExpr.params
|
|
1732
|
+
},
|
|
1733
|
+
returns: {
|
|
1734
|
+
name: FnExpr.returns,
|
|
1735
|
+
optional: true
|
|
1736
|
+
}
|
|
1737
|
+
},
|
|
1738
|
+
superTypes: [Expr.$type]
|
|
1739
|
+
},
|
|
1740
|
+
ForEachStmt: {
|
|
1741
|
+
name: ForEachStmt.$type,
|
|
1742
|
+
properties: {
|
|
1743
|
+
annotations: {
|
|
1744
|
+
name: ForEachStmt.annotations,
|
|
1745
|
+
defaultValue: [],
|
|
1746
|
+
optional: true
|
|
1747
|
+
},
|
|
1748
|
+
body: {
|
|
1749
|
+
name: ForEachStmt.body
|
|
1750
|
+
},
|
|
1751
|
+
item: {
|
|
1752
|
+
name: ForEachStmt.item
|
|
1753
|
+
},
|
|
1754
|
+
opts: {
|
|
1755
|
+
name: ForEachStmt.opts,
|
|
1756
|
+
optional: true
|
|
1757
|
+
},
|
|
1758
|
+
source: {
|
|
1759
|
+
name: ForEachStmt.source
|
|
1760
|
+
}
|
|
1761
|
+
},
|
|
1762
|
+
superTypes: [Declaration.$type, Statement.$type]
|
|
1763
|
+
},
|
|
1764
|
+
FragmentDecl: {
|
|
1765
|
+
name: FragmentDecl.$type,
|
|
1766
|
+
properties: {
|
|
1767
|
+
annotations: {
|
|
1768
|
+
name: FragmentDecl.annotations,
|
|
1769
|
+
defaultValue: [],
|
|
1770
|
+
optional: true
|
|
1771
|
+
},
|
|
1772
|
+
body: {
|
|
1773
|
+
name: FragmentDecl.body
|
|
1774
|
+
},
|
|
1775
|
+
export: {
|
|
1776
|
+
name: FragmentDecl.export,
|
|
1777
|
+
defaultValue: false,
|
|
1778
|
+
optional: true
|
|
1779
|
+
},
|
|
1780
|
+
name: {
|
|
1781
|
+
name: FragmentDecl.name
|
|
1782
|
+
},
|
|
1783
|
+
params: {
|
|
1784
|
+
name: FragmentDecl.params,
|
|
1785
|
+
optional: true
|
|
1786
|
+
},
|
|
1787
|
+
returns: {
|
|
1788
|
+
name: FragmentDecl.returns,
|
|
1789
|
+
optional: true
|
|
1790
|
+
}
|
|
1791
|
+
},
|
|
1792
|
+
superTypes: [Declaration.$type]
|
|
1793
|
+
},
|
|
1794
|
+
GroupDecl: {
|
|
1795
|
+
name: GroupDecl.$type,
|
|
1796
|
+
properties: {
|
|
1797
|
+
annotations: {
|
|
1798
|
+
name: GroupDecl.annotations,
|
|
1799
|
+
defaultValue: [],
|
|
1800
|
+
optional: true
|
|
1801
|
+
},
|
|
1802
|
+
body: {
|
|
1803
|
+
name: GroupDecl.body
|
|
1804
|
+
},
|
|
1805
|
+
title: {
|
|
1806
|
+
name: GroupDecl.title
|
|
1807
|
+
}
|
|
1808
|
+
},
|
|
1809
|
+
superTypes: [Statement.$type]
|
|
1810
|
+
},
|
|
1811
|
+
IfStmt: {
|
|
1812
|
+
name: IfStmt.$type,
|
|
1813
|
+
properties: {
|
|
1814
|
+
annotations: {
|
|
1815
|
+
name: IfStmt.annotations,
|
|
1816
|
+
defaultValue: [],
|
|
1817
|
+
optional: true
|
|
1818
|
+
},
|
|
1819
|
+
cond: {
|
|
1820
|
+
name: IfStmt.cond
|
|
1821
|
+
},
|
|
1822
|
+
otherwise: {
|
|
1823
|
+
name: IfStmt.otherwise,
|
|
1824
|
+
optional: true
|
|
1825
|
+
},
|
|
1826
|
+
then: {
|
|
1827
|
+
name: IfStmt.then
|
|
1828
|
+
}
|
|
1829
|
+
},
|
|
1830
|
+
superTypes: [Declaration.$type, Statement.$type, ElseBranch.$type]
|
|
1831
|
+
},
|
|
1832
|
+
ImportDecl: {
|
|
1833
|
+
name: ImportDecl.$type,
|
|
1834
|
+
properties: {
|
|
1835
|
+
},
|
|
1836
|
+
superTypes: []
|
|
1837
|
+
},
|
|
1838
|
+
Index: {
|
|
1839
|
+
name: Index.$type,
|
|
1840
|
+
properties: {
|
|
1841
|
+
index: {
|
|
1842
|
+
name: Index.index
|
|
1843
|
+
},
|
|
1844
|
+
receiver: {
|
|
1845
|
+
name: Index.receiver
|
|
1846
|
+
}
|
|
1847
|
+
},
|
|
1848
|
+
superTypes: [Expr.$type]
|
|
1849
|
+
},
|
|
1850
|
+
InstantLit: {
|
|
1851
|
+
name: InstantLit.$type,
|
|
1852
|
+
properties: {
|
|
1853
|
+
value: {
|
|
1854
|
+
name: InstantLit.value
|
|
1855
|
+
}
|
|
1856
|
+
},
|
|
1857
|
+
superTypes: [Expr.$type]
|
|
1858
|
+
},
|
|
1859
|
+
LetStmt: {
|
|
1860
|
+
name: LetStmt.$type,
|
|
1861
|
+
properties: {
|
|
1862
|
+
annotations: {
|
|
1863
|
+
name: LetStmt.annotations,
|
|
1864
|
+
defaultValue: [],
|
|
1865
|
+
optional: true
|
|
1866
|
+
},
|
|
1867
|
+
args: {
|
|
1868
|
+
name: LetStmt.args,
|
|
1869
|
+
defaultValue: [],
|
|
1870
|
+
optional: true
|
|
1871
|
+
},
|
|
1872
|
+
declaredType: {
|
|
1873
|
+
name: LetStmt.declaredType,
|
|
1874
|
+
optional: true
|
|
1875
|
+
},
|
|
1876
|
+
kind: {
|
|
1877
|
+
name: LetStmt.kind
|
|
1878
|
+
},
|
|
1879
|
+
name: {
|
|
1880
|
+
name: LetStmt.name
|
|
1881
|
+
},
|
|
1882
|
+
opts: {
|
|
1883
|
+
name: LetStmt.opts,
|
|
1884
|
+
optional: true
|
|
1885
|
+
},
|
|
1886
|
+
value: {
|
|
1887
|
+
name: LetStmt.value
|
|
1888
|
+
}
|
|
1889
|
+
},
|
|
1890
|
+
superTypes: [Declaration.$type, Statement.$type]
|
|
1891
|
+
},
|
|
1892
|
+
LifecycleDecl: {
|
|
1893
|
+
name: LifecycleDecl.$type,
|
|
1894
|
+
properties: {
|
|
1895
|
+
annotations: {
|
|
1896
|
+
name: LifecycleDecl.annotations,
|
|
1897
|
+
defaultValue: [],
|
|
1898
|
+
optional: true
|
|
1899
|
+
},
|
|
1900
|
+
arg: {
|
|
1901
|
+
name: LifecycleDecl.arg,
|
|
1902
|
+
optional: true
|
|
1903
|
+
},
|
|
1904
|
+
body: {
|
|
1905
|
+
name: LifecycleDecl.body
|
|
1906
|
+
},
|
|
1907
|
+
event: {
|
|
1908
|
+
name: LifecycleDecl.event,
|
|
1909
|
+
optional: true
|
|
1910
|
+
},
|
|
1911
|
+
hook: {
|
|
1912
|
+
name: LifecycleDecl.hook,
|
|
1913
|
+
optional: true
|
|
1914
|
+
}
|
|
1915
|
+
},
|
|
1916
|
+
superTypes: [Declaration.$type, Statement.$type]
|
|
1917
|
+
},
|
|
1918
|
+
ListLit: {
|
|
1919
|
+
name: ListLit.$type,
|
|
1920
|
+
properties: {
|
|
1921
|
+
items: {
|
|
1922
|
+
name: ListLit.items,
|
|
1923
|
+
defaultValue: [],
|
|
1924
|
+
optional: true
|
|
1925
|
+
}
|
|
1926
|
+
},
|
|
1927
|
+
superTypes: [Expr.$type]
|
|
1928
|
+
},
|
|
1929
|
+
LiteralType: {
|
|
1930
|
+
name: LiteralType.$type,
|
|
1931
|
+
properties: {
|
|
1932
|
+
value: {
|
|
1933
|
+
name: LiteralType.value
|
|
1934
|
+
}
|
|
1935
|
+
},
|
|
1936
|
+
superTypes: [SingleType.$type]
|
|
1937
|
+
},
|
|
1938
|
+
MapEntry: {
|
|
1939
|
+
name: MapEntry.$type,
|
|
1940
|
+
properties: {
|
|
1941
|
+
key: {
|
|
1942
|
+
name: MapEntry.key
|
|
1943
|
+
},
|
|
1944
|
+
value: {
|
|
1945
|
+
name: MapEntry.value
|
|
1946
|
+
}
|
|
1947
|
+
},
|
|
1948
|
+
superTypes: []
|
|
1949
|
+
},
|
|
1950
|
+
MapLit: {
|
|
1951
|
+
name: MapLit.$type,
|
|
1952
|
+
properties: {
|
|
1953
|
+
entries: {
|
|
1954
|
+
name: MapLit.entries,
|
|
1955
|
+
defaultValue: [],
|
|
1956
|
+
optional: true
|
|
1957
|
+
}
|
|
1958
|
+
},
|
|
1959
|
+
superTypes: [Expr.$type]
|
|
1960
|
+
},
|
|
1961
|
+
MatcherClause: {
|
|
1962
|
+
name: MatcherClause.$type,
|
|
1963
|
+
properties: {
|
|
1964
|
+
args: {
|
|
1965
|
+
name: MatcherClause.args,
|
|
1966
|
+
defaultValue: [],
|
|
1967
|
+
optional: true
|
|
1968
|
+
},
|
|
1969
|
+
name: {
|
|
1970
|
+
name: MatcherClause.name
|
|
1971
|
+
},
|
|
1972
|
+
opts: {
|
|
1973
|
+
name: MatcherClause.opts,
|
|
1974
|
+
optional: true
|
|
1975
|
+
}
|
|
1976
|
+
},
|
|
1977
|
+
superTypes: []
|
|
1978
|
+
},
|
|
1979
|
+
MatrixDecl: {
|
|
1980
|
+
name: MatrixDecl.$type,
|
|
1981
|
+
properties: {
|
|
1982
|
+
annotations: {
|
|
1983
|
+
name: MatrixDecl.annotations,
|
|
1984
|
+
defaultValue: [],
|
|
1985
|
+
optional: true
|
|
1986
|
+
},
|
|
1987
|
+
body: {
|
|
1988
|
+
name: MatrixDecl.body
|
|
1989
|
+
}
|
|
1990
|
+
},
|
|
1991
|
+
superTypes: [Declaration.$type]
|
|
1992
|
+
},
|
|
1993
|
+
Member: {
|
|
1994
|
+
name: Member.$type,
|
|
1995
|
+
properties: {
|
|
1996
|
+
member: {
|
|
1997
|
+
name: Member.member
|
|
1998
|
+
},
|
|
1999
|
+
optional: {
|
|
2000
|
+
name: Member.optional,
|
|
2001
|
+
defaultValue: false,
|
|
2002
|
+
optional: true
|
|
2003
|
+
},
|
|
2004
|
+
receiver: {
|
|
2005
|
+
name: Member.receiver
|
|
2006
|
+
}
|
|
2007
|
+
},
|
|
2008
|
+
superTypes: [Expr.$type]
|
|
2009
|
+
},
|
|
2010
|
+
NamedType: {
|
|
2011
|
+
name: NamedType.$type,
|
|
2012
|
+
properties: {
|
|
2013
|
+
args: {
|
|
2014
|
+
name: NamedType.args,
|
|
2015
|
+
defaultValue: [],
|
|
2016
|
+
optional: true
|
|
2017
|
+
},
|
|
2018
|
+
name: {
|
|
2019
|
+
name: NamedType.name
|
|
2020
|
+
}
|
|
2021
|
+
},
|
|
2022
|
+
superTypes: [SingleType.$type]
|
|
2023
|
+
},
|
|
2024
|
+
NullLit: {
|
|
2025
|
+
name: NullLit.$type,
|
|
2026
|
+
properties: {
|
|
2027
|
+
},
|
|
2028
|
+
superTypes: [Expr.$type]
|
|
2029
|
+
},
|
|
2030
|
+
NumberLit: {
|
|
2031
|
+
name: NumberLit.$type,
|
|
2032
|
+
properties: {
|
|
2033
|
+
raw: {
|
|
2034
|
+
name: NumberLit.raw
|
|
2035
|
+
}
|
|
2036
|
+
},
|
|
2037
|
+
superTypes: [Expr.$type]
|
|
2038
|
+
},
|
|
2039
|
+
ParallelStmt: {
|
|
2040
|
+
name: ParallelStmt.$type,
|
|
2041
|
+
properties: {
|
|
2042
|
+
annotations: {
|
|
2043
|
+
name: ParallelStmt.annotations,
|
|
2044
|
+
defaultValue: [],
|
|
2045
|
+
optional: true
|
|
2046
|
+
},
|
|
2047
|
+
body: {
|
|
2048
|
+
name: ParallelStmt.body
|
|
2049
|
+
},
|
|
2050
|
+
opts: {
|
|
2051
|
+
name: ParallelStmt.opts,
|
|
2052
|
+
optional: true
|
|
2053
|
+
}
|
|
2054
|
+
},
|
|
2055
|
+
superTypes: [Declaration.$type, Statement.$type]
|
|
2056
|
+
},
|
|
2057
|
+
Param: {
|
|
2058
|
+
name: Param.$type,
|
|
2059
|
+
properties: {
|
|
2060
|
+
annotations: {
|
|
2061
|
+
name: Param.annotations,
|
|
2062
|
+
defaultValue: [],
|
|
2063
|
+
optional: true
|
|
2064
|
+
},
|
|
2065
|
+
name: {
|
|
2066
|
+
name: Param.name
|
|
2067
|
+
},
|
|
2068
|
+
paramType: {
|
|
2069
|
+
name: Param.paramType,
|
|
2070
|
+
optional: true
|
|
2071
|
+
}
|
|
2072
|
+
},
|
|
2073
|
+
superTypes: []
|
|
2074
|
+
},
|
|
2075
|
+
ParamList: {
|
|
2076
|
+
name: ParamList.$type,
|
|
2077
|
+
properties: {
|
|
2078
|
+
params: {
|
|
2079
|
+
name: ParamList.params,
|
|
2080
|
+
defaultValue: []
|
|
2081
|
+
}
|
|
2082
|
+
},
|
|
2083
|
+
superTypes: []
|
|
2084
|
+
},
|
|
2085
|
+
RaceStmt: {
|
|
2086
|
+
name: RaceStmt.$type,
|
|
2087
|
+
properties: {
|
|
2088
|
+
annotations: {
|
|
2089
|
+
name: RaceStmt.annotations,
|
|
2090
|
+
defaultValue: [],
|
|
2091
|
+
optional: true
|
|
2092
|
+
},
|
|
2093
|
+
body: {
|
|
2094
|
+
name: RaceStmt.body
|
|
2095
|
+
},
|
|
2096
|
+
opts: {
|
|
2097
|
+
name: RaceStmt.opts,
|
|
2098
|
+
optional: true
|
|
2099
|
+
}
|
|
2100
|
+
},
|
|
2101
|
+
superTypes: [Declaration.$type, Statement.$type]
|
|
2102
|
+
},
|
|
2103
|
+
Ref: {
|
|
2104
|
+
name: Ref.$type,
|
|
2105
|
+
properties: {
|
|
2106
|
+
name: {
|
|
2107
|
+
name: Ref.name
|
|
2108
|
+
}
|
|
2109
|
+
},
|
|
2110
|
+
superTypes: [Expr.$type]
|
|
2111
|
+
},
|
|
2112
|
+
RepeatStmt: {
|
|
2113
|
+
name: RepeatStmt.$type,
|
|
2114
|
+
properties: {
|
|
2115
|
+
annotations: {
|
|
2116
|
+
name: RepeatStmt.annotations,
|
|
2117
|
+
defaultValue: [],
|
|
2118
|
+
optional: true
|
|
2119
|
+
},
|
|
2120
|
+
body: {
|
|
2121
|
+
name: RepeatStmt.body
|
|
2122
|
+
},
|
|
2123
|
+
count: {
|
|
2124
|
+
name: RepeatStmt.count
|
|
2125
|
+
},
|
|
2126
|
+
index: {
|
|
2127
|
+
name: RepeatStmt.index,
|
|
2128
|
+
optional: true
|
|
2129
|
+
}
|
|
2130
|
+
},
|
|
2131
|
+
superTypes: [Declaration.$type, Statement.$type]
|
|
2132
|
+
},
|
|
2133
|
+
ReportDecl: {
|
|
2134
|
+
name: ReportDecl.$type,
|
|
2135
|
+
properties: {
|
|
2136
|
+
annotations: {
|
|
2137
|
+
name: ReportDecl.annotations,
|
|
2138
|
+
defaultValue: [],
|
|
2139
|
+
optional: true
|
|
2140
|
+
},
|
|
2141
|
+
reporters: {
|
|
2142
|
+
name: ReportDecl.reporters,
|
|
2143
|
+
defaultValue: []
|
|
2144
|
+
}
|
|
2145
|
+
},
|
|
2146
|
+
superTypes: [Declaration.$type]
|
|
2147
|
+
},
|
|
2148
|
+
ReturnStmt: {
|
|
2149
|
+
name: ReturnStmt.$type,
|
|
2150
|
+
properties: {
|
|
2151
|
+
annotations: {
|
|
2152
|
+
name: ReturnStmt.annotations,
|
|
2153
|
+
defaultValue: [],
|
|
2154
|
+
optional: true
|
|
2155
|
+
},
|
|
2156
|
+
value: {
|
|
2157
|
+
name: ReturnStmt.value,
|
|
2158
|
+
optional: true
|
|
2159
|
+
}
|
|
2160
|
+
},
|
|
2161
|
+
superTypes: [Statement.$type]
|
|
2162
|
+
},
|
|
2163
|
+
RunStmt: {
|
|
2164
|
+
name: RunStmt.$type,
|
|
2165
|
+
properties: {
|
|
2166
|
+
annotations: {
|
|
2167
|
+
name: RunStmt.annotations,
|
|
2168
|
+
defaultValue: [],
|
|
2169
|
+
optional: true
|
|
2170
|
+
},
|
|
2171
|
+
args: {
|
|
2172
|
+
name: RunStmt.args,
|
|
2173
|
+
optional: true
|
|
2174
|
+
},
|
|
2175
|
+
bind: {
|
|
2176
|
+
name: RunStmt.bind,
|
|
2177
|
+
optional: true
|
|
2178
|
+
},
|
|
2179
|
+
target: {
|
|
2180
|
+
name: RunStmt.target
|
|
2181
|
+
}
|
|
2182
|
+
},
|
|
2183
|
+
superTypes: [Declaration.$type, Statement.$type]
|
|
2184
|
+
},
|
|
2185
|
+
SingleType: {
|
|
2186
|
+
name: SingleType.$type,
|
|
2187
|
+
properties: {
|
|
2188
|
+
},
|
|
2189
|
+
superTypes: []
|
|
2190
|
+
},
|
|
2191
|
+
Statement: {
|
|
2192
|
+
name: Statement.$type,
|
|
2193
|
+
properties: {
|
|
2194
|
+
annotations: {
|
|
2195
|
+
name: Statement.annotations,
|
|
2196
|
+
defaultValue: [],
|
|
2197
|
+
optional: true
|
|
2198
|
+
}
|
|
2199
|
+
},
|
|
2200
|
+
superTypes: []
|
|
2201
|
+
},
|
|
2202
|
+
StepDecl: {
|
|
2203
|
+
name: StepDecl.$type,
|
|
2204
|
+
properties: {
|
|
2205
|
+
annotations: {
|
|
2206
|
+
name: StepDecl.annotations,
|
|
2207
|
+
defaultValue: [],
|
|
2208
|
+
optional: true
|
|
2209
|
+
},
|
|
2210
|
+
body: {
|
|
2211
|
+
name: StepDecl.body
|
|
2212
|
+
},
|
|
2213
|
+
title: {
|
|
2214
|
+
name: StepDecl.title
|
|
2215
|
+
}
|
|
2216
|
+
},
|
|
2217
|
+
superTypes: [Statement.$type]
|
|
2218
|
+
},
|
|
2219
|
+
StringLit: {
|
|
2220
|
+
name: StringLit.$type,
|
|
2221
|
+
properties: {
|
|
2222
|
+
value: {
|
|
2223
|
+
name: StringLit.value
|
|
2224
|
+
}
|
|
2225
|
+
},
|
|
2226
|
+
superTypes: [Expr.$type]
|
|
2227
|
+
},
|
|
2228
|
+
Ternary: {
|
|
2229
|
+
name: Ternary.$type,
|
|
2230
|
+
properties: {
|
|
2231
|
+
condition: {
|
|
2232
|
+
name: Ternary.condition
|
|
2233
|
+
},
|
|
2234
|
+
otherwise: {
|
|
2235
|
+
name: Ternary.otherwise
|
|
2236
|
+
},
|
|
2237
|
+
then: {
|
|
2238
|
+
name: Ternary.then
|
|
2239
|
+
}
|
|
2240
|
+
},
|
|
2241
|
+
superTypes: [Expr.$type]
|
|
2242
|
+
},
|
|
2243
|
+
TryStmt: {
|
|
2244
|
+
name: TryStmt.$type,
|
|
2245
|
+
properties: {
|
|
2246
|
+
annotations: {
|
|
2247
|
+
name: TryStmt.annotations,
|
|
2248
|
+
defaultValue: [],
|
|
2249
|
+
optional: true
|
|
2250
|
+
},
|
|
2251
|
+
body: {
|
|
2252
|
+
name: TryStmt.body
|
|
2253
|
+
},
|
|
2254
|
+
error: {
|
|
2255
|
+
name: TryStmt.error,
|
|
2256
|
+
optional: true
|
|
2257
|
+
},
|
|
2258
|
+
finalizer: {
|
|
2259
|
+
name: TryStmt.finalizer,
|
|
2260
|
+
optional: true
|
|
2261
|
+
},
|
|
2262
|
+
handler: {
|
|
2263
|
+
name: TryStmt.handler,
|
|
2264
|
+
optional: true
|
|
2265
|
+
}
|
|
2266
|
+
},
|
|
2267
|
+
superTypes: [Declaration.$type, Statement.$type]
|
|
2268
|
+
},
|
|
2269
|
+
TypeBody: {
|
|
2270
|
+
name: TypeBody.$type,
|
|
2271
|
+
properties: {
|
|
2272
|
+
fields: {
|
|
2273
|
+
name: TypeBody.fields,
|
|
2274
|
+
defaultValue: []
|
|
2275
|
+
}
|
|
2276
|
+
},
|
|
2277
|
+
superTypes: []
|
|
2278
|
+
},
|
|
2279
|
+
TypeDecl: {
|
|
2280
|
+
name: TypeDecl.$type,
|
|
2281
|
+
properties: {
|
|
2282
|
+
alias: {
|
|
2283
|
+
name: TypeDecl.alias,
|
|
2284
|
+
optional: true
|
|
2285
|
+
},
|
|
2286
|
+
annotations: {
|
|
2287
|
+
name: TypeDecl.annotations,
|
|
2288
|
+
defaultValue: [],
|
|
2289
|
+
optional: true
|
|
2290
|
+
},
|
|
2291
|
+
body: {
|
|
2292
|
+
name: TypeDecl.body,
|
|
2293
|
+
optional: true
|
|
2294
|
+
},
|
|
2295
|
+
name: {
|
|
2296
|
+
name: TypeDecl.name
|
|
2297
|
+
}
|
|
2298
|
+
},
|
|
2299
|
+
superTypes: [Declaration.$type]
|
|
2300
|
+
},
|
|
2301
|
+
TypeRef: {
|
|
2302
|
+
name: TypeRef.$type,
|
|
2303
|
+
properties: {
|
|
2304
|
+
members: {
|
|
2305
|
+
name: TypeRef.members,
|
|
2306
|
+
defaultValue: []
|
|
2307
|
+
}
|
|
2308
|
+
},
|
|
2309
|
+
superTypes: []
|
|
2310
|
+
},
|
|
2311
|
+
Unary: {
|
|
2312
|
+
name: Unary.$type,
|
|
2313
|
+
properties: {
|
|
2314
|
+
operand: {
|
|
2315
|
+
name: Unary.operand
|
|
2316
|
+
},
|
|
2317
|
+
operator: {
|
|
2318
|
+
name: Unary.operator
|
|
2319
|
+
}
|
|
2320
|
+
},
|
|
2321
|
+
superTypes: [Expr.$type]
|
|
2322
|
+
},
|
|
2323
|
+
UseDecl: {
|
|
2324
|
+
name: UseDecl.$type,
|
|
2325
|
+
properties: {
|
|
2326
|
+
alias: {
|
|
2327
|
+
name: UseDecl.alias,
|
|
2328
|
+
optional: true
|
|
2329
|
+
},
|
|
2330
|
+
pkg: {
|
|
2331
|
+
name: UseDecl.pkg
|
|
2332
|
+
}
|
|
2333
|
+
},
|
|
2334
|
+
superTypes: [ImportDecl.$type]
|
|
2335
|
+
},
|
|
2336
|
+
ValueImport: {
|
|
2337
|
+
name: ValueImport.$type,
|
|
2338
|
+
properties: {
|
|
2339
|
+
default: {
|
|
2340
|
+
name: ValueImport.default,
|
|
2341
|
+
optional: true
|
|
2342
|
+
},
|
|
2343
|
+
export: {
|
|
2344
|
+
name: ValueImport.export,
|
|
2345
|
+
defaultValue: false,
|
|
2346
|
+
optional: true
|
|
2347
|
+
},
|
|
2348
|
+
names: {
|
|
2349
|
+
name: ValueImport.names,
|
|
2350
|
+
defaultValue: [],
|
|
2351
|
+
optional: true
|
|
2352
|
+
},
|
|
2353
|
+
path: {
|
|
2354
|
+
name: ValueImport.path
|
|
2355
|
+
},
|
|
2356
|
+
wildcard: {
|
|
2357
|
+
name: ValueImport.wildcard,
|
|
2358
|
+
optional: true
|
|
2359
|
+
}
|
|
2360
|
+
},
|
|
2361
|
+
superTypes: [ImportDecl.$type]
|
|
2362
|
+
},
|
|
2363
|
+
WhileStmt: {
|
|
2364
|
+
name: WhileStmt.$type,
|
|
2365
|
+
properties: {
|
|
2366
|
+
annotations: {
|
|
2367
|
+
name: WhileStmt.annotations,
|
|
2368
|
+
defaultValue: [],
|
|
2369
|
+
optional: true
|
|
2370
|
+
},
|
|
2371
|
+
body: {
|
|
2372
|
+
name: WhileStmt.body
|
|
2373
|
+
},
|
|
2374
|
+
cond: {
|
|
2375
|
+
name: WhileStmt.cond
|
|
2376
|
+
}
|
|
2377
|
+
},
|
|
2378
|
+
superTypes: [Declaration.$type, Statement.$type]
|
|
2379
|
+
}
|
|
2380
|
+
} as const satisfies langium.AstMetaData
|
|
2381
|
+
}
|
|
2382
|
+
|
|
2383
|
+
export const reflection = new VennAstReflection();
|