@exornea/zeno-compiler 1.7.0 → 2.3.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.
Files changed (70) hide show
  1. package/bin/zeno-codegen.mjs +79 -31
  2. package/bin/zeno-diff-layout.mjs +60 -0
  3. package/bin/zeno-inspect.mjs +67 -0
  4. package/dist/analyzer.d.ts.map +1 -1
  5. package/dist/analyzer.js +48 -26
  6. package/dist/analyzer.js.map +1 -1
  7. package/dist/emitter-ast.d.ts +8 -0
  8. package/dist/emitter-ast.d.ts.map +1 -0
  9. package/dist/emitter-ast.js +34 -0
  10. package/dist/emitter-ast.js.map +1 -0
  11. package/dist/emitter-capabilities.d.ts +8 -0
  12. package/dist/emitter-capabilities.d.ts.map +1 -0
  13. package/dist/emitter-capabilities.js +59 -0
  14. package/dist/emitter-capabilities.js.map +1 -0
  15. package/dist/emitter-fields.d.ts +3 -0
  16. package/dist/emitter-fields.d.ts.map +1 -0
  17. package/dist/emitter-fields.js +180 -0
  18. package/dist/emitter-fields.js.map +1 -0
  19. package/dist/emitter-input.d.ts +3 -0
  20. package/dist/emitter-input.d.ts.map +1 -0
  21. package/dist/emitter-input.js +45 -0
  22. package/dist/emitter-input.js.map +1 -0
  23. package/dist/emitter-names.d.ts +5 -0
  24. package/dist/emitter-names.d.ts.map +1 -0
  25. package/dist/emitter-names.js +10 -0
  26. package/dist/emitter-names.js.map +1 -0
  27. package/dist/emitter-runtime-imports.d.ts +3 -0
  28. package/dist/emitter-runtime-imports.d.ts.map +1 -0
  29. package/dist/emitter-runtime-imports.js +73 -0
  30. package/dist/emitter-runtime-imports.js.map +1 -0
  31. package/dist/emitter-scan-kernels.d.ts +10 -0
  32. package/dist/emitter-scan-kernels.d.ts.map +1 -0
  33. package/dist/emitter-scan-kernels.js +174 -0
  34. package/dist/emitter-scan-kernels.js.map +1 -0
  35. package/dist/emitter-static-accessors.d.ts +4 -0
  36. package/dist/emitter-static-accessors.d.ts.map +1 -0
  37. package/dist/emitter-static-accessors.js +114 -0
  38. package/dist/emitter-static-accessors.js.map +1 -0
  39. package/dist/emitter-template.d.ts +7 -0
  40. package/dist/emitter-template.d.ts.map +1 -1
  41. package/dist/emitter-template.js +8 -3
  42. package/dist/emitter-template.js.map +1 -1
  43. package/dist/emitter-writers.d.ts +4 -0
  44. package/dist/emitter-writers.d.ts.map +1 -0
  45. package/dist/emitter-writers.js +246 -0
  46. package/dist/emitter-writers.js.map +1 -0
  47. package/dist/emitter.d.ts +9 -1
  48. package/dist/emitter.d.ts.map +1 -1
  49. package/dist/emitter.js +31 -660
  50. package/dist/emitter.js.map +1 -1
  51. package/dist/index.d.ts +5 -2
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +5 -2
  54. package/dist/index.js.map +1 -1
  55. package/dist/layout-manifest.d.ts +37 -0
  56. package/dist/layout-manifest.d.ts.map +1 -0
  57. package/dist/layout-manifest.js +251 -0
  58. package/dist/layout-manifest.js.map +1 -0
  59. package/dist/lowering.d.ts +5 -2
  60. package/dist/lowering.d.ts.map +1 -1
  61. package/dist/lowering.js +86 -27
  62. package/dist/lowering.js.map +1 -1
  63. package/dist/source-map.d.ts +10 -0
  64. package/dist/source-map.d.ts.map +1 -0
  65. package/dist/source-map.js +371 -0
  66. package/dist/source-map.js.map +1 -0
  67. package/dist/validator.d.ts.map +1 -1
  68. package/dist/validator.js +34 -16
  69. package/dist/validator.js.map +1 -1
  70. package/package.json +5 -3
