@tsonic/frontend 0.0.2 → 0.0.4

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 (97) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/graph/extraction/imports.js +3 -3
  3. package/dist/graph/extraction/imports.js.map +1 -1
  4. package/dist/ir/binding-resolution.test.js +8 -3
  5. package/dist/ir/binding-resolution.test.js.map +1 -1
  6. package/dist/ir/builder/imports.d.ts +3 -3
  7. package/dist/ir/builder/imports.d.ts.map +1 -1
  8. package/dist/ir/builder/imports.js +10 -8
  9. package/dist/ir/builder/imports.js.map +1 -1
  10. package/dist/ir/builder/orchestrator.js +1 -1
  11. package/dist/ir/builder/orchestrator.js.map +1 -1
  12. package/dist/ir/builder.test.js +10 -5
  13. package/dist/ir/builder.test.js.map +1 -1
  14. package/dist/ir/converters/expressions/access.d.ts.map +1 -1
  15. package/dist/ir/converters/expressions/access.js +48 -1
  16. package/dist/ir/converters/expressions/access.js.map +1 -1
  17. package/dist/ir/converters/expressions/helpers.d.ts.map +1 -1
  18. package/dist/ir/converters/expressions/helpers.js +8 -1
  19. package/dist/ir/converters/expressions/helpers.js.map +1 -1
  20. package/dist/ir/hierarchical-bindings-e2e.test.js +8 -3
  21. package/dist/ir/hierarchical-bindings-e2e.test.js.map +1 -1
  22. package/dist/ir/type-converter/inference.d.ts.map +1 -1
  23. package/dist/ir/type-converter/inference.js +4 -3
  24. package/dist/ir/type-converter/inference.js.map +1 -1
  25. package/dist/ir/type-converter/objects.d.ts.map +1 -1
  26. package/dist/ir/type-converter/objects.js +3 -2
  27. package/dist/ir/type-converter/objects.js.map +1 -1
  28. package/dist/ir/type-converter/references.d.ts.map +1 -1
  29. package/dist/ir/type-converter/references.js +16 -5
  30. package/dist/ir/type-converter/references.js.map +1 -1
  31. package/dist/ir/types/index.d.ts +1 -1
  32. package/dist/ir/types/index.d.ts.map +1 -1
  33. package/dist/ir/types/index.js.map +1 -1
  34. package/dist/ir/types/ir-types.d.ts +11 -1
  35. package/dist/ir/types/ir-types.d.ts.map +1 -1
  36. package/dist/ir/types/module.d.ts +1 -1
  37. package/dist/ir/types/module.d.ts.map +1 -1
  38. package/dist/program/bindings.d.ts +51 -3
  39. package/dist/program/bindings.d.ts.map +1 -1
  40. package/dist/program/bindings.js +181 -19
  41. package/dist/program/bindings.js.map +1 -1
  42. package/dist/program/creation.d.ts.map +1 -1
  43. package/dist/program/creation.js +11 -9
  44. package/dist/program/creation.js.map +1 -1
  45. package/dist/program/dependency-graph.d.ts.map +1 -1
  46. package/dist/program/dependency-graph.js +65 -1
  47. package/dist/program/dependency-graph.js.map +1 -1
  48. package/dist/program/types.d.ts +4 -3
  49. package/dist/program/types.d.ts.map +1 -1
  50. package/dist/resolver/{dotnet-import-resolver.d.ts → clr-bindings-resolver.d.ts} +27 -17
  51. package/dist/resolver/clr-bindings-resolver.d.ts.map +1 -0
  52. package/dist/resolver/{dotnet-import-resolver.js → clr-bindings-resolver.js} +63 -22
  53. package/dist/resolver/clr-bindings-resolver.js.map +1 -0
  54. package/dist/resolver/import-resolution.d.ts +4 -4
  55. package/dist/resolver/import-resolution.d.ts.map +1 -1
  56. package/dist/resolver/import-resolution.js +17 -17
  57. package/dist/resolver/import-resolution.js.map +1 -1
  58. package/dist/resolver/index.d.ts +2 -2
  59. package/dist/resolver/index.d.ts.map +1 -1
  60. package/dist/resolver/index.js +2 -2
  61. package/dist/resolver/index.js.map +1 -1
  62. package/dist/resolver/types.d.ts +1 -1
  63. package/dist/resolver/types.d.ts.map +1 -1
  64. package/dist/resolver.d.ts +2 -2
  65. package/dist/resolver.d.ts.map +1 -1
  66. package/dist/resolver.js +1 -1
  67. package/dist/resolver.js.map +1 -1
  68. package/dist/resolver.test.js +1 -1
  69. package/dist/resolver.test.js.map +1 -1
  70. package/dist/types/metadata.d.ts +1 -1
  71. package/dist/types/metadata.d.ts.map +1 -1
  72. package/dist/types/module.d.ts +1 -1
  73. package/dist/types/module.d.ts.map +1 -1
  74. package/dist/types/parameter-modifiers.d.ts.map +1 -1
  75. package/dist/types/parameter-modifiers.js +7 -3
  76. package/dist/types/parameter-modifiers.js.map +1 -1
  77. package/dist/types/support-types.test.js +6 -3
  78. package/dist/types/support-types.test.js.map +1 -1
  79. package/dist/validation/imports.js +1 -1
  80. package/dist/validation/imports.js.map +1 -1
  81. package/dist/validation/static-safety.js +4 -4
  82. package/dist/validation/static-safety.js.map +1 -1
  83. package/dist/validator.test.js +3 -2
  84. package/dist/validator.test.js.map +1 -1
  85. package/package.json +1 -1
  86. package/dist/ir/type-converter/clr-type-resolver.d.ts +0 -15
  87. package/dist/ir/type-converter/clr-type-resolver.d.ts.map +0 -1
  88. package/dist/ir/type-converter/clr-type-resolver.js +0 -120
  89. package/dist/ir/type-converter/clr-type-resolver.js.map +0 -1
  90. package/dist/resolver/dotnet-import-resolver.d.ts.map +0 -1
  91. package/dist/resolver/dotnet-import-resolver.js.map +0 -1
  92. package/dist/types/test-debug.d.ts.map +0 -1
  93. package/dist/types/test-debug.js.map +0 -1
  94. package/dist/validation/aot-safety.d.ts +0 -24
  95. package/dist/validation/aot-safety.d.ts.map +0 -1
  96. package/dist/validation/aot-safety.js +0 -114
  97. package/dist/validation/aot-safety.js.map +0 -1
