skir 1.0.27 → 1.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.
@@ -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 { Module, Token } from "skir-internal";
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 findTokensWithDefinition(module: Module): readonly Token[];
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,EAAe,MAAM,EAAgB,KAAK,EAAE,MAAM,eAAe,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,eAAe,GAAG,IAAI,CAExB;AAgID,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,EAAE,CAIzE"}
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;AAsOD,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,32 @@ 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
+ // Then look for a match in the declaration itself.
14
45
  switch (declaration.kind) {
15
46
  case "constant": {
16
47
  if (declaration.type) {
@@ -19,6 +50,10 @@ function findDefinitionInDeclaration(declaration, position) {
19
50
  return maybeMatch;
20
51
  }
21
52
  }
53
+ const maybeMatch = findDefinitionInValue(declaration.value, position);
54
+ if (maybeMatch) {
55
+ return maybeMatch;
56
+ }
22
57
  return null;
23
58
  }
24
59
  case "field": {
@@ -34,6 +69,7 @@ function findDefinitionInDeclaration(declaration, position) {
34
69
  return {
35
70
  modulePath: declaration.resolvedModulePath,
36
71
  position: 0,
72
+ declaration: undefined,
37
73
  };
38
74
  }
39
75
  return null;
@@ -67,9 +103,9 @@ function findDefinitionInResolvedType(type, position) {
67
103
  if (type.key) {
68
104
  for (const item of type.key.path) {
69
105
  if (tokenContains(item.name, position)) {
70
- const maybeMatch = tokenToMatch(item.name);
71
- if (maybeMatch) {
72
- return maybeMatch;
106
+ const { declaration } = item;
107
+ if (declaration) {
108
+ return declarationToMatch(declaration);
73
109
  }
74
110
  }
75
111
  }
@@ -85,95 +121,226 @@ function findDefinitionInResolvedType(type, position) {
85
121
  case "record": {
86
122
  for (const namePart of type.nameParts) {
87
123
  if (tokenContains(namePart.token, position)) {
88
- return tokenToMatch(namePart.declaration.name);
124
+ return declarationToMatch(namePart.declaration);
125
+ }
126
+ }
127
+ return null;
128
+ }
129
+ }
130
+ }
131
+ function findDefinitionInValue(value, position) {
132
+ switch (value.kind) {
133
+ case "array": {
134
+ for (const item of value.items) {
135
+ const maybeMatch = findDefinitionInValue(item, position);
136
+ if (maybeMatch) {
137
+ return maybeMatch;
138
+ }
139
+ }
140
+ return null;
141
+ }
142
+ case "object": {
143
+ if (!value.record) {
144
+ return null;
145
+ }
146
+ if (value.record.recordType === "struct") {
147
+ // Look for a match with a field name.
148
+ for (const entry of Object.values(value.entries)) {
149
+ if (tokenContains(entry.name, position)) {
150
+ const { fieldDeclaration } = entry;
151
+ if (fieldDeclaration) {
152
+ return declarationToMatch(fieldDeclaration);
153
+ }
154
+ else {
155
+ return null;
156
+ }
157
+ }
158
+ }
159
+ }
160
+ else {
161
+ // An enum. Look for a match with the "kind" field.
162
+ const kindEntry = value.entries["kind"];
163
+ if (kindEntry && kindEntry.value.kind === "literal") {
164
+ if (tokenContains(kindEntry.value.token, position)) {
165
+ const variantName = unquoteAndUnescape(kindEntry.value.token.text);
166
+ const variantDeclaration = value.record.nameToDeclaration[variantName];
167
+ if (variantDeclaration?.kind === "field") {
168
+ return declarationToMatch(variantDeclaration);
169
+ }
170
+ }
171
+ else {
172
+ return null;
173
+ }
89
174
  }
90
175
  }
176
+ // Look for a match within the field values.
177
+ for (const entry of Object.values(value.entries)) {
178
+ const maybeMatch = findDefinitionInValue(entry.value, position);
179
+ if (maybeMatch) {
180
+ return maybeMatch;
181
+ }
182
+ }
183
+ return null;
184
+ }
185
+ case "literal": {
91
186
  return null;
92
187
  }
93
188
  }
94
189
  }
95
190
  function tokenContains(token, position) {
96
191
  const end = token.position + token.text.length;
97
- return position >= token.position && position < end;
192
+ return position >= token.position && position <= end;
98
193
  }
99
- function tokenToMatch(token) {
194
+ function declarationToMatch(declaration) {
195
+ const { name } = declaration;
100
196
  return {
101
- modulePath: token.line.modulePath,
102
- position: token.position,
197
+ modulePath: name.line.modulePath,
198
+ position: name.position,
199
+ declaration: declaration,
103
200
  };
104
201
  }
105
- export function findTokensWithDefinition(module) {
106
- const finder = new TokensWithDefinitionFinder();
107
- finder.findInDeclarations(module.declarations);
108
- return finder.tokens;
109
- }
110
- class TokensWithDefinitionFinder {
111
- constructor() {
112
- this.tokens = [];
202
+ // -----------------------------------------------------------------------------
203
+ // REFERENCES FINDER
204
+ // -----------------------------------------------------------------------------
205
+ export function findReferences(definition, modules) {
206
+ const references = [];
207
+ for (const module of modules) {
208
+ findReferencesInDeclarations(definition, module.declarations, references);
113
209
  }
114
- findInDeclarations(declarations) {
115
- for (const declaration of declarations) {
116
- this.findInDeclaration(declaration);
117
- }
210
+ return references;
211
+ }
212
+ function findReferencesInDeclarations(definition, declarations, references) {
213
+ for (const declaration of declarations) {
214
+ findReferencesInDeclaration(definition, declaration, references);
118
215
  }
119
- findInDeclaration(declaration) {
120
- switch (declaration.kind) {
121
- case "constant":
122
- case "field": {
123
- if (declaration.type) {
124
- this.findInResolvedType(declaration.type);
216
+ }
217
+ function findReferencesInDeclaration(definition, declaration, references) {
218
+ // First, collect references from the doc comment.
219
+ switch (declaration.kind) {
220
+ case "import":
221
+ case "import-alias":
222
+ case "removed":
223
+ // No doc.
224
+ break;
225
+ default: {
226
+ for (const docPiece of declaration.doc.pieces) {
227
+ if (docPiece.kind === "reference") {
228
+ for (const namePart of docPiece.nameParts) {
229
+ if (namePart.declaration?.name === definition) {
230
+ references.push(namePart.token);
231
+ }
232
+ }
125
233
  }
126
- return null;
127
234
  }
128
- case "import":
129
- case "import-alias": {
130
- this.tokens.push(declaration.modulePath);
131
- return null;
235
+ }
236
+ }
237
+ // Then collect references from the declaration body.
238
+ switch (declaration.kind) {
239
+ case "constant": {
240
+ if (declaration.type) {
241
+ findReferencesInResolvedType(definition, declaration.type, references);
132
242
  }
133
- case "method": {
134
- if (declaration.requestType) {
135
- this.findInResolvedType(declaration.requestType);
136
- }
137
- if (declaration.responseType) {
138
- this.findInResolvedType(declaration.responseType);
139
- }
140
- return null;
243
+ findReferencesInValue(definition, declaration.value, references);
244
+ break;
245
+ }
246
+ case "field": {
247
+ if (declaration.type) {
248
+ findReferencesInResolvedType(definition, declaration.type, references);
141
249
  }
142
- case "record": {
143
- this.findInDeclarations(declaration.fields);
144
- return null;
250
+ break;
251
+ }
252
+ case "import":
253
+ case "import-alias": {
254
+ // Module path tokens are not declaration references.
255
+ break;
256
+ }
257
+ case "method": {
258
+ if (declaration.requestType) {
259
+ findReferencesInResolvedType(definition, declaration.requestType, references);
145
260
  }
146
- case "removed": {
147
- return null;
261
+ if (declaration.responseType) {
262
+ findReferencesInResolvedType(definition, declaration.responseType, references);
148
263
  }
264
+ break;
265
+ }
266
+ case "record": {
267
+ findReferencesInDeclarations(definition, declaration.fields, references);
268
+ break;
269
+ }
270
+ case "removed": {
271
+ break;
149
272
  }
150
273
  }
151
- findInResolvedType(type) {
152
- switch (type.kind) {
153
- case "array": {
154
- if (type.key) {
155
- for (const item of type.key.path) {
156
- if (item.declaration) {
157
- this.tokens.push(item.name);
158
- }
274
+ }
275
+ function findReferencesInResolvedType(definition, type, references) {
276
+ switch (type.kind) {
277
+ case "array": {
278
+ if (type.key) {
279
+ for (const item of type.key.path) {
280
+ if (item.declaration?.name === definition) {
281
+ references.push(item.name);
159
282
  }
160
283
  }
161
- return this.findInResolvedType(type.item);
162
284
  }
163
- case "optional": {
164
- return this.findInResolvedType(type.other);
285
+ findReferencesInResolvedType(definition, type.item, references);
286
+ break;
287
+ }
288
+ case "optional": {
289
+ findReferencesInResolvedType(definition, type.other, references);
290
+ break;
291
+ }
292
+ case "primitive": {
293
+ break;
294
+ }
295
+ case "record": {
296
+ for (const namePart of type.nameParts) {
297
+ if (namePart.declaration.name === definition) {
298
+ references.push(namePart.token);
299
+ }
300
+ }
301
+ break;
302
+ }
303
+ }
304
+ }
305
+ function findReferencesInValue(definition, value, references) {
306
+ switch (value.kind) {
307
+ case "array": {
308
+ for (const item of value.items) {
309
+ findReferencesInValue(definition, item, references);
165
310
  }
166
- case "primitive": {
167
- return null;
311
+ break;
312
+ }
313
+ case "object": {
314
+ if (!value.record) {
315
+ break;
168
316
  }
169
- case "record": {
170
- for (const namePart of type.nameParts) {
171
- if (namePart.declaration) {
172
- this.tokens.push(namePart.token);
317
+ if (value.record.recordType === "struct") {
318
+ // Check field name keys, then recurse into field values.
319
+ for (const entry of Object.values(value.entries)) {
320
+ if (entry.fieldDeclaration?.name === definition) {
321
+ references.push(entry.name);
322
+ }
323
+ findReferencesInValue(definition, entry.value, references);
324
+ }
325
+ }
326
+ else {
327
+ // An enum. Only the "kind" token is a navigable reference — mirrors
328
+ // findDefinition's behavior of returning null when the position is
329
+ // not within the kind token.
330
+ const kindEntry = value.entries["kind"];
331
+ if (kindEntry && kindEntry.value.kind === "literal") {
332
+ const variantName = unquoteAndUnescape(kindEntry.value.token.text);
333
+ const variantDeclaration = value.record.nameToDeclaration[variantName];
334
+ if (variantDeclaration?.kind === "field" &&
335
+ variantDeclaration.name === definition) {
336
+ references.push(kindEntry.value.token);
173
337
  }
174
338
  }
175
- return null;
176
339
  }
340
+ break;
341
+ }
342
+ case "literal": {
343
+ break;
177
344
  }
178
345
  }
179
346
  }
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"module_set.d.ts","sourceRoot":"","sources":["../src/module_set.ts"],"names":[],"mappings":"AACA,OAAO,EAQL,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;IAwRzB,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,eAAe;IAkCvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAwFzB,OAAO,CAAC,gBAAgB;IAyExB,OAAO,CAAC,sBAAsB;IA0E9B,OAAO,CAAC,oBAAoB;IAgH5B,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;AAqQD,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;CAC/D"}
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"}
@@ -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 (!field || field.kind !== "field") {
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 (!field || field.kind !== "field") {
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.type = expectedStruct.key;
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 (!field || field.kind !== "field") {
579
+ if (field?.kind !== "field") {
575
580
  errors.push({
576
581
  token: token,
577
- message: `Field not found in enum ${expectedEnum.name.text}`,
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 field",
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 fields defined in
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 field
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 (!field || field.kind !== "field") {
626
+ if (field?.kind !== "field") {
621
627
  errors.push({
622
628
  token: kindValueToken,
623
- message: `Field not found in enum ${expectedEnum.name.text}`,
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.type = expectedEnum.key;
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 (!newIt || newIt.kind !== "record") {
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