package/dist/lowering.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import ts from "typescript";
2
2
  import { POINTER32_BYTE_LENGTH, POINTER32_NULL, SPAN32_BYTE_LENGTH, VECTOR32_BYTE_LENGTH, scalarAlignment, scalarByteLength, } from "@exornea/zeno-schema";
3
- import { createDiagnostic, } from "./diagnostics.js";
3
+ import { createDiagnostic } from "./diagnostics.js";
4
4
  import { ambiguousLayout, insufficientResolution, measure, unsupportedAtPhase, } from "./measurement.js";
5
5
  import { err, ok } from "./result.js";
6
6
  const SCALAR_NAMES = new Set([
@@ -51,7 +51,16 @@ export function lowerField(property, context) {
51
51
  error: unsupportedAtPhase("optional property", "phase-0"),
52
52
  }));
53
53
  }
54
- return lowerTypeNode(property.type, fieldName, context);
54
+ const lowered = lowerTypeNode(property.type, fieldName, context);
55
+ if (!lowered.ok) {
56
+ return lowered;
57
+ }
58
+ const source = sourceLocation(context.sourceFile, property.name);
59
+ return ok({
60
+ alignment: lowered.value.alignment,
61
+ byteLength: lowered.value.byteLength,
62
+ build: (offset) => attachSourceLocation(lowered.value.build(offset), source),
63
+ });
55
64
  }
56
65
  function lowerTypeNode(typeNode, fieldName, context) {
57
66
  const syntaxResult = lowerSyntaxTypeNode(typeNode, fieldName, context);
@@ -94,16 +103,7 @@ function unsupportedNumberType(typeNode, fieldName, context) {
94
103
  structName: context.structName,
95
104
  fieldName,
96
105
  measurement: measure("number", "typescript-type", "phase-0"),
97
- error: ambiguousLayout("number", [
98
- "i8",
99
- "u8",
100
- "i16",
101
- "u16",
102
- "i32",
103
- "u32",
104
- "f32",
105
- "f64",
106
- ]),
106
+ error: ambiguousLayout("number", ["i8", "u8", "i16", "u16", "i32", "u32", "f32", "f64"]),
107
107
  }));
108
108
  }
109
109
  function lowerBareStringType(fieldName) {
@@ -153,7 +153,10 @@ function lowerTypeReferenceNode(typeNode, referenceName, fieldName, context) {
153
153
  return lowerDynamicBytesReference(fieldName);
154
154
  }
155
155
  if (referenceName === "vector") {
156
- return lowerVectorReference(typeNode, fieldName, context);
156
+ return lowerVectorReference(typeNode, fieldName, context, "fixed-stride");
157
+ }
158
+ if (referenceName === "dynamic_vector" || referenceName === "dynamicVector") {
159
+ return lowerVectorReference(typeNode, fieldName, context, "dynamic-struct");
157
160
  }
158
161
  if (referenceName === "fixed_array" || referenceName === "fixedArray") {
159
162
  return lowerFixedArrayReference(typeNode, fieldName, context);
@@ -242,8 +245,8 @@ function lowerDynamicBytesReference(fieldName) {
242
245
  }),
243
246
  });
244
247
  }
245
- function lowerVectorReference(typeNode, fieldName, context) {
246
- const element = lowerVectorElement(typeNode, fieldName, context);
248
+ function lowerVectorReference(typeNode, fieldName, context, mode) {
249
+ const element = lowerVectorElement(typeNode, fieldName, context, mode);
247
250
  if (!element.ok) {
248
251
  return element;
249
252
  }
@@ -329,9 +332,7 @@ function lowerStructReference(typeNode, referenceName, fieldName, context) {
329
332
  });
330
333
  }
331
334
  function fixedStringEncoding(referenceName) {
332
- return referenceName === "fixed_ascii" || referenceName === "fixedAscii"
333
- ? "ascii"
334
- : "utf8";
335
+ return referenceName === "fixed_ascii" || referenceName === "fixedAscii" ? "ascii" : "utf8";
335
336
  }
