@exornea/zeno-compiler 1.7.0 → 2.2.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 (58) 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-input.d.ts +3 -0
  16. package/dist/emitter-input.d.ts.map +1 -0
  17. package/dist/emitter-input.js +45 -0
  18. package/dist/emitter-input.js.map +1 -0
  19. package/dist/emitter-names.d.ts +5 -0
  20. package/dist/emitter-names.d.ts.map +1 -0
  21. package/dist/emitter-names.js +10 -0
  22. package/dist/emitter-names.js.map +1 -0
  23. package/dist/emitter-runtime-imports.d.ts +3 -0
  24. package/dist/emitter-runtime-imports.d.ts.map +1 -0
  25. package/dist/emitter-runtime-imports.js +73 -0
  26. package/dist/emitter-runtime-imports.js.map +1 -0
  27. package/dist/emitter-scan-kernels.d.ts +10 -0
  28. package/dist/emitter-scan-kernels.d.ts.map +1 -0
  29. package/dist/emitter-scan-kernels.js +174 -0
  30. package/dist/emitter-scan-kernels.js.map +1 -0
  31. package/dist/emitter-template.d.ts +7 -0
  32. package/dist/emitter-template.d.ts.map +1 -1
  33. package/dist/emitter-template.js +8 -3
  34. package/dist/emitter-template.js.map +1 -1
  35. package/dist/emitter.d.ts +8 -1
  36. package/dist/emitter.d.ts.map +1 -1
  37. package/dist/emitter.js +247 -335
  38. package/dist/emitter.js.map +1 -1
  39. package/dist/index.d.ts +5 -2
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +5 -2
  42. package/dist/index.js.map +1 -1
  43. package/dist/layout-manifest.d.ts +37 -0
  44. package/dist/layout-manifest.d.ts.map +1 -0
  45. package/dist/layout-manifest.js +251 -0
  46. package/dist/layout-manifest.js.map +1 -0
  47. package/dist/lowering.d.ts +5 -2
  48. package/dist/lowering.d.ts.map +1 -1
  49. package/dist/lowering.js +86 -27
  50. package/dist/lowering.js.map +1 -1
  51. package/dist/source-map.d.ts +10 -0
  52. package/dist/source-map.d.ts.map +1 -0
  53. package/dist/source-map.js +371 -0
  54. package/dist/source-map.js.map +1 -0
  55. package/dist/validator.d.ts.map +1 -1
  56. package/dist/validator.js +34 -16
  57. package/dist/validator.js.map +1 -1
  58. package/package.json +5 -3
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../src/emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../src/emitter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,11 @@
1
1
  export { analyzeProjectionFile, analyzeProjectionSourceFile, type AnalyzeOptions, type AnalyzeResult, } from "./analyzer.js";
2
2
  export { createIrDiagnostic, createDiagnostic, formatDiagnosticLocation, type DiagnosticCode, type DiagnosticSource, type LayoutDiagnostic, } from "./diagnostics.js";
3
3
  export { MEASUREMENT_LAYERS, ambiguousLayout, duplicateDefinition, insufficientResolution, layerCanObserve, layoutInvariantViolation, measure, unsupportedAtPhase, type Measurement, type Phase, type Resolution, type ValidationError, } from "./measurement.js";
4
- export { andThen, err, isErr, isOk, mapResult, ok, type Result, } from "./result.js";
5
- export { emitProjectionFile, emitStructView, type EmitOptions, } from "./emitter.js";
4
+ export { andThen, err, isErr, isOk, mapResult, ok, type Result } from "./result.js";
5
+ export { emitProjectionFile, emitProjectionFileWithSourceMap, emitStructView, type EmitProjectionFileResult, type EmitOptions, } from "./emitter.js";
6
+ export { normalizeScanKernelMode, parseScanKernelMode, type ScanKernelMode, } from "./emitter-scan-kernels.js";
7
+ export { assertLayoutManifest, createLayoutManifest, diffLayoutManifests, formatLayoutDiff, formatLayoutInspection, isLayoutManifest, type LayoutDiffResult, type LayoutManifest, type LayoutManifestField, type LayoutManifestStruct, } from "./layout-manifest.js";
6
8
  export { lowerField, type LoweringContext } from "./lowering.js";
