@tsonic/frontend 0.0.27 → 0.0.28

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 (111) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/dotnet-metadata.d.ts +36 -7
  3. package/dist/dotnet-metadata.d.ts.map +1 -1
  4. package/dist/dotnet-metadata.js +82 -6
  5. package/dist/dotnet-metadata.js.map +1 -1
  6. package/dist/graph/extraction/orchestrator.d.ts.map +1 -1
  7. package/dist/graph/extraction/orchestrator.js +2 -3
  8. package/dist/graph/extraction/orchestrator.js.map +1 -1
  9. package/dist/ir/binding-resolution.test.js +6 -11
  10. package/dist/ir/binding-resolution.test.js.map +1 -1
  11. package/dist/ir/bindings-disambiguation.test.js +6 -18
  12. package/dist/ir/bindings-disambiguation.test.js.map +1 -1
  13. package/dist/ir/builder/orchestrator.d.ts.map +1 -1
  14. package/dist/ir/builder/orchestrator.js +2 -3
  15. package/dist/ir/builder/orchestrator.js.map +1 -1
  16. package/dist/ir/builder/types.d.ts +0 -2
  17. package/dist/ir/builder/types.d.ts.map +1 -1
  18. package/dist/ir/builder.test.js +1 -1
  19. package/dist/ir/converters/expressions/access.d.ts.map +1 -1
  20. package/dist/ir/converters/expressions/access.js +35 -14
  21. package/dist/ir/converters/expressions/access.js.map +1 -1
  22. package/dist/ir/converters/expressions/numeric-recovery.test.d.ts +3 -3
  23. package/dist/ir/converters/expressions/numeric-recovery.test.js +31 -31
  24. package/dist/ir/program-context.d.ts.map +1 -1
  25. package/dist/ir/program-context.js +7 -24
  26. package/dist/ir/program-context.js.map +1 -1
  27. package/dist/ir/type-system/internal/type-converter/orchestrator.d.ts.map +1 -1
  28. package/dist/ir/type-system/internal/type-converter/orchestrator.js +10 -0
  29. package/dist/ir/type-system/internal/type-converter/orchestrator.js.map +1 -1
  30. package/dist/ir/type-system/internal/type-registry.d.ts +0 -2
  31. package/dist/ir/type-system/internal/type-registry.d.ts.map +1 -1
  32. package/dist/ir/type-system/internal/type-registry.js +8 -9
  33. package/dist/ir/type-system/internal/type-registry.js.map +1 -1
  34. package/dist/ir/type-system/internal/universe/clr-catalog.d.ts +3 -4
  35. package/dist/ir/type-system/internal/universe/clr-catalog.d.ts.map +1 -1
  36. package/dist/ir/type-system/internal/universe/clr-catalog.js +129 -99
  37. package/dist/ir/type-system/internal/universe/clr-catalog.js.map +1 -1
  38. package/dist/ir/type-system/internal/universe/index.d.ts +2 -2
  39. package/dist/ir/type-system/internal/universe/index.d.ts.map +1 -1
  40. package/dist/ir/type-system/internal/universe/index.js +1 -1
  41. package/dist/ir/type-system/internal/universe/index.js.map +1 -1
  42. package/dist/ir/type-system/internal/universe/source-catalog.d.ts +0 -2
  43. package/dist/ir/type-system/internal/universe/source-catalog.d.ts.map +1 -1
  44. package/dist/ir/type-system/internal/universe/source-catalog.js +1 -6
  45. package/dist/ir/type-system/internal/universe/source-catalog.js.map +1 -1
  46. package/dist/ir/type-system/internal/universe/types.d.ts +51 -106
  47. package/dist/ir/type-system/internal/universe/types.d.ts.map +1 -1
  48. package/dist/ir/type-system/internal/universe/types.js +1 -1
  49. package/dist/ir/type-system/internal/universe/types.js.map +1 -1
  50. package/dist/ir/type-system/internal/universe/unified-universe.d.ts +1 -1
  51. package/dist/ir/type-system/internal/universe/unified-universe.d.ts.map +1 -1
  52. package/dist/ir/type-system/internal/universe/unified-universe.js +2 -8
  53. package/dist/ir/type-system/internal/universe/unified-universe.js.map +1 -1
  54. package/dist/ir/type-system/type-system.d.ts.map +1 -1
  55. package/dist/ir/type-system/type-system.js +1 -2
  56. package/dist/ir/type-system/type-system.js.map +1 -1
  57. package/dist/ir/types/expressions.d.ts +1 -2
  58. package/dist/ir/types/expressions.d.ts.map +1 -1
  59. package/dist/ir/validation/attribute-collection-pass.d.ts.map +1 -1
  60. package/dist/ir/validation/attribute-collection-pass.js +11 -4
  61. package/dist/ir/validation/attribute-collection-pass.js.map +1 -1
  62. package/dist/ir/validation/attribute-collection-pass.test.js +438 -0
  63. package/dist/ir/validation/attribute-collection-pass.test.js.map +1 -1
  64. package/dist/ir/validation/numeric-proof-pass.d.ts.map +1 -1
  65. package/dist/ir/validation/numeric-proof-pass.js +1 -4
  66. package/dist/ir/validation/numeric-proof-pass.js.map +1 -1
  67. package/dist/program/bindings.d.ts +8 -7
  68. package/dist/program/bindings.d.ts.map +1 -1
  69. package/dist/program/bindings.js +39 -55
  70. package/dist/program/bindings.js.map +1 -1
  71. package/dist/program/bindings.test.js +12 -14
  72. package/dist/program/bindings.test.js.map +1 -1
  73. package/dist/program/dependency-graph.d.ts.map +1 -1
  74. package/dist/program/dependency-graph.js +14 -10
  75. package/dist/program/dependency-graph.js.map +1 -1
  76. package/dist/program/metadata.d.ts +5 -3
  77. package/dist/program/metadata.d.ts.map +1 -1
  78. package/dist/program/metadata.js +16 -18
  79. package/dist/program/metadata.js.map +1 -1
  80. package/dist/program/types.d.ts +0 -2
  81. package/dist/program/types.d.ts.map +1 -1
  82. package/dist/resolver/clr-bindings-resolver.d.ts +0 -5
  83. package/dist/resolver/clr-bindings-resolver.d.ts.map +1 -1
  84. package/dist/resolver/clr-bindings-resolver.js +0 -11
  85. package/dist/resolver/clr-bindings-resolver.js.map +1 -1
  86. package/dist/resolver/clr-bindings-resolver.test.js +2 -5
  87. package/dist/resolver/clr-bindings-resolver.test.js.map +1 -1
  88. package/dist/resolver/namespace.d.ts +1 -2
  89. package/dist/resolver/namespace.d.ts.map +1 -1
  90. package/dist/resolver/namespace.js +3 -3
  91. package/dist/resolver/namespace.js.map +1 -1
  92. package/dist/resolver/namespace.test.js +6 -6
  93. package/dist/resolver/naming.d.ts +1 -2
  94. package/dist/resolver/naming.d.ts.map +1 -1
  95. package/dist/resolver/naming.js +3 -3
  96. package/dist/resolver/naming.js.map +1 -1
  97. package/dist/resolver.d.ts +0 -2
  98. package/dist/resolver.d.ts.map +1 -1
  99. package/dist/resolver.js +0 -1
  100. package/dist/resolver.js.map +1 -1
  101. package/dist/resolver.test.js +4 -8
  102. package/dist/resolver.test.js.map +1 -1
  103. package/dist/tsbindgen/names.d.ts +19 -0
  104. package/dist/tsbindgen/names.d.ts.map +1 -0
  105. package/dist/tsbindgen/names.js +32 -0
  106. package/dist/tsbindgen/names.js.map +1 -0
  107. package/dist/types/explicit-views.d.ts +0 -45
  108. package/dist/types/explicit-views.d.ts.map +1 -1
  109. package/dist/types/explicit-views.js +0 -81
  110. package/dist/types/explicit-views.js.map +1 -1
  111. package/package.json +1 -17