336
337
  function missingFixedArrayElementType(typeNode, fieldName, context) {
337
338
  return loweringError(createDiagnostic(context.sourceFile, typeNode, "UNSUPPORTED_TYPE", `Field "${fieldName}" must provide a fixedArray<T, N> element type.`, {
@@ -399,6 +400,8 @@ function lowerFixedArrayElementType(elementType, fieldName, context) {
399
400
  referenceName === "ascii" ||
400
401
  referenceName === "bytes" ||
401
402
  referenceName === "vector" ||
403
+ referenceName === "dynamic_vector" ||
404
+ referenceName === "dynamicVector" ||
402
405
  referenceName === "fixed_array" ||
403
406
  referenceName === "fixedArray" ||
404
407
  referenceName === "pointer") {
@@ -426,19 +429,21 @@ function unsupportedFixedArrayElementType(elementType, fieldName, context) {
426
429
  error: unsupportedAtPhase(elementType.getText(context.sourceFile), "phase-0"),
427
430
  }));
428
431
  }
429
- function lowerVectorElement(vectorType, fieldName, context) {
432
+ function lowerVectorElement(vectorType, fieldName, context, mode) {
430
433
  const [elementType] = vectorType.typeArguments ?? [];
431
434
  if (elementType === undefined) {
432
435
  return missingVectorElementType(vectorType, fieldName, context);
433
436
  }
434
- return lowerVectorElementType(elementType, fieldName, context);
437
+ return lowerVectorElementType(elementType, fieldName, context, mode);
435
438
  }
436
- function lowerVectorElementType(elementType, fieldName, context) {
439
+ function lowerVectorElementType(elementType, fieldName, context, mode) {
437
440
  if (ts.isArrayTypeNode(elementType)) {
438
441
  return nestedBareArrayElement(elementType, fieldName, context);
439
442
  }
440
443
  if (elementType.kind === ts.SyntaxKind.StringKeyword) {
441
- return lowerDynamicStringVectorElement("utf8");
444
+ return mode === "dynamic-struct"
445
+ ? unsupportedDynamicVectorElementType(elementType, fieldName, context)
446
+ : lowerDynamicStringVectorElement("utf8");
442
447
  }
443
448
  if (!ts.isTypeReferenceNode(elementType)) {
444
449
  return unsupportedVectorElementType(elementType, fieldName, context);
@@ -447,7 +452,7 @@ function lowerVectorElementType(elementType, fieldName, context) {
447
452
  if (referenceName === undefined) {
448
453
  return unsupportedQualifiedVectorElementType(elementType, fieldName, context);
449
454
  }
450
- return lowerVectorElementReference(elementType, referenceName, fieldName, context);
455
+ return lowerVectorElementReference(elementType, referenceName, fieldName, context, mode);
451
456
  }
452
457
  function missingVectorElementType(vectorType, fieldName, context) {
453
458
  return loweringError(createDiagnostic(context.sourceFile, vectorType, "UNSUPPORTED_TYPE", `Field "${fieldName}" must provide a vector element type.`, {
@@ -481,7 +486,10 @@ function unsupportedQualifiedVectorElementType(elementType, fieldName, context)
481
486
  error: unsupportedAtPhase(elementType.getText(context.sourceFile), "phase-0"),
482
487
  }));
483
488
  }
484
- function lowerVectorElementReference(elementType, referenceName, fieldName, context) {
489
+ function lowerVectorElementReference(elementType, referenceName, fieldName, context, mode) {
490
+ if (mode === "dynamic-struct") {
491
+ return lowerDynamicStructVectorElement(elementType, referenceName, fieldName, context);
492
+ }
485
493
  if (SCALAR_NAMES.has(referenceName)) {
486
494
  return lowerScalarVectorElement(referenceName);
487
495
  }
@@ -509,6 +517,47 @@ function lowerVectorElementReference(elementType, referenceName, fieldName, cont
509
517
  }
510
518
  return lowerStructVectorElement(elementType, referenceName, context);
511
519
  }
520
+ function lowerDynamicStructVectorElement(elementType, referenceName, fieldName, context) {
521
+ if (SCALAR_NAMES.has(referenceName) ||
522
+ SCALAR_ALIASES.has(referenceName) ||
523
+ referenceName === "fixed_bytes" ||
524
+ referenceName === "fixedBytes" ||
525
+ referenceName === "fixed_utf8" ||
526
+ referenceName === "fixed_ascii" ||
527
+ referenceName === "fixedUtf8" ||
528
+ referenceName === "fixedAscii" ||
529
+ referenceName === "utf8" ||
530
+ referenceName === "ascii" ||
531
+ referenceName === "bytes" ||
532
+ referenceName === "pointer" ||
533
+ referenceName === "vector" ||
534
+ referenceName === "dynamic_vector" ||
535
+ referenceName === "dynamicVector" ||
536
+ referenceName === "fixed_array" ||
537
+ referenceName === "fixedArray") {
538
+ return unsupportedDynamicVectorElementType(elementType, fieldName, context);
539
+ }
540
+ const structLayout = context.lowerStructByName(referenceName, elementType);
541
+ if (!structLayout.ok) {
542
+ return structLayout;
543
+ }
544
+ return ok({
545
+ kind: "dynamic-struct",
546
+ typeName: structLayout.value.name,
547
+ byteLength: 4,
548
+ descriptor: "pointer32",
549
+ offsetBase: "object",
550
+ offsetEncoding: "u32",
551
+ });
552
+ }
553
+ function unsupportedDynamicVectorElementType(elementType, fieldName, context) {
554
+ return loweringError(createDiagnostic(context.sourceFile, elementType, "UNSUPPORTED_TYPE", `Field "${fieldName}" uses dynamicVector<T>, which only supports struct element types.`, {
555
+ structName: context.structName,
556
+ fieldName,
557
+ measurement: measure(elementType.getText(context.sourceFile), "typescript-type", "phase-0"),
558
+ error: unsupportedAtPhase("dynamicVector non-struct element", "phase-0"),
559
+ }));
560
+ }
512
561
  function lowerScalarVectorElement(scalar) {
513
562
  return ok({
514
563
  kind: "scalar",
@@ -583,9 +632,7 @@ function extractNumericTypeArg(typeNode, fieldName, context) {
583
632
  }
584
633
  function extractNumericTypeArgAt(typeNode, index, fieldName, context) {
585
634
  const arg = typeNode.typeArguments?.[index];
586
- if (arg !== undefined &&
587
- ts.isLiteralTypeNode(arg) &&
588
- ts.isNumericLiteral(arg.literal)) {
635
+ if (arg !== undefined && ts.isLiteralTypeNode(arg) && ts.isNumericLiteral(arg.literal)) {
589
636
  return ok(Number(arg.literal.text));
590
637
  }
591
638
  return loweringError(createDiagnostic(context.sourceFile, typeNode, "NON_NUMERIC_LENGTH", `Field "${fieldName}" must use a numeric literal length.`, {
@@ -628,4 +675,16 @@ function getPropertyName(propertyName) {
628
675
  }
629
676
  return undefined;
630
677
  }
678
+ export function sourceLocation(sourceFile, node) {
679
+ const position = sourceFile.getLineAndCharacterOfPosition(node.getStart(sourceFile));
680
+ return {
681
+ fileName: sourceFile.fileName,
682
+ line: position.line + 1,
683
+ character: position.character + 1,
684
+ };
685
+ }
686
+ export function attachSourceLocation(value, source) {
687
+ value.source = source;
688
+ return value;
689
+ }
631
690
  //# sourceMappingURL=lowering.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lowering.js","sourceRoot":"","sources":["../src/lowering.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lowering.js","sourceRoot":"","sources":["../src/lowering.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { StructLayout } from "@exornea/zeno-schema";
2
+ export interface ProjectionSourceMap {
3
+ version: 3;
4
+ file: string;
5
+ sources: string[];
6
+ names: string[];
7
+ mappings: string;
8
+ }
9
+ export declare function createProjectionSourceMap(code: string, layouts: readonly StructLayout[], generatedFile: string): ProjectionSourceMap;
10
+ //# sourceMappingURL=source-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-map.d.ts","sourceRoot":"","sources":["../src/source-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA+B,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGtF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAUD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,aAAa,EAAE,MAAM,GACpB,mBAAmB,CAoBrB"}