skir 1.0.27 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/definition_finder.d.ts +3 -2
- package/dist/definition_finder.d.ts.map +1 -1
- package/dist/definition_finder.js +245 -63
- package/dist/definition_finder.js.map +1 -1
- package/dist/doc_comment_parser.js +3 -3
- package/dist/doc_comment_parser.js.map +1 -1
- package/dist/module_set.d.ts.map +1 -1
- package/dist/module_set.js +26 -15
- package/dist/module_set.js.map +1 -1
- package/dist/parser.js +3 -3
- package/dist/parser.js.map +1 -1
- package/package.json +2 -2
- package/src/definition_finder.ts +296 -63
- package/src/doc_comment_parser.ts +3 -3
- package/src/module_set.ts +78 -16
- package/src/parser.ts +3 -3
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
* Utilities to help implement the jump-to-definition functionality for skir
|
|
3
3
|
* files in IDEs.
|
|
4
4
|
*/
|
|
5
|
-
import type
|
|
5
|
+
import { type Constant, type Field, type ImportAlias, type Method, type Module, type Record, type Token } from "skir-internal";
|
|
6
6
|
export interface DefinitionMatch {
|
|
7
7
|
modulePath: string;
|
|
8
8
|
position: number;
|
|
9
|
+
declaration: Constant | Field | ImportAlias | Method | Record | undefined;
|
|
9
10
|
}
|
|
10
11
|
export declare function findDefinition(module: Module, position: number): DefinitionMatch | null;
|
|
11
|
-
export declare function
|
|
12
|
+
export declare function findReferences(definition: Token, modules: readonly Module[]): Token[];
|
|
12
13
|
//# sourceMappingURL=definition_finder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition_finder.d.ts","sourceRoot":"","sources":["../src/definition_finder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"definition_finder.d.ts","sourceRoot":"","sources":["../src/definition_finder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAEL,KAAK,QAAQ,EAEb,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,MAAM,EAEX,KAAK,KAAK,EAEX,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IAEjB,WAAW,EAAE,QAAQ,GAAG,KAAK,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC3E;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,eAAe,GAAG,IAAI,CAExB;AAwPD,wBAAgB,cAAc,CAC5B,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,KAAK,EAAE,CAMT"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities to help implement the jump-to-definition functionality for skir
|
|
3
|
+
* files in IDEs.
|
|
4
|
+
*/
|
|
5
|
+
import { unquoteAndUnescape, } from "skir-internal";
|
|
1
6
|
export function findDefinition(module, position) {
|
|
2
7
|
return findDefinitionInDeclarations(module.declarations, position);
|
|
3
8
|
}
|
|
@@ -11,6 +16,46 @@ function findDefinitionInDeclarations(declarations, position) {
|
|
|
11
16
|
return null;
|
|
12
17
|
}
|
|
13
18
|
function findDefinitionInDeclaration(declaration, position) {
|
|
19
|
+
// First, look for a match in the doc comment.
|
|
20
|
+
switch (declaration.kind) {
|
|
21
|
+
case "import":
|
|
22
|
+
case "import-alias":
|
|
23
|
+
case "removed":
|
|
24
|
+
// No doc.
|
|
25
|
+
break;
|
|
26
|
+
default: {
|
|
27
|
+
for (const docPiece of declaration.doc.pieces) {
|
|
28
|
+
if (docPiece.kind === "reference") {
|
|
29
|
+
for (const namePart of docPiece.nameParts) {
|
|
30
|
+
if (tokenContains(namePart.token, position)) {
|
|
31
|
+
const { declaration } = namePart;
|
|
32
|
+
if (declaration) {
|
|
33
|
+
return declarationToMatch(declaration);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// If the position lands on the declaration's own name token, return it as
|
|
45
|
+
// its own definition.
|
|
46
|
+
switch (declaration.kind) {
|
|
47
|
+
case "constant":
|
|
48
|
+
case "field":
|
|
49
|
+
case "import-alias":
|
|
50
|
+
case "method":
|
|
51
|
+
case "record": {
|
|
52
|
+
if (tokenContains(declaration.name, position)) {
|
|
53
|
+
return declarationToMatch(declaration);
|
|
54
|
+
}
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Then look for a match in the declaration itself.
|
|
14
59
|
switch (declaration.kind) {
|
|
15
60
|
case "constant": {
|
|
16
61
|
if (declaration.type) {
|
|
@@ -19,6 +64,10 @@ function findDefinitionInDeclaration(declaration, position) {
|
|
|
19
64
|
return maybeMatch;
|
|
20
65
|
}
|
|
21
66
|
}
|
|
67
|
+
const maybeMatch = findDefinitionInValue(declaration.value, position);
|
|
68
|
+
if (maybeMatch) {
|
|
69
|
+
return maybeMatch;
|
|
70
|
+
}
|
|
22
71
|
return null;
|
|
23
72
|
}
|
|
24
73
|
case "field": {
|
|
@@ -34,6 +83,7 @@ function findDefinitionInDeclaration(declaration, position) {
|
|
|
34
83
|
return {
|
|
35
84
|
modulePath: declaration.resolvedModulePath,
|
|
36
85
|
position: 0,
|
|
86
|
+
declaration: undefined,
|
|
37
87
|
};
|
|
38
88
|
}
|
|
39
89
|
return null;
|
|
@@ -54,7 +104,8 @@ function findDefinitionInDeclaration(declaration, position) {
|
|
|
54
104
|
return null;
|
|
55
105
|
}
|
|
56
106
|
case "record": {
|
|
57
|
-
return findDefinitionInDeclarations(declaration.fields, position)
|
|
107
|
+
return (findDefinitionInDeclarations(declaration.fields, position) ??
|
|
108
|
+
findDefinitionInDeclarations(declaration.nestedRecords, position));
|
|
58
109
|
}
|
|
59
110
|
case "removed": {
|
|
60
111
|
return null;
|
|
@@ -67,9 +118,9 @@ function findDefinitionInResolvedType(type, position) {
|
|
|
67
118
|
if (type.key) {
|
|
68
119
|
for (const item of type.key.path) {
|
|
69
120
|
if (tokenContains(item.name, position)) {
|
|
70
|
-
const
|
|
71
|
-
if (
|
|
72
|
-
return
|
|
121
|
+
const { declaration } = item;
|
|
122
|
+
if (declaration) {
|
|
123
|
+
return declarationToMatch(declaration);
|
|
73
124
|
}
|
|
74
125
|
}
|
|
75
126
|
}
|
|
@@ -85,95 +136,226 @@ function findDefinitionInResolvedType(type, position) {
|
|
|
85
136
|
case "record": {
|
|
86
137
|
for (const namePart of type.nameParts) {
|
|
87
138
|
if (tokenContains(namePart.token, position)) {
|
|
88
|
-
return
|
|
139
|
+
return declarationToMatch(namePart.declaration);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
function findDefinitionInValue(value, position) {
|
|
147
|
+
switch (value.kind) {
|
|
148
|
+
case "array": {
|
|
149
|
+
for (const item of value.items) {
|
|
150
|
+
const maybeMatch = findDefinitionInValue(item, position);
|
|
151
|
+
if (maybeMatch) {
|
|
152
|
+
return maybeMatch;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
case "object": {
|
|
158
|
+
if (!value.record) {
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
if (value.record.recordType === "struct") {
|
|
162
|
+
// Look for a match with a field name.
|
|
163
|
+
for (const entry of Object.values(value.entries)) {
|
|
164
|
+
if (tokenContains(entry.name, position)) {
|
|
165
|
+
const { fieldDeclaration } = entry;
|
|
166
|
+
if (fieldDeclaration) {
|
|
167
|
+
return declarationToMatch(fieldDeclaration);
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
return null;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
// An enum. Look for a match with the "kind" field.
|
|
177
|
+
const kindEntry = value.entries["kind"];
|
|
178
|
+
if (kindEntry && kindEntry.value.kind === "literal") {
|
|
179
|
+
if (tokenContains(kindEntry.value.token, position)) {
|
|
180
|
+
const variantName = unquoteAndUnescape(kindEntry.value.token.text);
|
|
181
|
+
const variantDeclaration = value.record.nameToDeclaration[variantName];
|
|
182
|
+
if (variantDeclaration?.kind === "field") {
|
|
183
|
+
return declarationToMatch(variantDeclaration);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
return null;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
// Look for a match within the field values.
|
|
192
|
+
for (const entry of Object.values(value.entries)) {
|
|
193
|
+
const maybeMatch = findDefinitionInValue(entry.value, position);
|
|
194
|
+
if (maybeMatch) {
|
|
195
|
+
return maybeMatch;
|
|
89
196
|
}
|
|
90
197
|
}
|
|
91
198
|
return null;
|
|
92
199
|
}
|
|
200
|
+
case "literal": {
|
|
201
|
+
return null;
|
|
202
|
+
}
|
|
93
203
|
}
|
|
94
204
|
}
|
|
95
205
|
function tokenContains(token, position) {
|
|
96
206
|
const end = token.position + token.text.length;
|
|
97
|
-
return position >= token.position && position
|
|
207
|
+
return position >= token.position && position <= end;
|
|
98
208
|
}
|
|
99
|
-
function
|
|
209
|
+
function declarationToMatch(declaration) {
|
|
210
|
+
const { name } = declaration;
|
|
100
211
|
return {
|
|
101
|
-
modulePath:
|
|
102
|
-
position:
|
|
212
|
+
modulePath: name.line.modulePath,
|
|
213
|
+
position: name.position,
|
|
214
|
+
declaration: declaration,
|
|
103
215
|
};
|
|
104
216
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
this.tokens = [];
|
|
217
|
+
// -----------------------------------------------------------------------------
|
|
218
|
+
// REFERENCES FINDER
|
|
219
|
+
// -----------------------------------------------------------------------------
|
|
220
|
+
export function findReferences(definition, modules) {
|
|
221
|
+
const references = [];
|
|
222
|
+
for (const module of modules) {
|
|
223
|
+
findReferencesInDeclarations(definition, module.declarations, references);
|
|
113
224
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
225
|
+
return references;
|
|
226
|
+
}
|
|
227
|
+
function findReferencesInDeclarations(definition, declarations, references) {
|
|
228
|
+
for (const declaration of declarations) {
|
|
229
|
+
findReferencesInDeclaration(definition, declaration, references);
|
|
118
230
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
231
|
+
}
|
|
232
|
+
function findReferencesInDeclaration(definition, declaration, references) {
|
|
233
|
+
// First, collect references from the doc comment.
|
|
234
|
+
switch (declaration.kind) {
|
|
235
|
+
case "import":
|
|
236
|
+
case "import-alias":
|
|
237
|
+
case "removed":
|
|
238
|
+
// No doc.
|
|
239
|
+
break;
|
|
240
|
+
default: {
|
|
241
|
+
for (const docPiece of declaration.doc.pieces) {
|
|
242
|
+
if (docPiece.kind === "reference") {
|
|
243
|
+
for (const namePart of docPiece.nameParts) {
|
|
244
|
+
if (namePart.declaration?.name === definition) {
|
|
245
|
+
references.push(namePart.token);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
125
248
|
}
|
|
126
|
-
return null;
|
|
127
249
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
// Then collect references from the declaration body.
|
|
253
|
+
switch (declaration.kind) {
|
|
254
|
+
case "constant": {
|
|
255
|
+
if (declaration.type) {
|
|
256
|
+
findReferencesInResolvedType(definition, declaration.type, references);
|
|
132
257
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
140
|
-
return null;
|
|
258
|
+
findReferencesInValue(definition, declaration.value, references);
|
|
259
|
+
break;
|
|
260
|
+
}
|
|
261
|
+
case "field": {
|
|
262
|
+
if (declaration.type) {
|
|
263
|
+
findReferencesInResolvedType(definition, declaration.type, references);
|
|
141
264
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
265
|
+
break;
|
|
266
|
+
}
|
|
267
|
+
case "import":
|
|
268
|
+
case "import-alias": {
|
|
269
|
+
// Module path tokens are not declaration references.
|
|
270
|
+
break;
|
|
271
|
+
}
|
|
272
|
+
case "method": {
|
|
273
|
+
if (declaration.requestType) {
|
|
274
|
+
findReferencesInResolvedType(definition, declaration.requestType, references);
|
|
145
275
|
}
|
|
146
|
-
|
|
147
|
-
|
|
276
|
+
if (declaration.responseType) {
|
|
277
|
+
findReferencesInResolvedType(definition, declaration.responseType, references);
|
|
148
278
|
}
|
|
279
|
+
break;
|
|
280
|
+
}
|
|
281
|
+
case "record": {
|
|
282
|
+
findReferencesInDeclarations(definition, declaration.fields, references);
|
|
283
|
+
break;
|
|
284
|
+
}
|
|
285
|
+
case "removed": {
|
|
286
|
+
break;
|
|
149
287
|
}
|
|
150
288
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
289
|
+
}
|
|
290
|
+
function findReferencesInResolvedType(definition, type, references) {
|
|
291
|
+
switch (type.kind) {
|
|
292
|
+
case "array": {
|
|
293
|
+
if (type.key) {
|
|
294
|
+
for (const item of type.key.path) {
|
|
295
|
+
if (item.declaration?.name === definition) {
|
|
296
|
+
references.push(item.name);
|
|
159
297
|
}
|
|
160
298
|
}
|
|
161
|
-
return this.findInResolvedType(type.item);
|
|
162
299
|
}
|
|
163
|
-
|
|
164
|
-
|
|
300
|
+
findReferencesInResolvedType(definition, type.item, references);
|
|
301
|
+
break;
|
|
302
|
+
}
|
|
303
|
+
case "optional": {
|
|
304
|
+
findReferencesInResolvedType(definition, type.other, references);
|
|
305
|
+
break;
|
|
306
|
+
}
|
|
307
|
+
case "primitive": {
|
|
308
|
+
break;
|
|
309
|
+
}
|
|
310
|
+
case "record": {
|
|
311
|
+
for (const namePart of type.nameParts) {
|
|
312
|
+
if (namePart.declaration.name === definition) {
|
|
313
|
+
references.push(namePart.token);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
break;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
function findReferencesInValue(definition, value, references) {
|
|
321
|
+
switch (value.kind) {
|
|
322
|
+
case "array": {
|
|
323
|
+
for (const item of value.items) {
|
|
324
|
+
findReferencesInValue(definition, item, references);
|
|
165
325
|
}
|
|
166
|
-
|
|
167
|
-
|
|
326
|
+
break;
|
|
327
|
+
}
|
|
328
|
+
case "object": {
|
|
329
|
+
if (!value.record) {
|
|
330
|
+
break;
|
|
168
331
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
332
|
+
if (value.record.recordType === "struct") {
|
|
333
|
+
// Check field name keys, then recurse into field values.
|
|
334
|
+
for (const entry of Object.values(value.entries)) {
|
|
335
|
+
if (entry.fieldDeclaration?.name === definition) {
|
|
336
|
+
references.push(entry.name);
|
|
337
|
+
}
|
|
338
|
+
findReferencesInValue(definition, entry.value, references);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
else {
|
|
342
|
+
// An enum. Only the "kind" token is a navigable reference — mirrors
|
|
343
|
+
// findDefinition's behavior of returning null when the position is
|
|
344
|
+
// not within the kind token.
|
|
345
|
+
const kindEntry = value.entries["kind"];
|
|
346
|
+
if (kindEntry && kindEntry.value.kind === "literal") {
|
|
347
|
+
const variantName = unquoteAndUnescape(kindEntry.value.token.text);
|
|
348
|
+
const variantDeclaration = value.record.nameToDeclaration[variantName];
|
|
349
|
+
if (variantDeclaration?.kind === "field" &&
|
|
350
|
+
variantDeclaration.name === definition) {
|
|
351
|
+
references.push(kindEntry.value.token);
|
|
173
352
|
}
|
|
174
353
|
}
|
|
175
|
-
return null;
|
|
176
354
|
}
|
|
355
|
+
break;
|
|
356
|
+
}
|
|
357
|
+
case "literal": {
|
|
358
|
+
break;
|
|
177
359
|
}
|
|
178
360
|
}
|
|
179
361
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition_finder.js","sourceRoot":"","sources":["../src/definition_finder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"definition_finder.js","sourceRoot":"","sources":["../src/definition_finder.ts"],"names":[],"mappings":"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"}
|
|
@@ -231,8 +231,8 @@ export function mergeDocs(docs) {
|
|
|
231
231
|
pieces: pieces,
|
|
232
232
|
};
|
|
233
233
|
}
|
|
234
|
-
const EMPTY_DOC = {
|
|
234
|
+
const EMPTY_DOC = Object.freeze({
|
|
235
235
|
text: "",
|
|
236
|
-
pieces: [],
|
|
237
|
-
};
|
|
236
|
+
pieces: Object.freeze([]),
|
|
237
|
+
});
|
|
238
238
|
//# sourceMappingURL=doc_comment_parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doc_comment_parser.js","sourceRoot":"","sources":["../src/doc_comment_parser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"doc_comment_parser.js","sourceRoot":"","sources":["../src/doc_comment_parser.ts"],"names":[],"mappings":"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"}
|
package/dist/module_set.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module_set.d.ts","sourceRoot":"","sources":["../src/module_set.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"module_set.d.ts","sourceRoot":"","sources":["../src/module_set.ts"],"names":[],"mappings":"AACA,OAAO,EAUL,KAAK,MAAM,EACX,KAAK,MAAM,EAMX,KAAK,aAAa,EAOlB,KAAK,SAAS,EACd,KAAK,cAAc,EAGnB,KAAK,MAAM,EACX,KAAK,SAAS,EAKf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAUrC,qBAAa,SAAS;IAaR,OAAO,CAAC,QAAQ,CAAC,YAAY;IAZzC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS;IAIlE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;gBAQ9B,YAAY,EAAE,YAAY;IAEvD,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC1B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IAcxB,6EAA6E;IAC7E,OAAO,CAAC,iBAAiB;IA4RzB,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,eAAe;IAkCvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA6FzB,OAAO,CAAC,gBAAgB;IAyExB,OAAO,CAAC,sBAAsB;IA+E9B,OAAO,CAAC,oBAAoB;IA0H5B,OAAO,CAAC,cAAc;IAqCtB,2EAA2E;IAC3E,OAAO,CAAC,oBAAoB;IAkL5B,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAiBjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4C;IAC3E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwC;IACzE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAgB;IACvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgC;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmB;IAEjD,IAAI,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAExD;IAED,IAAI,SAAS,IAAI,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC,CAEtD;IAED,IAAI,eAAe,IAAI,aAAa,CAAC,MAAM,CAAC,CAE3C;IAED,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAQpE,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI5D,IAAI,MAAM,IAAI,SAAS,SAAS,EAAE,CAEjC;CACF;AA4RD,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;CAC/D"}
|
package/dist/module_set.js
CHANGED
|
@@ -107,6 +107,7 @@ export class ModuleSet {
|
|
|
107
107
|
errors.push({
|
|
108
108
|
token: importedName,
|
|
109
109
|
message: "Not found",
|
|
110
|
+
expectedNames: keysOfFilteredValues(otherModule.result.nameToDeclaration, (d) => d.kind === "record"),
|
|
110
111
|
});
|
|
111
112
|
}
|
|
112
113
|
else if (importedDeclaration.kind === "import") {
|
|
@@ -373,10 +374,11 @@ export class ModuleSet {
|
|
|
373
374
|
const record = this.recordMap.get(currentType.key).record;
|
|
374
375
|
if (record.recordType === "struct") {
|
|
375
376
|
const field = record.nameToDeclaration[fieldName.text];
|
|
376
|
-
if (
|
|
377
|
+
if (field?.kind !== "field") {
|
|
377
378
|
errors.push({
|
|
378
379
|
token: fieldName,
|
|
379
380
|
message: `Field not found in struct ${record.name.text}`,
|
|
381
|
+
expectedNames: keysOfFilteredValues(record.nameToDeclaration, (d) => d.kind === "field"),
|
|
380
382
|
});
|
|
381
383
|
return undefined;
|
|
382
384
|
}
|
|
@@ -393,6 +395,7 @@ export class ModuleSet {
|
|
|
393
395
|
errors.push({
|
|
394
396
|
token: fieldName,
|
|
395
397
|
expected: "'kind'",
|
|
398
|
+
expectedNames: ["kind"],
|
|
396
399
|
});
|
|
397
400
|
return undefined;
|
|
398
401
|
}
|
|
@@ -505,10 +508,11 @@ export class ModuleSet {
|
|
|
505
508
|
let allGood = true;
|
|
506
509
|
for (const [fieldName, fieldEntry] of Object.entries(value.entries)) {
|
|
507
510
|
const field = expectedStruct.nameToDeclaration[fieldName];
|
|
508
|
-
if (
|
|
511
|
+
if (field?.kind !== "field") {
|
|
509
512
|
errors.push({
|
|
510
513
|
token: fieldEntry.name,
|
|
511
514
|
message: `Field not found in struct ${expectedStruct.name.text}`,
|
|
515
|
+
expectedNames: keysOfFilteredValues(expectedStruct.nameToDeclaration, (d) => d.kind === "field"),
|
|
512
516
|
});
|
|
513
517
|
allGood = false;
|
|
514
518
|
continue;
|
|
@@ -524,6 +528,7 @@ export class ModuleSet {
|
|
|
524
528
|
const fieldEntry = value.entries[field.name.text];
|
|
525
529
|
let valueJson;
|
|
526
530
|
if (fieldEntry) {
|
|
531
|
+
fieldEntry.fieldDeclaration = field;
|
|
527
532
|
valueJson = this.valueToDenseJson(fieldEntry.value, type, errors);
|
|
528
533
|
}
|
|
529
534
|
else {
|
|
@@ -557,7 +562,7 @@ export class ModuleSet {
|
|
|
557
562
|
if (!allGood) {
|
|
558
563
|
return undefined;
|
|
559
564
|
}
|
|
560
|
-
value.
|
|
565
|
+
value.record = expectedStruct;
|
|
561
566
|
return json.slice(0, arrayLen);
|
|
562
567
|
}
|
|
563
568
|
enumValueToDenseJson(value, expectedEnum, errors) {
|
|
@@ -571,17 +576,18 @@ export class ModuleSet {
|
|
|
571
576
|
return 0;
|
|
572
577
|
}
|
|
573
578
|
const field = expectedEnum.nameToDeclaration[fieldName];
|
|
574
|
-
if (
|
|
579
|
+
if (field?.kind !== "field") {
|
|
575
580
|
errors.push({
|
|
576
581
|
token: token,
|
|
577
|
-
message: `
|
|
582
|
+
message: `Variant not found in enum ${expectedEnum.name.text}`,
|
|
583
|
+
expectedNames: ["UNKNOWN"].concat(keysOfFilteredValues(expectedEnum.nameToDeclaration, (d) => d.kind === "field" && !d.type)),
|
|
578
584
|
});
|
|
579
585
|
return undefined;
|
|
580
586
|
}
|
|
581
587
|
if (field.type) {
|
|
582
588
|
errors.push({
|
|
583
589
|
token: token,
|
|
584
|
-
message: "Refers to a wrapper
|
|
590
|
+
message: "Refers to a wrapper variant",
|
|
585
591
|
});
|
|
586
592
|
return undefined;
|
|
587
593
|
}
|
|
@@ -593,9 +599,9 @@ export class ModuleSet {
|
|
|
593
599
|
}
|
|
594
600
|
else if (value.kind === "object") {
|
|
595
601
|
// The value is an object. It must have exactly two entries:
|
|
596
|
-
// · 'kind' must match the name of one of the wrapper
|
|
602
|
+
// · 'kind' must match the name of one of the wrapper variants defined in
|
|
597
603
|
// the enum
|
|
598
|
-
// · 'value' must match the type of the wrapper
|
|
604
|
+
// · 'value' must match the type of the wrapper variant
|
|
599
605
|
const entries = { ...value.entries };
|
|
600
606
|
const kindEntry = entries.kind;
|
|
601
607
|
if (!kindEntry) {
|
|
@@ -617,10 +623,11 @@ export class ModuleSet {
|
|
|
617
623
|
}
|
|
618
624
|
const fieldName = unquoteAndUnescape(kindValueToken.text);
|
|
619
625
|
const field = expectedEnum.nameToDeclaration[fieldName];
|
|
620
|
-
if (
|
|
626
|
+
if (field?.kind !== "field") {
|
|
621
627
|
errors.push({
|
|
622
628
|
token: kindValueToken,
|
|
623
|
-
message: `
|
|
629
|
+
message: `Variant not found in enum ${expectedEnum.name.text}`,
|
|
630
|
+
expectedNames: keysOfFilteredValues(expectedEnum.nameToDeclaration, (d) => d.kind === "field" && !!d.type),
|
|
624
631
|
});
|
|
625
632
|
return undefined;
|
|
626
633
|
}
|
|
@@ -654,7 +661,7 @@ export class ModuleSet {
|
|
|
654
661
|
});
|
|
655
662
|
return undefined;
|
|
656
663
|
}
|
|
657
|
-
value.
|
|
664
|
+
value.record = expectedEnum;
|
|
658
665
|
// Return an array of length 2.
|
|
659
666
|
return [field.number, valueJson];
|
|
660
667
|
}
|
|
@@ -1039,9 +1046,10 @@ class TypeResolver {
|
|
|
1039
1046
|
token: name,
|
|
1040
1047
|
message: "Does not refer to a struct or an enum",
|
|
1041
1048
|
});
|
|
1042
|
-
const makeCannotFindNameError = (name) => ({
|
|
1049
|
+
const makeCannotFindNameError = (name, expectedNames) => ({
|
|
1043
1050
|
token: name,
|
|
1044
1051
|
message: `Cannot find name '${name.text}'`,
|
|
1052
|
+
expectedNames: expectedNames,
|
|
1045
1053
|
});
|
|
1046
1054
|
let it = start;
|
|
1047
1055
|
const nameParts = [];
|
|
@@ -1050,7 +1058,7 @@ class TypeResolver {
|
|
|
1050
1058
|
const name = namePart.text;
|
|
1051
1059
|
let newIt = it.nameToDeclaration[name];
|
|
1052
1060
|
if (newIt === undefined) {
|
|
1053
|
-
errors.push(makeCannotFindNameError(namePart));
|
|
1061
|
+
errors.push(makeCannotFindNameError(namePart, keysOfFilteredValues(it.nameToDeclaration, (d) => d.kind === "record" || (i === 0 && d.kind === "import-alias"))));
|
|
1054
1062
|
return undefined;
|
|
1055
1063
|
}
|
|
1056
1064
|
else if (newIt.kind === "record") {
|
|
@@ -1080,10 +1088,10 @@ class TypeResolver {
|
|
|
1080
1088
|
if (newIt.kind === "import") {
|
|
1081
1089
|
newIt = newModule.nameToDeclaration[name];
|
|
1082
1090
|
if (!newIt) {
|
|
1083
|
-
errors.push(makeCannotFindNameError(namePart));
|
|
1091
|
+
errors.push(makeCannotFindNameError(namePart, keysOfFilteredValues(newModule.nameToDeclaration, (d) => d.kind === "record")));
|
|
1084
1092
|
return undefined;
|
|
1085
1093
|
}
|
|
1086
|
-
if (
|
|
1094
|
+
if (newIt.kind !== "record") {
|
|
1087
1095
|
this.errors.push(newIt.kind === "import" || newIt.kind === "import-alias"
|
|
1088
1096
|
? transitiveImportError()
|
|
1089
1097
|
: makeNotARecordError(namePart));
|
|
@@ -1223,4 +1231,7 @@ function extractPackagePrefix(modulePath) {
|
|
|
1223
1231
|
const match = modulePath.match(/^(@[^/]+\/[^/]+\/)/);
|
|
1224
1232
|
return match?.at(1) ?? "";
|
|
1225
1233
|
}
|
|
1234
|
+
function keysOfFilteredValues(nameToDeclaration, predicate) {
|
|
1235
|
+
return Object.keys(Object.fromEntries(Object.entries(nameToDeclaration).filter(([_, value]) => predicate(value))));
|
|
1236
|
+
}
|
|
1226
1237
|
//# sourceMappingURL=module_set.js.map
|