@@ -10,11 +10,13 @@ import { existsSync, readFileSync } from "node:fs";
10
10
  import { dirname, join } from "node:path";
11
11
  import { getSourceSpan } from "./helpers.js";
12
12
  import { convertExpression } from "../../expression-converter.js";
13
+ import { tsbindgenClrTypeNameToTsTypeName } from "../../../tsbindgen/names.js";
13
14
  import { createDiagnostic } from "../../../types/diagnostic.js";
15
+ import { loadBindingsFromPath } from "../../../program/bindings.js";
14
16
  /**
15
17
  * Fallback for getDeclaredPropertyType when TypeSystem can't resolve the member.
16
18
  * Uses TypeSystem.typeOfMemberId() to get member types for:
17
- * - Built-in types from globals (Array.length, string.length, etc.)
19
+ * - Built-in types from globals (Array.Length, string.Length, etc.)
18
20
  * - CLR-bound types from tsbindgen
19
21
  * - Types with inherited members not in TypeRegistry
20
22
  *
@@ -69,7 +71,7 @@ const getDeclaredPropertyType = (node, receiverIrType, ctx) => {
69
71
  // Fall through to Binding fallback
70
72
  }
71
73
  // Fallback: Use Binding for inherited members not in TypeRegistry
72
- // (e.g., Array.length from Array$instance)
74
+ // (e.g., Array.Length from Array$instance)
73
75
  const fallbackResult = getDeclaredPropertyTypeFallback(node, ctx);
74
76
  if (DEBUG) {
75
77
  console.log("[getDeclaredPropertyType]", propertyName, "fallback returned:", fallbackResult);
@@ -93,7 +95,7 @@ const classifyComputedAccess = (objectType) => {
93
95
  if (!objectType)
94
96
  return "unknown";
95
97
  // TypeScript array type (number[], T[], etc.)
96
- // Both clrIndexer and jsRuntimeArray require Int32 proof
98
+ // Requires Int32 proof
97
99
  if (objectType.kind === "arrayType") {
98
100
  return "clrIndexer";
99
101
  }
@@ -151,7 +153,7 @@ const extractTypeName = (inferredType) => {
151
153
  }
152
154
  }
153
155
  // Handle primitive types - map to their CLR type names for binding lookup
154
- // This enables binding resolution for methods like string.split(), number.toString()
156
+ // This enables binding resolution for methods like string.Split(), number.ToString()
155
157
  if (inferredType.kind === "primitiveType") {
156
158
  switch (inferredType.name) {
157
159
  case "string":
@@ -167,7 +169,7 @@ const extractTypeName = (inferredType) => {
167
169
  }
168
170
  }
169
171
  // Handle literal types - determine the CLR type from the value type
170
- // This enables binding resolution for string literals like "hello".split(" ")
172
+ // This enables binding resolution for string literals like "hello".Split(" ")
171
173
  if (inferredType.kind === "literalType") {
172
174
  const valueType = typeof inferredType.value;
173
175
  switch (valueType) {
@@ -344,8 +346,10 @@ const disambiguateOverloadsByDeclaringType = (overloads, memberId, declaringType
344
346
  const typeEntry = types.find((t) => {
345
347
  if (!t || typeof t !== "object")
346
348
  return false;
347
- const tsEmitName = t.tsEmitName;
348
- return tsEmitName === declaringTypeTsName;
349
+ const clrName = t.clrName;
350
+ if (typeof clrName !== "string")
351
+ return false;
352
+ return tsbindgenClrTypeNameToTsTypeName(clrName) === declaringTypeTsName;
349
353
  });
350
354
  const expectedClrType = typeEntry && typeof typeEntry.clrName === "string" ? typeEntry.clrName : undefined;
351
355
  if (!expectedClrType)
@@ -378,12 +382,20 @@ const resolveHierarchicalBindingFromMemberId = (node, propertyName, ctx) => {
378
382
  return name;
379
383
  };
380
384
  const typeAlias = normalizeDeclaringType(declaringTypeName);
381
- const overloadsAll = ctx.bindings.getMemberOverloads(typeAlias, propertyName);
385
+ let overloadsAll = ctx.bindings.getMemberOverloads(typeAlias, propertyName);
382
386
  if (!overloadsAll || overloadsAll.length === 0) {
383
387
  const declSourceFilePath = ctx.binding.getSourceFilePathOfMember(memberId);
384
388
  const bindingsPath = declSourceFilePath !== undefined
385
389
  ? findNearestBindingsJson(declSourceFilePath)
386
390
  : undefined;
391
+ // Airplane-grade: If we can locate the bindings.json that corresponds to the
392
+ // tsbindgen declaration, load it on-demand and retry. This avoids relying on
393
+ // "import closure" heuristics and ensures CLR binding lookup is based on the
394
+ // declaration’s actual owning bindings.json.
395
+ if (bindingsPath) {
396
+ loadBindingsFromPath(ctx.bindings, bindingsPath);
397
+ overloadsAll = ctx.bindings.getMemberOverloads(typeAlias, propertyName);
398
+ }
387
399
  // Airplane-grade rule: If this member resolves to a tsbindgen declaration,
388
400
  // we MUST have a CLR binding; we must never guess member names via naming policy.
389
401
  //
@@ -391,7 +403,7 @@ const resolveHierarchicalBindingFromMemberId = (node, propertyName, ctx) => {
391
403
  // - The declaring type is a tsbindgen extension interface (`__Ext_*`), OR
392
404
  // - We can locate a bindings.json near the declaration source file.
393
405
  const isClrBound = declaringTypeName.startsWith("__Ext_") || bindingsPath !== undefined;
394
- if (isClrBound) {
406
+ if (isClrBound && (!overloadsAll || overloadsAll.length === 0)) {
395
407
  ctx.diagnostics.push(createDiagnostic("TSN4004", "error", `Missing CLR binding for '${typeAlias}.${propertyName}'.`, getSourceSpan(node), bindingsPath
396
408
  ? `No matching member binding was found in the loaded bindings for this tsbindgen declaration. (bindings.json: ${bindingsPath})`
397
409
  : "No matching member binding was found for this tsbindgen extension interface member."));
@@ -529,9 +541,9 @@ export const convertMemberExpression = (node, ctx) => {
529
541
  const object = convertExpression(node.expression, ctx, undefined);
530
542
  const propertyName = node.name.text;
531
543
  // Try to resolve hierarchical binding
532
- const memberBinding = resolveHierarchicalBinding(object, propertyName, ctx) ??
533
- resolveExtensionMethodsBinding(node, propertyName, ctx) ??
534
- resolveHierarchicalBindingFromMemberId(node, propertyName, ctx);
544
+ const memberBinding = resolveExtensionMethodsBinding(node, propertyName, ctx) ??
545
+ resolveHierarchicalBindingFromMemberId(node, propertyName, ctx) ??
546
+ resolveHierarchicalBinding(object, propertyName, ctx);
535
547
  // DETERMINISTIC TYPING: Property type comes from NominalEnv + TypeRegistry for
536
548
  // user-defined types (including inherited members), with fallback to Binding layer
537
549
  // for built-ins and CLR types.
@@ -546,6 +558,13 @@ export const convertMemberExpression = (node, ctx) => {
546
558
  // EXCEPTION: If memberBinding exists AND declaredType is undefined, return undefined.
547
559
  // This handles pure CLR-bound methods like Console.WriteLine that have no TS declaration.
548
560
  const declaredType = getDeclaredPropertyType(node, object.inferredType, ctx);
561
+ // Hierarchical bindings: namespace.type is a static type reference, not a runtime
562
+ // value. When this pattern is present in the binding manifest, avoid poisoning the
563
+ // receiver with unknownType; the emitter uses "no inferredType" to classify the
564
+ // receiver as a static type, enabling global::Type.Member emission.
565
+ const isNamespaceTypeReference = object.kind === "identifier" &&
566
+ ctx.bindings.getNamespace(object.name)?.types.some((t) => t.alias === propertyName) ===
567
+ true;
549
568
  // DETERMINISTIC TYPING: Set inferredType for validation passes (like numeric proof).
550
569
  // The emitter uses memberBinding separately for C# casing (e.g., length -> Length).
551
570
  //
@@ -562,9 +581,11 @@ export const convertMemberExpression = (node, ctx) => {
562
581
  // Users must add explicit types like `count: int = 0` instead of `count = 0`.
563
582
  const propertyInferredType = declaredType
564
583
  ? declaredType
565
- : memberBinding
584
+ : isNamespaceTypeReference
566
585
  ? undefined
567
- : { kind: "unknownType" };
586
+ : memberBinding
587
+ ? undefined
588
+ : { kind: "unknownType" };
568
589
  return {
569
590
  kind: "memberAccess",
570
591
  object,
@@ -1 +1 @@
1
- {"version":3,"file":"access.js","sourceRoot":"","sources":["../../../../src/ir/converters/expressions/access.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAIlE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,+BAA+B,GAAG,CACtC,IAAiC,EACjC,GAAmB,EACC,EAAE;IACtB,mEAAmE;IACnE,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IAElC,gDAAgD;IAChD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEhC,oEAAoE;IACpE,MAAM,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEvD,wDAAwD;IACxD,IAAI,UAAU,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,uBAAuB,GAAG,CAC9B,IAAiC,EACjC,cAAkC,EAClC,GAAmB,EACC,EAAE;IACtB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,GAAG,CAAC;IACtD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAEpC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CACT,2BAA2B,EAC3B,YAAY,EACZ,cAAc,EACd,cAAc,CACf,CAAC;IACJ,CAAC;IAED,sCAAsC;IACtC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IAClC,IAAI,cAAc,IAAI,cAAc,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAC5D,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,cAAc,EAAE;YACzD,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CACT,2BAA2B,EAC3B,YAAY,EACZ,sBAAsB,EACtB,UAAU,CACX,CAAC;QACJ,CAAC;QACD,gEAAgE;QAChE,IAAI,UAAU,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACtC,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,mCAAmC;IACrC,CAAC;IAED,kEAAkE;IAClE,2CAA2C;IAC3C,MAAM,cAAc,GAAG,+BAA+B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CACT,2BAA2B,EAC3B,YAAY,EACZ,oBAAoB,EACpB,cAAc,CACf,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,sBAAsB,GAAG,CAC7B,UAA8B,EACV,EAAE;IACtB,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAElC,8CAA8C;IAC9C,yDAAyD;IACzD,IAAI,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,sEAAsE;IACtE,yEAAyE;IACzE,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACzC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,uCAAuC;IACvC,IAAI,UAAU,CAAC,IAAI,KAAK,eAAe,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxE,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,uEAAuE;IACvE,+DAA+D;IAC/D,IAAI,UAAU,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,UAAU,CAAC,eAAe,CAAC;QAEvC,0DAA0D;QAC1D,sEAAsE;QACtE,qEAAqE;QACrE,IAAI,GAAG,EAAE,CAAC;YACR,IACE,GAAG,CAAC,UAAU,CAAC,gDAAgD,CAAC;gBAChE,GAAG,CAAC,UAAU,CAAC,wCAAwC,CAAC,EACxD,CAAC;gBACD,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,oDAAoD;QACpD,0EAA0E;QAC1E,yEAAyE;QACzE,qEAAqE;QACrE,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,eAAe,GAAG,CACtB,YAAgC,EACZ,EAAE;IACtB,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IAEpC,mFAAmF;IACnF,6EAA6E;IAC7E,IAAI,YAAY,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CACC,CAAC,CAAC,IAAI,KAAK,eAAe;YAC1B,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAC9C,CACJ,CAAC;QACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClD,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,qFAAqF;IACrF,IAAI,YAAY,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAC1C,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC;YAC1B,KAAK,QAAQ;gBACX,OAAO,QAAQ,CAAC,CAAC,gBAAgB;YACnC,KAAK,QAAQ;gBACX,OAAO,QAAQ,CAAC,CAAC,sCAAsC;YACzD,KAAK,SAAS;gBACZ,OAAO,SAAS,CAAC,CAAC,iBAAiB;YACrC,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC,CAAC,cAAc;YAC/B;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,8EAA8E;IAC9E,IAAI,YAAY,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,OAAO,YAAY,CAAC,KAAK,CAAC;QAC5C,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,QAAQ;gBACX,OAAO,QAAQ,CAAC,CAAC,gBAAgB;YACnC,KAAK,QAAQ;gBACX,OAAO,QAAQ,CAAC,CAAC,gBAAgB;YACnC,KAAK,SAAS;gBACZ,OAAO,SAAS,CAAC,CAAC,iBAAiB;YACrC;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAE/B,6DAA6D;QAC7D,wDAAwD;QACxD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kEAAkE;IAClE,mFAAmF;IACnF,uFAAuF;IACvF,yFAAyF;IACzF,IAAI,YAAY,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC7C,oEAAoE;QACpE,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;YACxC,IACE,MAAM,CAAC,IAAI,KAAK,eAAe;gBAC/B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;gBACD,oEAAoE;gBACpE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;YACxC,IACE,MAAM,CAAC,IAAI,KAAK,eAAe;gBAC/B,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC7B,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC/B,CAAC;gBACD,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,0BAA0B,GAAG,CACjC,MAA4C,EAC5C,YAAoB,EACpB,GAAmB,EACkB,EAAE;IACvC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAE9B,MAAM,iBAAiB,GAAG,CACxB,SAAmC,EACE,EAAE;QACvC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAE7B,MAAM,YAAY,GAAG,CAAC,CAAgB,EAAU,EAAE,CAChD,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACjE,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC;YACzD,kDAAkD;YAClD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,eAAe,GAAG,CAAC,CAAgB,EAAU,EAAE;YACnD,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,IAAI,CAAC;iBACb,KAAK,EAAE;iBACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;iBACjC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;iBAC5C,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;QAE9E,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;YAChC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;YACxB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;YAC5B,gFAAgF;YAChF,+EAA+E;YAC/E,kBAAkB,EAChB,cAAc,IAAI,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;gBAC/E,CAAC,CAAC,KAAK,CAAC,kBAAkB;gBAC1B,CAAC,CAAC,SAAS;YACf,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;SAC3C,CAAC;IACJ,CAAC,CAAC;IAEF,6FAA6F;IAC7F,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,SAAS,EAAE,CAAC;YACd,6EAA6E;YAC7E,+DAA+D;YAC/D,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC;YACnE,IAAI,IAAI,EAAE,CAAC;gBACT,6EAA6E;gBAC7E,4DAA4D;gBAC5D,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,yEAAyE;QACzE,iHAAiH;QACjH,MAAM,UAAU,GACd,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAC7B,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5E,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,QAAQ,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC9E,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC3D,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,4FAA4F;IAC5F,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACzD,wDAAwD;QACxD,qFAAqF;QACrF,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,SAAS,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACrD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACtE,IAAI,IAAI,EAAE,CAAC;oBACT,qFAAqF;oBACrF,MAAM,SAAS,GAAG,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;oBACxE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO,SAAS,CAAC;oBAC3D,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,+DAA+D;IAC/D,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAE5D,IAAI,cAAc,EAAE,CAAC;QACnB,iDAAiD;QACjD,MAAM,SAAS,GAAG,QAAQ,CAAC,kBAAkB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAC5E,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC3D,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,QAAgB,EAAsB,EAAE;IACvE,IAAI,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACpD,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,SAAS,KAAK,UAAU;YAAE,OAAO,SAAS,CAAC;QAC/C,UAAU,GAAG,SAAS,CAAC;IACzB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,oCAAoC,GAAG,CAC3C,SAAmC,EACnC,QAAkB,EAClB,mBAA2B,EAC3B,GAAmB,EACmB,EAAE;IACxC,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAC3E,IAAI,CAAC,kBAAkB;QAAE,OAAO,SAAS,CAAC;IAE1C,MAAM,YAAY,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;IACjE,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IAEpC,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE;QAChB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAY,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,KAAK,GAAI,GAAoC,CAAC,KAAK,CAAC;IAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE5C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACjC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC9C,MAAM,UAAU,GAAI,CAAuC,CAAC,UAAU,CAAC;QACvE,OAAO,UAAU,KAAK,mBAAmB,CAAC;IAC5C,CAAC,CAA+C,CAAC;IAEjD,MAAM,eAAe,GACnB,SAAS,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,IAAI,CAAC,eAAe;QAAE,OAAO,SAAS,CAAC;IAEvC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;IAC7E,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,sCAAsC,GAAG,CAC7C,IAAiC,EACjC,YAAoB,EACpB,GAAmB,EACkB,EAAE;IACvC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEhC,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IAC7E,IAAI,CAAC,iBAAiB;QAAE,OAAO,SAAS,CAAC;IAEzC,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAU,EAAE;QACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC9E,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAC3E,MAAM,YAAY,GAChB,kBAAkB,KAAK,SAAS;YAC9B,CAAC,CAAC,uBAAuB,CAAC,kBAAkB,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QAEhB,2EAA2E;QAC3E,kFAAkF;QAClF,EAAE;QACF,+BAA+B;QAC/B,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,UAAU,GACd,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,YAAY,KAAK,SAAS,CAAC;QAEvE,IAAI,UAAU,EAAE,CAAC;YACf,GAAG,CAAC,WAAW,CAAC,IAAI,CAClB,gBAAgB,CACd,SAAS,EACT,OAAO,EACP,4BAA4B,SAAS,IAAI,YAAY,IAAI,EACzD,aAAa,CAAC,IAAI,CAAC,EACnB,YAAY;gBACV,CAAC,CAAC,+GAA+G,YAAY,GAAG;gBAChI,CAAC,CAAC,qFAAqF,CAC1F,CACF,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,SAAS,GAA6B,YAAY,CAAC;IACvD,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CACrF,CAAC;IACF,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,aAAa,GAAG,oCAAoC,CACxD,SAAS,EACT,QAAQ,EACR,SAAS,EACT,GAAG,CACJ,CAAC;QACF,IAAI,aAAa,EAAE,CAAC;YAClB,SAAS,GAAG,aAAa,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7B,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC7F,IACE,SAAS,CAAC,IAAI,CACZ,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,SAAS,CACpF,EACD,CAAC;QACD,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAC3E,MAAM,YAAY,GAChB,kBAAkB,KAAK,SAAS;YAC9B,CAAC,CAAC,uBAAuB,CAAC,kBAAkB,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QAEhB,iFAAiF;QACjF,mFAAmF;QACnF,gDAAgD;QAChD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;iBACxF,IAAI,EAAE;iBACN,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,GAAG,CAAC,WAAW,CAAC,IAAI,CAClB,gBAAgB,CACd,SAAS,EACT,OAAO,EACP,8BAA8B,SAAS,IAAI,YAAY,kCAAkC,OAAO,GAAG,EACnG,aAAa,CAAC,IAAI,CAAC,EACnB,gMAAgM,YAAY,GAAG,CAChN,CACF,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,eAAe,GAAG,CAAC,CAAgB,EAAU,EAAE;QACnD,MAAM,IAAI,GAAG,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,IAAI,CAAC;aACb,KAAK,EAAE;aACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;aAC5C,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;IAE9E,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;QAChC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;QACxB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;QAC5B,kBAAkB,EAChB,cAAc,IAAI,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;YAC/E,CAAC,CAAC,KAAK,CAAC,kBAAkB;YAC1B,CAAC,CAAC,SAAS;QACf,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,8BAA8B,GAAG,CACrC,IAAiC,EACjC,YAAoB,EACpB,GAAmB,EACkB,EAAE;IACvC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEhC,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IAC7E,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC9D,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACjC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAClD,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,CAClB,CAAC;IACF,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEhC,kFAAkF;IAClF,0FAA0F;IAC1F,MAAM,gBAAgB,GAAG,QAAQ,CAAC,kBAAkB;QAClD,CAAC,CAAC,QAAQ,CAAC,kBAAkB;aACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC1D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ;QACnC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;QAC3B,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;QAC/B,kBAAkB,EAChB,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC;YAC7C,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,SAAS;QACf,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;KAC9C,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,CACxB,UAA8B,EACV,EAAE;IACtB,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAElC,IAAI,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO,UAAU,CAAC,WAAW,CAAC;IAChC,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACzC,OAAO,UAAU,CAAC,SAAS,CAAC;IAC9B,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,eAAe,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxE,kEAAkE;QAClE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACnD,CAAC;IAED,IACE,UAAU,CAAC,IAAI,KAAK,eAAe;QACnC,UAAU,CAAC,IAAI,KAAK,MAAM;QAC1B,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EACrC,CAAC;QACD,OAAO,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,IAA8D,EAC9D,GAAmB,EACC,EAAE;IACtB,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC;IACvD,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAEpC,sCAAsC;QACtC,MAAM,aAAa,GACjB,0BAA0B,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC;YACrD,8BAA8B,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC;YACvD,sCAAsC,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;QAElE,+EAA+E;QAC/E,mFAAmF;QACnF,+BAA+B;QAC/B,EAAE;QACF,4EAA4E;QAC5E,0EAA0E;QAC1E,EAAE;QACF,oFAAoF;QACpF,kFAAkF;QAClF,yEAAyE;QACzE,EAAE;QACF,sFAAsF;QACtF,0FAA0F;QAC1F,MAAM,YAAY,GAAG,uBAAuB,CAC1C,IAAI,EACJ,MAAM,CAAC,YAAY,EACnB,GAAG,CACJ,CAAC;QAEF,qFAAqF;QACrF,oFAAoF;QACpF,EAAE;QACF,mCAAmC;QACnC,iFAAiF;QACjF,iFAAiF;QACjF,iEAAiE;QACjE,EAAE;QACF,wFAAwF;QACxF,uDAAuD;QACvD,8DAA8D;QAC9D,EAAE;QACF,oEAAoE;QACpE,8EAA8E;QAC9E,MAAM,oBAAoB,GAAG,YAAY;YACvC,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,aAAa;gBACb,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,EAAE,IAAI,EAAE,aAAsB,EAAE,CAAC;QAEvC,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,MAAM;YACN,QAAQ,EAAE,YAAY;YACtB,UAAU,EAAE,KAAK;YACjB,UAAU;YACV,YAAY,EAAE,oBAAoB;YAClC,UAAU;YACV,aAAa;SACd,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,uCAAuC;QACvC,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,wEAAwE;QACxE,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC;QAEvC,0CAA0C;QAC1C,gEAAgE;QAChE,MAAM,UAAU,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAEtD,uCAAuC;QACvC,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAElD,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,MAAM;YACN,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,SAAS,CAAC;YACpE,UAAU,EAAE,IAAI;YAChB,UAAU;YACV,YAAY,EAAE,WAAW;YACzB,UAAU;YACV,UAAU;SACX,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"access.js","sourceRoot":"","sources":["../../../../src/ir/converters/expressions/access.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,13 @@
5
5
  * we recover the original numeric intent from the declaration AST.
6
6
  *
7
7
  * These tests verify:
8
- * - Property access recovery (arr.length, string.length → int)
9
- * - Call return type recovery (string.indexOf() → int)
8
+ * - Property access recovery (arr.Length, string.Length → int)
9
+ * - Call return type recovery (string.IndexOf() → int)
10
10
  * - Negative cases (plain number stays number)
11
11
  * - Guardrails (unions, complex types are NOT recovered)
12
12
  *
13
13
  * Note: .NET arrays don't have indexOf method (use Array.IndexOf or LINQ).
14
- * String has indexOf from System.String.
14
+ * String has IndexOf from System.String.
15
15
  */
