@tsonic/frontend 0.0.1 → 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.
- package/dist/.tsbuildinfo +1 -0
- package/{src/dependency-graph.ts → dist/dependency-graph.d.ts} +3 -11
- package/dist/dependency-graph.d.ts.map +1 -0
- package/dist/dependency-graph.js +9 -0
- package/dist/dependency-graph.js.map +1 -0
- package/dist/dotnet-metadata.d.ts +71 -0
- package/dist/dotnet-metadata.d.ts.map +1 -0
- package/dist/dotnet-metadata.js +78 -0
- package/dist/dotnet-metadata.js.map +1 -0
- package/dist/graph/builder.d.ts +10 -0
- package/dist/graph/builder.d.ts.map +1 -0
- package/dist/graph/builder.js +54 -0
- package/dist/graph/builder.js.map +1 -0
- package/dist/graph/circular.d.ts +10 -0
- package/dist/graph/circular.d.ts.map +1 -0
- package/dist/graph/circular.js +40 -0
- package/dist/graph/circular.js.map +1 -0
- package/dist/graph/extraction/exports.d.ts +10 -0
- package/dist/graph/extraction/exports.d.ts.map +1 -0
- package/dist/graph/extraction/exports.js +46 -0
- package/dist/graph/extraction/exports.js.map +1 -0
- package/dist/graph/extraction/imports.d.ts +11 -0
- package/dist/graph/extraction/imports.d.ts.map +1 -0
- package/dist/graph/extraction/imports.js +63 -0
- package/dist/graph/extraction/imports.js.map +1 -0
- package/dist/graph/extraction/index.d.ts +7 -0
- package/dist/graph/extraction/index.d.ts.map +1 -0
- package/{src/graph/extraction/index.ts → dist/graph/extraction/index.js} +1 -1
- package/dist/graph/extraction/index.js.map +1 -0
- package/dist/graph/extraction/orchestrator.d.ts +11 -0
- package/dist/graph/extraction/orchestrator.d.ts.map +1 -0
- package/dist/graph/extraction/orchestrator.js +78 -0
- package/dist/graph/extraction/orchestrator.js.map +1 -0
- package/dist/graph/extraction.d.ts +6 -0
- package/dist/graph/extraction.d.ts.map +1 -0
- package/{src/graph/extraction.ts → dist/graph/extraction.js} +2 -6
- package/dist/graph/extraction.js.map +1 -0
- package/dist/graph/helpers.d.ts +17 -0
- package/dist/graph/helpers.d.ts.map +1 -0
- package/dist/graph/helpers.js +40 -0
- package/dist/graph/helpers.js.map +1 -0
- package/{src/graph/index.ts → dist/graph/index.d.ts} +3 -11
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +8 -0
- package/dist/graph/index.js.map +1 -0
- package/{src/graph/types.ts → dist/graph/types.d.ts} +4 -5
- package/dist/graph/types.d.ts.map +1 -0
- package/dist/graph/types.js +5 -0
- package/dist/graph/types.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/ir/binding-resolution.test.d.ts +5 -0
- package/dist/ir/binding-resolution.test.d.ts.map +1 -0
- package/dist/ir/binding-resolution.test.js +518 -0
- package/dist/ir/binding-resolution.test.js.map +1 -0
- package/dist/ir/builder/exports.d.ts +10 -0
- package/dist/ir/builder/exports.d.ts.map +1 -0
- package/dist/ir/builder/exports.js +75 -0
- package/dist/ir/builder/exports.js.map +1 -0
- package/dist/ir/builder/helpers.d.ts +13 -0
- package/dist/ir/builder/helpers.d.ts.map +1 -0
- package/dist/ir/builder/helpers.js +23 -0
- package/dist/ir/builder/helpers.js.map +1 -0
- package/dist/ir/builder/imports.d.ts +18 -0
- package/dist/ir/builder/imports.d.ts.map +1 -0
- package/dist/ir/builder/imports.js +123 -0
- package/dist/ir/builder/imports.js.map +1 -0
- package/{src/ir/builder/index.ts → dist/ir/builder/index.d.ts} +1 -1
- package/dist/ir/builder/index.d.ts.map +1 -0
- package/dist/ir/builder/index.js +9 -0
- package/dist/ir/builder/index.js.map +1 -0
- package/dist/ir/builder/orchestrator.d.ts +18 -0
- package/dist/ir/builder/orchestrator.d.ts.map +1 -0
- package/dist/ir/builder/orchestrator.js +121 -0
- package/dist/ir/builder/orchestrator.js.map +1 -0
- package/dist/ir/builder/statements.d.ts +14 -0
- package/dist/ir/builder/statements.d.ts.map +1 -0
- package/dist/ir/builder/statements.js +43 -0
- package/dist/ir/builder/statements.js.map +1 -0
- package/dist/ir/builder/types.d.ts +8 -0
- package/dist/ir/builder/types.d.ts.map +1 -0
- package/dist/ir/builder/types.js +5 -0
- package/dist/ir/builder/types.js.map +1 -0
- package/dist/ir/builder/validation.d.ts +10 -0
- package/dist/ir/builder/validation.d.ts.map +1 -0
- package/dist/ir/builder/validation.js +86 -0
- package/dist/ir/builder/validation.js.map +1 -0
- package/{src/ir/builder.ts → dist/ir/builder.d.ts} +2 -5
- package/dist/ir/builder.d.ts.map +1 -0
- package/dist/ir/builder.js +10 -0
- package/dist/ir/builder.js.map +1 -0
- package/dist/ir/builder.test.d.ts +5 -0
- package/dist/ir/builder.test.d.ts.map +1 -0
- package/dist/ir/builder.test.js +498 -0
- package/dist/ir/builder.test.js.map +1 -0
- package/dist/ir/converters/expressions/access.d.ts +10 -0
- package/dist/ir/converters/expressions/access.d.ts.map +1 -0
- package/dist/ir/converters/expressions/access.js +132 -0
- package/dist/ir/converters/expressions/access.js.map +1 -0
- package/dist/ir/converters/expressions/calls.d.ts +14 -0
- package/dist/ir/converters/expressions/calls.d.ts.map +1 -0
- package/dist/ir/converters/expressions/calls.js +104 -0
- package/dist/ir/converters/expressions/calls.js.map +1 -0
- package/dist/ir/converters/expressions/collections.d.ts +14 -0
- package/dist/ir/converters/expressions/collections.d.ts.map +1 -0
- package/dist/ir/converters/expressions/collections.js +70 -0
- package/dist/ir/converters/expressions/collections.js.map +1 -0
- package/dist/ir/converters/expressions/functions.d.ts +14 -0
- package/dist/ir/converters/expressions/functions.d.ts.map +1 -0
- package/dist/ir/converters/expressions/functions.js +42 -0
- package/dist/ir/converters/expressions/functions.js.map +1 -0
- package/dist/ir/converters/expressions/helpers.d.ts +43 -0
- package/dist/ir/converters/expressions/helpers.d.ts.map +1 -0
- package/dist/ir/converters/expressions/helpers.js +217 -0
- package/dist/ir/converters/expressions/helpers.js.map +1 -0
- package/dist/ir/converters/expressions/index.d.ts +12 -0
- package/dist/ir/converters/expressions/index.d.ts.map +1 -0
- package/dist/ir/converters/expressions/index.js +20 -0
- package/dist/ir/converters/expressions/index.js.map +1 -0
- package/dist/ir/converters/expressions/literals.d.ts +10 -0
- package/dist/ir/converters/expressions/literals.d.ts.map +1 -0
- package/dist/ir/converters/expressions/literals.js +17 -0
- package/dist/ir/converters/expressions/literals.js.map +1 -0
- package/dist/ir/converters/expressions/operators.d.ts +18 -0
- package/dist/ir/converters/expressions/operators.d.ts.map +1 -0
- package/dist/ir/converters/expressions/operators.js +111 -0
- package/dist/ir/converters/expressions/operators.js.map +1 -0
- package/dist/ir/converters/expressions/other.d.ts +14 -0
- package/dist/ir/converters/expressions/other.d.ts.map +1 -0
- package/dist/ir/converters/expressions/other.js +44 -0
- package/dist/ir/converters/expressions/other.js.map +1 -0
- package/dist/ir/converters/statements/control/blocks.d.ts +10 -0
- package/dist/ir/converters/statements/control/blocks.d.ts.map +1 -0
- package/dist/ir/converters/statements/control/blocks.js +16 -0
- package/dist/ir/converters/statements/control/blocks.js.map +1 -0
- package/dist/ir/converters/statements/control/conditionals.d.ts +18 -0
- package/dist/ir/converters/statements/control/conditionals.d.ts.map +1 -0
- package/dist/ir/converters/statements/control/conditionals.js +46 -0
- package/dist/ir/converters/statements/control/conditionals.js.map +1 -0
- package/dist/ir/converters/statements/control/exceptions.d.ts +14 -0
- package/dist/ir/converters/statements/control/exceptions.d.ts.map +1 -0
- package/dist/ir/converters/statements/control/exceptions.js +33 -0
- package/dist/ir/converters/statements/control/exceptions.js.map +1 -0
- package/dist/ir/converters/statements/control/index.d.ts +8 -0
- package/dist/ir/converters/statements/control/index.d.ts.map +1 -0
- package/dist/ir/converters/statements/control/index.js +8 -0
- package/dist/ir/converters/statements/control/index.js.map +1 -0
- package/dist/ir/converters/statements/control/loops.d.ts +22 -0
- package/dist/ir/converters/statements/control/loops.d.ts.map +1 -0
- package/dist/ir/converters/statements/control/loops.js +75 -0
- package/dist/ir/converters/statements/control/loops.js.map +1 -0
- package/dist/ir/converters/statements/control.d.ts +6 -0
- package/dist/ir/converters/statements/control.d.ts.map +1 -0
- package/dist/ir/converters/statements/control.js +6 -0
- package/dist/ir/converters/statements/control.js.map +1 -0
- package/dist/ir/converters/statements/declarations/classes/constructors.d.ts +14 -0
- package/dist/ir/converters/statements/declarations/classes/constructors.d.ts.map +1 -0
- package/dist/ir/converters/statements/declarations/classes/constructors.js +91 -0
- package/dist/ir/converters/statements/declarations/classes/constructors.js.map +1 -0
- package/{src/ir/converters/statements/declarations/classes/index.ts → dist/ir/converters/statements/declarations/classes/index.d.ts} +2 -5
- package/dist/ir/converters/statements/declarations/classes/index.d.ts.map +1 -0
- package/dist/ir/converters/statements/declarations/classes/index.js +9 -0
- package/dist/ir/converters/statements/declarations/classes/index.js.map +1 -0
- package/dist/ir/converters/statements/declarations/classes/methods.d.ts +10 -0
- package/dist/ir/converters/statements/declarations/classes/methods.d.ts.map +1 -0
- package/dist/ir/converters/statements/declarations/classes/methods.js +39 -0
- package/dist/ir/converters/statements/declarations/classes/methods.js.map +1 -0
- package/dist/ir/converters/statements/declarations/classes/orchestrator.d.ts +10 -0
- package/dist/ir/converters/statements/declarations/classes/orchestrator.d.ts.map +1 -0
- package/dist/ir/converters/statements/declarations/classes/orchestrator.js +123 -0
- package/dist/ir/converters/statements/declarations/classes/orchestrator.js.map +1 -0
- package/dist/ir/converters/statements/declarations/classes/override-detection.d.ts +13 -0
- package/dist/ir/converters/statements/declarations/classes/override-detection.d.ts.map +1 -0
- package/dist/ir/converters/statements/declarations/classes/override-detection.js +79 -0
- package/dist/ir/converters/statements/declarations/classes/override-detection.js.map +1 -0
- package/dist/ir/converters/statements/declarations/classes/properties.d.ts +10 -0
- package/dist/ir/converters/statements/declarations/classes/properties.d.ts.map +1 -0
- package/dist/ir/converters/statements/declarations/classes/properties.js +42 -0
- package/dist/ir/converters/statements/declarations/classes/properties.js.map +1 -0
- package/dist/ir/converters/statements/declarations/classes.d.ts +6 -0
- package/dist/ir/converters/statements/declarations/classes.d.ts.map +1 -0
- package/{src/ir/converters/statements/declarations/classes.ts → dist/ir/converters/statements/declarations/classes.js} +1 -1
- package/dist/ir/converters/statements/declarations/classes.js.map +1 -0
- package/dist/ir/converters/statements/declarations/enums.d.ts +10 -0
- package/dist/ir/converters/statements/declarations/enums.d.ts.map +1 -0
- package/dist/ir/converters/statements/declarations/enums.js +24 -0
- package/dist/ir/converters/statements/declarations/enums.js.map +1 -0
- package/dist/ir/converters/statements/declarations/functions.d.ts +10 -0
- package/dist/ir/converters/statements/declarations/functions.d.ts.map +1 -0
- package/dist/ir/converters/statements/declarations/functions.js +28 -0
- package/dist/ir/converters/statements/declarations/functions.js.map +1 -0
- package/dist/ir/converters/statements/declarations/index.d.ts +11 -0
- package/dist/ir/converters/statements/declarations/index.d.ts.map +1 -0
- package/{src/ir/converters/statements/declarations/index.ts → dist/ir/converters/statements/declarations/index.js} +2 -5
- package/dist/ir/converters/statements/declarations/index.js.map +1 -0
- package/dist/ir/converters/statements/declarations/interfaces.d.ts +15 -0
- package/dist/ir/converters/statements/declarations/interfaces.d.ts.map +1 -0
- package/dist/ir/converters/statements/declarations/interfaces.js +96 -0
- package/dist/ir/converters/statements/declarations/interfaces.js.map +1 -0
- package/dist/ir/converters/statements/declarations/registry.d.ts +24 -0
- package/dist/ir/converters/statements/declarations/registry.d.ts.map +1 -0
- package/{src/ir/converters/statements/declarations/registry.ts → dist/ir/converters/statements/declarations/registry.js} +9 -16
- package/dist/ir/converters/statements/declarations/registry.js.map +1 -0
- package/dist/ir/converters/statements/declarations/type-aliases.d.ts +10 -0
- package/dist/ir/converters/statements/declarations/type-aliases.d.ts.map +1 -0
- package/dist/ir/converters/statements/declarations/type-aliases.js +19 -0
- package/dist/ir/converters/statements/declarations/type-aliases.js.map +1 -0
- package/dist/ir/converters/statements/declarations/variables.d.ts +10 -0
- package/dist/ir/converters/statements/declarations/variables.d.ts.map +1 -0
- package/dist/ir/converters/statements/declarations/variables.js +45 -0
- package/dist/ir/converters/statements/declarations/variables.js.map +1 -0
- package/dist/ir/converters/statements/declarations.d.ts +6 -0
- package/dist/ir/converters/statements/declarations.d.ts.map +1 -0
- package/dist/ir/converters/statements/declarations.js +6 -0
- package/dist/ir/converters/statements/declarations.js.map +1 -0
- package/dist/ir/converters/statements/helpers.d.ts +34 -0
- package/dist/ir/converters/statements/helpers.d.ts.map +1 -0
- package/dist/ir/converters/statements/helpers.js +137 -0
- package/dist/ir/converters/statements/helpers.js.map +1 -0
- package/dist/ir/converters/statements/index.d.ts +7 -0
- package/dist/ir/converters/statements/index.d.ts.map +1 -0
- package/dist/ir/converters/statements/index.js +10 -0
- package/dist/ir/converters/statements/index.js.map +1 -0
- package/dist/ir/expression-converter.d.ts +13 -0
- package/dist/ir/expression-converter.d.ts.map +1 -0
- package/dist/ir/expression-converter.js +167 -0
- package/dist/ir/expression-converter.js.map +1 -0
- package/dist/ir/generic-validator.d.ts +38 -0
- package/dist/ir/generic-validator.d.ts.map +1 -0
- package/dist/ir/generic-validator.js +69 -0
- package/dist/ir/generic-validator.js.map +1 -0
- package/dist/ir/hierarchical-bindings-e2e.test.d.ts +6 -0
- package/dist/ir/hierarchical-bindings-e2e.test.d.ts.map +1 -0
- package/dist/ir/hierarchical-bindings-e2e.test.js +129 -0
- package/dist/ir/hierarchical-bindings-e2e.test.js.map +1 -0
- package/{src/ir/index.ts → dist/ir/index.d.ts} +1 -1
- package/dist/ir/index.d.ts.map +1 -0
- package/dist/ir/index.js +6 -0
- package/dist/ir/index.js.map +1 -0
- package/dist/ir/statement-converter.d.ts +14 -0
- package/dist/ir/statement-converter.d.ts.map +1 -0
- package/dist/ir/statement-converter.js +100 -0
- package/dist/ir/statement-converter.js.map +1 -0
- package/dist/ir/type-converter/arrays.d.ts +10 -0
- package/dist/ir/type-converter/arrays.d.ts.map +1 -0
- package/dist/ir/type-converter/arrays.js +13 -0
- package/dist/ir/type-converter/arrays.js.map +1 -0
- package/dist/ir/type-converter/converter.d.ts +6 -0
- package/dist/ir/type-converter/converter.d.ts.map +1 -0
- package/dist/ir/type-converter/converter.js +6 -0
- package/dist/ir/type-converter/converter.js.map +1 -0
- package/dist/ir/type-converter/functions.d.ts +10 -0
- package/dist/ir/type-converter/functions.d.ts.map +1 -0
- package/dist/ir/type-converter/functions.js +15 -0
- package/dist/ir/type-converter/functions.js.map +1 -0
- package/dist/ir/type-converter/index.d.ts +7 -0
- package/dist/ir/type-converter/index.d.ts.map +1 -0
- package/{src/ir/type-converter/index.ts → dist/ir/type-converter/index.js} +2 -6
- package/dist/ir/type-converter/index.js.map +1 -0
- package/dist/ir/type-converter/inference.d.ts +20 -0
- package/dist/ir/type-converter/inference.d.ts.map +1 -0
- package/dist/ir/type-converter/inference.js +105 -0
- package/dist/ir/type-converter/inference.js.map +1 -0
- package/dist/ir/type-converter/literals.d.ts +10 -0
- package/dist/ir/type-converter/literals.d.ts.map +1 -0
- package/dist/ir/type-converter/literals.js +31 -0
- package/dist/ir/type-converter/literals.js.map +1 -0
- package/dist/ir/type-converter/objects.d.ts +16 -0
- package/dist/ir/type-converter/objects.d.ts.map +1 -0
- package/dist/ir/type-converter/objects.js +82 -0
- package/dist/ir/type-converter/objects.js.map +1 -0
- package/dist/ir/type-converter/orchestrator.d.ts +13 -0
- package/dist/ir/type-converter/orchestrator.d.ts.map +1 -0
- package/dist/ir/type-converter/orchestrator.js +59 -0
- package/dist/ir/type-converter/orchestrator.js.map +1 -0
- package/dist/ir/type-converter/patterns.d.ts +10 -0
- package/dist/ir/type-converter/patterns.d.ts.map +1 -0
- package/dist/ir/type-converter/patterns.js +66 -0
- package/dist/ir/type-converter/patterns.js.map +1 -0
- package/dist/ir/type-converter/primitives.d.ts +18 -0
- package/dist/ir/type-converter/primitives.d.ts.map +1 -0
- package/dist/ir/type-converter/primitives.js +47 -0
- package/dist/ir/type-converter/primitives.js.map +1 -0
- package/dist/ir/type-converter/references.d.ts +11 -0
- package/dist/ir/type-converter/references.d.ts.map +1 -0
- package/dist/ir/type-converter/references.js +62 -0
- package/dist/ir/type-converter/references.js.map +1 -0
- package/dist/ir/type-converter/unions-intersections.d.ts +14 -0
- package/dist/ir/type-converter/unions-intersections.d.ts.map +1 -0
- package/dist/ir/type-converter/unions-intersections.js +22 -0
- package/dist/ir/type-converter/unions-intersections.js.map +1 -0
- package/dist/ir/type-converter.d.ts +6 -0
- package/dist/ir/type-converter.d.ts.map +1 -0
- package/dist/ir/type-converter.js +6 -0
- package/dist/ir/type-converter.js.map +1 -0
- package/dist/ir/types/expressions.d.ts +164 -0
- package/dist/ir/types/expressions.d.ts.map +1 -0
- package/dist/ir/types/expressions.js +5 -0
- package/dist/ir/types/expressions.js.map +1 -0
- package/dist/ir/types/guards.d.ts +8 -0
- package/dist/ir/types/guards.d.ts.map +1 -0
- package/dist/ir/types/guards.js +31 -0
- package/dist/ir/types/guards.js.map +1 -0
- package/dist/ir/types/helpers.d.ts +65 -0
- package/dist/ir/types/helpers.d.ts.map +1 -0
- package/dist/ir/types/helpers.js +5 -0
- package/dist/ir/types/helpers.js.map +1 -0
- package/dist/ir/types/index.d.ts +11 -0
- package/dist/ir/types/index.d.ts.map +1 -0
- package/dist/ir/types/index.js +7 -0
- package/dist/ir/types/index.js.map +1 -0
- package/dist/ir/types/ir-types.d.ts +79 -0
- package/dist/ir/types/ir-types.d.ts.map +1 -0
- package/dist/ir/types/ir-types.js +5 -0
- package/dist/ir/types/ir-types.js.map +1 -0
- package/dist/ir/types/module.d.ts +56 -0
- package/dist/ir/types/module.d.ts.map +1 -0
- package/dist/ir/types/module.js +5 -0
- package/dist/ir/types/module.js.map +1 -0
- package/dist/ir/types/statements.d.ts +182 -0
- package/dist/ir/types/statements.d.ts.map +1 -0
- package/dist/ir/types/statements.js +5 -0
- package/dist/ir/types/statements.js.map +1 -0
- package/dist/ir/types.d.ts +7 -0
- package/dist/ir/types.d.ts.map +1 -0
- package/dist/ir/types.js +7 -0
- package/dist/ir/types.js.map +1 -0
- package/dist/metadata/bindings-loader.d.ts +41 -0
- package/dist/metadata/bindings-loader.d.ts.map +1 -0
- package/dist/metadata/bindings-loader.js +308 -0
- package/dist/metadata/bindings-loader.js.map +1 -0
- package/dist/metadata/bindings-loader.test.d.ts +5 -0
- package/dist/metadata/bindings-loader.test.d.ts.map +1 -0
- package/dist/metadata/bindings-loader.test.js +117 -0
- package/dist/metadata/bindings-loader.test.js.map +1 -0
- package/{src/metadata/index.ts → dist/metadata/index.d.ts} +2 -9
- package/dist/metadata/index.d.ts.map +1 -0
- package/dist/metadata/index.js +7 -0
- package/dist/metadata/index.js.map +1 -0
- package/dist/metadata/library-loader.d.ts +42 -0
- package/dist/metadata/library-loader.d.ts.map +1 -0
- package/dist/metadata/library-loader.js +126 -0
- package/dist/metadata/library-loader.js.map +1 -0
- package/dist/metadata/loader.d.ts +26 -0
- package/dist/metadata/loader.d.ts.map +1 -0
- package/dist/metadata/loader.js +333 -0
- package/dist/metadata/loader.js.map +1 -0
- package/dist/metadata/loader.test.d.ts +5 -0
- package/dist/metadata/loader.test.d.ts.map +1 -0
- package/dist/metadata/loader.test.js +119 -0
- package/dist/metadata/loader.test.js.map +1 -0
- package/dist/program/bindings.d.ts +159 -0
- package/dist/program/bindings.d.ts.map +1 -0
- package/dist/program/bindings.js +329 -0
- package/dist/program/bindings.js.map +1 -0
- package/dist/program/bindings.test.d.ts +5 -0
- package/dist/program/bindings.test.d.ts.map +1 -0
- package/dist/program/bindings.test.js +435 -0
- package/dist/program/bindings.test.js.map +1 -0
- package/dist/program/config.d.ts +9 -0
- package/dist/program/config.d.ts.map +1 -0
- package/dist/program/config.js +29 -0
- package/dist/program/config.js.map +1 -0
- package/dist/program/creation.d.ts +17 -0
- package/dist/program/creation.d.ts.map +1 -0
- package/dist/program/creation.js +182 -0
- package/dist/program/creation.js.map +1 -0
- package/dist/program/dependency-graph.d.ts +19 -0
- package/dist/program/dependency-graph.d.ts.map +1 -0
- package/dist/program/dependency-graph.js +230 -0
- package/dist/program/dependency-graph.js.map +1 -0
- package/dist/program/diagnostics.d.ts +23 -0
- package/dist/program/diagnostics.d.ts.map +1 -0
- package/dist/program/diagnostics.js +65 -0
- package/dist/program/diagnostics.js.map +1 -0
- package/{src/program/index.ts → dist/program/index.d.ts} +3 -10
- package/dist/program/index.d.ts.map +1 -0
- package/dist/program/index.js +11 -0
- package/dist/program/index.js.map +1 -0
- package/dist/program/metadata.d.ts +10 -0
- package/dist/program/metadata.d.ts.map +1 -0
- package/dist/program/metadata.js +56 -0
- package/dist/program/metadata.js.map +1 -0
- package/dist/program/queries.d.ts +10 -0
- package/dist/program/queries.d.ts.map +1 -0
- package/dist/program/queries.js +12 -0
- package/dist/program/queries.js.map +1 -0
- package/dist/program/types.d.ts +36 -0
- package/dist/program/types.d.ts.map +1 -0
- package/dist/program/types.js +5 -0
- package/dist/program/types.js.map +1 -0
- package/{src/program.ts → dist/program.d.ts} +2 -7
- package/dist/program.d.ts.map +1 -0
- package/dist/program.js +6 -0
- package/dist/program.js.map +1 -0
- package/dist/resolver/clr-bindings-resolver.d.ts +84 -0
- package/dist/resolver/clr-bindings-resolver.d.ts.map +1 -0
- package/dist/resolver/clr-bindings-resolver.js +224 -0
- package/dist/resolver/clr-bindings-resolver.js.map +1 -0
- package/dist/resolver/import-resolution.d.ts +20 -0
- package/dist/resolver/import-resolution.d.ts.map +1 -0
- package/dist/resolver/import-resolution.js +102 -0
- package/dist/resolver/import-resolution.js.map +1 -0
- package/{src/resolver/index.ts → dist/resolver/index.d.ts} +3 -11
- package/dist/resolver/index.d.ts.map +1 -0
- package/dist/resolver/index.js +9 -0
- package/dist/resolver/index.js.map +1 -0
- package/dist/resolver/namespace.d.ts +20 -0
- package/dist/resolver/namespace.d.ts.map +1 -0
- package/dist/resolver/namespace.js +35 -0
- package/dist/resolver/namespace.js.map +1 -0
- package/dist/resolver/namespace.test.d.ts +2 -0
- package/dist/resolver/namespace.test.d.ts.map +1 -0
- package/dist/resolver/namespace.test.js +42 -0
- package/dist/resolver/namespace.test.js.map +1 -0
- package/dist/resolver/naming.d.ts +12 -0
- package/dist/resolver/naming.d.ts.map +1 -0
- package/dist/resolver/naming.js +30 -0
- package/dist/resolver/naming.js.map +1 -0
- package/dist/resolver/path-resolution.d.ts +8 -0
- package/dist/resolver/path-resolution.d.ts.map +1 -0
- package/dist/resolver/path-resolution.js +16 -0
- package/dist/resolver/path-resolution.js.map +1 -0
- package/dist/resolver/types.d.ts +13 -0
- package/dist/resolver/types.d.ts.map +1 -0
- package/dist/resolver/types.js +5 -0
- package/dist/resolver/types.js.map +1 -0
- package/dist/resolver.d.ts +7 -0
- package/dist/resolver.d.ts.map +1 -0
- package/dist/resolver.js +6 -0
- package/dist/resolver.js.map +1 -0
- package/dist/resolver.test.d.ts +5 -0
- package/dist/resolver.test.d.ts.map +1 -0
- package/dist/resolver.test.js +93 -0
- package/dist/resolver.test.js.map +1 -0
- package/dist/symbol-table/builder.d.ts +10 -0
- package/dist/symbol-table/builder.d.ts.map +1 -0
- package/dist/symbol-table/builder.js +105 -0
- package/dist/symbol-table/builder.js.map +1 -0
- package/dist/symbol-table/creation.d.ts +13 -0
- package/dist/symbol-table/creation.d.ts.map +1 -0
- package/dist/symbol-table/creation.js +36 -0
- package/dist/symbol-table/creation.js.map +1 -0
- package/dist/symbol-table/helpers.d.ts +9 -0
- package/dist/symbol-table/helpers.d.ts.map +1 -0
- package/dist/symbol-table/helpers.js +15 -0
- package/dist/symbol-table/helpers.js.map +1 -0
- package/{src/symbol-table/index.ts → dist/symbol-table/index.d.ts} +2 -6
- package/dist/symbol-table/index.d.ts.map +1 -0
- package/dist/symbol-table/index.js +8 -0
- package/dist/symbol-table/index.js.map +1 -0
- package/dist/symbol-table/queries.d.ts +17 -0
- package/dist/symbol-table/queries.d.ts.map +1 -0
- package/dist/symbol-table/queries.js +27 -0
- package/dist/symbol-table/queries.js.map +1 -0
- package/dist/symbol-table/types.d.ts +18 -0
- package/dist/symbol-table/types.d.ts.map +1 -0
- package/dist/symbol-table/types.js +5 -0
- package/dist/symbol-table/types.js.map +1 -0
- package/{src/symbol-table.ts → dist/symbol-table.d.ts} +2 -9
- package/dist/symbol-table.d.ts.map +1 -0
- package/dist/symbol-table.js +6 -0
- package/dist/symbol-table.js.map +1 -0
- package/dist/types/bindings.d.ts +153 -0
- package/dist/types/bindings.d.ts.map +1 -0
- package/dist/types/bindings.js +14 -0
- package/dist/types/bindings.js.map +1 -0
- package/dist/types/diagnostic.d.ts +30 -0
- package/dist/types/diagnostic.d.ts.map +1 -0
- package/dist/types/diagnostic.js +37 -0
- package/dist/types/diagnostic.js.map +1 -0
- package/dist/types/diagnostic.test.d.ts +5 -0
- package/dist/types/diagnostic.test.d.ts.map +1 -0
- package/dist/types/diagnostic.test.js +94 -0
- package/dist/types/diagnostic.test.js.map +1 -0
- package/dist/types/explicit-views.d.ts +97 -0
- package/dist/types/explicit-views.d.ts.map +1 -0
- package/dist/types/explicit-views.js +163 -0
- package/dist/types/explicit-views.js.map +1 -0
- package/dist/types/explicit-views.test.d.ts +5 -0
- package/dist/types/explicit-views.test.d.ts.map +1 -0
- package/dist/types/explicit-views.test.js +67 -0
- package/dist/types/explicit-views.test.js.map +1 -0
- package/dist/types/metadata.d.ts +196 -0
- package/dist/types/metadata.d.ts.map +1 -0
- package/dist/types/metadata.js +10 -0
- package/dist/types/metadata.js.map +1 -0
- package/dist/types/module.d.ts +51 -0
- package/dist/types/module.d.ts.map +1 -0
- package/dist/types/module.js +28 -0
- package/dist/types/module.js.map +1 -0
- package/dist/types/nested-types.d.ts +111 -0
- package/dist/types/nested-types.d.ts.map +1 -0
- package/dist/types/nested-types.js +176 -0
- package/dist/types/nested-types.js.map +1 -0
- package/dist/types/nested-types.test.d.ts +5 -0
- package/dist/types/nested-types.test.d.ts.map +1 -0
- package/dist/types/nested-types.test.js +135 -0
- package/dist/types/nested-types.test.js.map +1 -0
- package/dist/types/parameter-modifiers.d.ts +55 -0
- package/dist/types/parameter-modifiers.d.ts.map +1 -0
- package/dist/types/parameter-modifiers.js +148 -0
- package/dist/types/parameter-modifiers.js.map +1 -0
- package/dist/types/ref-parameters.d.ts +123 -0
- package/dist/types/ref-parameters.d.ts.map +1 -0
- package/dist/types/ref-parameters.js +203 -0
- package/dist/types/ref-parameters.js.map +1 -0
- package/dist/types/ref-parameters.test.d.ts +5 -0
- package/dist/types/ref-parameters.test.d.ts.map +1 -0
- package/dist/types/ref-parameters.test.js +147 -0
- package/dist/types/ref-parameters.test.js.map +1 -0
- package/dist/types/result.d.ts +26 -0
- package/dist/types/result.d.ts.map +1 -0
- package/dist/types/result.js +19 -0
- package/dist/types/result.js.map +1 -0
- package/dist/types/result.test.d.ts +5 -0
- package/dist/types/result.test.d.ts.map +1 -0
- package/dist/types/result.test.js +121 -0
- package/dist/types/result.test.js.map +1 -0
- package/dist/types/support-types.d.ts +103 -0
- package/dist/types/support-types.d.ts.map +1 -0
- package/dist/types/support-types.js +220 -0
- package/dist/types/support-types.js.map +1 -0
- package/dist/types/support-types.test.d.ts +5 -0
- package/dist/types/support-types.test.d.ts.map +1 -0
- package/dist/types/support-types.test.js +53 -0
- package/dist/types/support-types.test.js.map +1 -0
- package/dist/types/test-harness.d.ts +34 -0
- package/dist/types/test-harness.d.ts.map +1 -0
- package/dist/types/test-harness.js +127 -0
- package/dist/types/test-harness.js.map +1 -0
- package/dist/validation/exports.d.ts +11 -0
- package/dist/validation/exports.d.ts.map +1 -0
- package/dist/validation/exports.js +56 -0
- package/dist/validation/exports.js.map +1 -0
- package/dist/validation/features.d.ts +11 -0
- package/dist/validation/features.d.ts.map +1 -0
- package/dist/validation/features.js +36 -0
- package/dist/validation/features.js.map +1 -0
- package/dist/validation/generics.d.ts +11 -0
- package/dist/validation/generics.d.ts.map +1 -0
- package/dist/validation/generics.js +31 -0
- package/dist/validation/generics.js.map +1 -0
- package/dist/validation/helpers.d.ts +15 -0
- package/dist/validation/helpers.d.ts.map +1 -0
- package/dist/validation/helpers.js +18 -0
- package/dist/validation/helpers.js.map +1 -0
- package/dist/validation/imports.d.ts +15 -0
- package/dist/validation/imports.d.ts.map +1 -0
- package/dist/validation/imports.js +42 -0
- package/dist/validation/imports.js.map +1 -0
- package/dist/validation/index.d.ts +11 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/{src/validation/index.ts → dist/validation/index.js} +1 -1
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/orchestrator.d.ts +15 -0
- package/dist/validation/orchestrator.d.ts.map +1 -0
- package/dist/validation/orchestrator.js +30 -0
- package/dist/validation/orchestrator.js.map +1 -0
- package/dist/validation/static-safety.d.ts +23 -0
- package/dist/validation/static-safety.d.ts.map +1 -0
- package/dist/validation/static-safety.js +165 -0
- package/dist/validation/static-safety.js.map +1 -0
- package/dist/validator.d.ts +6 -0
- package/dist/validator.d.ts.map +1 -0
- package/dist/validator.js +6 -0
- package/dist/validator.js.map +1 -0
- package/dist/validator.test.d.ts +11 -0
- package/dist/validator.test.d.ts.map +1 -0
- package/dist/validator.test.js +341 -0
- package/dist/validator.test.js.map +1 -0
- package/package.json +4 -1
- package/src/dotnet-metadata.ts +0 -121
- package/src/graph/builder.ts +0 -81
- package/src/graph/circular.ts +0 -58
- package/src/graph/extraction/exports.ts +0 -55
- package/src/graph/extraction/imports.ts +0 -81
- package/src/graph/extraction/orchestrator.ts +0 -99
- package/src/graph/helpers.ts +0 -51
- package/src/index.ts +0 -80
- package/src/ir/binding-resolution.test.ts +0 -585
- package/src/ir/builder/exports.ts +0 -78
- package/src/ir/builder/helpers.ts +0 -27
- package/src/ir/builder/imports.ts +0 -153
- package/src/ir/builder/orchestrator.ts +0 -178
- package/src/ir/builder/statements.ts +0 -55
- package/src/ir/builder/types.ts +0 -8
- package/src/ir/builder/validation.ts +0 -129
- package/src/ir/builder.test.ts +0 -581
- package/src/ir/converters/expressions/access.ts +0 -99
- package/src/ir/converters/expressions/calls.ts +0 -137
- package/src/ir/converters/expressions/collections.ts +0 -84
- package/src/ir/converters/expressions/functions.ts +0 -62
- package/src/ir/converters/expressions/helpers.ts +0 -264
- package/src/ir/converters/expressions/index.ts +0 -43
- package/src/ir/converters/expressions/literals.ts +0 -22
- package/src/ir/converters/expressions/operators.ts +0 -147
- package/src/ir/converters/expressions/other.ts +0 -60
- package/src/ir/converters/statements/control/blocks.ts +0 -22
- package/src/ir/converters/statements/control/conditionals.ts +0 -67
- package/src/ir/converters/statements/control/exceptions.ts +0 -43
- package/src/ir/converters/statements/control/index.ts +0 -17
- package/src/ir/converters/statements/control/loops.ts +0 -99
- package/src/ir/converters/statements/control.ts +0 -17
- package/src/ir/converters/statements/declarations/classes/constructors.ts +0 -120
- package/src/ir/converters/statements/declarations/classes/methods.ts +0 -61
- package/src/ir/converters/statements/declarations/classes/orchestrator.ts +0 -166
- package/src/ir/converters/statements/declarations/classes/override-detection.ts +0 -116
- package/src/ir/converters/statements/declarations/classes/properties.ts +0 -63
- package/src/ir/converters/statements/declarations/enums.ts +0 -29
- package/src/ir/converters/statements/declarations/functions.ts +0 -39
- package/src/ir/converters/statements/declarations/interfaces.ts +0 -131
- package/src/ir/converters/statements/declarations/type-aliases.ts +0 -25
- package/src/ir/converters/statements/declarations/variables.ts +0 -60
- package/src/ir/converters/statements/declarations.ts +0 -16
- package/src/ir/converters/statements/helpers.ts +0 -174
- package/src/ir/converters/statements/index.ts +0 -40
- package/src/ir/expression-converter.ts +0 -207
- package/src/ir/generic-validator.ts +0 -100
- package/src/ir/hierarchical-bindings-e2e.test.ts +0 -163
- package/src/ir/statement-converter.ts +0 -128
- package/src/ir/type-converter/arrays.ts +0 -20
- package/src/ir/type-converter/converter.ts +0 -10
- package/src/ir/type-converter/functions.ts +0 -22
- package/src/ir/type-converter/inference.ts +0 -122
- package/src/ir/type-converter/literals.ts +0 -40
- package/src/ir/type-converter/objects.ts +0 -107
- package/src/ir/type-converter/orchestrator.ts +0 -85
- package/src/ir/type-converter/patterns.ts +0 -73
- package/src/ir/type-converter/primitives.ts +0 -57
- package/src/ir/type-converter/references.ts +0 -64
- package/src/ir/type-converter/unions-intersections.ts +0 -34
- package/src/ir/type-converter.ts +0 -13
- package/src/ir/types/expressions.ts +0 -215
- package/src/ir/types/guards.ts +0 -39
- package/src/ir/types/helpers.ts +0 -135
- package/src/ir/types/index.ts +0 -108
- package/src/ir/types/ir-types.ts +0 -96
- package/src/ir/types/module.ts +0 -57
- package/src/ir/types/statements.ts +0 -238
- package/src/ir/types.ts +0 -97
- package/src/metadata/bindings-loader.test.ts +0 -144
- package/src/metadata/bindings-loader.ts +0 -357
- package/src/metadata/library-loader.ts +0 -153
- package/src/metadata/loader.test.ts +0 -156
- package/src/metadata/loader.ts +0 -382
- package/src/program/bindings.test.ts +0 -512
- package/src/program/bindings.ts +0 -253
- package/src/program/config.ts +0 -30
- package/src/program/creation.ts +0 -249
- package/src/program/dependency-graph.ts +0 -245
- package/src/program/diagnostics.ts +0 -103
- package/src/program/metadata.ts +0 -68
- package/src/program/queries.ts +0 -18
- package/src/program/types.ts +0 -38
- package/src/resolver/dotnet-import-resolver.ts +0 -226
- package/src/resolver/import-resolution.ts +0 -177
- package/src/resolver/namespace.test.ts +0 -86
- package/src/resolver/namespace.ts +0 -42
- package/src/resolver/naming.ts +0 -38
- package/src/resolver/path-resolution.ts +0 -22
- package/src/resolver/types.ts +0 -15
- package/src/resolver.test.ts +0 -155
- package/src/resolver.ts +0 -14
- package/src/symbol-table/builder.ts +0 -114
- package/src/symbol-table/creation.ts +0 -42
- package/src/symbol-table/helpers.ts +0 -18
- package/src/symbol-table/queries.ts +0 -42
- package/src/symbol-table/types.ts +0 -28
- package/src/types/bindings.ts +0 -172
- package/src/types/diagnostic.test.ts +0 -164
- package/src/types/diagnostic.ts +0 -153
- package/src/types/explicit-views.test.ts +0 -113
- package/src/types/explicit-views.ts +0 -218
- package/src/types/metadata.ts +0 -229
- package/src/types/module.ts +0 -99
- package/src/types/nested-types.test.ts +0 -194
- package/src/types/nested-types.ts +0 -215
- package/src/types/parameter-modifiers.ts +0 -173
- package/src/types/ref-parameters.test.ts +0 -192
- package/src/types/ref-parameters.ts +0 -268
- package/src/types/result.test.ts +0 -157
- package/src/types/result.ts +0 -48
- package/src/types/support-types.test.ts +0 -81
- package/src/types/support-types.ts +0 -288
- package/src/types/test-harness.ts +0 -180
- package/src/validation/exports.ts +0 -98
- package/src/validation/features.ts +0 -89
- package/src/validation/generics.ts +0 -40
- package/src/validation/helpers.ts +0 -31
- package/src/validation/imports.ts +0 -97
- package/src/validation/orchestrator.ts +0 -51
- package/src/validation/static-safety.ts +0 -267
- package/src/validator.test.ts +0 -468
- package/src/validator.ts +0 -15
- package/tsconfig.json +0 -13
package/src/ir/types/module.ts
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core IR module types (Module, Import, Export)
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { IrStatement } from "./statements.js";
|
|
6
|
-
import { IrExpression } from "./expressions.js";
|
|
7
|
-
|
|
8
|
-
export type IrModule = {
|
|
9
|
-
readonly kind: "module";
|
|
10
|
-
readonly filePath: string;
|
|
11
|
-
readonly namespace: string;
|
|
12
|
-
readonly className: string; // File name becomes class name
|
|
13
|
-
readonly isStaticContainer: boolean; // True if module only has exports, no top-level code
|
|
14
|
-
readonly imports: readonly IrImport[];
|
|
15
|
-
readonly body: readonly IrStatement[];
|
|
16
|
-
readonly exports: readonly IrExport[];
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export type IrImport = {
|
|
20
|
-
readonly kind: "import";
|
|
21
|
-
readonly source: string; // Import path
|
|
22
|
-
readonly isLocal: boolean;
|
|
23
|
-
readonly isDotNet: boolean;
|
|
24
|
-
readonly specifiers: readonly IrImportSpecifier[];
|
|
25
|
-
readonly resolvedNamespace?: string; // For .NET imports or local imports (e.g., "MultiFileCheck.utils")
|
|
26
|
-
// For module bindings (Node.js APIs mapped to CLR types)
|
|
27
|
-
readonly resolvedClrType?: string; // e.g., "Tsonic.NodeApi.fs"
|
|
28
|
-
readonly resolvedAssembly?: string; // e.g., "Tsonic.NodeApi"
|
|
29
|
-
// For local imports: the target module's container class name
|
|
30
|
-
readonly targetContainerName?: string; // e.g., "Math" for ./utils/Math.ts
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
export type IrImportSpecifier =
|
|
34
|
-
| { readonly kind: "default"; readonly localName: string }
|
|
35
|
-
| { readonly kind: "namespace"; readonly localName: string }
|
|
36
|
-
| {
|
|
37
|
-
readonly kind: "named";
|
|
38
|
-
readonly name: string;
|
|
39
|
-
readonly localName: string;
|
|
40
|
-
/** Whether this import is a type (interface/class) - emitted at namespace level in C# */
|
|
41
|
-
readonly isType?: boolean;
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
export type IrExport =
|
|
45
|
-
| {
|
|
46
|
-
readonly kind: "named";
|
|
47
|
-
readonly name: string;
|
|
48
|
-
readonly localName: string;
|
|
49
|
-
}
|
|
50
|
-
| { readonly kind: "default"; readonly expression: IrExpression }
|
|
51
|
-
| { readonly kind: "declaration"; readonly declaration: IrStatement }
|
|
52
|
-
| {
|
|
53
|
-
readonly kind: "reexport";
|
|
54
|
-
readonly name: string; // Exported name
|
|
55
|
-
readonly originalName: string; // Name in source module (may differ if aliased)
|
|
56
|
-
readonly fromModule: string; // Source module path (e.g., "./math.ts")
|
|
57
|
-
};
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Statement types for IR
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { IrType } from "./ir-types.js";
|
|
6
|
-
import {
|
|
7
|
-
IrPattern,
|
|
8
|
-
IrParameter,
|
|
9
|
-
IrTypeParameter,
|
|
10
|
-
IrAccessibility,
|
|
11
|
-
IrInterfaceMember,
|
|
12
|
-
} from "./helpers.js";
|
|
13
|
-
import { IrExpression } from "./expressions.js";
|
|
14
|
-
|
|
15
|
-
export type IrStatement =
|
|
16
|
-
| IrVariableDeclaration
|
|
17
|
-
| IrFunctionDeclaration
|
|
18
|
-
| IrClassDeclaration
|
|
19
|
-
| IrInterfaceDeclaration
|
|
20
|
-
| IrEnumDeclaration
|
|
21
|
-
| IrTypeAliasDeclaration
|
|
22
|
-
| IrExpressionStatement
|
|
23
|
-
| IrReturnStatement
|
|
24
|
-
| IrIfStatement
|
|
25
|
-
| IrWhileStatement
|
|
26
|
-
| IrForStatement
|
|
27
|
-
| IrForOfStatement
|
|
28
|
-
| IrSwitchStatement
|
|
29
|
-
| IrThrowStatement
|
|
30
|
-
| IrTryStatement
|
|
31
|
-
| IrBlockStatement
|
|
32
|
-
| IrBreakStatement
|
|
33
|
-
| IrContinueStatement
|
|
34
|
-
| IrEmptyStatement;
|
|
35
|
-
|
|
36
|
-
export type IrVariableDeclaration = {
|
|
37
|
-
readonly kind: "variableDeclaration";
|
|
38
|
-
readonly declarationKind: "const" | "let" | "var";
|
|
39
|
-
readonly declarations: readonly IrVariableDeclarator[];
|
|
40
|
-
readonly isExported: boolean;
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export type IrVariableDeclarator = {
|
|
44
|
-
readonly kind: "variableDeclarator";
|
|
45
|
-
readonly name: IrPattern;
|
|
46
|
-
/** Type from annotation or inferred. Always set for module-level exports (C# requires explicit type). */
|
|
47
|
-
readonly type?: IrType;
|
|
48
|
-
readonly initializer?: IrExpression;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
export type IrFunctionDeclaration = {
|
|
52
|
-
readonly kind: "functionDeclaration";
|
|
53
|
-
readonly name: string;
|
|
54
|
-
readonly typeParameters?: readonly IrTypeParameter[];
|
|
55
|
-
readonly parameters: readonly IrParameter[];
|
|
56
|
-
readonly returnType?: IrType;
|
|
57
|
-
readonly body: IrBlockStatement;
|
|
58
|
-
readonly isAsync: boolean;
|
|
59
|
-
readonly isGenerator: boolean;
|
|
60
|
-
readonly isExported: boolean;
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
export type IrClassDeclaration = {
|
|
64
|
-
readonly kind: "classDeclaration";
|
|
65
|
-
readonly name: string;
|
|
66
|
-
readonly typeParameters?: readonly IrTypeParameter[];
|
|
67
|
-
readonly superClass?: IrExpression;
|
|
68
|
-
readonly implements: readonly IrType[];
|
|
69
|
-
readonly members: readonly IrClassMember[];
|
|
70
|
-
readonly isExported: boolean;
|
|
71
|
-
/** True if this class should be emitted as a C# struct instead of a class */
|
|
72
|
-
readonly isStruct: boolean;
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
export type IrClassMember =
|
|
76
|
-
| IrMethodDeclaration
|
|
77
|
-
| IrPropertyDeclaration
|
|
78
|
-
| IrConstructorDeclaration;
|
|
79
|
-
|
|
80
|
-
export type IrMethodDeclaration = {
|
|
81
|
-
readonly kind: "methodDeclaration";
|
|
82
|
-
readonly name: string;
|
|
83
|
-
readonly typeParameters?: readonly IrTypeParameter[];
|
|
84
|
-
readonly parameters: readonly IrParameter[];
|
|
85
|
-
readonly returnType?: IrType;
|
|
86
|
-
readonly body?: IrBlockStatement;
|
|
87
|
-
readonly isStatic: boolean;
|
|
88
|
-
readonly isAsync: boolean;
|
|
89
|
-
readonly isGenerator: boolean;
|
|
90
|
-
readonly accessibility: IrAccessibility;
|
|
91
|
-
/** True if this method overrides a virtual base class method (from metadata or TS base class) */
|
|
92
|
-
readonly isOverride?: boolean;
|
|
93
|
-
/** True if this method shadows a non-virtual base method (future: emit 'new' keyword) */
|
|
94
|
-
readonly isShadow?: boolean;
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
export type IrPropertyDeclaration = {
|
|
98
|
-
readonly kind: "propertyDeclaration";
|
|
99
|
-
readonly name: string;
|
|
100
|
-
/** Type from annotation or inferred. Always set for class fields (C# requires explicit type). */
|
|
101
|
-
readonly type?: IrType;
|
|
102
|
-
readonly initializer?: IrExpression;
|
|
103
|
-
readonly isStatic: boolean;
|
|
104
|
-
readonly isReadonly: boolean;
|
|
105
|
-
readonly accessibility: IrAccessibility;
|
|
106
|
-
/** True if this property overrides a virtual base class property (from metadata or TS base class) */
|
|
107
|
-
readonly isOverride?: boolean;
|
|
108
|
-
/** True if this property shadows a non-virtual base property (future: emit 'new' keyword) */
|
|
109
|
-
readonly isShadow?: boolean;
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
export type IrConstructorDeclaration = {
|
|
113
|
-
readonly kind: "constructorDeclaration";
|
|
114
|
-
readonly parameters: readonly IrParameter[];
|
|
115
|
-
readonly body?: IrBlockStatement;
|
|
116
|
-
readonly accessibility: IrAccessibility;
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
export type IrInterfaceDeclaration = {
|
|
120
|
-
readonly kind: "interfaceDeclaration";
|
|
121
|
-
readonly name: string;
|
|
122
|
-
readonly typeParameters?: readonly IrTypeParameter[];
|
|
123
|
-
readonly extends: readonly IrType[];
|
|
124
|
-
readonly members: readonly IrInterfaceMember[];
|
|
125
|
-
readonly isExported: boolean;
|
|
126
|
-
/** True if this interface should be emitted as a C# struct instead of a class */
|
|
127
|
-
readonly isStruct: boolean;
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
export type IrEnumDeclaration = {
|
|
131
|
-
readonly kind: "enumDeclaration";
|
|
132
|
-
readonly name: string;
|
|
133
|
-
readonly members: readonly IrEnumMember[];
|
|
134
|
-
readonly isExported: boolean;
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
export type IrEnumMember = {
|
|
138
|
-
readonly kind: "enumMember";
|
|
139
|
-
readonly name: string;
|
|
140
|
-
readonly initializer?: IrExpression;
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
export type IrTypeAliasDeclaration = {
|
|
144
|
-
readonly kind: "typeAliasDeclaration";
|
|
145
|
-
readonly name: string;
|
|
146
|
-
readonly typeParameters?: readonly IrTypeParameter[];
|
|
147
|
-
readonly type: IrType;
|
|
148
|
-
readonly isExported: boolean;
|
|
149
|
-
/** True if this type alias should be emitted as a C# struct instead of a class */
|
|
150
|
-
readonly isStruct: boolean;
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
export type IrExpressionStatement = {
|
|
154
|
-
readonly kind: "expressionStatement";
|
|
155
|
-
readonly expression: IrExpression;
|
|
156
|
-
};
|
|
157
|
-
|
|
158
|
-
export type IrReturnStatement = {
|
|
159
|
-
readonly kind: "returnStatement";
|
|
160
|
-
readonly expression?: IrExpression;
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
export type IrIfStatement = {
|
|
164
|
-
readonly kind: "ifStatement";
|
|
165
|
-
readonly condition: IrExpression;
|
|
166
|
-
readonly thenStatement: IrStatement;
|
|
167
|
-
readonly elseStatement?: IrStatement;
|
|
168
|
-
};
|
|
169
|
-
|
|
170
|
-
export type IrWhileStatement = {
|
|
171
|
-
readonly kind: "whileStatement";
|
|
172
|
-
readonly condition: IrExpression;
|
|
173
|
-
readonly body: IrStatement;
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
export type IrForStatement = {
|
|
177
|
-
readonly kind: "forStatement";
|
|
178
|
-
readonly initializer?: IrVariableDeclaration | IrExpression;
|
|
179
|
-
readonly condition?: IrExpression;
|
|
180
|
-
readonly update?: IrExpression;
|
|
181
|
-
readonly body: IrStatement;
|
|
182
|
-
};
|
|
183
|
-
|
|
184
|
-
export type IrForOfStatement = {
|
|
185
|
-
readonly kind: "forOfStatement";
|
|
186
|
-
readonly variable: IrPattern;
|
|
187
|
-
readonly expression: IrExpression;
|
|
188
|
-
readonly body: IrStatement;
|
|
189
|
-
};
|
|
190
|
-
|
|
191
|
-
export type IrSwitchStatement = {
|
|
192
|
-
readonly kind: "switchStatement";
|
|
193
|
-
readonly expression: IrExpression;
|
|
194
|
-
readonly cases: readonly IrSwitchCase[];
|
|
195
|
-
};
|
|
196
|
-
|
|
197
|
-
export type IrSwitchCase = {
|
|
198
|
-
readonly kind: "switchCase";
|
|
199
|
-
readonly test?: IrExpression; // undefined for default case
|
|
200
|
-
readonly statements: readonly IrStatement[];
|
|
201
|
-
};
|
|
202
|
-
|
|
203
|
-
export type IrThrowStatement = {
|
|
204
|
-
readonly kind: "throwStatement";
|
|
205
|
-
readonly expression: IrExpression;
|
|
206
|
-
};
|
|
207
|
-
|
|
208
|
-
export type IrTryStatement = {
|
|
209
|
-
readonly kind: "tryStatement";
|
|
210
|
-
readonly tryBlock: IrBlockStatement;
|
|
211
|
-
readonly catchClause?: IrCatchClause;
|
|
212
|
-
readonly finallyBlock?: IrBlockStatement;
|
|
213
|
-
};
|
|
214
|
-
|
|
215
|
-
export type IrCatchClause = {
|
|
216
|
-
readonly kind: "catchClause";
|
|
217
|
-
readonly parameter?: IrPattern;
|
|
218
|
-
readonly body: IrBlockStatement;
|
|
219
|
-
};
|
|
220
|
-
|
|
221
|
-
export type IrBlockStatement = {
|
|
222
|
-
readonly kind: "blockStatement";
|
|
223
|
-
readonly statements: readonly IrStatement[];
|
|
224
|
-
};
|
|
225
|
-
|
|
226
|
-
export type IrBreakStatement = {
|
|
227
|
-
readonly kind: "breakStatement";
|
|
228
|
-
readonly label?: string;
|
|
229
|
-
};
|
|
230
|
-
|
|
231
|
-
export type IrContinueStatement = {
|
|
232
|
-
readonly kind: "continueStatement";
|
|
233
|
-
readonly label?: string;
|
|
234
|
-
};
|
|
235
|
-
|
|
236
|
-
export type IrEmptyStatement = {
|
|
237
|
-
readonly kind: "emptyStatement";
|
|
238
|
-
};
|
package/src/ir/types.ts
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Intermediate Representation (IR) types for Tsonic compiler
|
|
3
|
-
* Main dispatcher - re-exports from specialized modules
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
// Re-export everything from types subdirectory for backward compatibility
|
|
7
|
-
export type {
|
|
8
|
-
// Module types
|
|
9
|
-
IrModule,
|
|
10
|
-
IrImport,
|
|
11
|
-
IrImportSpecifier,
|
|
12
|
-
IrExport,
|
|
13
|
-
// Statement types
|
|
14
|
-
IrStatement,
|
|
15
|
-
IrVariableDeclaration,
|
|
16
|
-
IrVariableDeclarator,
|
|
17
|
-
IrFunctionDeclaration,
|
|
18
|
-
IrClassDeclaration,
|
|
19
|
-
IrClassMember,
|
|
20
|
-
IrMethodDeclaration,
|
|
21
|
-
IrPropertyDeclaration,
|
|
22
|
-
IrConstructorDeclaration,
|
|
23
|
-
IrInterfaceDeclaration,
|
|
24
|
-
IrEnumDeclaration,
|
|
25
|
-
IrEnumMember,
|
|
26
|
-
IrTypeAliasDeclaration,
|
|
27
|
-
IrExpressionStatement,
|
|
28
|
-
IrReturnStatement,
|
|
29
|
-
IrIfStatement,
|
|
30
|
-
IrWhileStatement,
|
|
31
|
-
IrForStatement,
|
|
32
|
-
IrForOfStatement,
|
|
33
|
-
IrSwitchStatement,
|
|
34
|
-
IrSwitchCase,
|
|
35
|
-
IrThrowStatement,
|
|
36
|
-
IrTryStatement,
|
|
37
|
-
IrCatchClause,
|
|
38
|
-
IrBlockStatement,
|
|
39
|
-
IrBreakStatement,
|
|
40
|
-
IrContinueStatement,
|
|
41
|
-
IrEmptyStatement,
|
|
42
|
-
// Expression types
|
|
43
|
-
IrExpression,
|
|
44
|
-
IrLiteralExpression,
|
|
45
|
-
IrIdentifierExpression,
|
|
46
|
-
IrArrayExpression,
|
|
47
|
-
IrObjectExpression,
|
|
48
|
-
IrObjectProperty,
|
|
49
|
-
IrFunctionExpression,
|
|
50
|
-
IrArrowFunctionExpression,
|
|
51
|
-
IrMemberExpression,
|
|
52
|
-
IrCallExpression,
|
|
53
|
-
IrNewExpression,
|
|
54
|
-
IrThisExpression,
|
|
55
|
-
IrUpdateExpression,
|
|
56
|
-
IrUnaryExpression,
|
|
57
|
-
IrBinaryExpression,
|
|
58
|
-
IrLogicalExpression,
|
|
59
|
-
IrConditionalExpression,
|
|
60
|
-
IrAssignmentExpression,
|
|
61
|
-
IrTemplateLiteralExpression,
|
|
62
|
-
IrSpreadExpression,
|
|
63
|
-
IrAwaitExpression,
|
|
64
|
-
IrYieldExpression,
|
|
65
|
-
// Type system types
|
|
66
|
-
IrType,
|
|
67
|
-
IrPrimitiveType,
|
|
68
|
-
IrReferenceType,
|
|
69
|
-
IrArrayType,
|
|
70
|
-
IrFunctionType,
|
|
71
|
-
IrObjectType,
|
|
72
|
-
IrDictionaryType,
|
|
73
|
-
IrUnionType,
|
|
74
|
-
IrIntersectionType,
|
|
75
|
-
IrLiteralType,
|
|
76
|
-
IrAnyType,
|
|
77
|
-
IrUnknownType,
|
|
78
|
-
IrVoidType,
|
|
79
|
-
IrNeverType,
|
|
80
|
-
// Helper types
|
|
81
|
-
IrPattern,
|
|
82
|
-
IrIdentifierPattern,
|
|
83
|
-
IrArrayPattern,
|
|
84
|
-
IrObjectPattern,
|
|
85
|
-
IrObjectPatternProperty,
|
|
86
|
-
IrTypeParameter,
|
|
87
|
-
IrParameter,
|
|
88
|
-
IrInterfaceMember,
|
|
89
|
-
IrPropertySignature,
|
|
90
|
-
IrMethodSignature,
|
|
91
|
-
IrAccessibility,
|
|
92
|
-
IrBinaryOperator,
|
|
93
|
-
IrAssignmentOperator,
|
|
94
|
-
} from "./types/index.js";
|
|
95
|
-
|
|
96
|
-
// Re-export type guards
|
|
97
|
-
export { isStatement, isExpression } from "./types/guards.js";
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tests for bindings JSON loader
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { describe, it } from "mocha";
|
|
6
|
-
import { strict as assert } from "assert";
|
|
7
|
-
import * as fs from "fs";
|
|
8
|
-
import * as path from "path";
|
|
9
|
-
import * as os from "os";
|
|
10
|
-
import {
|
|
11
|
-
loadBindingsFile,
|
|
12
|
-
buildBindingsRegistry,
|
|
13
|
-
lookupTypeBinding,
|
|
14
|
-
} from "./bindings-loader.js";
|
|
15
|
-
import type { BindingsFile } from "../types/bindings.js";
|
|
16
|
-
|
|
17
|
-
describe("Bindings Loader", () => {
|
|
18
|
-
describe("loadBindingsFile", () => {
|
|
19
|
-
it("should load valid bindings file", () => {
|
|
20
|
-
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "tsonic-test-"));
|
|
21
|
-
const bindingsPath = path.join(tmpDir, "test.bindings.json");
|
|
22
|
-
|
|
23
|
-
const bindings: BindingsFile = {
|
|
24
|
-
namespace: "System",
|
|
25
|
-
types: [
|
|
26
|
-
{
|
|
27
|
-
clrName: "System.String",
|
|
28
|
-
tsEmitName: "String",
|
|
29
|
-
assemblyName: "System.Runtime",
|
|
30
|
-
metadataToken: 0x02000001,
|
|
31
|
-
methods: [],
|
|
32
|
-
exposedMethods: [],
|
|
33
|
-
},
|
|
34
|
-
],
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
fs.writeFileSync(bindingsPath, JSON.stringify(bindings, null, 2));
|
|
38
|
-
|
|
39
|
-
const result = loadBindingsFile(bindingsPath);
|
|
40
|
-
|
|
41
|
-
// Cleanup
|
|
42
|
-
fs.unlinkSync(bindingsPath);
|
|
43
|
-
fs.rmdirSync(tmpDir);
|
|
44
|
-
|
|
45
|
-
assert.ok(result.ok);
|
|
46
|
-
if (result.ok) {
|
|
47
|
-
assert.equal(result.value.namespace, "System");
|
|
48
|
-
assert.equal(result.value.types.length, 1);
|
|
49
|
-
assert.equal(result.value.types[0]?.tsEmitName, "String");
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
it("should return error for non-existent file", () => {
|
|
54
|
-
const result = loadBindingsFile("/nonexistent/file.bindings.json");
|
|
55
|
-
|
|
56
|
-
assert.ok(!result.ok);
|
|
57
|
-
if (!result.ok) {
|
|
58
|
-
assert.equal(result.error[0]?.code, "TSN9101");
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
it("should return error for invalid JSON", () => {
|
|
63
|
-
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "tsonic-test-"));
|
|
64
|
-
const bindingsPath = path.join(tmpDir, "invalid.bindings.json");
|
|
65
|
-
|
|
66
|
-
fs.writeFileSync(bindingsPath, "{ invalid json }");
|
|
67
|
-
|
|
68
|
-
const result = loadBindingsFile(bindingsPath);
|
|
69
|
-
|
|
70
|
-
// Cleanup
|
|
71
|
-
fs.unlinkSync(bindingsPath);
|
|
72
|
-
fs.rmdirSync(tmpDir);
|
|
73
|
-
|
|
74
|
-
assert.ok(!result.ok);
|
|
75
|
-
if (!result.ok) {
|
|
76
|
-
assert.equal(result.error[0]?.code, "TSN9103");
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
describe("buildBindingsRegistry", () => {
|
|
82
|
-
it("should build registry from bindings files", () => {
|
|
83
|
-
const bindings1: BindingsFile = {
|
|
84
|
-
namespace: "System",
|
|
85
|
-
types: [
|
|
86
|
-
{
|
|
87
|
-
clrName: "System.String",
|
|
88
|
-
tsEmitName: "String",
|
|
89
|
-
assemblyName: "System.Runtime",
|
|
90
|
-
metadataToken: 0x02000001,
|
|
91
|
-
},
|
|
92
|
-
],
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
const bindings2: BindingsFile = {
|
|
96
|
-
namespace: "System.Collections",
|
|
97
|
-
types: [
|
|
98
|
-
{
|
|
99
|
-
clrName: "System.Collections.ArrayList",
|
|
100
|
-
tsEmitName: "ArrayList",
|
|
101
|
-
assemblyName: "System.Collections",
|
|
102
|
-
metadataToken: 0x02000002,
|
|
103
|
-
},
|
|
104
|
-
],
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
const registry = buildBindingsRegistry([bindings1, bindings2]);
|
|
108
|
-
|
|
109
|
-
assert.equal(registry.size, 2);
|
|
110
|
-
assert.ok(registry.has("System.String"));
|
|
111
|
-
assert.ok(registry.has("System.Collections.ArrayList"));
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
describe("lookupTypeBinding", () => {
|
|
116
|
-
it("should find type binding in registry", () => {
|
|
117
|
-
const bindings: BindingsFile = {
|
|
118
|
-
namespace: "System",
|
|
119
|
-
types: [
|
|
120
|
-
{
|
|
121
|
-
clrName: "System.String",
|
|
122
|
-
tsEmitName: "String",
|
|
123
|
-
assemblyName: "System.Runtime",
|
|
124
|
-
metadataToken: 0x02000001,
|
|
125
|
-
},
|
|
126
|
-
],
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
const registry = buildBindingsRegistry([bindings]);
|
|
130
|
-
const binding = lookupTypeBinding(registry, "System.String");
|
|
131
|
-
|
|
132
|
-
assert.ok(binding);
|
|
133
|
-
assert.equal(binding?.tsEmitName, "String");
|
|
134
|
-
assert.equal(binding?.metadataToken, 0x02000001);
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
it("should return undefined for non-existent type", () => {
|
|
138
|
-
const registry = buildBindingsRegistry([]);
|
|
139
|
-
const binding = lookupTypeBinding(registry, "NonExistent.Type");
|
|
140
|
-
|
|
141
|
-
assert.equal(binding, undefined);
|
|
142
|
-
});
|
|
143
|
-
});
|
|
144
|
-
});
|