@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
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Statement types for IR
|
|
3
|
+
*/
|
|
4
|
+
import { IrType } from "./ir-types.js";
|
|
5
|
+
import { IrPattern, IrParameter, IrTypeParameter, IrAccessibility, IrInterfaceMember } from "./helpers.js";
|
|
6
|
+
import { IrExpression } from "./expressions.js";
|
|
7
|
+
export type IrStatement = IrVariableDeclaration | IrFunctionDeclaration | IrClassDeclaration | IrInterfaceDeclaration | IrEnumDeclaration | IrTypeAliasDeclaration | IrExpressionStatement | IrReturnStatement | IrIfStatement | IrWhileStatement | IrForStatement | IrForOfStatement | IrSwitchStatement | IrThrowStatement | IrTryStatement | IrBlockStatement | IrBreakStatement | IrContinueStatement | IrEmptyStatement;
|
|
8
|
+
export type IrVariableDeclaration = {
|
|
9
|
+
readonly kind: "variableDeclaration";
|
|
10
|
+
readonly declarationKind: "const" | "let" | "var";
|
|
11
|
+
readonly declarations: readonly IrVariableDeclarator[];
|
|
12
|
+
readonly isExported: boolean;
|
|
13
|
+
};
|
|
14
|
+
export type IrVariableDeclarator = {
|
|
15
|
+
readonly kind: "variableDeclarator";
|
|
16
|
+
readonly name: IrPattern;
|
|
17
|
+
/** Type from annotation or inferred. Always set for module-level exports (C# requires explicit type). */
|
|
18
|
+
readonly type?: IrType;
|
|
19
|
+
readonly initializer?: IrExpression;
|
|
20
|
+
};
|
|
21
|
+
export type IrFunctionDeclaration = {
|
|
22
|
+
readonly kind: "functionDeclaration";
|
|
23
|
+
readonly name: string;
|
|
24
|
+
readonly typeParameters?: readonly IrTypeParameter[];
|
|
25
|
+
readonly parameters: readonly IrParameter[];
|
|
26
|
+
readonly returnType?: IrType;
|
|
27
|
+
readonly body: IrBlockStatement;
|
|
28
|
+
readonly isAsync: boolean;
|
|
29
|
+
readonly isGenerator: boolean;
|
|
30
|
+
readonly isExported: boolean;
|
|
31
|
+
};
|
|
32
|
+
export type IrClassDeclaration = {
|
|
33
|
+
readonly kind: "classDeclaration";
|
|
34
|
+
readonly name: string;
|
|
35
|
+
readonly typeParameters?: readonly IrTypeParameter[];
|
|
36
|
+
readonly superClass?: IrExpression;
|
|
37
|
+
readonly implements: readonly IrType[];
|
|
38
|
+
readonly members: readonly IrClassMember[];
|
|
39
|
+
readonly isExported: boolean;
|
|
40
|
+
/** True if this class should be emitted as a C# struct instead of a class */
|
|
41
|
+
readonly isStruct: boolean;
|
|
42
|
+
};
|
|
43
|
+
export type IrClassMember = IrMethodDeclaration | IrPropertyDeclaration | IrConstructorDeclaration;
|
|
44
|
+
export type IrMethodDeclaration = {
|
|
45
|
+
readonly kind: "methodDeclaration";
|
|
46
|
+
readonly name: string;
|
|
47
|
+
readonly typeParameters?: readonly IrTypeParameter[];
|
|
48
|
+
readonly parameters: readonly IrParameter[];
|
|
49
|
+
readonly returnType?: IrType;
|
|
50
|
+
readonly body?: IrBlockStatement;
|
|
51
|
+
readonly isStatic: boolean;
|
|
52
|
+
readonly isAsync: boolean;
|
|
53
|
+
readonly isGenerator: boolean;
|
|
54
|
+
readonly accessibility: IrAccessibility;
|
|
55
|
+
/** True if this method overrides a virtual base class method (from metadata or TS base class) */
|
|
56
|
+
readonly isOverride?: boolean;
|
|
57
|
+
/** True if this method shadows a non-virtual base method (future: emit 'new' keyword) */
|
|
58
|
+
readonly isShadow?: boolean;
|
|
59
|
+
};
|
|
60
|
+
export type IrPropertyDeclaration = {
|
|
61
|
+
readonly kind: "propertyDeclaration";
|
|
62
|
+
readonly name: string;
|
|
63
|
+
/** Type from annotation or inferred. Always set for class fields (C# requires explicit type). */
|
|
64
|
+
readonly type?: IrType;
|
|
65
|
+
readonly initializer?: IrExpression;
|
|
66
|
+
readonly isStatic: boolean;
|
|
67
|
+
readonly isReadonly: boolean;
|
|
68
|
+
readonly accessibility: IrAccessibility;
|
|
69
|
+
/** True if this property overrides a virtual base class property (from metadata or TS base class) */
|
|
70
|
+
readonly isOverride?: boolean;
|
|
71
|
+
/** True if this property shadows a non-virtual base property (future: emit 'new' keyword) */
|
|
72
|
+
readonly isShadow?: boolean;
|
|
73
|
+
};
|
|
74
|
+
export type IrConstructorDeclaration = {
|
|
75
|
+
readonly kind: "constructorDeclaration";
|
|
76
|
+
readonly parameters: readonly IrParameter[];
|
|
77
|
+
readonly body?: IrBlockStatement;
|
|
78
|
+
readonly accessibility: IrAccessibility;
|
|
79
|
+
};
|
|
80
|
+
export type IrInterfaceDeclaration = {
|
|
81
|
+
readonly kind: "interfaceDeclaration";
|
|
82
|
+
readonly name: string;
|
|
83
|
+
readonly typeParameters?: readonly IrTypeParameter[];
|
|
84
|
+
readonly extends: readonly IrType[];
|
|
85
|
+
readonly members: readonly IrInterfaceMember[];
|
|
86
|
+
readonly isExported: boolean;
|
|
87
|
+
/** True if this interface should be emitted as a C# struct instead of a class */
|
|
88
|
+
readonly isStruct: boolean;
|
|
89
|
+
};
|
|
90
|
+
export type IrEnumDeclaration = {
|
|
91
|
+
readonly kind: "enumDeclaration";
|
|
92
|
+
readonly name: string;
|
|
93
|
+
readonly members: readonly IrEnumMember[];
|
|
94
|
+
readonly isExported: boolean;
|
|
95
|
+
};
|
|
96
|
+
export type IrEnumMember = {
|
|
97
|
+
readonly kind: "enumMember";
|
|
98
|
+
readonly name: string;
|
|
99
|
+
readonly initializer?: IrExpression;
|
|
100
|
+
};
|
|
101
|
+
export type IrTypeAliasDeclaration = {
|
|
102
|
+
readonly kind: "typeAliasDeclaration";
|
|
103
|
+
readonly name: string;
|
|
104
|
+
readonly typeParameters?: readonly IrTypeParameter[];
|
|
105
|
+
readonly type: IrType;
|
|
106
|
+
readonly isExported: boolean;
|
|
107
|
+
/** True if this type alias should be emitted as a C# struct instead of a class */
|
|
108
|
+
readonly isStruct: boolean;
|
|
109
|
+
};
|
|
110
|
+
export type IrExpressionStatement = {
|
|
111
|
+
readonly kind: "expressionStatement";
|
|
112
|
+
readonly expression: IrExpression;
|
|
113
|
+
};
|
|
114
|
+
export type IrReturnStatement = {
|
|
115
|
+
readonly kind: "returnStatement";
|
|
116
|
+
readonly expression?: IrExpression;
|
|
117
|
+
};
|
|
118
|
+
export type IrIfStatement = {
|
|
119
|
+
readonly kind: "ifStatement";
|
|
120
|
+
readonly condition: IrExpression;
|
|
121
|
+
readonly thenStatement: IrStatement;
|
|
122
|
+
readonly elseStatement?: IrStatement;
|
|
123
|
+
};
|
|
124
|
+
export type IrWhileStatement = {
|
|
125
|
+
readonly kind: "whileStatement";
|
|
126
|
+
readonly condition: IrExpression;
|
|
127
|
+
readonly body: IrStatement;
|
|
128
|
+
};
|
|
129
|
+
export type IrForStatement = {
|
|
130
|
+
readonly kind: "forStatement";
|
|
131
|
+
readonly initializer?: IrVariableDeclaration | IrExpression;
|
|
132
|
+
readonly condition?: IrExpression;
|
|
133
|
+
readonly update?: IrExpression;
|
|
134
|
+
readonly body: IrStatement;
|
|
135
|
+
};
|
|
136
|
+
export type IrForOfStatement = {
|
|
137
|
+
readonly kind: "forOfStatement";
|
|
138
|
+
readonly variable: IrPattern;
|
|
139
|
+
readonly expression: IrExpression;
|
|
140
|
+
readonly body: IrStatement;
|
|
141
|
+
};
|
|
142
|
+
export type IrSwitchStatement = {
|
|
143
|
+
readonly kind: "switchStatement";
|
|
144
|
+
readonly expression: IrExpression;
|
|
145
|
+
readonly cases: readonly IrSwitchCase[];
|
|
146
|
+
};
|
|
147
|
+
export type IrSwitchCase = {
|
|
148
|
+
readonly kind: "switchCase";
|
|
149
|
+
readonly test?: IrExpression;
|
|
150
|
+
readonly statements: readonly IrStatement[];
|
|
151
|
+
};
|
|
152
|
+
export type IrThrowStatement = {
|
|
153
|
+
readonly kind: "throwStatement";
|
|
154
|
+
readonly expression: IrExpression;
|
|
155
|
+
};
|
|
156
|
+
export type IrTryStatement = {
|
|
157
|
+
readonly kind: "tryStatement";
|
|
158
|
+
readonly tryBlock: IrBlockStatement;
|
|
159
|
+
readonly catchClause?: IrCatchClause;
|
|
160
|
+
readonly finallyBlock?: IrBlockStatement;
|
|
161
|
+
};
|
|
162
|
+
export type IrCatchClause = {
|
|
163
|
+
readonly kind: "catchClause";
|
|
164
|
+
readonly parameter?: IrPattern;
|
|
165
|
+
readonly body: IrBlockStatement;
|
|
166
|
+
};
|
|
167
|
+
export type IrBlockStatement = {
|
|
168
|
+
readonly kind: "blockStatement";
|
|
169
|
+
readonly statements: readonly IrStatement[];
|
|
170
|
+
};
|
|
171
|
+
export type IrBreakStatement = {
|
|
172
|
+
readonly kind: "breakStatement";
|
|
173
|
+
readonly label?: string;
|
|
174
|
+
};
|
|
175
|
+
export type IrContinueStatement = {
|
|
176
|
+
readonly kind: "continueStatement";
|
|
177
|
+
readonly label?: string;
|
|
178
|
+
};
|
|
179
|
+
export type IrEmptyStatement = {
|
|
180
|
+
readonly kind: "emptyStatement";
|
|
181
|
+
};
|
|
182
|
+
//# sourceMappingURL=statements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statements.d.ts","sourceRoot":"","sources":["../../../src/ir/types/statements.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statements.js","sourceRoot":"","sources":["../../../src/ir/types/statements.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intermediate Representation (IR) types for Tsonic compiler
|
|
3
|
+
* Main dispatcher - re-exports from specialized modules
|
|
4
|
+
*/
|
|
5
|
+
export type { IrModule, IrImport, IrImportSpecifier, IrExport, IrStatement, IrVariableDeclaration, IrVariableDeclarator, IrFunctionDeclaration, IrClassDeclaration, IrClassMember, IrMethodDeclaration, IrPropertyDeclaration, IrConstructorDeclaration, IrInterfaceDeclaration, IrEnumDeclaration, IrEnumMember, IrTypeAliasDeclaration, IrExpressionStatement, IrReturnStatement, IrIfStatement, IrWhileStatement, IrForStatement, IrForOfStatement, IrSwitchStatement, IrSwitchCase, IrThrowStatement, IrTryStatement, IrCatchClause, IrBlockStatement, IrBreakStatement, IrContinueStatement, IrEmptyStatement, IrExpression, IrLiteralExpression, IrIdentifierExpression, IrArrayExpression, IrObjectExpression, IrObjectProperty, IrFunctionExpression, IrArrowFunctionExpression, IrMemberExpression, IrCallExpression, IrNewExpression, IrThisExpression, IrUpdateExpression, IrUnaryExpression, IrBinaryExpression, IrLogicalExpression, IrConditionalExpression, IrAssignmentExpression, IrTemplateLiteralExpression, IrSpreadExpression, IrAwaitExpression, IrYieldExpression, IrType, IrPrimitiveType, IrReferenceType, IrArrayType, IrFunctionType, IrObjectType, IrDictionaryType, IrUnionType, IrIntersectionType, IrLiteralType, IrAnyType, IrUnknownType, IrVoidType, IrNeverType, IrPattern, IrIdentifierPattern, IrArrayPattern, IrObjectPattern, IrObjectPatternProperty, IrTypeParameter, IrParameter, IrInterfaceMember, IrPropertySignature, IrMethodSignature, IrAccessibility, IrBinaryOperator, IrAssignmentOperator, } from "./types/index.js";
|
|
6
|
+
export { isStatement, isExpression } from "./types/guards.js";
|
|
7
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ir/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAEV,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EAER,WAAW,EACX,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAEhB,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EAEjB,MAAM,EACN,eAAe,EACf,eAAe,EACf,WAAW,EACX,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,WAAW,EAEX,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/ir/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ir/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4FH,wBAAwB;AACxB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bindings JSON loader - Reads and validates .bindings.json files from tsbindgen.
|
|
3
|
+
*
|
|
4
|
+
* This module provides pure functions to load runtime binding files and validate
|
|
5
|
+
* their structure against the expected schema.
|
|
6
|
+
*
|
|
7
|
+
* @see spec/bindings.md for complete schema documentation
|
|
8
|
+
*/
|
|
9
|
+
import type { Result } from "../types/result.ts";
|
|
10
|
+
import type { Diagnostic } from "../types/diagnostic.ts";
|
|
11
|
+
import type { BindingsFile, TypeBinding } from "../types/bindings.ts";
|
|
12
|
+
/**
|
|
13
|
+
* Load and parse a bindings.json file.
|
|
14
|
+
*
|
|
15
|
+
* @param filePath - Absolute path to the .bindings.json file
|
|
16
|
+
* @returns Result containing parsed bindings or diagnostics
|
|
17
|
+
*/
|
|
18
|
+
export declare const loadBindingsFile: (filePath: string) => Result<BindingsFile, Diagnostic[]>;
|
|
19
|
+
/**
|
|
20
|
+
* Load bindings from a directory containing .bindings.json files.
|
|
21
|
+
*
|
|
22
|
+
* @param directoryPath - Path to directory containing bindings files
|
|
23
|
+
* @returns Result containing array of loaded bindings files or diagnostics
|
|
24
|
+
*/
|
|
25
|
+
export declare const loadBindingsDirectory: (directoryPath: string) => Result<BindingsFile[], Diagnostic[]>;
|
|
26
|
+
/**
|
|
27
|
+
* Build a registry of type bindings for fast lookup by TypeScript emit name.
|
|
28
|
+
*
|
|
29
|
+
* @param bindingsFiles - Array of loaded bindings files
|
|
30
|
+
* @returns Map from tsEmitName to TypeBinding
|
|
31
|
+
*/
|
|
32
|
+
export declare const buildBindingsRegistry: (bindingsFiles: readonly BindingsFile[]) => ReadonlyMap<string, TypeBinding>;
|
|
33
|
+
/**
|
|
34
|
+
* Look up a type binding by fully-qualified TypeScript emit name.
|
|
35
|
+
*
|
|
36
|
+
* @param registry - Bindings registry
|
|
37
|
+
* @param qualifiedTsName - Fully qualified TS name (e.g., "System.Collections.Generic.List_1")
|
|
38
|
+
* @returns TypeBinding if found, undefined otherwise
|
|
39
|
+
*/
|
|
40
|
+
export declare const lookupTypeBinding: (registry: ReadonlyMap<string, TypeBinding>, qualifiedTsName: string) => TypeBinding | undefined;
|
|
41
|
+
//# sourceMappingURL=bindings-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bindings-loader.d.ts","sourceRoot":"","sources":["../../src/metadata/bindings-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEtE;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,KACf,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,CA2DnC,CAAC;AAmKF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,eAAe,MAAM,KACpB,MAAM,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,CAoErC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,eAAe,SAAS,YAAY,EAAE,KACrC,WAAW,CAAC,MAAM,EAAE,WAAW,CAWjC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAU,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EAC1C,iBAAiB,MAAM,KACtB,WAAW,GAAG,SAEhB,CAAC"}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bindings JSON loader - Reads and validates .bindings.json files from tsbindgen.
|
|
3
|
+
*
|
|
4
|
+
* This module provides pure functions to load runtime binding files and validate
|
|
5
|
+
* their structure against the expected schema.
|
|
6
|
+
*
|
|
7
|
+
* @see spec/bindings.md for complete schema documentation
|
|
8
|
+
*/
|
|
9
|
+
import * as fs from "fs";
|
|
10
|
+
import * as path from "path";
|
|
11
|
+
/**
|
|
12
|
+
* Load and parse a bindings.json file.
|
|
13
|
+
*
|
|
14
|
+
* @param filePath - Absolute path to the .bindings.json file
|
|
15
|
+
* @returns Result containing parsed bindings or diagnostics
|
|
16
|
+
*/
|
|
17
|
+
export const loadBindingsFile = (filePath) => {
|
|
18
|
+
// Check file exists
|
|
19
|
+
if (!fs.existsSync(filePath)) {
|
|
20
|
+
return {
|
|
21
|
+
ok: false,
|
|
22
|
+
error: [
|
|
23
|
+
{
|
|
24
|
+
code: "TSN9101",
|
|
25
|
+
message: `Bindings file not found: ${filePath}`,
|
|
26
|
+
severity: "error",
|
|
27
|
+
location: undefined,
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
// Read file contents
|
|
33
|
+
let content;
|
|
34
|
+
try {
|
|
35
|
+
content = fs.readFileSync(filePath, "utf-8");
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
return {
|
|
39
|
+
ok: false,
|
|
40
|
+
error: [
|
|
41
|
+
{
|
|
42
|
+
code: "TSN9102",
|
|
43
|
+
message: `Failed to read bindings file: ${error}`,
|
|
44
|
+
severity: "error",
|
|
45
|
+
location: undefined,
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
// Parse JSON
|
|
51
|
+
let parsed;
|
|
52
|
+
try {
|
|
53
|
+
parsed = JSON.parse(content);
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
return {
|
|
57
|
+
ok: false,
|
|
58
|
+
error: [
|
|
59
|
+
{
|
|
60
|
+
code: "TSN9103",
|
|
61
|
+
message: `Invalid JSON in bindings file: ${error}`,
|
|
62
|
+
severity: "error",
|
|
63
|
+
location: undefined,
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
// Validate structure
|
|
69
|
+
const validation = validateBindingsFile(parsed, filePath);
|
|
70
|
+
if (!validation.ok) {
|
|
71
|
+
return validation;
|
|
72
|
+
}
|
|
73
|
+
return { ok: true, value: validation.value };
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Validate that parsed JSON matches BindingsFile schema.
|
|
77
|
+
*
|
|
78
|
+
* @param data - Parsed JSON data
|
|
79
|
+
* @param filePath - File path for error messages
|
|
80
|
+
* @returns Result containing validated bindings or diagnostics
|
|
81
|
+
*/
|
|
82
|
+
const validateBindingsFile = (data, filePath) => {
|
|
83
|
+
const diagnostics = [];
|
|
84
|
+
if (typeof data !== "object" || data === null) {
|
|
85
|
+
return {
|
|
86
|
+
ok: false,
|
|
87
|
+
error: [
|
|
88
|
+
{
|
|
89
|
+
code: "TSN9104",
|
|
90
|
+
message: `Bindings file must be an object, got ${typeof data}`,
|
|
91
|
+
severity: "error",
|
|
92
|
+
location: undefined,
|
|
93
|
+
},
|
|
94
|
+
],
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
const obj = data;
|
|
98
|
+
// Validate namespace
|
|
99
|
+
if (typeof obj.namespace !== "string") {
|
|
100
|
+
diagnostics.push({
|
|
101
|
+
code: "TSN9105",
|
|
102
|
+
message: `Missing or invalid 'namespace' field in ${path.basename(filePath)}`,
|
|
103
|
+
severity: "error",
|
|
104
|
+
location: undefined,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
// Validate types array
|
|
108
|
+
if (!Array.isArray(obj.types)) {
|
|
109
|
+
diagnostics.push({
|
|
110
|
+
code: "TSN9106",
|
|
111
|
+
message: `Missing or invalid 'types' field in ${path.basename(filePath)}`,
|
|
112
|
+
severity: "error",
|
|
113
|
+
location: undefined,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
// Validate each type binding
|
|
118
|
+
for (let i = 0; i < obj.types.length; i++) {
|
|
119
|
+
const typeValidation = validateTypeBinding(obj.types[i], filePath, i);
|
|
120
|
+
if (!typeValidation.ok) {
|
|
121
|
+
diagnostics.push(...typeValidation.error);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if (diagnostics.length > 0) {
|
|
126
|
+
return { ok: false, error: diagnostics };
|
|
127
|
+
}
|
|
128
|
+
return { ok: true, value: obj };
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Validate a single TypeBinding object.
|
|
132
|
+
*
|
|
133
|
+
* @param data - Type binding to validate
|
|
134
|
+
* @param filePath - File path for error messages
|
|
135
|
+
* @param index - Type index in array
|
|
136
|
+
* @returns Result indicating validation success or errors
|
|
137
|
+
*/
|
|
138
|
+
const validateTypeBinding = (data, filePath, index) => {
|
|
139
|
+
const diagnostics = [];
|
|
140
|
+
const context = `type binding ${index} in ${path.basename(filePath)}`;
|
|
141
|
+
if (typeof data !== "object" || data === null) {
|
|
142
|
+
return {
|
|
143
|
+
ok: false,
|
|
144
|
+
error: [
|
|
145
|
+
{
|
|
146
|
+
code: "TSN9107",
|
|
147
|
+
message: `Invalid ${context}: must be an object`,
|
|
148
|
+
severity: "error",
|
|
149
|
+
location: undefined,
|
|
150
|
+
},
|
|
151
|
+
],
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
const type = data;
|
|
155
|
+
// Validate required string fields
|
|
156
|
+
const requiredStringFields = ["clrName", "tsEmitName", "assemblyName"];
|
|
157
|
+
for (const field of requiredStringFields) {
|
|
158
|
+
if (typeof type[field] !== "string") {
|
|
159
|
+
diagnostics.push({
|
|
160
|
+
code: "TSN9108",
|
|
161
|
+
message: `Invalid ${context}: missing or invalid '${field}'`,
|
|
162
|
+
severity: "error",
|
|
163
|
+
location: undefined,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
// Validate metadataToken
|
|
168
|
+
if (typeof type.metadataToken !== "number") {
|
|
169
|
+
diagnostics.push({
|
|
170
|
+
code: "TSN9109",
|
|
171
|
+
message: `Invalid ${context}: 'metadataToken' must be a number`,
|
|
172
|
+
severity: "error",
|
|
173
|
+
location: undefined,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
// Validate optional array fields (V1 Definitions)
|
|
177
|
+
const v1ArrayFields = ["methods", "properties", "fields", "events"];
|
|
178
|
+
for (const field of v1ArrayFields) {
|
|
179
|
+
if (type[field] !== undefined && !Array.isArray(type[field])) {
|
|
180
|
+
diagnostics.push({
|
|
181
|
+
code: "TSN9110",
|
|
182
|
+
message: `Invalid ${context}: '${field}' must be an array if present`,
|
|
183
|
+
severity: "error",
|
|
184
|
+
location: undefined,
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
// Validate optional array fields (V2 Exposures)
|
|
189
|
+
const v2ArrayFields = [
|
|
190
|
+
"exposedMethods",
|
|
191
|
+
"exposedProperties",
|
|
192
|
+
"exposedFields",
|
|
193
|
+
"exposedEvents",
|
|
194
|
+
];
|
|
195
|
+
for (const field of v2ArrayFields) {
|
|
196
|
+
if (type[field] !== undefined && !Array.isArray(type[field])) {
|
|
197
|
+
diagnostics.push({
|
|
198
|
+
code: "TSN9111",
|
|
199
|
+
message: `Invalid ${context}: '${field}' must be an array if present`,
|
|
200
|
+
severity: "error",
|
|
201
|
+
location: undefined,
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
// Note: We're doing basic structural validation here
|
|
206
|
+
// More detailed validation of nested objects (method bindings, etc.)
|
|
207
|
+
// can be added in future iterations if needed
|
|
208
|
+
if (diagnostics.length > 0) {
|
|
209
|
+
return { ok: false, error: diagnostics };
|
|
210
|
+
}
|
|
211
|
+
return { ok: true, value: type };
|
|
212
|
+
};
|
|
213
|
+
/**
|
|
214
|
+
* Load bindings from a directory containing .bindings.json files.
|
|
215
|
+
*
|
|
216
|
+
* @param directoryPath - Path to directory containing bindings files
|
|
217
|
+
* @returns Result containing array of loaded bindings files or diagnostics
|
|
218
|
+
*/
|
|
219
|
+
export const loadBindingsDirectory = (directoryPath) => {
|
|
220
|
+
if (!fs.existsSync(directoryPath)) {
|
|
221
|
+
return {
|
|
222
|
+
ok: false,
|
|
223
|
+
error: [
|
|
224
|
+
{
|
|
225
|
+
code: "TSN9112",
|
|
226
|
+
message: `Bindings directory not found: ${directoryPath}`,
|
|
227
|
+
severity: "error",
|
|
228
|
+
location: undefined,
|
|
229
|
+
},
|
|
230
|
+
],
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
const stats = fs.statSync(directoryPath);
|
|
234
|
+
if (!stats.isDirectory()) {
|
|
235
|
+
return {
|
|
236
|
+
ok: false,
|
|
237
|
+
error: [
|
|
238
|
+
{
|
|
239
|
+
code: "TSN9113",
|
|
240
|
+
message: `Not a directory: ${directoryPath}`,
|
|
241
|
+
severity: "error",
|
|
242
|
+
location: undefined,
|
|
243
|
+
},
|
|
244
|
+
],
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
// Find all .bindings.json files
|
|
248
|
+
const files = fs
|
|
249
|
+
.readdirSync(directoryPath)
|
|
250
|
+
.filter((file) => file.endsWith(".bindings.json"))
|
|
251
|
+
.map((file) => path.join(directoryPath, file));
|
|
252
|
+
if (files.length === 0) {
|
|
253
|
+
return {
|
|
254
|
+
ok: false,
|
|
255
|
+
error: [
|
|
256
|
+
{
|
|
257
|
+
code: "TSN9114",
|
|
258
|
+
message: `No .bindings.json files found in ${directoryPath}`,
|
|
259
|
+
severity: "warning",
|
|
260
|
+
location: undefined,
|
|
261
|
+
},
|
|
262
|
+
],
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
// Load each file
|
|
266
|
+
const bindingsFiles = [];
|
|
267
|
+
const diagnostics = [];
|
|
268
|
+
for (const file of files) {
|
|
269
|
+
const result = loadBindingsFile(file);
|
|
270
|
+
if (result.ok) {
|
|
271
|
+
bindingsFiles.push(result.value);
|
|
272
|
+
}
|
|
273
|
+
else {
|
|
274
|
+
diagnostics.push(...result.error);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
if (diagnostics.length > 0) {
|
|
278
|
+
return { ok: false, error: diagnostics };
|
|
279
|
+
}
|
|
280
|
+
return { ok: true, value: bindingsFiles };
|
|
281
|
+
};
|
|
282
|
+
/**
|
|
283
|
+
* Build a registry of type bindings for fast lookup by TypeScript emit name.
|
|
284
|
+
*
|
|
285
|
+
* @param bindingsFiles - Array of loaded bindings files
|
|
286
|
+
* @returns Map from tsEmitName to TypeBinding
|
|
287
|
+
*/
|
|
288
|
+
export const buildBindingsRegistry = (bindingsFiles) => {
|
|
289
|
+
const registry = new Map();
|
|
290
|
+
for (const file of bindingsFiles) {
|
|
291
|
+
for (const typeBinding of file.types) {
|
|
292
|
+
const key = `${file.namespace}.${typeBinding.tsEmitName}`;
|
|
293
|
+
registry.set(key, typeBinding);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
return registry;
|
|
297
|
+
};
|
|
298
|
+
/**
|
|
299
|
+
* Look up a type binding by fully-qualified TypeScript emit name.
|
|
300
|
+
*
|
|
301
|
+
* @param registry - Bindings registry
|
|
302
|
+
* @param qualifiedTsName - Fully qualified TS name (e.g., "System.Collections.Generic.List_1")
|
|
303
|
+
* @returns TypeBinding if found, undefined otherwise
|
|
304
|
+
*/
|
|
305
|
+
export const lookupTypeBinding = (registry, qualifiedTsName) => {
|
|
306
|
+
return registry.get(qualifiedTsName);
|
|
307
|
+
};
|
|
308
|
+
//# sourceMappingURL=bindings-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bindings-loader.js","sourceRoot":"","sources":["../../src/metadata/bindings-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAK7B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,QAAgB,EACoB,EAAE;IACtC,oBAAoB;IACpB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,4BAA4B,QAAQ,EAAE;oBAC/C,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,SAAS;iBACpB;aACF;SACF,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,iCAAiC,KAAK,EAAE;oBACjD,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,SAAS;iBACpB;aACF;SACF,CAAC;IACJ,CAAC;IAED,aAAa;IACb,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,kCAAkC,KAAK,EAAE;oBAClD,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,SAAS;iBACpB;aACF;SACF,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;AAC/C,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAG,CAC3B,IAAa,EACb,QAAgB,EACoB,EAAE;IACtC,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,wCAAwC,OAAO,IAAI,EAAE;oBAC9D,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,SAAS;iBACpB;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,IAA+B,CAAC;IAE5C,qBAAqB;IACrB,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACtC,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,2CAA2C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC7E,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,uCAAuC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACzE,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,6BAA6B;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,cAAc,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;gBACvB,WAAW,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAmB,EAAE,CAAC;AAClD,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,mBAAmB,GAAG,CAC1B,IAAa,EACb,QAAgB,EAChB,KAAa,EACsB,EAAE;IACrC,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,gBAAgB,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAEtE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,WAAW,OAAO,qBAAqB;oBAChD,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,SAAS;iBACpB;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,IAA+B,CAAC;IAE7C,kCAAkC;IAClC,MAAM,oBAAoB,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IACvE,KAAK,MAAM,KAAK,IAAI,oBAAoB,EAAE,CAAC;QACzC,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YACpC,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,WAAW,OAAO,yBAAyB,KAAK,GAAG;gBAC5D,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC3C,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,WAAW,OAAO,oCAAoC;YAC/D,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IAED,kDAAkD;IAClD,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACpE,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7D,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,WAAW,OAAO,MAAM,KAAK,+BAA+B;gBACrE,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,MAAM,aAAa,GAAG;QACpB,gBAAgB;QAChB,mBAAmB;QACnB,eAAe;QACf,eAAe;KAChB,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7D,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,WAAW,OAAO,MAAM,KAAK,+BAA+B;gBACrE,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,qEAAqE;IACrE,8CAA8C;IAE9C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAmB,EAAE,CAAC;AAClD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,aAAqB,EACiB,EAAE;IACxC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,iCAAiC,aAAa,EAAE;oBACzD,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,SAAS;iBACpB;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,oBAAoB,aAAa,EAAE;oBAC5C,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,SAAS;iBACpB;aACF;SACF,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,MAAM,KAAK,GAAG,EAAE;SACb,WAAW,CAAC,aAAa,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;SACjD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;IAEjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,oCAAoC,aAAa,EAAE;oBAC5D,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,SAAS;iBACpB;aACF;SACF,CAAC;IACJ,CAAC;IAED,iBAAiB;IACjB,MAAM,aAAa,GAAmB,EAAE,CAAC;IACzC,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;AAC5C,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,aAAsC,EACJ,EAAE;IACpC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEhD,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;YAC1D,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,QAA0C,EAC1C,eAAuB,EACE,EAAE;IAC3B,OAAO,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bindings-loader.test.d.ts","sourceRoot":"","sources":["../../src/metadata/bindings-loader.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|