@prisma-next/psl-parser 0.14.0-dev.4 → 0.14.0-dev.41
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/README.md +28 -10
- package/dist/declarations-CPDuQm7x.mjs +1055 -0
- package/dist/declarations-CPDuQm7x.mjs.map +1 -0
- package/dist/format.d.mts +1 -1
- package/dist/format.mjs +2 -1
- package/dist/format.mjs.map +1 -1
- package/dist/index.d.mts +137 -3
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +474 -3
- package/dist/index.mjs.map +1 -1
- package/dist/{parse-BjZ1LPe6.d.mts → parse-BKN_-hW8.d.mts} +126 -51
- package/dist/parse-BKN_-hW8.d.mts.map +1 -0
- package/dist/parse-Du30Ca0-.mjs +626 -0
- package/dist/parse-Du30Ca0-.mjs.map +1 -0
- package/dist/syntax.d.mts +20 -2
- package/dist/syntax.d.mts.map +1 -1
- package/dist/syntax.mjs +43 -2
- package/dist/syntax.mjs.map +1 -0
- package/package.json +5 -6
- package/src/block-reconstruction.ts +139 -0
- package/src/exports/index.ts +27 -3
- package/src/exports/syntax.ts +25 -5
- package/src/extension-block.ts +107 -0
- package/src/parse.ts +23 -5
- package/src/resolve.ts +123 -0
- package/src/source-file.ts +25 -0
- package/src/symbol-table.ts +446 -0
- package/src/syntax/ast/attributes.ts +5 -6
- package/src/syntax/ast/declarations.ts +51 -26
- package/src/syntax/ast/expressions.ts +12 -13
- package/src/syntax/ast/identifier.ts +2 -3
- package/src/syntax/ast/qualified-name.ts +22 -19
- package/src/syntax/ast/type-annotation.ts +4 -5
- package/src/syntax/ast-helpers.ts +27 -3
- package/src/syntax/navigation.ts +55 -0
- package/src/syntax/red.ts +317 -42
- package/dist/parse-B_3gIEFd.mjs +0 -1421
- package/dist/parse-B_3gIEFd.mjs.map +0 -1
- package/dist/parse-BjZ1LPe6.d.mts.map +0 -1
- package/dist/parser-CaplKvRs.mjs +0 -1145
- package/dist/parser-CaplKvRs.mjs.map +0 -1
- package/dist/parser-Dfi3Wfdq.d.mts +0 -7
- package/dist/parser-Dfi3Wfdq.d.mts.map +0 -1
- package/dist/parser.d.mts +0 -2
- package/dist/parser.mjs +0 -2
- package/src/exports/parser.ts +0 -1
- package/src/parser.ts +0 -1642
|
@@ -17,6 +17,8 @@ declare class SourceFile {
|
|
|
17
17
|
get length(): number;
|
|
18
18
|
get lineCount(): number;
|
|
19
19
|
lineStartOffsets(): readonly number[];
|
|
20
|
+
lineStartOffset(line: number): number;
|
|
21
|
+
lineEndOffset(line: number): number;
|
|
20
22
|
positionAt(offset: number): Position;
|
|
21
23
|
offsetAt(position: Position): number;
|
|
22
24
|
}
|
|
@@ -43,29 +45,89 @@ declare function greenNode(kind: SyntaxKind, children: ReadonlyArray<GreenElemen
|
|
|
43
45
|
//#region src/syntax/red.d.ts
|
|
44
46
|
/**
|
|
45
47
|
* A token in the red tree. Unlike the green-layer {@link Token} (kind + text
|
|
46
|
-
* only), a red token also carries its absolute `offset` within the source
|
|
47
|
-
*
|
|
48
|
+
* only), a red token also carries its absolute `offset` within the source and a
|
|
49
|
+
* link back to its `parent` {@link SyntaxNode}, so a cursor anchored on a token
|
|
50
|
+
* can walk outward (parent, previous/next token, siblings) without re-scanning
|
|
51
|
+
* from the document root.
|
|
48
52
|
*/
|
|
49
|
-
|
|
53
|
+
declare class SyntaxToken implements Token {
|
|
54
|
+
readonly green: GreenToken;
|
|
55
|
+
readonly kind: TokenKind;
|
|
56
|
+
readonly text: string;
|
|
50
57
|
readonly offset: number;
|
|
58
|
+
readonly parent: SyntaxNode;
|
|
59
|
+
/** Position within the parent's children, enabling O(1) sibling navigation without rescanning the green layer. */
|
|
60
|
+
readonly index: number;
|
|
61
|
+
constructor(green: GreenToken, offset: number, parent: SyntaxNode, index: number);
|
|
62
|
+
get textLength(): number;
|
|
63
|
+
get endOffset(): number;
|
|
64
|
+
/** Whether `offset` falls within this token, inclusive of both ends. */
|
|
65
|
+
isInside(offset: number): boolean;
|
|
66
|
+
isOutside(offset: number): boolean;
|
|
67
|
+
/** The sibling element immediately after this token within its parent. */
|
|
68
|
+
get nextSiblingOrToken(): SyntaxElement | undefined;
|
|
69
|
+
/** The sibling element immediately before this token within its parent. */
|
|
70
|
+
get prevSiblingOrToken(): SyntaxElement | undefined;
|
|
71
|
+
/** The next token in document order, crossing node boundaries. */
|
|
72
|
+
get nextToken(): SyntaxToken | undefined;
|
|
73
|
+
/** The previous token in document order, crossing node boundaries. */
|
|
74
|
+
get prevToken(): SyntaxToken | undefined;
|
|
51
75
|
}
|
|
52
76
|
type SyntaxElement = SyntaxNode | SyntaxToken;
|
|
77
|
+
declare class TokenAtOffset {
|
|
78
|
+
#private;
|
|
79
|
+
private constructor();
|
|
80
|
+
static none(): TokenAtOffset;
|
|
81
|
+
static single(token: SyntaxToken): TokenAtOffset;
|
|
82
|
+
static between(left: SyntaxToken, right: SyntaxToken): TokenAtOffset;
|
|
83
|
+
get isEmpty(): boolean;
|
|
84
|
+
get isBetween(): boolean;
|
|
85
|
+
leftBiased(): SyntaxToken | undefined;
|
|
86
|
+
rightBiased(): SyntaxToken | undefined;
|
|
87
|
+
}
|
|
53
88
|
declare class SyntaxNode {
|
|
54
89
|
readonly green: GreenNode;
|
|
55
90
|
readonly offset: number;
|
|
56
91
|
readonly parent: SyntaxNode | undefined;
|
|
57
|
-
|
|
92
|
+
/** Position within the parent's children, enabling O(1) sibling navigation without rescanning the green layer. */
|
|
93
|
+
readonly index: number;
|
|
94
|
+
constructor(green: GreenNode, offset: number, parent: SyntaxNode | undefined, index: number);
|
|
58
95
|
get kind(): SyntaxKind;
|
|
59
96
|
get textLength(): number;
|
|
97
|
+
get endOffset(): number;
|
|
98
|
+
/** Whether `offset` falls within this node, inclusive of both ends. */
|
|
99
|
+
isInside(offset: number): boolean;
|
|
100
|
+
isOutside(offset: number): boolean;
|
|
60
101
|
get firstChild(): SyntaxElement | undefined;
|
|
61
102
|
get lastChild(): SyntaxElement | undefined;
|
|
62
103
|
get nextSibling(): SyntaxElement | undefined;
|
|
63
104
|
get prevSibling(): SyntaxElement | undefined;
|
|
105
|
+
/** The sibling element immediately after this node within its parent. */
|
|
106
|
+
get nextSiblingOrToken(): SyntaxElement | undefined;
|
|
107
|
+
/** The sibling element immediately before this node within its parent. */
|
|
108
|
+
get prevSiblingOrToken(): SyntaxElement | undefined;
|
|
109
|
+
/** The first token in this subtree (depth-first), or `undefined` if empty. */
|
|
110
|
+
get firstToken(): SyntaxToken | undefined;
|
|
111
|
+
/** The last token in this subtree (depth-first), or `undefined` if empty. */
|
|
112
|
+
get lastToken(): SyntaxToken | undefined;
|
|
64
113
|
children(): Iterable<SyntaxElement>;
|
|
65
114
|
childNodes(): Iterable<SyntaxNode>;
|
|
66
115
|
ancestors(): Iterable<SyntaxNode>;
|
|
116
|
+
/** The nearest match, testing this node itself before walking its ancestors. */
|
|
117
|
+
findAncestor<T>(cast: (node: SyntaxNode) => T | undefined): T | undefined;
|
|
67
118
|
descendants(): Iterable<SyntaxElement>;
|
|
68
119
|
tokens(): Iterable<SyntaxToken>;
|
|
120
|
+
/**
|
|
121
|
+
* The token(s) at `offset`. The between-two-tokens case (offset exactly on a
|
|
122
|
+
* token seam) is represented explicitly so callers can left/right bias.
|
|
123
|
+
*/
|
|
124
|
+
tokenAtOffset(offset: number): TokenAtOffset;
|
|
125
|
+
/**
|
|
126
|
+
* The smallest element fully containing the range `[start, end]`. At a seam
|
|
127
|
+
* (and for empty ranges) the left-hand element is preferred, matching
|
|
128
|
+
* {@link containsOffset}'s inclusive span.
|
|
129
|
+
*/
|
|
130
|
+
coveringElement(start: number, end: number): SyntaxElement;
|
|
69
131
|
}
|
|
70
132
|
declare function createSyntaxTree(green: GreenNode): SyntaxNode;
|
|
71
133
|
//#endregion
|
|
@@ -73,9 +135,15 @@ declare function createSyntaxTree(green: GreenNode): SyntaxNode;
|
|
|
73
135
|
interface AstNode {
|
|
74
136
|
readonly syntax: SyntaxNode;
|
|
75
137
|
}
|
|
76
|
-
|
|
138
|
+
interface BracedBlock extends AstNode {
|
|
139
|
+
lbrace(): SyntaxToken | undefined;
|
|
140
|
+
rbrace(): SyntaxToken | undefined;
|
|
141
|
+
}
|
|
142
|
+
declare function findChildToken(node: SyntaxNode, kind: TokenKind): SyntaxToken | undefined;
|
|
77
143
|
declare function findFirstChild<T>(node: SyntaxNode, cast: (node: SyntaxNode) => T | undefined): T | undefined;
|
|
78
144
|
declare function filterChildren<T>(node: SyntaxNode, cast: (node: SyntaxNode) => T | undefined): Iterable<T>;
|
|
145
|
+
type CastTarget<C> = C extends ((node: SyntaxNode) => infer R) ? Exclude<R, undefined> : never;
|
|
146
|
+
declare function any<Casts extends readonly ((node: SyntaxNode) => unknown)[]>(...casts: Casts): (node: SyntaxNode) => CastTarget<Casts[number]> | undefined;
|
|
79
147
|
/**
|
|
80
148
|
* Raw source text of a CST node, verbatim (quotes and brackets preserved). For
|
|
81
149
|
* the decoded value of a string literal, decode it instead.
|
|
@@ -86,7 +154,7 @@ declare function printSyntax(node: SyntaxNode): string;
|
|
|
86
154
|
declare class IdentifierAst implements AstNode {
|
|
87
155
|
readonly syntax: SyntaxNode;
|
|
88
156
|
constructor(syntax: SyntaxNode);
|
|
89
|
-
token():
|
|
157
|
+
token(): SyntaxToken | undefined;
|
|
90
158
|
name(): string | undefined;
|
|
91
159
|
static cast(node: SyntaxNode): IdentifierAst | undefined;
|
|
92
160
|
}
|
|
@@ -97,8 +165,8 @@ declare class QualifiedNameAst implements AstNode {
|
|
|
97
165
|
#private;
|
|
98
166
|
readonly syntax: SyntaxNode;
|
|
99
167
|
constructor(syntax: SyntaxNode);
|
|
100
|
-
colon():
|
|
101
|
-
dot():
|
|
168
|
+
colon(): SyntaxToken | undefined;
|
|
169
|
+
dot(): SyntaxToken | undefined;
|
|
102
170
|
space(): IdentifierAst | undefined;
|
|
103
171
|
namespace(): IdentifierAst | undefined;
|
|
104
172
|
identifier(): IdentifierAst | undefined;
|
|
@@ -127,45 +195,45 @@ declare class FunctionCallAst implements AstNode {
|
|
|
127
195
|
* `['pgvector', 'Vector']`. Empty when the call carries no identifier.
|
|
128
196
|
*/
|
|
129
197
|
path(): readonly string[];
|
|
130
|
-
lparen():
|
|
131
|
-
rparen():
|
|
198
|
+
lparen(): SyntaxToken | undefined;
|
|
199
|
+
rparen(): SyntaxToken | undefined;
|
|
132
200
|
args(): Iterable<AttributeArgAst>;
|
|
133
201
|
static cast(node: SyntaxNode): FunctionCallAst | undefined;
|
|
134
202
|
}
|
|
135
203
|
declare class ArrayLiteralAst implements AstNode {
|
|
136
204
|
readonly syntax: SyntaxNode;
|
|
137
205
|
constructor(syntax: SyntaxNode);
|
|
138
|
-
lbracket():
|
|
139
|
-
rbracket():
|
|
206
|
+
lbracket(): SyntaxToken | undefined;
|
|
207
|
+
rbracket(): SyntaxToken | undefined;
|
|
140
208
|
elements(): Iterable<ExpressionAst>;
|
|
141
209
|
static cast(node: SyntaxNode): ArrayLiteralAst | undefined;
|
|
142
210
|
}
|
|
143
211
|
declare class StringLiteralExprAst implements AstNode {
|
|
144
212
|
readonly syntax: SyntaxNode;
|
|
145
213
|
constructor(syntax: SyntaxNode);
|
|
146
|
-
token():
|
|
214
|
+
token(): SyntaxToken | undefined;
|
|
147
215
|
value(): string | undefined;
|
|
148
216
|
static cast(node: SyntaxNode): StringLiteralExprAst | undefined;
|
|
149
217
|
}
|
|
150
218
|
declare class NumberLiteralExprAst implements AstNode {
|
|
151
219
|
readonly syntax: SyntaxNode;
|
|
152
220
|
constructor(syntax: SyntaxNode);
|
|
153
|
-
token():
|
|
221
|
+
token(): SyntaxToken | undefined;
|
|
154
222
|
value(): number | undefined;
|
|
155
223
|
static cast(node: SyntaxNode): NumberLiteralExprAst | undefined;
|
|
156
224
|
}
|
|
157
225
|
declare class BooleanLiteralExprAst implements AstNode {
|
|
158
226
|
readonly syntax: SyntaxNode;
|
|
159
227
|
constructor(syntax: SyntaxNode);
|
|
160
|
-
token():
|
|
228
|
+
token(): SyntaxToken | undefined;
|
|
161
229
|
value(): boolean | undefined;
|
|
162
230
|
static cast(node: SyntaxNode): BooleanLiteralExprAst | undefined;
|
|
163
231
|
}
|
|
164
232
|
declare class ObjectLiteralExprAst implements AstNode {
|
|
165
233
|
readonly syntax: SyntaxNode;
|
|
166
234
|
constructor(syntax: SyntaxNode);
|
|
167
|
-
lbrace():
|
|
168
|
-
rbrace():
|
|
235
|
+
lbrace(): SyntaxToken | undefined;
|
|
236
|
+
rbrace(): SyntaxToken | undefined;
|
|
169
237
|
fields(): Iterable<ObjectFieldAst>;
|
|
170
238
|
static cast(node: SyntaxNode): ObjectLiteralExprAst | undefined;
|
|
171
239
|
}
|
|
@@ -179,7 +247,7 @@ declare class ObjectFieldAst implements AstNode {
|
|
|
179
247
|
* `undefined` when the field carries no key node.
|
|
180
248
|
*/
|
|
181
249
|
keyName(): string | undefined;
|
|
182
|
-
colon():
|
|
250
|
+
colon(): SyntaxToken | undefined;
|
|
183
251
|
value(): ExpressionAst | undefined;
|
|
184
252
|
static cast(node: SyntaxNode): ObjectFieldAst | undefined;
|
|
185
253
|
}
|
|
@@ -189,7 +257,7 @@ declare class AttributeArgAst implements AstNode {
|
|
|
189
257
|
readonly syntax: SyntaxNode;
|
|
190
258
|
constructor(syntax: SyntaxNode);
|
|
191
259
|
name(): IdentifierAst | undefined;
|
|
192
|
-
colon():
|
|
260
|
+
colon(): SyntaxToken | undefined;
|
|
193
261
|
value(): ExpressionAst | undefined;
|
|
194
262
|
static cast(node: SyntaxNode): AttributeArgAst | undefined;
|
|
195
263
|
}
|
|
@@ -198,15 +266,15 @@ declare class AttributeArgAst implements AstNode {
|
|
|
198
266
|
declare class AttributeArgListAst implements AstNode {
|
|
199
267
|
readonly syntax: SyntaxNode;
|
|
200
268
|
constructor(syntax: SyntaxNode);
|
|
201
|
-
lparen():
|
|
202
|
-
rparen():
|
|
269
|
+
lparen(): SyntaxToken | undefined;
|
|
270
|
+
rparen(): SyntaxToken | undefined;
|
|
203
271
|
args(): Iterable<AttributeArgAst>;
|
|
204
272
|
static cast(node: SyntaxNode): AttributeArgListAst | undefined;
|
|
205
273
|
}
|
|
206
274
|
declare class FieldAttributeAst implements AstNode {
|
|
207
275
|
readonly syntax: SyntaxNode;
|
|
208
276
|
constructor(syntax: SyntaxNode);
|
|
209
|
-
at():
|
|
277
|
+
at(): SyntaxToken | undefined;
|
|
210
278
|
name(): QualifiedNameAst | undefined;
|
|
211
279
|
argList(): AttributeArgListAst | undefined;
|
|
212
280
|
static cast(node: SyntaxNode): FieldAttributeAst | undefined;
|
|
@@ -214,7 +282,7 @@ declare class FieldAttributeAst implements AstNode {
|
|
|
214
282
|
declare class ModelAttributeAst implements AstNode {
|
|
215
283
|
readonly syntax: SyntaxNode;
|
|
216
284
|
constructor(syntax: SyntaxNode);
|
|
217
|
-
doubleAt():
|
|
285
|
+
doubleAt(): SyntaxToken | undefined;
|
|
218
286
|
name(): QualifiedNameAst | undefined;
|
|
219
287
|
argList(): AttributeArgListAst | undefined;
|
|
220
288
|
static cast(node: SyntaxNode): ModelAttributeAst | undefined;
|
|
@@ -229,9 +297,9 @@ declare class TypeAnnotationAst implements AstNode {
|
|
|
229
297
|
/** Present when the annotation is a constructor (`Vector(1536)`) rather than a plain reference. */
|
|
230
298
|
argList(): AttributeArgListAst | undefined;
|
|
231
299
|
isConstructor(): boolean;
|
|
232
|
-
lbracket():
|
|
233
|
-
rbracket():
|
|
234
|
-
questionMark():
|
|
300
|
+
lbracket(): SyntaxToken | undefined;
|
|
301
|
+
rbracket(): SyntaxToken | undefined;
|
|
302
|
+
questionMark(): SyntaxToken | undefined;
|
|
235
303
|
isList(): boolean;
|
|
236
304
|
isOptional(): boolean;
|
|
237
305
|
static cast(node: SyntaxNode): TypeAnnotationAst | undefined;
|
|
@@ -244,69 +312,76 @@ declare class TypeAnnotationAst implements AstNode {
|
|
|
244
312
|
* blocks are document-only, so they are not namespace members.
|
|
245
313
|
*/
|
|
246
314
|
type NamespaceMemberAst = ModelDeclarationAst | CompositeTypeDeclarationAst | GenericBlockDeclarationAst;
|
|
315
|
+
type DeclarationAst = NamespaceMemberAst | TypesBlockAst | NamespaceDeclarationAst;
|
|
316
|
+
type AttributeAst = FieldAttributeAst | ModelAttributeAst;
|
|
317
|
+
type BlockMemberAst = FieldDeclarationAst | ModelAttributeAst;
|
|
318
|
+
type GenericBlockMemberAst = KeyValuePairAst | ModelAttributeAst;
|
|
247
319
|
declare class DocumentAst implements AstNode {
|
|
248
320
|
readonly syntax: SyntaxNode;
|
|
249
321
|
constructor(syntax: SyntaxNode);
|
|
250
|
-
declarations(): Iterable<
|
|
322
|
+
declarations(): Iterable<DeclarationAst>;
|
|
251
323
|
static cast(node: SyntaxNode): DocumentAst | undefined;
|
|
252
324
|
}
|
|
253
|
-
declare class ModelDeclarationAst implements
|
|
325
|
+
declare class ModelDeclarationAst implements BracedBlock {
|
|
254
326
|
readonly syntax: SyntaxNode;
|
|
255
327
|
constructor(syntax: SyntaxNode);
|
|
256
|
-
keyword():
|
|
328
|
+
keyword(): SyntaxToken | undefined;
|
|
257
329
|
name(): IdentifierAst | undefined;
|
|
258
|
-
lbrace():
|
|
259
|
-
rbrace():
|
|
330
|
+
lbrace(): SyntaxToken | undefined;
|
|
331
|
+
rbrace(): SyntaxToken | undefined;
|
|
260
332
|
fields(): Iterable<FieldDeclarationAst>;
|
|
261
333
|
attributes(): Iterable<ModelAttributeAst>;
|
|
334
|
+
members(): Iterable<BlockMemberAst>;
|
|
262
335
|
static cast(node: SyntaxNode): ModelDeclarationAst | undefined;
|
|
263
336
|
}
|
|
264
|
-
declare class CompositeTypeDeclarationAst implements
|
|
337
|
+
declare class CompositeTypeDeclarationAst implements BracedBlock {
|
|
265
338
|
readonly syntax: SyntaxNode;
|
|
266
339
|
constructor(syntax: SyntaxNode);
|
|
267
|
-
keyword():
|
|
340
|
+
keyword(): SyntaxToken | undefined;
|
|
268
341
|
name(): IdentifierAst | undefined;
|
|
269
|
-
lbrace():
|
|
270
|
-
rbrace():
|
|
342
|
+
lbrace(): SyntaxToken | undefined;
|
|
343
|
+
rbrace(): SyntaxToken | undefined;
|
|
271
344
|
fields(): Iterable<FieldDeclarationAst>;
|
|
272
345
|
attributes(): Iterable<ModelAttributeAst>;
|
|
346
|
+
members(): Iterable<BlockMemberAst>;
|
|
273
347
|
static cast(node: SyntaxNode): CompositeTypeDeclarationAst | undefined;
|
|
274
348
|
}
|
|
275
|
-
declare class NamespaceDeclarationAst implements
|
|
349
|
+
declare class NamespaceDeclarationAst implements BracedBlock {
|
|
276
350
|
readonly syntax: SyntaxNode;
|
|
277
351
|
constructor(syntax: SyntaxNode);
|
|
278
|
-
keyword():
|
|
352
|
+
keyword(): SyntaxToken | undefined;
|
|
279
353
|
name(): IdentifierAst | undefined;
|
|
280
|
-
lbrace():
|
|
281
|
-
rbrace():
|
|
354
|
+
lbrace(): SyntaxToken | undefined;
|
|
355
|
+
rbrace(): SyntaxToken | undefined;
|
|
282
356
|
declarations(): Iterable<NamespaceMemberAst>;
|
|
283
357
|
static cast(node: SyntaxNode): NamespaceDeclarationAst | undefined;
|
|
284
358
|
}
|
|
285
|
-
declare class TypesBlockAst implements
|
|
359
|
+
declare class TypesBlockAst implements BracedBlock {
|
|
286
360
|
readonly syntax: SyntaxNode;
|
|
287
361
|
constructor(syntax: SyntaxNode);
|
|
288
|
-
keyword():
|
|
289
|
-
lbrace():
|
|
290
|
-
rbrace():
|
|
362
|
+
keyword(): SyntaxToken | undefined;
|
|
363
|
+
lbrace(): SyntaxToken | undefined;
|
|
364
|
+
rbrace(): SyntaxToken | undefined;
|
|
291
365
|
declarations(): Iterable<NamedTypeDeclarationAst>;
|
|
292
366
|
static cast(node: SyntaxNode): TypesBlockAst | undefined;
|
|
293
367
|
}
|
|
294
|
-
declare class GenericBlockDeclarationAst implements
|
|
368
|
+
declare class GenericBlockDeclarationAst implements BracedBlock {
|
|
295
369
|
readonly syntax: SyntaxNode;
|
|
296
370
|
constructor(syntax: SyntaxNode);
|
|
297
|
-
keyword():
|
|
371
|
+
keyword(): SyntaxToken | undefined;
|
|
298
372
|
name(): IdentifierAst | undefined;
|
|
299
|
-
lbrace():
|
|
300
|
-
rbrace():
|
|
373
|
+
lbrace(): SyntaxToken | undefined;
|
|
374
|
+
rbrace(): SyntaxToken | undefined;
|
|
301
375
|
entries(): Iterable<KeyValuePairAst>;
|
|
302
376
|
attributes(): Iterable<ModelAttributeAst>;
|
|
377
|
+
members(): Iterable<GenericBlockMemberAst>;
|
|
303
378
|
static cast(node: SyntaxNode): GenericBlockDeclarationAst | undefined;
|
|
304
379
|
}
|
|
305
380
|
declare class KeyValuePairAst implements AstNode {
|
|
306
381
|
readonly syntax: SyntaxNode;
|
|
307
382
|
constructor(syntax: SyntaxNode);
|
|
308
383
|
key(): IdentifierAst | undefined;
|
|
309
|
-
equals():
|
|
384
|
+
equals(): SyntaxToken | undefined;
|
|
310
385
|
value(): ExpressionAst | undefined;
|
|
311
386
|
static cast(node: SyntaxNode): KeyValuePairAst | undefined;
|
|
312
387
|
}
|
|
@@ -322,7 +397,7 @@ declare class NamedTypeDeclarationAst implements AstNode {
|
|
|
322
397
|
readonly syntax: SyntaxNode;
|
|
323
398
|
constructor(syntax: SyntaxNode);
|
|
324
399
|
name(): IdentifierAst | undefined;
|
|
325
|
-
equals():
|
|
400
|
+
equals(): SyntaxToken | undefined;
|
|
326
401
|
typeAnnotation(): TypeAnnotationAst | undefined;
|
|
327
402
|
attributes(): Iterable<FieldAttributeAst>;
|
|
328
403
|
static cast(node: SyntaxNode): NamedTypeDeclarationAst | undefined;
|
|
@@ -345,5 +420,5 @@ interface ParseResult {
|
|
|
345
420
|
*/
|
|
346
421
|
declare function parse(source: string): ParseResult;
|
|
347
422
|
//#endregion
|
|
348
|
-
export {
|
|
349
|
-
//# sourceMappingURL=parse-
|
|
423
|
+
export { Range as $, StringLiteralExprAst as A, printSyntax as B, AttributeArgAst as C, NumberLiteralExprAst as D, FunctionCallAst as E, BracedBlock as F, createSyntaxTree as G, SyntaxNode as H, any as I, GreenToken as J, GreenElement as K, filterChildren as L, QualifiedNameAst as M, IdentifierAst as N, ObjectFieldAst as O, AstNode as P, Position as Q, findChildToken as R, ArrayLiteralAst as S, ExpressionAst as T, SyntaxToken as U, SyntaxElement as V, TokenAtOffset as W, greenToken as X, greenNode as Y, SyntaxKind as Z, TypesBlockAst as _, BlockMemberAst as a, FieldAttributeAst as b, DocumentAst as c, GenericBlockMemberAst as d, SourceFile as et, KeyValuePairAst as f, NamespaceMemberAst as g, NamespaceDeclarationAst as h, AttributeAst as i, castExpression as j, ObjectLiteralExprAst as k, FieldDeclarationAst as l, NamedTypeDeclarationAst as m, ParseResult as n, CompositeTypeDeclarationAst as o, ModelDeclarationAst as p, GreenNode as q, parse as r, DeclarationAst as s, ParseDiagnostic as t, GenericBlockDeclarationAst as u, TypeAnnotationAst as v, BooleanLiteralExprAst as w, ModelAttributeAst as x, AttributeArgListAst as y, findFirstChild as z };
|
|
424
|
+
//# sourceMappingURL=parse-BKN_-hW8.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-BKN_-hW8.d.mts","names":[],"sources":["../src/source-file.ts","../src/syntax/syntax-kind.ts","../src/syntax/green.ts","../src/syntax/red.ts","../src/syntax/ast-helpers.ts","../src/syntax/ast/identifier.ts","../src/syntax/ast/qualified-name.ts","../src/syntax/ast/expressions.ts","../src/syntax/ast/attributes.ts","../src/syntax/ast/type-annotation.ts","../src/syntax/ast/declarations.ts","../src/parse.ts"],"mappings":"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"}
|