16
16
  export {};
17
17
  //# sourceMappingURL=numeric-recovery.test.d.ts.map
@@ -5,13 +5,13 @@
5
5
  * we recover the original numeric intent from the declaration AST.
6
6
  *
7
7
  * These tests verify:
8
- * - Property access recovery (arr.length, string.length → int)
9
- * - Call return type recovery (string.indexOf() → int)
8
+ * - Property access recovery (arr.Length, string.Length → int)
9
+ * - Call return type recovery (string.IndexOf() → int)
10
10
  * - Negative cases (plain number stays number)
11
11
  * - Guardrails (unions, complex types are NOT recovered)
12
12
  *
13
13
  * Note: .NET arrays don't have indexOf method (use Array.IndexOf or LINQ).
14
- * String has indexOf from System.String.
14
+ * String has IndexOf from System.String.
15
15
  */
16
16
  import { describe, it } from "mocha";
17
17
  import { expect } from "chai";
@@ -133,18 +133,18 @@ const findExpression = (modules, predicate) => {
133
133
  return undefined;
134
134
  };
135
135
  describe("Declaration-Based Numeric Intent Recovery", function () {
136
- this.timeout(10000);
136
+ this.timeout(60000);
137
137
  describe("Property Access Recovery", () => {
138
- it("should recover 'int' from arr.length property declaration", () => {
138
+ it("should recover 'int' from arr.Length property declaration", () => {
139
139
  const code = `
140
140
  export function getLen(arr: string[]): number {
141
- return arr.length;
141
+ return arr.Length;
142
142
  }
143
143
  `;
144
144
  const { modules, ok } = compileWithGlobals(code);
145
145
  expect(ok).to.be.true;
146
146
  // Find arr.length member expression
147
- const lengthExpr = findExpression(modules, (expr) => expr.kind === "memberAccess" && expr.property === "length");
147
+ const lengthExpr = findExpression(modules, (expr) => expr.kind === "memberAccess" && expr.property === "Length");
148
148
  expect(lengthExpr).to.not.be.undefined;
149
149
  // CLR numeric types are represented as primitiveType in IR
150
150
  // (see primitives.ts: "When user writes `: int`, it becomes primitiveType(name='int')")
@@ -153,16 +153,16 @@ describe("Declaration-Based Numeric Intent Recovery", function () {
153
153
  name: "int",
154
154
  });
155
155
  });
156
- it("should recover 'int' from string.length property declaration", () => {
156
+ it("should recover 'int' from string.Length property declaration", () => {
157
157
  const code = `
158
158
  export function getLen(s: string): number {
159
- return s.length;
159
+ return s.Length;
160
160
  }
161
161
  `;
162
162
  const { modules, ok } = compileWithGlobals(code);
163
163
  expect(ok).to.be.true;
164
164
  // Find s.length member expression
165
- const lengthExpr = findExpression(modules, (expr) => expr.kind === "memberAccess" && expr.property === "length");
165
+ const lengthExpr = findExpression(modules, (expr) => expr.kind === "memberAccess" && expr.property === "Length");
166
166
  expect(lengthExpr).to.not.be.undefined;
167
167
  // CLR numeric types are represented as primitiveType in IR
168
168
  expect(lengthExpr?.inferredType).to.deep.equal({
@@ -172,12 +172,12 @@ describe("Declaration-Based Numeric Intent Recovery", function () {
172
172
  });
173
173
  });
174
174
  describe("Call Return Type Recovery", () => {
175
- it("should recover 'int' from string.indexOf() return type", () => {
176
- // Note: Using string.indexOf() because .NET arrays don't have indexOf method
175
+ it("should recover 'int' from string.IndexOf() return type", () => {
176
+ // Note: Using string.IndexOf() because .NET arrays don't have indexOf method
177
177
  // (use Array.IndexOf static method or LINQ instead)
178
178
  const code = `
179
179
  export function findIndex(str: string, search: string): number {
180
- return str.indexOf(search);
180
+ return str.IndexOf(search);
181
181
  }
182
182
  `;
183
183
  const { modules, ok } = compileWithGlobals(code);
@@ -188,7 +188,7 @@ describe("Declaration-Based Numeric Intent Recovery", function () {
188
188
  return false;
189
189
  if (expr.callee.kind !== "memberAccess")
190
190
  return false;
191
- return expr.callee.property === "indexOf";
191
+ return expr.callee.property === "IndexOf";
192
192
  });
193
193
  expect(indexOfCall).to.not.be.undefined;
194
194
  // CLR numeric types are represented as primitiveType in IR
@@ -203,13 +203,13 @@ describe("Declaration-Based Numeric Intent Recovery", function () {
203
203
  it("should recover 'int' even when assigned to number variable", () => {
204
204
  const code = `
205
205
  export function assignToNumber(arr: string[]): void {
206
- const len: number = arr.length;
206
+ const len: number = arr.Length;
207
207
  }
208
208
  `;
209
209
  const { modules, ok } = compileWithGlobals(code);
210
210
  expect(ok).to.be.true;
211
211
  // Find arr.length member expression
212
- const lengthExpr = findExpression(modules, (expr) => expr.kind === "memberAccess" && expr.property === "length");
212
+ const lengthExpr = findExpression(modules, (expr) => expr.kind === "memberAccess" && expr.property === "Length");
213
213
  expect(lengthExpr).to.not.be.undefined;
214
214
  // The arr.length expression itself should have int, regardless of target
215
215
  // CLR numeric types are represented as primitiveType in IR
@@ -219,16 +219,16 @@ describe("Declaration-Based Numeric Intent Recovery", function () {
219
219
  });
220
220
  });
221
221
  });
222
- describe("End-to-End Integration: arr[arr.length - 1]", () => {
223
- it("should pass numeric proof validation for arr[arr.length - 1] pattern", () => {
222
+ describe("End-to-End Integration: arr[arr.Length - 1]", () => {
223
+ it("should pass numeric proof validation for arr[arr.Length - 1] pattern", () => {
224
224
  // This is the specific regression guard for the original issue.
225
- // The pattern arr[arr.length - 1] must:
225
+ // The pattern arr[arr.Length - 1] must:
226
226
  // 1. Compile successfully
227
- // 2. Build IR with arr.length having int intent
227
+ // 2. Build IR with arr.Length having int intent
228
228
  // 3. Pass numeric proof pass without TSN5107
229
229
  const code = `
230
230
  export function getLast(arr: string[]): string {
231
- return arr[arr.length - 1];
231
+ return arr[arr.Length - 1];
232
232
  }
233
233
  `;
234
234
  const { modules, ok, error } = compileWithGlobals(code);
@@ -242,12 +242,12 @@ describe("Declaration-Based Numeric Intent Recovery", function () {
242
242
  // The proof pass should succeed (or have only non-blocking diagnostics)
243
243
  expect(proofResult.ok, `Proof pass failed: ${proofResult.diagnostics.map((d) => `${d.code}: ${d.message}`).join("; ")}`).to.be.true;
244
244
  });
245
- it("should pass numeric proof for string.indexOf() as index", () => {
246
- // Using string.indexOf() result as string char index
245
+ it("should pass numeric proof for string.IndexOf() as index", () => {
246
+ // Using string.IndexOf() result as string char index
247
247
  // Note: .NET arrays don't have indexOf method, use string instead
248
248
  const code = `
249
249
  export function getCharAtIndex(str: string, search: string): string {
250
- const idx = str.indexOf(search);
250
+ const idx = str.IndexOf(search);
251
251
  return str[idx];
252
252
  }
253
253
  `;
@@ -259,10 +259,10 @@ describe("Declaration-Based Numeric Intent Recovery", function () {
259
259
  expect(proofResult.ok).to.be.true;
260
260
  });
261
261
  it("should pass numeric proof for length-based arithmetic", () => {
262
- // Pattern: arr.length in subtraction (common for last element access)
262
+ // Pattern: arr.Length in subtraction (common for last element access)
263
263
  const code = `
264
264
  export function getSecondLast(arr: string[]): string {
265
- return arr[arr.length - 2];
265
+ return arr[arr.Length - 2];
266
266
  }
267
267
  `;
268
268
  const { modules, ok, error } = compileWithGlobals(code);
@@ -275,20 +275,20 @@ describe("Declaration-Based Numeric Intent Recovery", function () {
275
275
  });
276
276
  // Note: User-defined function return type recovery is tested through E2E tests
277
277
  // (test/fixtures/*) which have proper node_modules setup for @tsonic/core imports.
278
- // The unit tests here focus on built-in globals (arr.length, string.indexOf, etc.)
278
+ // The unit tests here focus on built-in globals (arr.Length, string.IndexOf, etc.)
279
279
  describe("Chained Call Type Recovery", () => {
280
280
  it("should recover correct type through method chain", () => {
281
- // str.substring() returns string, then .length returns int
282
- // Note: .length is declared as int in globals, no import needed
281
+ // str.Substring() returns string, then .Length returns int
282
+ // Note: .Length is declared as int in globals, no import needed
283
283
  const code = `
284
284
  export function getSubLength(s: string): number {
285
- return s.substring(0, 5).length;
285
+ return s.Substring(0, 5).Length;
286
286
  }
287
287
  `;
288
288
  const { modules, ok, error } = compileWithGlobals(code);
289
289
  expect(ok, `Compile failed: ${error}`).to.be.true;
290
290
  // Find .length member expression at end of chain
291
- const lengthExpr = findExpression(modules, (expr) => expr.kind === "memberAccess" && expr.property === "length");
291
+ const lengthExpr = findExpression(modules, (expr) => expr.kind === "memberAccess" && expr.property === "Length");
292
292
  expect(lengthExpr).to.not.be.undefined;
293
293
  expect(lengthExpr?.inferredType).to.deep.equal({
294
294
  kind: "primitiveType",
@@ -1 +1 @@
1
- {"version":3,"file":"program-context.d.ts","sourceRoot":"","sources":["../../src/ir/program-context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAWzD;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAE1C;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/C;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;CACpC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,aAAa,EACtB,SAAS,cAAc,KACtB,cA6UF,CAAC"}
1
+ {"version":3,"file":"program-context.d.ts","sourceRoot":"","sources":["../../src/ir/program-context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAWzD;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAE1C;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/C;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;CACpC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,aAAa,EACtB,SAAS,cAAc,KACtB,cAyTF,CAAC"}
@@ -10,7 +10,6 @@ import * as fs from "node:fs";
10
10
  import { createRequire } from "node:module";
11
11
  import * as path from "path";
12
12
  import * as ts from "typescript";
13
- import { resolveNamingPolicy } from "../resolver/naming-policy.js";
14
13
  import { buildNominalEnv } from "./type-system/internal/nominal-env.js";
15
14
  import { convertCapturedTypeNode } from "./type-system/internal/type-converter.js";
16
15
  import { createTypeSystem } from "./type-system/type-system.js";
@@ -103,9 +102,9 @@ export const createProgramContext = (program, options) => {
103
102
  return false;
104
103
  };
105
104
  const packageHasClrMetadata = (pkgRoot) => {
106
- // Only treat explicitly marked Tsonic packages as CLR metadata packages.
107
- // Many third-party npm packages ship random `metadata.json` files; scanning and
108
- // excluding them would incorrectly drop their declaration files from SourceCatalog.
105
+ // Only treat explicitly marked Tsonic packages as CLR bindings packages.
106
+ // Many third-party npm packages can ship random JSON files; scanning and excluding
107
+ // them would incorrectly drop their declaration files from SourceCatalog.
109
108
  if (!isTsonicClrPackage(pkgRoot))
110
109
  return false;
111
110
  const cached = packageHasMetadataCache.get(pkgRoot);
@@ -120,7 +119,7 @@ export const createProgramContext = (program, options) => {
120
119
  try {
121
120
  for (const entry of fs.readdirSync(currentDir, { withFileTypes: true })) {
122
121
  const fullPath = path.join(currentDir, entry.name);
123
- if (entry.isFile() && entry.name === "metadata.json") {
122
+ if (entry.isFile() && entry.name === "bindings.json") {
124
123
  found = true;
125
124
  break;
126
125
  }
@@ -143,7 +142,7 @@ export const createProgramContext = (program, options) => {
143
142
  const pkgRoot = findPackageRootForFile(sf.fileName);
144
143
  if (!pkgRoot)
145
144
  return true;
146
- // tsbindgen-generated CLR declarations live in packages that include metadata.json
145
+ // tsbindgen-generated CLR declarations live in packages that include bindings.json
147
146
  // and are already represented in the CLR catalog. Including them in SourceCatalog
148
147
  // creates tsName collisions (e.g., `IEnumerable_1`) that break nominal resolution.
149
148
  return !packageHasClrMetadata(pkgRoot);
@@ -154,11 +153,9 @@ export const createProgramContext = (program, options) => {
154
153
  checker: program.checker,
155
154
  sourceRoot: options.sourceRoot,
156
155
  rootNamespace: options.rootNamespace,
157
- namespaceNamingPolicy: resolveNamingPolicy(options.namingPolicy, "namespaces"),
158
156
  binding: program.binding,
159
157
  });
160
- // Load assembly type catalog for CLR stdlib types
161
- // This enables member lookup on primitive types like string.length
158
+ // Load assembly type catalog for CLR stdlib types.
162
159
  const nodeModulesPath = path.resolve(program.options.projectRoot, "node_modules");
163
160
  const require = createRequire(import.meta.url);
164
161
  const findSiblingTsonicPackage = (startDir, dirName, expectedPackageName) => {
@@ -198,20 +195,6 @@ export const createProgramContext = (program, options) => {
198
195
  return findSiblingTsonicPackage(program.options.projectRoot, dirName, expectedPackageName);
199
196
  };
200
197
  const extraPackageRoots = [];
201
- // If the project doesn't have these packages installed, allow discovering them
202
- // from sibling checkouts (common in a multi-repo workspace).
203
- const jsInstalled = fs.existsSync(path.join(nodeModulesPath, "@tsonic", "js", "package.json"));
204
- if (!jsInstalled) {
205
- const jsRoot = resolveTsonicPackageRoot("js", "@tsonic/js");
206
- if (jsRoot)
207
- extraPackageRoots.push(jsRoot);
208
- }
209
- const nodejsInstalled = fs.existsSync(path.join(nodeModulesPath, "@tsonic", "nodejs", "package.json"));
210
- if (!nodejsInstalled) {
211
- const nodejsRoot = resolveTsonicPackageRoot("nodejs", "@tsonic/nodejs");
212
- if (nodejsRoot)
213
- extraPackageRoots.push(nodejsRoot);
214
- }
215
198
  // Ensure stdlib metadata is available even when the project has no node_modules
216
199
  // (e.g., in a multi-repo workspace). dotnet provides CLR surface area for
217
200
  // primitives (System.String, etc.) and core provides @tsonic/core aliases.
@@ -231,7 +214,7 @@ export const createProgramContext = (program, options) => {
231
214
  // The CLR catalog loader scans node_modules/@tsonic by default; when developing in a
232
215
  // multi-repo workspace (or running E2E fixtures without local node_modules),
233
216
  // imports can resolve from sibling checkouts. Those package roots must be added
234
- // explicitly so metadata.json files are discovered and loaded into the Universe.
217
+ // explicitly so bindings.json files are discovered and loaded into the Universe.
235
218
  const resolvePackageRootFromBindingsPath = (bindingsPath) => {
236
219
  let dir = path.dirname(bindingsPath);
237
220
  while (true) {
@@ -1 +1 @@
1
- {"version":3,"file":"program-context.js","sourceRoot":"","sources":["../../src/ir/program-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program-context.js","sourceRoot":"","sources":["../../src/ir/program-context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/orchestrator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EACL,MAAM,EACN,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAW3B,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,2BAA2B,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,WAAW,GACtB,UAAU,EAAE,CAAC,QAAQ,EACrB,SAAS,OAAO,KACf,MA8JF,CAAC;AAGF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/orchestrator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EACL,MAAM,EACN,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAW3B,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,2BAA2B,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,WAAW,GACtB,UAAU,EAAE,CAAC,QAAQ,EACrB,SAAS,OAAO,KACf,MAyKF,CAAC;AAGF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC"}
@@ -111,6 +111,16 @@ export const convertType = (typeNode, binding) => {
111
111
  if (ts.isParenthesizedTypeNode(typeNode)) {
112
112
  return convertType(typeNode.type, binding);
113
113
  }
114
+ // Type operators
115
+ // - `readonly T[]` should behave like `T[]` at the IR level (we do not model
116
+ // readonly-ness in emitted C# types).
117
+ // Other operators (e.g. `keyof`) are handled elsewhere (utility-type expansion)
118
+ // or intentionally rejected by the soundness gate when they lower to anyType.
119
+ if (ts.isTypeOperatorNode(typeNode)) {
120
+ if (typeNode.operator === ts.SyntaxKind.ReadonlyKeyword) {
121
+ return convertType(typeNode.type, binding);
122
+ }
123
+ }
114
124
  // Type predicate return types: (x is T) has no direct C# type-level equivalent.
115
125
  // MVP: lower to boolean so we can emit valid C# and avoid anyType/ICE.
116
126
  if (ts.isTypePredicateNode(typeNode)) {
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,6 @@
12
12
  */
13
13
  import * as ts from "typescript";
14
14
  import type { IrType, IrMethodSignature } from "../../types/index.js";
15
- import type { NamingPolicy } from "../../../resolver/naming-policy.js";
16
15
  /**
17
16
  * Information about a type member (property or method) - PURE IR
18
17
  */
@@ -97,7 +96,6 @@ export type TypeRegistry = {
97
96
  export type ConvertTypeFn = (typeNode: ts.TypeNode) => IrType;
98
97
  export type BuildTypeRegistryOptions = {
99
98
  readonly convertType?: ConvertTypeFn;
100
- readonly namespaceNamingPolicy?: NamingPolicy;
101
99
  };
102
100
  /**
103
101
  * Build a TypeRegistry from source files.