@@ -124,9 +124,13 @@ export class ParameterModifierRegistry {
124
124
  if (type.aliasTypeArguments && type.aliasTypeArguments.length > 0) {
125
125
  wrappedType = type.aliasTypeArguments[0];
126
126
  }
127
- else if (type.typeArguments &&
128
- type.typeArguments.length > 0) {
129
- wrappedType = type.typeArguments[0];
127
+ else {
128
+ // Access typeArguments through the TypeReference interface
129
+ const typeRef = type;
130
+ const typeArgs = typeRef.typeArguments;
131
+ if (typeArgs && typeArgs.length > 0) {
132
+ wrappedType = typeArgs[0];
133
+ }
130
134
  }
131
135
  if (!wrappedType) {
132
136
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"parameter-modifiers.js","sourceRoot":"","sources":["../../src/types/parameter-modifiers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameter-modifiers.js","sourceRoot":"","sources":["../../src/types/parameter-modifiers.ts"],"names":[],"mappings":"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"}
@@ -21,17 +21,20 @@ describe("Support Types", () => {
21
21
  it("should detect TSUnsafePointer as unsupported", () => {
22
22
  const error = checkUnsupportedSupportType(types.unsafePointer, harness.checker);
23
23
  assert.ok(error);
24
- assert.match(error, /unsafe pointer/i);
24
+ if (error)
25
+ assert.match(error, /unsafe pointer/i);
25
26
  });
26
27
  it("should detect TSFixed as unsupported", () => {
27
28
  const error = checkUnsupportedSupportType(types.fixed, harness.checker);
28
29
  assert.ok(error);
29
- assert.match(error, /fixed-size buffer/i);
30
+ if (error)
31
+ assert.match(error, /fixed-size buffer/i);
30
32
  });
31
33
  it("should detect TSStackAlloc as unsupported", () => {
32
34
  const error = checkUnsupportedSupportType(types.stackAlloc, harness.checker);
33
35
  assert.ok(error);
34
- assert.match(error, /stackalloc/i);
36
+ if (error)
37
+ assert.match(error, /stackalloc/i);
35
38
  });
36
39
  it("should allow TSByRef (supported)", () => {
37
40
  const error = checkUnsupportedSupportType(types.byRef, harness.checker);
@@ -1 +1 @@
1
- {"version":3,"file":"support-types.test.js","sourceRoot":"","sources":["../../src/types/support-types.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EACL,iBAAiB,EACjB,eAAe,GAEhB,MAAM,mBAAmB,CAAC;AAE3B,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,OAAoB,CAAC;IACzB,IAAI,KAAyC,CAAC;IAE9C,MAAM,CAAC,GAAG,EAAE;QACV,mDAAmD;QACnD,OAAO,GAAG,iBAAiB,EAAE,CAAC;QAC9B,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE;QACT,2BAA2B;QAC3B,OAAO,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC3C,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,KAAK,GAAG,2BAA2B,CACvC,KAAK,CAAC,aAAa,EACnB,OAAO,CAAC,OAAO,CAChB,CAAC;YAEF,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,KAAM,EAAE,iBAAiB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,KAAK,GAAG,2BAA2B,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAExE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,KAAM,EAAE,oBAAoB,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,KAAK,GAAG,2BAA2B,CACvC,KAAK,CAAC,UAAU,EAChB,OAAO,CAAC,OAAO,CAChB,CAAC;YAEF,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,KAAM,EAAE,aAAa,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,KAAK,GAAG,2BAA2B,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAExE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,KAAK,GAAG,2BAA2B,CACvC,KAAK,CAAC,QAAQ,EACd,OAAO,CAAC,OAAO,CAChB,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,KAAK,GAAG,2BAA2B,CACvC,KAAK,CAAC,QAAQ,EACd,OAAO,CAAC,OAAO,CAChB,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"support-types.test.js","sourceRoot":"","sources":["../../src/types/support-types.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EACL,iBAAiB,EACjB,eAAe,GAEhB,MAAM,mBAAmB,CAAC;AAE3B,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,OAAoB,CAAC;IACzB,IAAI,KAAyC,CAAC;IAE9C,MAAM,CAAC,GAAG,EAAE;QACV,mDAAmD;QACnD,OAAO,GAAG,iBAAiB,EAAE,CAAC;QAC9B,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE;QACT,2BAA2B;QAC3B,OAAO,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC3C,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,KAAK,GAAG,2BAA2B,CACvC,KAAK,CAAC,aAAa,EACnB,OAAO,CAAC,OAAO,CAChB,CAAC;YAEF,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACjB,IAAI,KAAK;gBAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,KAAK,GAAG,2BAA2B,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAExE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACjB,IAAI,KAAK;gBAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,KAAK,GAAG,2BAA2B,CACvC,KAAK,CAAC,UAAU,EAChB,OAAO,CAAC,OAAO,CAChB,CAAC;YAEF,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACjB,IAAI,KAAK;gBAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,KAAK,GAAG,2BAA2B,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAExE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,KAAK,GAAG,2BAA2B,CACvC,KAAK,CAAC,QAAQ,EACd,OAAO,CAAC,OAAO,CAChB,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,KAAK,GAAG,2BAA2B,CACvC,KAAK,CAAC,QAAQ,EACd,OAAO,CAAC,OAAO,CAChB,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -28,7 +28,7 @@ export const validateImportDeclaration = (node, sourceFile, program, collector)
28
28
  return addDiagnostic(collector, createDiagnostic("TSN2001", "error", "Dynamic imports not supported", getNodeLocation(sourceFile, node), "Use static import statements"));
29
29
  }
30
30
  const importPath = node.moduleSpecifier.text;
31
- const result = resolveImport(importPath, sourceFile.fileName, program.options.sourceRoot, program.dotnetResolver);
31
+ const result = resolveImport(importPath, sourceFile.fileName, program.options.sourceRoot, program.clrResolver);
32
32
  if (!result.ok) {
33
33
  const location = getNodeLocation(sourceFile, node.moduleSpecifier);
34
34
  return addDiagnostic(collector, { ...result.error, location });
@@ -1 +1 @@
1
- {"version":3,"file":"imports.js","sourceRoot":"","sources":["../../src/validation/imports.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAEL,aAAa,EACb,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,UAAyB,EACzB,OAAsB,EACtB,SAA+B,EACT,EAAE;IACxB,MAAM,OAAO,GAAG,CAAC,IAAa,EAAwB,EAAE;QACtD,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO,yBAAyB,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,aAAa,CAClB,SAAS,EACT,gBAAgB,CACd,SAAS,EACT,OAAO,EACP,kCAAkC,EAClC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,EACjC,6BAA6B,CAC9B,CACF,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC;IACrD,CAAC,CAAC;IAEF,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,IAA0B,EAC1B,UAAyB,EACzB,OAAsB,EACtB,SAA+B,EACT,EAAE;IACxB,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAC9C,OAAO,aAAa,CAClB,SAAS,EACT,gBAAgB,CACd,SAAS,EACT,OAAO,EACP,+BAA+B,EAC/B,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,EACjC,8BAA8B,CAC/B,CACF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;IAC7C,MAAM,MAAM,GAAG,aAAa,CAC1B,UAAU,EACV,UAAU,CAAC,QAAQ,EACnB,OAAO,CAAC,OAAO,CAAC,UAAU,EAC1B,OAAO,CAAC,cAAc,CACvB,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACnE,OAAO,aAAa,CAAC,SAAS,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,gFAAgF;IAChF,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;QACpD,OAAO,aAAa,CAClB,SAAS,EACT,gBAAgB,CACd,SAAS,EACT,SAAS,EACT,6DAA6D,EAC7D,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,EAC9C,8BAA8B,CAC/B,CACF,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"imports.js","sourceRoot":"","sources":["../../src/validation/imports.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAEL,aAAa,EACb,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,UAAyB,EACzB,OAAsB,EACtB,SAA+B,EACT,EAAE;IACxB,MAAM,OAAO,GAAG,CAAC,IAAa,EAAwB,EAAE;QACtD,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO,yBAAyB,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,aAAa,CAClB,SAAS,EACT,gBAAgB,CACd,SAAS,EACT,OAAO,EACP,kCAAkC,EAClC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,EACjC,6BAA6B,CAC9B,CACF,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC;IACrD,CAAC,CAAC;IAEF,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,IAA0B,EAC1B,UAAyB,EACzB,OAAsB,EACtB,SAA+B,EACT,EAAE;IACxB,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAC9C,OAAO,aAAa,CAClB,SAAS,EACT,gBAAgB,CACd,SAAS,EACT,OAAO,EACP,+BAA+B,EAC/B,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,EACjC,8BAA8B,CAC/B,CACF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;IAC7C,MAAM,MAAM,GAAG,aAAa,CAC1B,UAAU,EACV,UAAU,CAAC,QAAQ,EACnB,OAAO,CAAC,OAAO,CAAC,UAAU,EAC1B,OAAO,CAAC,WAAW,CACpB,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACnE,OAAO,aAAa,CAAC,SAAS,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,gFAAgF;IAChF,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;QACpD,OAAO,aAAa,CAClB,SAAS,EACT,gBAAgB,CACd,SAAS,EACT,SAAS,EACT,6DAA6D,EAC7D,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,EAC9C,8BAA8B,CAC/B,CACF,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
@@ -63,8 +63,8 @@ export const validateStaticSafety = (sourceFile, program, collector) => {
63
63
  const typeName = node.typeName;
64
64
  if (ts.isIdentifier(typeName) && typeName.text === "Record") {
65
65
  const typeArgs = node.typeArguments;
66
- if (typeArgs && typeArgs.length >= 1) {
67
- const keyTypeNode = typeArgs[0];
66
+ const keyTypeNode = typeArgs?.[0];
67
+ if (keyTypeNode !== undefined) {
68
68
  if (!isStringKeyType(keyTypeNode)) {
69
69
  currentCollector = addDiagnostic(currentCollector, createDiagnostic("TSN7413", "error", "Dictionary key type must be 'string'. Non-string key types are not supported for NativeAOT compatibility.", getNodeLocation(sourceFile, keyTypeNode), "Use Record<string, V> instead of Record<number, V> or other key types."));
70
70
  }
@@ -102,8 +102,8 @@ const isNominalOrDictionaryType = (type, checker) => {
102
102
  const symbol = type.getSymbol() ?? type.aliasSymbol;
103
103
  if (symbol) {
104
104
  const declarations = symbol.getDeclarations();
105
- if (declarations && declarations.length > 0) {
106
- const decl = declarations[0];
105
+ const decl = declarations?.[0];
106
+ if (decl !== undefined) {
107
107
  // Accept: interface, type alias, class
108
108
  if (ts.isInterfaceDeclaration(decl) ||
109
109
  ts.isTypeAliasDeclaration(decl) ||
@@ -1 +1 @@
1
- {"version":3,"file":"static-safety.js","sourceRoot":"","sources":["../../src/validation/static-safety.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"static-safety.js","sourceRoot":"","sources":["../../src/validation/static-safety.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ import * as ts from "typescript";
13
13
  import { validateProgram } from "./validator.js";
14
14
  import { DotnetMetadataRegistry } from "./dotnet-metadata.js";
15
15
  import { BindingRegistry } from "./program/bindings.js";
16
- import { createDotNetImportResolver } from "./resolver/dotnet-import-resolver.js";
16
+ import { createClrBindingsResolver } from "./resolver/clr-bindings-resolver.js";
17
17
  /**
18
18
  * Helper to create a test program from source code
19
19
  */
@@ -38,13 +38,14 @@ const createTestProgram = (source, fileName = "test.ts") => {
38
38
  program,
39
39
  checker: program.getTypeChecker(),
40
40
  options: {
41
+ projectRoot: "/test",
41
42
  sourceRoot: "/test",
42
43
  rootNamespace: "Test",
43
44
  },
44
45
  sourceFiles: [sourceFile],
45
46
  metadata: new DotnetMetadataRegistry(),
46
47
  bindings: new BindingRegistry(),
47
- dotnetResolver: createDotNetImportResolver("/test"),
48
+ clrResolver: createClrBindingsResolver("/test"),
48
49
  };
49
50
  };
50
51
  describe("Generic Validation", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"validator.test.js","sourceRoot":"","sources":["../src/validator.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.test.js","sourceRoot":"","sources":["../src/validator.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsonic/frontend",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "TypeScript parser and IR builder for Tsonic compiler",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,15 +0,0 @@
1
- /**
2
- * CLR type resolver - Maps TypeScript inferred types to CLR type strings
3
- *
4
- * Used for module-level const declarations and class fields where C# requires
5
- * explicit types (cannot use 'var').
6
- */
7
- import * as ts from "typescript";
8
- /**
9
- * Resolve CLR type string from a TypeScript declaration node.
10
- * Uses the type checker to get the inferred type.
11
- *
12
- * Returns undefined if the type cannot be resolved to a CLR primitive.
13
- */
14
- export declare const resolveClrType: (node: ts.VariableDeclaration | ts.PropertyDeclaration, checker: ts.TypeChecker) => string | undefined;
15
- //# sourceMappingURL=clr-type-resolver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clr-type-resolver.d.ts","sourceRoot":"","sources":["../../../src/ir/type-converter/clr-type-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,EAAE,CAAC,mBAAmB,GAAG,EAAE,CAAC,mBAAmB,EACrD,SAAS,EAAE,CAAC,WAAW,KACtB,MAAM,GAAG,SAGX,CAAC"}
@@ -1,120 +0,0 @@
1
- /**
2
- * CLR type resolver - Maps TypeScript inferred types to CLR type strings
3
- *
4
- * Used for module-level const declarations and class fields where C# requires
5
- * explicit types (cannot use 'var').
6
- */
7
- import * as ts from "typescript";
8
- /**
9
- * Resolve CLR type string from a TypeScript declaration node.
10
- * Uses the type checker to get the inferred type.
11
- *
12
- * Returns undefined if the type cannot be resolved to a CLR primitive.
13
- */
14
- export const resolveClrType = (node, checker) => {
15
- const type = checker.getTypeAtLocation(node);
16
- return mapTypeToClr(type, checker);
17
- };
18
- /**
19
- * Map a TypeScript type to its CLR equivalent.
20
- * Returns undefined for complex types that require IR representation.
21
- */
22
- const mapTypeToClr = (type, checker) => {
23
- const flags = type.flags;
24
- // Primitives
25
- if (flags & ts.TypeFlags.Number) {
26
- return "double";
27
- }
28
- if (flags & ts.TypeFlags.String) {
29
- return "string";
30
- }
31
- if (flags & ts.TypeFlags.Boolean) {
32
- return "bool";
33
- }
34
- if (flags & ts.TypeFlags.BooleanLiteral) {
35
- return "bool";
36
- }
37
- if (flags & ts.TypeFlags.Void) {
38
- return "void";
39
- }
40
- // Number literal types (e.g., const x = 42)
41
- if (flags & ts.TypeFlags.NumberLiteral) {
42
- return "double";
43
- }
44
- // String literal types (e.g., const x = "hello")
45
- if (flags & ts.TypeFlags.StringLiteral) {
46
- return "string";
47
- }
48
- // Null and undefined
49
- if (flags & ts.TypeFlags.Null) {
50
- return "object";
51
- }
52
- if (flags & ts.TypeFlags.Undefined) {
53
- return "object";
54
- }
55
- // Object type - check if it's an array
56
- if (flags & ts.TypeFlags.Object) {
57
- const objectType = type;
58
- // Check for array type
59
- if (checker.isArrayType(type)) {
60
- const typeArgs = checker.getTypeArguments(type);
61
- if (typeArgs.length > 0) {
62
- const elementClr = mapTypeToClr(typeArgs[0], checker);
63
- if (elementClr) {
64
- return `Tsonic.Runtime.Array<${elementClr}>`;
65
- }
66
- }
67
- return "Tsonic.Runtime.Array<object>";
68
- }
69
- // Check for callable signatures (function types) - return undefined to let emitter handle
70
- const callSignatures = type.getCallSignatures();
71
- if (callSignatures.length > 0) {
72
- return undefined; // Function types need special handling in emitter
73
- }
74
- // Check for symbol with name (could be class, interface, etc.)
75
- if (objectType.symbol) {
76
- const name = objectType.symbol.name;
77
- // Known runtime types
78
- if (name === "Array") {
79
- return "Tsonic.Runtime.Array<object>";
80
- }
81
- if (name === "Object") {
82
- return "object";
83
- }
84
- if (name === "Function") {
85
- return "Delegate";
86
- }
87
- // Skip internal TypeScript symbol names
88
- if (name.startsWith("__")) {
89
- return undefined;
90
- }
91
- // For other named types, return the name (may need qualification later)
92
- if (name) {
93
- return name;
94
- }
95
- }
96
- // Anonymous object type - cannot resolve to simple CLR type
97
- return undefined;
98
- }
99
- // Any and unknown
100
- if (flags & ts.TypeFlags.Any) {
101
- return "object";
102
- }
103
- if (flags & ts.TypeFlags.Unknown) {
104
- return "object";
105
- }
106
- // Never type
107
- if (flags & ts.TypeFlags.Never) {
108
- return undefined;
109
- }
110
- // Union types - cannot resolve to simple CLR type
111
- if (flags & ts.TypeFlags.Union) {
112
- return undefined;
113
- }
114
- // Intersection types - cannot resolve to simple CLR type
115
- if (flags & ts.TypeFlags.Intersection) {
116
- return undefined;
117
- }
118
- return undefined;
119
- };
120
- //# sourceMappingURL=clr-type-resolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clr-type-resolver.js","sourceRoot":"","sources":["../../../src/ir/type-converter/clr-type-resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dotnet-import-resolver.d.ts","sourceRoot":"","sources":["../../src/resolver/dotnet-import-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAC5B;IACE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C,GACD;IACE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;CAC1B,CAAC;AAUN;;;;;;;;GAQG;AACH,qBAAa,oBAAoB;IAE/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoC;IAGjE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA8B;IAGlE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAE1B,OAAO,EAAE,MAAM;IAK3B;;OAEG;IACH,OAAO,CAAC,eAAe,EAAE,MAAM,GAAG,oBAAoB;IA4CtD;;;;;;;;OAQG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAwCtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAWnB;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,yBAAyB,IAAI,WAAW,CAAC,MAAM,CAAC;CASjD;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,GACrC,YAAY,MAAM,KACjB,oBAEF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dotnet-import-resolver.js","sourceRoot":"","sources":["../../src/resolver/dotnet-import-resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-debug.d.ts","sourceRoot":"","sources":["../../src/types/test-debug.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-debug.js","sourceRoot":"","sources":["../../src/types/test-debug.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;AACpC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AAEvC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;AAE/C,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,WAAW,EAAE,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,UAAU,EAAE,CAAC,CAAC;IAEhF,6BAA6B;IAC7B,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,kBAAkB,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7E,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACzC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAyC;IACzC,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1D,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,IAAqB,CAAC;QACzC,MAAM,WAAW,GAAG,CAAC,UAAU,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,kBAAkB,UAAU,CAAC,WAAW,eAAe,WAAW,GAAG,CAAC,CAAC;QAEnF,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,IAAwB,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;YACtE,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACvC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClE,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,OAAO,CAAC,OAAO,EAAE,CAAC;AAClB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC"}
@@ -1,24 +0,0 @@
1
- /**
2
- * AOT Safety Validation
3
- *
4
- * Detects patterns that would require C# `dynamic` and rejects them early:
5
- * - `any` type usage
6
- * - Dynamic member access on untyped objects
7
- * - Object literals without contextual nominal types
8
- *
9
- * This ensures NativeAOT-compatible, predictable-performance output.
10
- */
11
- import * as ts from "typescript";
12
- import { TsonicProgram } from "../program.js";
13
- import { DiagnosticsCollector } from "../types/diagnostic.js";
14
- /**
15
- * Validate a source file for AOT safety violations.
16
- *
17
- * Detects:
18
- * - TSN7401: 'any' type usage
19
- * - TSN7402: Dynamic member access
20
- * - TSN7403: Object literal without contextual type
21
- * - TSN7405: Untyped lambda parameter
22
- */
23
- export declare const validateAotSafety: (sourceFile: ts.SourceFile, program: TsonicProgram, collector: DiagnosticsCollector) => DiagnosticsCollector;
24
- //# sourceMappingURL=aot-safety.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aot-safety.d.ts","sourceRoot":"","sources":["../../src/validation/aot-safety.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EACL,oBAAoB,EAGrB,MAAM,wBAAwB,CAAC;AAGhC;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,EAAE,CAAC,UAAU,EACzB,SAAS,aAAa,EACtB,WAAW,oBAAoB,KAC9B,oBAmHF,CAAC"}
@@ -1,114 +0,0 @@
1
- /**
2
- * AOT Safety Validation
3
- *
4
- * Detects patterns that would require C# `dynamic` and rejects them early:
5
- * - `any` type usage
6
- * - Dynamic member access on untyped objects
7
- * - Object literals without contextual nominal types
8
- *
9
- * This ensures NativeAOT-compatible, predictable-performance output.
10
- */
11
- import * as ts from "typescript";
12
- import { addDiagnostic, createDiagnostic, } from "../types/diagnostic.js";
13
- import { getNodeLocation } from "./helpers.js";
14
- /**
15
- * Validate a source file for AOT safety violations.
16
- *
17
- * Detects:
18
- * - TSN7401: 'any' type usage
19
- * - TSN7402: Dynamic member access
20
- * - TSN7403: Object literal without contextual type
21
- * - TSN7405: Untyped lambda parameter
22
- */
23
- export const validateAotSafety = (sourceFile, program, collector) => {
24
- const checker = program.checker;
25
- const visitor = (node) => {
26
- // Check for explicit 'any' type annotations
27
- if (ts.isTypeReferenceNode(node)) {
28
- const typeName = node.typeName;
29
- if (ts.isIdentifier(typeName) && typeName.text === "any") {
30
- collector = addDiagnostic(collector, createDiagnostic("TSN7401", "error", "'any' type is not supported in AOT mode. Provide a concrete type, use Dictionary<string, T>, or define a nominal type.", getNodeLocation(sourceFile, node), "Replace 'any' with a specific type like 'object', 'unknown', or a custom interface."));
31
- }
32
- }
33
- // Check for 'any' keyword in type position
34
- if (node.kind === ts.SyntaxKind.AnyKeyword) {
35
- const parent = node.parent;
36
- // Skip if this is inside a type assertion (as any) - we'll handle that separately
37
- if (!ts.isAsExpression(parent) && !ts.isTypeAssertionExpression(parent)) {
38
- collector = addDiagnostic(collector, createDiagnostic("TSN7401", "error", "'any' type is not supported in AOT mode. Provide a concrete type, use Dictionary<string, T>, or define a nominal type.", getNodeLocation(sourceFile, node), "Replace 'any' with a specific type like 'object', 'unknown', or a custom interface."));
39
- }
40
- }
41
- // Check for untyped function parameters
42
- if (ts.isParameter(node) && !node.type) {
43
- // Check if this is in a callback/arrow context where type might be inferred
44
- const parent = node.parent;
45
- if (ts.isFunctionDeclaration(parent) ||
46
- ts.isMethodDeclaration(parent) ||
47
- ts.isConstructorDeclaration(parent)) {
48
- // Top-level function/method parameters must have explicit types
49
- collector = addDiagnostic(collector, createDiagnostic("TSN7405", "error", "Function parameter must have an explicit type annotation.", getNodeLocation(sourceFile, node), "Add a type annotation to this parameter."));
50
- }
51
- }
52
- // Check for object literals without contextual type
53
- if (ts.isObjectLiteralExpression(node)) {
54
- const contextualType = checker.getContextualType(node);
55
- if (!contextualType) {
56
- // No contextual type - check if parent provides one
57
- const parent = node.parent;
58
- // Allow if it's a typed variable declaration
59
- if (ts.isVariableDeclaration(parent) && parent.type) {
60
- // Has explicit type annotation - OK
61
- }
62
- else if (ts.isPropertyAssignment(parent)) {
63
- // Inside another object literal - will be checked at parent level
64
- }
65
- else if (ts.isReturnStatement(parent)) {
66
- // Return type should provide context - check function
67
- const func = findContainingFunction(parent);
68
- if (func && func.type) {
69
- // Has return type annotation - OK
70
- }
71
- else {
72
- collector = addDiagnostic(collector, createDiagnostic("TSN7403", "error", "Object literal requires a contextual nominal type. Provide a type annotation or define an interface.", getNodeLocation(sourceFile, node), "Add a type annotation like 'const x: MyType = { ... }' or define an interface."));
73
- }
74
- }
75
- else if (ts.isVariableDeclaration(parent) &&
76
- !parent.type &&
77
- !isCallExpressionArgument(node)) {
78
- // Untyped variable with object literal - error
79
- collector = addDiagnostic(collector, createDiagnostic("TSN7403", "error", "Object literal requires a contextual nominal type. Provide a type annotation or define an interface.", getNodeLocation(sourceFile, node), "Add a type annotation like 'const x: MyType = { ... }' or define an interface."));
80
- }
81
- }
82
- }
83
- ts.forEachChild(node, visitor);
84
- };
85
- visitor(sourceFile);
86
- return collector;
87
- };
88
- /**
89
- * Find the containing function declaration/expression for a node
90
- */
91
- const findContainingFunction = (node) => {
92
- let current = node.parent;
93
- while (current) {
94
- if (ts.isFunctionDeclaration(current) ||
95
- ts.isFunctionExpression(current) ||
96
- ts.isArrowFunction(current) ||
97
- ts.isMethodDeclaration(current)) {
98
- return current;
99
- }
100
- current = current.parent;
101
- }
102
- return undefined;
103
- };
104
- /**
105
- * Check if a node is an argument to a call expression
106
- */
107
- const isCallExpressionArgument = (node) => {
108
- const parent = node.parent;
109
- if (ts.isCallExpression(parent)) {
110
- return parent.arguments.includes(node);
111
- }
112
- return false;
113
- };
114
- //# sourceMappingURL=aot-safety.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aot-safety.js","sourceRoot":"","sources":["../../src/validation/aot-safety.ts"],"names":[],"mappings":"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"}