9
+ export { type ProjectionSourceMap } from "./source-map.js";
7
10
  export { validateLayouts } from "./validator.js";
8
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,wBAAwB,EACxB,OAAO,EACP,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,OAAO,EACP,GAAG,EACH,KAAK,EACL,IAAI,EACJ,SAAS,EACT,EAAE,EACF,KAAK,MAAM,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,KAAK,WAAW,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,wBAAwB,EACxB,OAAO,EACP,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EACL,kBAAkB,EAClB,+BAA+B,EAC/B,cAAc,EACd,KAAK,wBAAwB,EAC7B,KAAK,WAAW,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,cAAc,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,11 @@
1
1
  export { analyzeProjectionFile, analyzeProjectionSourceFile, } from "./analyzer.js";
2
2
  export { createIrDiagnostic, createDiagnostic, formatDiagnosticLocation, } from "./diagnostics.js";
3
3
  export { MEASUREMENT_LAYERS, ambiguousLayout, duplicateDefinition, insufficientResolution, layerCanObserve, layoutInvariantViolation, measure, unsupportedAtPhase, } from "./measurement.js";
4
- export { andThen, err, isErr, isOk, mapResult, ok, } from "./result.js";
5
- export { emitProjectionFile, emitStructView, } from "./emitter.js";
4
+ export { andThen, err, isErr, isOk, mapResult, ok } from "./result.js";
5
+ export { emitProjectionFile, emitProjectionFileWithSourceMap, emitStructView, } from "./emitter.js";
6
+ export { normalizeScanKernelMode, parseScanKernelMode, } from "./emitter-scan-kernels.js";
7
+ export { assertLayoutManifest, createLayoutManifest, diffLayoutManifests, formatLayoutDiff, formatLayoutInspection, isLayoutManifest, } from "./layout-manifest.js";
6
8
  export { lowerField } from "./lowering.js";
9
+ export {} from "./source-map.js";
7
10
  export { validateLayouts } from "./validator.js";
8
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAG5B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,GAIzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,wBAAwB,EACxB,OAAO,EACP,kBAAkB,GAKnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,OAAO,EACP,GAAG,EACH,KAAK,EACL,IAAI,EACJ,SAAS,EACT,EAAE,GAEH,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,cAAc,GAEf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAwB,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAG5B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,GAIzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,wBAAwB,EACxB,OAAO,EACP,kBAAkB,GAKnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAe,MAAM,aAAa,CAAC;AACpF,OAAO,EACL,kBAAkB,EAClB,+BAA+B,EAC/B,cAAc,GAGf,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GAEpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,GAKjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAwB,MAAM,eAAe,CAAC;AACjE,OAAO,EAA4B,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { StructLayout } from "@exornea/zeno-schema";
2
+ export interface LayoutManifestField {
3
+ readonly name: string;
4
+ readonly kind: string;
5
+ readonly offset: number;
6
+ readonly byteLength: number;
7
+ readonly alignment: number;
8
+ readonly scalar?: string;
9
+ readonly encoding?: string;
10
+ readonly descriptor?: string;
11
+ readonly element?: string;
12
+ readonly typeName?: string;
13
+ readonly targetTypeName?: string;
14
+ }
15
+ export interface LayoutManifestStruct {
16
+ readonly name: string;
17
+ readonly byteLength: number;
18
+ readonly alignment: number;
19
+ readonly endianness: "little" | "big";
20
+ readonly layoutHash: string;
21
+ readonly fields: readonly LayoutManifestField[];
22
+ }
23
+ export interface LayoutManifest {
24
+ readonly version: 1;
25
+ readonly structs: readonly LayoutManifestStruct[];
26
+ }
27
+ export interface LayoutDiffResult {
28
+ readonly breaking: readonly string[];
29
+ readonly versionRouted: readonly string[];
30
+ }
31
+ export declare function isLayoutManifest(value: unknown): value is LayoutManifest;
32
+ export declare function assertLayoutManifest(value: unknown, label?: string): asserts value is LayoutManifest;
33
+ export declare function createLayoutManifest(layouts: readonly StructLayout[]): LayoutManifest;
34
+ export declare function formatLayoutInspection(manifest: LayoutManifest): string;
35
+ export declare function diffLayoutManifests(previous: LayoutManifest, next: LayoutManifest): LayoutDiffResult;
36
+ export declare function formatLayoutDiff(diff: LayoutDiffResult): string;
37
+ //# sourceMappingURL=layout-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-manifest.d.ts","sourceRoot":"","sources":["../src/layout-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,YAAY,EAEb,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,QAAQ,GAAG,KAAK,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACnD;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAQxE;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,KAAK,SAAoB,GACxB,OAAO,CAAC,KAAK,IAAI,cAAc,CAIjC;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,cAAc,CAkBrF;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAuBvE;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,cAAc,GACnB,gBAAgB,CAuBlB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAoB/D"}
@@ -0,0 +1,251 @@
1
+ export function isLayoutManifest(value) {
2
+ if (!isRecord(value)) {
3
+ return false;
4
+ }
5
+ return (value.version === 1 && Array.isArray(value.structs) && value.structs.every(isManifestStruct));
6
+ }
7
+ export function assertLayoutManifest(value, label = "layout manifest") {
8
+ if (!isLayoutManifest(value)) {
9
+ throw new Error(`Invalid ${label}.`);
10
+ }
11
+ }
12
+ export function createLayoutManifest(layouts) {
13
+ return {
14
+ version: 1,
15
+ structs: layouts.map((layout) => {
16
+ const fields = layout.fields.map(fieldManifest);
17
+ const signature = {
18
+ name: layout.name,
19
+ byteLength: layout.byteLength,
20
+ alignment: layout.alignment,
21
+ endianness: layout.endianness,
22
+ fields,
23
+ };
24
+ return {
25
+ ...signature,
26
+ layoutHash: hashSignature(signature),
27
+ };
28
+ }),
29
+ };
30
+ }
31
+ export function formatLayoutInspection(manifest) {
32
+ const chunks = [];
33
+ for (const layout of manifest.structs) {
34
+ chunks.push(`Struct ${layout.name}`);
35
+ chunks.push(`byteLength=${layout.byteLength} alignment=${layout.alignment} endian=${layout.endianness} layoutHash=${layout.layoutHash}`);
36
+ chunks.push("field\tkind\toffset\tsize\talign");
37
+ for (const field of layout.fields) {
38
+ chunks.push([
39
+ field.name,
40
+ manifestFieldKind(field),
41
+ String(field.offset),
42
+ String(field.byteLength),
43
+ String(field.alignment),
44
+ ].join("\t"));
45
+ }
46
+ chunks.push("");
47
+ }
48
+ return chunks.join("\n").trimEnd();
49
+ }
50
+ export function diffLayoutManifests(previous, next) {
51
+ const breaking = [];
52
+ const versionRouted = [];
53
+ const previousLayouts = new Map(previous.structs.map((layout) => [layout.name, layout]));
54
+ const nextLayouts = new Map(next.structs.map((layout) => [layout.name, layout]));
55
+ for (const [name, previousLayout] of previousLayouts) {
56
+ const nextLayout = nextLayouts.get(name);
57
+ if (nextLayout === undefined) {
58
+ breaking.push(`Removed struct ${name}`);
59
+ continue;
60
+ }
61
+ compareLayout(previousLayout, nextLayout, breaking, versionRouted);
62
+ }
63
+ for (const name of nextLayouts.keys()) {
64
+ if (!previousLayouts.has(name)) {
65
+ versionRouted.push(`Added struct ${name}`);
66
+ }
67
+ }
68
+ return { breaking, versionRouted };
69
+ }
70
+ export function formatLayoutDiff(diff) {
71
+ if (diff.breaking.length === 0 && diff.versionRouted.length === 0) {
72
+ return "No layout differences.";
73
+ }
74
+ const lines = [];
75
+ if (diff.breaking.length > 0) {
76
+ lines.push("BREAKING:");
77
+ lines.push(...diff.breaking.map((item) => `- ${item}`));
78
+ }
79
+ if (diff.versionRouted.length > 0) {
80
+ if (lines.length > 0) {
81
+ lines.push("");
82
+ }
83
+ lines.push("SAFE ONLY WITH VERSION ROUTING:");
84
+ lines.push(...diff.versionRouted.map((item) => `- ${item}`));
85
+ }
86
+ return lines.join("\n");
87
+ }
88
+ function compareLayout(previous, next, breaking, versionRouted) {
89
+ compareValue(`${previous.name}.byteLength`, previous.byteLength, next.byteLength, breaking);
90
+ compareValue(`${previous.name}.alignment`, previous.alignment, next.alignment, breaking);
91
+ compareValue(`${previous.name}.endianness`, previous.endianness, next.endianness, breaking);
92
+ const previousFields = new Map(previous.fields.map((field) => [field.name, field]));
93
+ const nextFields = new Map(next.fields.map((field) => [field.name, field]));
94
+ for (const [name, previousField] of previousFields) {
95
+ const nextField = nextFields.get(name);
96
+ if (nextField === undefined) {
97
+ breaking.push(`Removed field ${previous.name}.${name}`);
98
+ continue;
99
+ }
100
+ compareField(previous.name, previousField, nextField, breaking);
101
+ }
102
+ for (const [name, field] of nextFields) {
103
+ if (!previousFields.has(name)) {
104
+ versionRouted.push(`Added ${previous.name}.${name} at offset ${field.offset} byteLength ${field.byteLength}`);
105
+ }
106
+ }
107
+ }
108
+ function isManifestStruct(value) {
109
+ if (!isRecord(value)) {
110
+ return false;
111
+ }
112
+ return (typeof value.name === "string" &&
113
+ isNonNegativeInteger(value.byteLength) &&
114
+ isNonNegativeInteger(value.alignment) &&
115
+ (value.endianness === "little" || value.endianness === "big") &&
116
+ typeof value.layoutHash === "string" &&
117
+ Array.isArray(value.fields) &&
118
+ value.fields.every(isManifestField));
119
+ }
120
+ function isManifestField(value) {
121
+ if (!isRecord(value)) {
122
+ return false;
123
+ }
124
+ return (typeof value.name === "string" &&
125
+ typeof value.kind === "string" &&
126
+ isNonNegativeInteger(value.offset) &&
127
+ isNonNegativeInteger(value.byteLength) &&
128
+ isNonNegativeInteger(value.alignment) &&
129
+ isOptionalString(value.scalar) &&
130
+ isOptionalString(value.encoding) &&
131
+ isOptionalString(value.descriptor) &&
132
+ isOptionalString(value.element) &&
133
+ isOptionalString(value.typeName) &&
134
+ isOptionalString(value.targetTypeName));
135
+ }
136
+ function isOptionalString(value) {
137
+ return value === undefined || typeof value === "string";
138
+ }
139
+ function isNonNegativeInteger(value) {
140
+ return Number.isInteger(value) && Number(value) >= 0;
141
+ }
142
+ function isRecord(value) {
143
+ return typeof value === "object" && value !== null;
144
+ }
145
+ function compareField(layoutName, previous, next, breaking) {
146
+ const label = `${layoutName}.${previous.name}`;
147
+ compareValue(`${label}.kind`, previous.kind, next.kind, breaking);
148
+ compareValue(`${label}.offset`, previous.offset, next.offset, breaking);
149
+ compareValue(`${label}.byteLength`, previous.byteLength, next.byteLength, breaking);
150
+ compareValue(`${label}.alignment`, previous.alignment, next.alignment, breaking);
151
+ compareValue(`${label}.scalar`, previous.scalar, next.scalar, breaking);
152
+ compareValue(`${label}.encoding`, previous.encoding, next.encoding, breaking);
153
+ compareValue(`${label}.descriptor`, previous.descriptor, next.descriptor, breaking);
154
+ compareValue(`${label}.element`, previous.element, next.element, breaking);
155
+ compareValue(`${label}.typeName`, previous.typeName, next.typeName, breaking);
156
+ compareValue(`${label}.targetTypeName`, previous.targetTypeName, next.targetTypeName, breaking);
157
+ }
158
+ function compareValue(label, previous, next, breaking) {
159
+ if (previous !== next) {
160
+ breaking.push(`${label} changed: ${String(previous)} -> ${String(next)}`);
161
+ }
162
+ }
163
+ function fieldManifest(field) {
164
+ const base = {
165
+ name: field.name,
166
+ kind: field.kind,
167
+ offset: field.offset,
168
+ byteLength: field.byteLength,
169
+ alignment: field.alignment,
170
+ };
171
+ switch (field.kind) {
172
+ case "scalar":
173
+ return { ...base, scalar: field.scalar };
174
+ case "fixed-string":
175
+ return { ...base, encoding: field.encoding };
176
+ case "dynamic-string":
177
+ return { ...base, descriptor: field.descriptor, encoding: field.encoding };
178
+ case "dynamic-bytes":
179
+ return { ...base, descriptor: field.descriptor };
180
+ case "struct":
181
+ return { ...base, typeName: field.typeName };
182
+ case "pointer":
183
+ return { ...base, descriptor: field.descriptor, targetTypeName: field.targetTypeName };
184
+ case "fixed-array":
185
+ return { ...base, element: fixedArrayElementKind(field.element) };
186
+ case "vector":
187
+ return { ...base, descriptor: field.descriptor, element: vectorElementKind(field.element) };
188
+ case "fixed-bytes":
189
+ return base;
190
+ }
191
+ }
192
+ function fixedArrayElementKind(element) {
193
+ if (element.kind === "scalar") {
194
+ return `scalar:${element.scalar}`;
195
+ }
196
+ if (element.kind === "fixed-string") {
197
+ return `fixed-string:${element.encoding}:${element.byteLength}`;
198
+ }
199
+ if (element.kind === "struct") {
200
+ return `struct:${element.typeName}:${element.byteLength}`;
201
+ }
202
+ return `${element.kind}:${element.byteLength}`;
203
+ }
204
+ function vectorElementKind(element) {
205
+ if (element.kind === "scalar") {
206
+ return `scalar:${element.scalar}`;
207
+ }
208
+ if (element.kind === "fixed-string" || element.kind === "dynamic-string") {
209
+ return `${element.kind}:${element.encoding}:${element.byteLength}`;
210
+ }
211
+ if (element.kind === "struct" || element.kind === "dynamic-struct") {
212
+ return `${element.kind}:${element.typeName}:${element.byteLength}`;
213
+ }
214
+ if (element.kind === "pointer") {
215
+ return `pointer:${element.targetTypeName}:${element.byteLength}`;
216
+ }
217
+ return `${element.kind}:${element.byteLength}`;
218
+ }
219
+ function manifestFieldKind(field) {
220
+ if (field.scalar !== undefined) {
221
+ return field.scalar;
222
+ }
223
+ if (field.element !== undefined) {
224
+ return field.descriptor === undefined
225
+ ? `${field.kind}<${field.element}>`
226
+ : `${field.descriptor}<${field.element}>`;
227
+ }
228
+ if (field.encoding !== undefined) {
229
+ return `${field.kind}:${field.encoding}`;
230
+ }
231
+ if (field.descriptor !== undefined) {
232
+ return field.descriptor;
233
+ }
234
+ if (field.typeName !== undefined) {
235
+ return `${field.kind}:${field.typeName}`;
236
+ }
237
+ if (field.targetTypeName !== undefined) {
238
+ return `${field.kind}:${field.targetTypeName}`;
239
+ }
240
+ return field.kind;
241
+ }
242
+ function hashSignature(value) {
243
+ const data = JSON.stringify(value);
244
+ let hash = 0x811c9dc5;
245
+ for (let index = 0; index < data.length; index += 1) {
246
+ hash ^= data.charCodeAt(index);
247
+ hash = Math.imul(hash, 0x01000193) >>> 0;
248
+ }
249
+ return `0x${hash.toString(16).padStart(8, "0")}`;
250
+ }
251
+ //# sourceMappingURL=layout-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-manifest.js","sourceRoot":"","sources":["../src/layout-manifest.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
1
  import ts from "typescript";
2
- import { type Endianness, type FieldLayout, type StructLayout } from "@exornea/zeno-schema";
2
+ import { type Endianness, type FieldLayout, type SourceLocation, type StructLayout } from "@exornea/zeno-schema";
3
3
  import { type LayoutDiagnostic } from "./diagnostics.js";
4
4
  import { type Result } from "./result.js";
5
5
  export interface LoweringContext {
6
6
  readonly sourceFile: ts.SourceFile;
7
7
  readonly endianness: Endianness;
8
8
  readonly lowerStructByName: (name: string, node: ts.Node) => Result<StructLayout, LayoutDiagnostic>;
9
- readonly diagnostics: LayoutDiagnostic[];
10
9
  readonly structName: string;
11
10
  }
12
11
  export interface LoweredFieldShape {
@@ -15,4 +14,8 @@ export interface LoweredFieldShape {
15
14
  readonly build: (offset: number) => FieldLayout;
16
15
  }
17
16
  export declare function lowerField(property: ts.PropertySignature, context: LoweringContext): Result<LoweredFieldShape, LayoutDiagnostic>;
17
+ export declare function sourceLocation(sourceFile: ts.SourceFile, node: ts.Node): SourceLocation;
18
+ export declare function attachSourceLocation<T extends {
19
+ source?: SourceLocation;
20
+ }>(value: T, source: SourceLocation): T;
18
21
  //# sourceMappingURL=lowering.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lowering.d.ts","sourceRoot":"","sources":["../src/lowering.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAQL,KAAK,UAAU,EACf,KAAK,WAAW,EAGhB,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AA2BnD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,CAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,EAAE,CAAC,IAAI,KACV,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,WAAW,CAAC;CACjD;AAQD,wBAAgB,UAAU,CACxB,QAAQ,EAAE,EAAE,CAAC,iBAAiB,EAC9B,OAAO,EAAE,eAAe,GACvB,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CA0D7C"}
1
+ {"version":3,"file":"lowering.d.ts","sourceRoot":"","sources":["../src/lowering.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAQL,KAAK,UAAU,EACf,KAAK,WAAW,EAGhB,KAAK,cAAc,EACnB,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAO3E,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AA2BnD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,CAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,EAAE,CAAC,IAAI,KACV,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,WAAW,CAAC;CACjD;AAQD,wBAAgB,UAAU,CACxB,QAAQ,EAAE,EAAE,CAAC,iBAAiB,EAC9B,OAAO,EAAE,eAAe,GACvB,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAoE7C;AAg/BD,wBAAgB,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,cAAc,CAOvF;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS;IAAE,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,EACxE,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,cAAc,GACrB,CAAC,CAGH"}