@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
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reference type conversion
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import * as ts from "typescript";
|
|
6
|
-
import { IrType, IrDictionaryType } from "../types.js";
|
|
7
|
-
import { isPrimitiveTypeName, getPrimitiveType } from "./primitives.js";
|
|
8
|
-
import { getParameterModifierRegistry } from "../../types/parameter-modifiers.js";
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Convert TypeScript type reference to IR type
|
|
12
|
-
* Handles both primitive type names and user-defined types
|
|
13
|
-
*/
|
|
14
|
-
export const convertTypeReference = (
|
|
15
|
-
node: ts.TypeReferenceNode,
|
|
16
|
-
checker: ts.TypeChecker,
|
|
17
|
-
convertType: (node: ts.TypeNode, checker: ts.TypeChecker) => IrType
|
|
18
|
-
): IrType => {
|
|
19
|
-
const typeName = ts.isIdentifier(node.typeName)
|
|
20
|
-
? node.typeName.text
|
|
21
|
-
: node.typeName.getText();
|
|
22
|
-
|
|
23
|
-
// Check for primitive type names
|
|
24
|
-
if (isPrimitiveTypeName(typeName)) {
|
|
25
|
-
return getPrimitiveType(typeName);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// Check for Record<K, V> utility type → convert to IrDictionaryType
|
|
29
|
-
if (typeName === "Record" && node.typeArguments?.length === 2) {
|
|
30
|
-
const keyType = convertType(node.typeArguments[0]!, checker);
|
|
31
|
-
const valueType = convertType(node.typeArguments[1]!, checker);
|
|
32
|
-
|
|
33
|
-
return {
|
|
34
|
-
kind: "dictionaryType",
|
|
35
|
-
keyType,
|
|
36
|
-
valueType,
|
|
37
|
-
} as IrDictionaryType;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// Check if this is a parameter modifier type (ref/out/In) from @tsonic/types
|
|
41
|
-
const registry = getParameterModifierRegistry();
|
|
42
|
-
const modifierKind = registry.getParameterModifierKind(typeName);
|
|
43
|
-
|
|
44
|
-
if (modifierKind && node.typeArguments && node.typeArguments.length > 0) {
|
|
45
|
-
// This is ref<T>, out<T>, or In<T> from @tsonic/types
|
|
46
|
-
// Convert it to a special IR type that preserves the modifier
|
|
47
|
-
const wrappedType = convertType(node.typeArguments[0]!, checker);
|
|
48
|
-
|
|
49
|
-
return {
|
|
50
|
-
kind: "referenceType",
|
|
51
|
-
name: typeName,
|
|
52
|
-
typeArguments: [wrappedType],
|
|
53
|
-
// Add metadata to indicate this is a parameter modifier
|
|
54
|
-
parameterModifier: modifierKind,
|
|
55
|
-
} as IrType & { parameterModifier?: "ref" | "out" | "in" };
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// Reference type (user-defined or library)
|
|
59
|
-
return {
|
|
60
|
-
kind: "referenceType",
|
|
61
|
-
name: typeName,
|
|
62
|
-
typeArguments: node.typeArguments?.map((t) => convertType(t, checker)),
|
|
63
|
-
};
|
|
64
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Union and intersection type conversion
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import * as ts from "typescript";
|
|
6
|
-
import { IrType } from "../types.js";
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Convert TypeScript union type to IR union type
|
|
10
|
-
*/
|
|
11
|
-
export const convertUnionType = (
|
|
12
|
-
node: ts.UnionTypeNode,
|
|
13
|
-
checker: ts.TypeChecker,
|
|
14
|
-
convertType: (node: ts.TypeNode, checker: ts.TypeChecker) => IrType
|
|
15
|
-
): IrType => {
|
|
16
|
-
return {
|
|
17
|
-
kind: "unionType",
|
|
18
|
-
types: node.types.map((t) => convertType(t, checker)),
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Convert TypeScript intersection type to IR intersection type
|
|
24
|
-
*/
|
|
25
|
-
export const convertIntersectionType = (
|
|
26
|
-
node: ts.IntersectionTypeNode,
|
|
27
|
-
checker: ts.TypeChecker,
|
|
28
|
-
convertType: (node: ts.TypeNode, checker: ts.TypeChecker) => IrType
|
|
29
|
-
): IrType => {
|
|
30
|
-
return {
|
|
31
|
-
kind: "intersectionType",
|
|
32
|
-
types: node.types.map((t) => convertType(t, checker)),
|
|
33
|
-
};
|
|
34
|
-
};
|
package/src/ir/type-converter.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Type converter - TypeScript types to IR types
|
|
3
|
-
* Main dispatcher - re-exports from type-converter/ subdirectory
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
export {
|
|
7
|
-
convertType,
|
|
8
|
-
convertFunctionType,
|
|
9
|
-
convertObjectType,
|
|
10
|
-
convertBindingName,
|
|
11
|
-
inferType,
|
|
12
|
-
convertTsTypeToIr,
|
|
13
|
-
} from "./type-converter/index.js";
|
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Expression types for IR
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { IrType } from "./ir-types.js";
|
|
6
|
-
import {
|
|
7
|
-
IrParameter,
|
|
8
|
-
IrPattern,
|
|
9
|
-
IrBinaryOperator,
|
|
10
|
-
IrAssignmentOperator,
|
|
11
|
-
} from "./helpers.js";
|
|
12
|
-
import { IrBlockStatement } from "./statements.js";
|
|
13
|
-
|
|
14
|
-
export type IrExpression =
|
|
15
|
-
| IrLiteralExpression
|
|
16
|
-
| IrIdentifierExpression
|
|
17
|
-
| IrArrayExpression
|
|
18
|
-
| IrObjectExpression
|
|
19
|
-
| IrFunctionExpression
|
|
20
|
-
| IrArrowFunctionExpression
|
|
21
|
-
| IrMemberExpression
|
|
22
|
-
| IrCallExpression
|
|
23
|
-
| IrNewExpression
|
|
24
|
-
| IrThisExpression
|
|
25
|
-
| IrUpdateExpression
|
|
26
|
-
| IrUnaryExpression
|
|
27
|
-
| IrBinaryExpression
|
|
28
|
-
| IrLogicalExpression
|
|
29
|
-
| IrConditionalExpression
|
|
30
|
-
| IrAssignmentExpression
|
|
31
|
-
| IrTemplateLiteralExpression
|
|
32
|
-
| IrSpreadExpression
|
|
33
|
-
| IrAwaitExpression
|
|
34
|
-
| IrYieldExpression;
|
|
35
|
-
|
|
36
|
-
export type IrLiteralExpression = {
|
|
37
|
-
readonly kind: "literal";
|
|
38
|
-
readonly value: string | number | boolean | null | undefined;
|
|
39
|
-
readonly raw?: string;
|
|
40
|
-
readonly inferredType?: IrType;
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export type IrIdentifierExpression = {
|
|
44
|
-
readonly kind: "identifier";
|
|
45
|
-
readonly name: string;
|
|
46
|
-
readonly inferredType?: IrType;
|
|
47
|
-
// Resolved binding for globals (console, Math, etc.)
|
|
48
|
-
readonly resolvedClrType?: string; // e.g., "Tsonic.Runtime.console"
|
|
49
|
-
readonly resolvedAssembly?: string; // e.g., "Tsonic.Runtime"
|
|
50
|
-
readonly csharpName?: string; // Optional: renamed identifier in C# (from binding)
|
|
51
|
-
// For imported symbols from local modules
|
|
52
|
-
readonly importedFrom?: {
|
|
53
|
-
readonly containerName: string; // e.g., "Math"
|
|
54
|
-
readonly exportName: string; // e.g., "add" (may differ from local name if aliased)
|
|
55
|
-
readonly namespace: string; // e.g., "MultiFileCheck.utils"
|
|
56
|
-
};
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
export type IrArrayExpression = {
|
|
60
|
-
readonly kind: "array";
|
|
61
|
-
readonly elements: readonly (IrExpression | IrSpreadExpression | undefined)[]; // undefined for holes
|
|
62
|
-
readonly inferredType?: IrType;
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
export type IrObjectExpression = {
|
|
66
|
-
readonly kind: "object";
|
|
67
|
-
readonly properties: readonly IrObjectProperty[];
|
|
68
|
-
readonly inferredType?: IrType;
|
|
69
|
-
/** Contextual type for object literals in typed positions (return, assignment, etc.) */
|
|
70
|
-
readonly contextualType?: IrType;
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
export type IrObjectProperty =
|
|
74
|
-
| {
|
|
75
|
-
readonly kind: "property";
|
|
76
|
-
readonly key: string | IrExpression;
|
|
77
|
-
readonly value: IrExpression;
|
|
78
|
-
readonly shorthand: boolean;
|
|
79
|
-
}
|
|
80
|
-
| { readonly kind: "spread"; readonly expression: IrExpression };
|
|
81
|
-
|
|
82
|
-
export type IrFunctionExpression = {
|
|
83
|
-
readonly kind: "functionExpression";
|
|
84
|
-
readonly name?: string;
|
|
85
|
-
readonly parameters: readonly IrParameter[];
|
|
86
|
-
readonly returnType?: IrType;
|
|
87
|
-
readonly body: IrBlockStatement;
|
|
88
|
-
readonly isAsync: boolean;
|
|
89
|
-
readonly isGenerator: boolean;
|
|
90
|
-
readonly inferredType?: IrType;
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
export type IrArrowFunctionExpression = {
|
|
94
|
-
readonly kind: "arrowFunction";
|
|
95
|
-
readonly parameters: readonly IrParameter[];
|
|
96
|
-
readonly returnType?: IrType;
|
|
97
|
-
readonly body: IrBlockStatement | IrExpression;
|
|
98
|
-
readonly isAsync: boolean;
|
|
99
|
-
readonly inferredType?: IrType;
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
export type IrMemberExpression = {
|
|
103
|
-
readonly kind: "memberAccess";
|
|
104
|
-
readonly object: IrExpression;
|
|
105
|
-
readonly property: IrExpression | string;
|
|
106
|
-
readonly isComputed: boolean; // true for obj[prop], false for obj.prop
|
|
107
|
-
readonly isOptional: boolean; // true for obj?.prop
|
|
108
|
-
readonly inferredType?: IrType;
|
|
109
|
-
// Hierarchical member binding (from bindings manifest)
|
|
110
|
-
// When a member access like systemLinq.enumerable.selectMany is resolved,
|
|
111
|
-
// this contains the full CLR binding info
|
|
112
|
-
readonly memberBinding?: {
|
|
113
|
-
readonly assembly: string; // e.g., "System.Linq"
|
|
114
|
-
readonly type: string; // Full CLR type e.g., "System.Linq.Enumerable"
|
|
115
|
-
readonly member: string; // CLR member name e.g., "SelectMany"
|
|
116
|
-
};
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
export type IrCallExpression = {
|
|
120
|
-
readonly kind: "call";
|
|
121
|
-
readonly callee: IrExpression;
|
|
122
|
-
readonly arguments: readonly (IrExpression | IrSpreadExpression)[];
|
|
123
|
-
readonly isOptional: boolean; // true for func?.()
|
|
124
|
-
readonly inferredType?: IrType;
|
|
125
|
-
readonly typeArguments?: readonly IrType[]; // Explicit or inferred type arguments
|
|
126
|
-
readonly requiresSpecialization?: boolean; // Flag for conditional/unsupported patterns
|
|
127
|
-
readonly argumentPassing?: readonly ("value" | "ref" | "out" | "in")[]; // Passing mode for each argument
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
export type IrNewExpression = {
|
|
131
|
-
readonly kind: "new";
|
|
132
|
-
readonly callee: IrExpression;
|
|
133
|
-
readonly arguments: readonly (IrExpression | IrSpreadExpression)[];
|
|
134
|
-
readonly inferredType?: IrType;
|
|
135
|
-
readonly typeArguments?: readonly IrType[]; // Explicit or inferred type arguments
|
|
136
|
-
readonly requiresSpecialization?: boolean; // Flag for conditional/unsupported patterns
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
export type IrThisExpression = {
|
|
140
|
-
readonly kind: "this";
|
|
141
|
-
readonly inferredType?: IrType;
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
export type IrUpdateExpression = {
|
|
145
|
-
readonly kind: "update";
|
|
146
|
-
readonly operator: "++" | "--";
|
|
147
|
-
readonly prefix: boolean;
|
|
148
|
-
readonly expression: IrExpression;
|
|
149
|
-
readonly inferredType?: IrType;
|
|
150
|
-
};
|
|
151
|
-
|
|
152
|
-
export type IrUnaryExpression = {
|
|
153
|
-
readonly kind: "unary";
|
|
154
|
-
readonly operator: "+" | "-" | "!" | "~" | "typeof" | "void" | "delete";
|
|
155
|
-
readonly expression: IrExpression;
|
|
156
|
-
readonly inferredType?: IrType;
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
export type IrBinaryExpression = {
|
|
160
|
-
readonly kind: "binary";
|
|
161
|
-
readonly operator: IrBinaryOperator;
|
|
162
|
-
readonly left: IrExpression;
|
|
163
|
-
readonly right: IrExpression;
|
|
164
|
-
readonly inferredType?: IrType;
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
export type IrLogicalExpression = {
|
|
168
|
-
readonly kind: "logical";
|
|
169
|
-
readonly operator: "&&" | "||" | "??";
|
|
170
|
-
readonly left: IrExpression;
|
|
171
|
-
readonly right: IrExpression;
|
|
172
|
-
readonly inferredType?: IrType;
|
|
173
|
-
};
|
|
174
|
-
|
|
175
|
-
export type IrConditionalExpression = {
|
|
176
|
-
readonly kind: "conditional";
|
|
177
|
-
readonly condition: IrExpression;
|
|
178
|
-
readonly whenTrue: IrExpression;
|
|
179
|
-
readonly whenFalse: IrExpression;
|
|
180
|
-
readonly inferredType?: IrType;
|
|
181
|
-
};
|
|
182
|
-
|
|
183
|
-
export type IrAssignmentExpression = {
|
|
184
|
-
readonly kind: "assignment";
|
|
185
|
-
readonly operator: IrAssignmentOperator;
|
|
186
|
-
readonly left: IrExpression | IrPattern;
|
|
187
|
-
readonly right: IrExpression;
|
|
188
|
-
readonly inferredType?: IrType;
|
|
189
|
-
};
|
|
190
|
-
|
|
191
|
-
export type IrTemplateLiteralExpression = {
|
|
192
|
-
readonly kind: "templateLiteral";
|
|
193
|
-
readonly quasis: readonly string[];
|
|
194
|
-
readonly expressions: readonly IrExpression[];
|
|
195
|
-
readonly inferredType?: IrType;
|
|
196
|
-
};
|
|
197
|
-
|
|
198
|
-
export type IrSpreadExpression = {
|
|
199
|
-
readonly kind: "spread";
|
|
200
|
-
readonly expression: IrExpression;
|
|
201
|
-
readonly inferredType?: IrType;
|
|
202
|
-
};
|
|
203
|
-
|
|
204
|
-
export type IrAwaitExpression = {
|
|
205
|
-
readonly kind: "await";
|
|
206
|
-
readonly expression: IrExpression;
|
|
207
|
-
readonly inferredType?: IrType;
|
|
208
|
-
};
|
|
209
|
-
|
|
210
|
-
export type IrYieldExpression = {
|
|
211
|
-
readonly kind: "yield";
|
|
212
|
-
readonly expression?: IrExpression; // Optional for bare `yield`
|
|
213
|
-
readonly delegate: boolean; // true for `yield*`, false for `yield`
|
|
214
|
-
readonly inferredType?: IrType;
|
|
215
|
-
};
|
package/src/ir/types/guards.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Type guard helper functions
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { IrStatement } from "./statements.js";
|
|
6
|
-
import { IrExpression } from "./expressions.js";
|
|
7
|
-
|
|
8
|
-
export const isStatement = (
|
|
9
|
-
node: IrStatement | IrExpression
|
|
10
|
-
): node is IrStatement => {
|
|
11
|
-
const statementKinds: string[] = [
|
|
12
|
-
"variableDeclaration",
|
|
13
|
-
"functionDeclaration",
|
|
14
|
-
"classDeclaration",
|
|
15
|
-
"interfaceDeclaration",
|
|
16
|
-
"enumDeclaration",
|
|
17
|
-
"typeAliasDeclaration",
|
|
18
|
-
"expressionStatement",
|
|
19
|
-
"returnStatement",
|
|
20
|
-
"ifStatement",
|
|
21
|
-
"whileStatement",
|
|
22
|
-
"forStatement",
|
|
23
|
-
"forOfStatement",
|
|
24
|
-
"switchStatement",
|
|
25
|
-
"throwStatement",
|
|
26
|
-
"tryStatement",
|
|
27
|
-
"blockStatement",
|
|
28
|
-
"breakStatement",
|
|
29
|
-
"continueStatement",
|
|
30
|
-
"emptyStatement",
|
|
31
|
-
];
|
|
32
|
-
return statementKinds.includes(node.kind);
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export const isExpression = (
|
|
36
|
-
node: IrStatement | IrExpression
|
|
37
|
-
): node is IrExpression => {
|
|
38
|
-
return !isStatement(node);
|
|
39
|
-
};
|
package/src/ir/types/helpers.ts
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Supporting types (patterns, parameters, operators, accessibility, etc.)
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { IrType } from "./ir-types.js";
|
|
6
|
-
import { IrExpression } from "./expressions.js";
|
|
7
|
-
|
|
8
|
-
// ============================================================================
|
|
9
|
-
// Patterns (for destructuring)
|
|
10
|
-
// ============================================================================
|
|
11
|
-
|
|
12
|
-
export type IrPattern = IrIdentifierPattern | IrArrayPattern | IrObjectPattern;
|
|
13
|
-
|
|
14
|
-
export type IrIdentifierPattern = {
|
|
15
|
-
readonly kind: "identifierPattern";
|
|
16
|
-
readonly name: string;
|
|
17
|
-
readonly type?: IrType;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export type IrArrayPattern = {
|
|
21
|
-
readonly kind: "arrayPattern";
|
|
22
|
-
readonly elements: readonly (IrPattern | undefined)[]; // undefined for holes
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export type IrObjectPattern = {
|
|
26
|
-
readonly kind: "objectPattern";
|
|
27
|
-
readonly properties: readonly IrObjectPatternProperty[];
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
export type IrObjectPatternProperty =
|
|
31
|
-
| {
|
|
32
|
-
readonly kind: "property";
|
|
33
|
-
readonly key: string;
|
|
34
|
-
readonly value: IrPattern;
|
|
35
|
-
readonly shorthand: boolean;
|
|
36
|
-
}
|
|
37
|
-
| { readonly kind: "rest"; readonly pattern: IrPattern };
|
|
38
|
-
|
|
39
|
-
// ============================================================================
|
|
40
|
-
// Type Parameters
|
|
41
|
-
// ============================================================================
|
|
42
|
-
|
|
43
|
-
export type IrTypeParameter = {
|
|
44
|
-
readonly kind: "typeParameter";
|
|
45
|
-
readonly name: string;
|
|
46
|
-
readonly constraint?: IrType; // Can reference other type parameters (enables recursion)
|
|
47
|
-
readonly default?: IrType;
|
|
48
|
-
readonly variance?: "in" | "out"; // For covariance/contravariance
|
|
49
|
-
readonly isStructuralConstraint?: boolean; // Flag for { id: number } style constraints
|
|
50
|
-
readonly structuralMembers?: readonly IrInterfaceMember[]; // Properties for structural constraints
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
// ============================================================================
|
|
54
|
-
// Parameters
|
|
55
|
-
// ============================================================================
|
|
56
|
-
|
|
57
|
-
export type IrParameter = {
|
|
58
|
-
readonly kind: "parameter";
|
|
59
|
-
readonly pattern: IrPattern;
|
|
60
|
-
readonly type?: IrType;
|
|
61
|
-
readonly initializer?: IrExpression;
|
|
62
|
-
readonly isOptional: boolean;
|
|
63
|
-
readonly isRest: boolean;
|
|
64
|
-
readonly passing: "value" | "ref" | "out" | "in"; // C# parameter passing mode
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
// ============================================================================
|
|
68
|
-
// Interface Members (used by interfaces and object types)
|
|
69
|
-
// ============================================================================
|
|
70
|
-
|
|
71
|
-
export type IrInterfaceMember = IrPropertySignature | IrMethodSignature;
|
|
72
|
-
|
|
73
|
-
export type IrPropertySignature = {
|
|
74
|
-
readonly kind: "propertySignature";
|
|
75
|
-
readonly name: string;
|
|
76
|
-
readonly type: IrType;
|
|
77
|
-
readonly isOptional: boolean;
|
|
78
|
-
readonly isReadonly: boolean;
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
export type IrMethodSignature = {
|
|
82
|
-
readonly kind: "methodSignature";
|
|
83
|
-
readonly name: string;
|
|
84
|
-
readonly typeParameters?: readonly IrTypeParameter[];
|
|
85
|
-
readonly parameters: readonly IrParameter[];
|
|
86
|
-
readonly returnType?: IrType;
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
// ============================================================================
|
|
90
|
-
// Accessibility and Operators
|
|
91
|
-
// ============================================================================
|
|
92
|
-
|
|
93
|
-
export type IrAccessibility = "public" | "private" | "protected";
|
|
94
|
-
|
|
95
|
-
export type IrBinaryOperator =
|
|
96
|
-
| "+"
|
|
97
|
-
| "-"
|
|
98
|
-
| "*"
|
|
99
|
-
| "/"
|
|
100
|
-
| "%"
|
|
101
|
-
| "**"
|
|
102
|
-
| "=="
|
|
103
|
-
| "!="
|
|
104
|
-
| "==="
|
|
105
|
-
| "!=="
|
|
106
|
-
| "<"
|
|
107
|
-
| ">"
|
|
108
|
-
| "<="
|
|
109
|
-
| ">="
|
|
110
|
-
| "<<"
|
|
111
|
-
| ">>"
|
|
112
|
-
| ">>>"
|
|
113
|
-
| "&"
|
|
114
|
-
| "|"
|
|
115
|
-
| "^"
|
|
116
|
-
| "in"
|
|
117
|
-
| "instanceof";
|
|
118
|
-
|
|
119
|
-
export type IrAssignmentOperator =
|
|
120
|
-
| "="
|
|
121
|
-
| "+="
|
|
122
|
-
| "-="
|
|
123
|
-
| "*="
|
|
124
|
-
| "/="
|
|
125
|
-
| "%="
|
|
126
|
-
| "**="
|
|
127
|
-
| "<<="
|
|
128
|
-
| ">>="
|
|
129
|
-
| ">>>="
|
|
130
|
-
| "&="
|
|
131
|
-
| "|="
|
|
132
|
-
| "^="
|
|
133
|
-
| "&&="
|
|
134
|
-
| "||="
|
|
135
|
-
| "??=";
|
package/src/ir/types/index.ts
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* IR types barrel exports
|
|
3
|
-
* Intermediate Representation (IR) types for Tsonic compiler
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
// Module types
|
|
7
|
-
export type {
|
|
8
|
-
IrModule,
|
|
9
|
-
IrImport,
|
|
10
|
-
IrImportSpecifier,
|
|
11
|
-
IrExport,
|
|
12
|
-
} from "./module.js";
|
|
13
|
-
|
|
14
|
-
// Statement types
|
|
15
|
-
export type {
|
|
16
|
-
IrStatement,
|
|
17
|
-
IrVariableDeclaration,
|
|
18
|
-
IrVariableDeclarator,
|
|
19
|
-
IrFunctionDeclaration,
|
|
20
|
-
IrClassDeclaration,
|
|
21
|
-
IrClassMember,
|
|
22
|
-
IrMethodDeclaration,
|
|
23
|
-
IrPropertyDeclaration,
|
|
24
|
-
IrConstructorDeclaration,
|
|
25
|
-
IrInterfaceDeclaration,
|
|
26
|
-
IrEnumDeclaration,
|
|
27
|
-
IrEnumMember,
|
|
28
|
-
IrTypeAliasDeclaration,
|
|
29
|
-
IrExpressionStatement,
|
|
30
|
-
IrReturnStatement,
|
|
31
|
-
IrIfStatement,
|
|
32
|
-
IrWhileStatement,
|
|
33
|
-
IrForStatement,
|
|
34
|
-
IrForOfStatement,
|
|
35
|
-
IrSwitchStatement,
|
|
36
|
-
IrSwitchCase,
|
|
37
|
-
IrThrowStatement,
|
|
38
|
-
IrTryStatement,
|
|
39
|
-
IrCatchClause,
|
|
40
|
-
IrBlockStatement,
|
|
41
|
-
IrBreakStatement,
|
|
42
|
-
IrContinueStatement,
|
|
43
|
-
IrEmptyStatement,
|
|
44
|
-
} from "./statements.js";
|
|
45
|
-
|
|
46
|
-
// Expression types
|
|
47
|
-
export type {
|
|
48
|
-
IrExpression,
|
|
49
|
-
IrLiteralExpression,
|
|
50
|
-
IrIdentifierExpression,
|
|
51
|
-
IrArrayExpression,
|
|
52
|
-
IrObjectExpression,
|
|
53
|
-
IrObjectProperty,
|
|
54
|
-
IrFunctionExpression,
|
|
55
|
-
IrArrowFunctionExpression,
|
|
56
|
-
IrMemberExpression,
|
|
57
|
-
IrCallExpression,
|
|
58
|
-
IrNewExpression,
|
|
59
|
-
IrThisExpression,
|
|
60
|
-
IrUpdateExpression,
|
|
61
|
-
IrUnaryExpression,
|
|
62
|
-
IrBinaryExpression,
|
|
63
|
-
IrLogicalExpression,
|
|
64
|
-
IrConditionalExpression,
|
|
65
|
-
IrAssignmentExpression,
|
|
66
|
-
IrTemplateLiteralExpression,
|
|
67
|
-
IrSpreadExpression,
|
|
68
|
-
IrAwaitExpression,
|
|
69
|
-
IrYieldExpression,
|
|
70
|
-
} from "./expressions.js";
|
|
71
|
-
|
|
72
|
-
// Type system types
|
|
73
|
-
export type {
|
|
74
|
-
IrType,
|
|
75
|
-
IrPrimitiveType,
|
|
76
|
-
IrReferenceType,
|
|
77
|
-
IrArrayType,
|
|
78
|
-
IrFunctionType,
|
|
79
|
-
IrObjectType,
|
|
80
|
-
IrDictionaryType,
|
|
81
|
-
IrUnionType,
|
|
82
|
-
IrIntersectionType,
|
|
83
|
-
IrLiteralType,
|
|
84
|
-
IrAnyType,
|
|
85
|
-
IrUnknownType,
|
|
86
|
-
IrVoidType,
|
|
87
|
-
IrNeverType,
|
|
88
|
-
} from "./ir-types.js";
|
|
89
|
-
|
|
90
|
-
// Helper types
|
|
91
|
-
export type {
|
|
92
|
-
IrPattern,
|
|
93
|
-
IrIdentifierPattern,
|
|
94
|
-
IrArrayPattern,
|
|
95
|
-
IrObjectPattern,
|
|
96
|
-
IrObjectPatternProperty,
|
|
97
|
-
IrTypeParameter,
|
|
98
|
-
IrParameter,
|
|
99
|
-
IrInterfaceMember,
|
|
100
|
-
IrPropertySignature,
|
|
101
|
-
IrMethodSignature,
|
|
102
|
-
IrAccessibility,
|
|
103
|
-
IrBinaryOperator,
|
|
104
|
-
IrAssignmentOperator,
|
|
105
|
-
} from "./helpers.js";
|
|
106
|
-
|
|
107
|
-
// Type guards
|
|
108
|
-
export { isStatement, isExpression } from "./guards.js";
|
package/src/ir/types/ir-types.ts
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Type system types for IR (IrType and its variants)
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { IrParameter, IrInterfaceMember } from "./helpers.js";
|
|
6
|
-
|
|
7
|
-
export type IrType =
|
|
8
|
-
| IrPrimitiveType
|
|
9
|
-
| IrReferenceType
|
|
10
|
-
| IrArrayType
|
|
11
|
-
| IrFunctionType
|
|
12
|
-
| IrObjectType
|
|
13
|
-
| IrDictionaryType
|
|
14
|
-
| IrUnionType
|
|
15
|
-
| IrIntersectionType
|
|
16
|
-
| IrLiteralType
|
|
17
|
-
| IrAnyType
|
|
18
|
-
| IrUnknownType
|
|
19
|
-
| IrVoidType
|
|
20
|
-
| IrNeverType;
|
|
21
|
-
|
|
22
|
-
export type IrPrimitiveType = {
|
|
23
|
-
readonly kind: "primitiveType";
|
|
24
|
-
readonly name: "string" | "number" | "boolean" | "null" | "undefined";
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export type IrReferenceType = {
|
|
28
|
-
readonly kind: "referenceType";
|
|
29
|
-
readonly name: string;
|
|
30
|
-
readonly typeArguments?: readonly IrType[];
|
|
31
|
-
/** Fully-qualified CLR type for imported types (e.g., "MyApp.models.User") */
|
|
32
|
-
readonly resolvedClrType?: string;
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export type IrArrayType = {
|
|
36
|
-
readonly kind: "arrayType";
|
|
37
|
-
readonly elementType: IrType;
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
export type IrFunctionType = {
|
|
41
|
-
readonly kind: "functionType";
|
|
42
|
-
readonly parameters: readonly IrParameter[];
|
|
43
|
-
readonly returnType: IrType;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export type IrObjectType = {
|
|
47
|
-
readonly kind: "objectType";
|
|
48
|
-
readonly members: readonly IrInterfaceMember[];
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Dictionary/map type for index signatures and Record<K, V>
|
|
53
|
-
*
|
|
54
|
-
* Examples:
|
|
55
|
-
* - `{ [k: string]: T }` → IrDictionaryType { keyType: string, valueType: T }
|
|
56
|
-
* - `Record<string, T>` → IrDictionaryType { keyType: string, valueType: T }
|
|
57
|
-
*
|
|
58
|
-
* Emits to C# Dictionary<TKey, TValue>.
|
|
59
|
-
* Access should be via indexer `d["key"]` (dot property access will fail in C#).
|
|
60
|
-
*/
|
|
61
|
-
export type IrDictionaryType = {
|
|
62
|
-
readonly kind: "dictionaryType";
|
|
63
|
-
readonly keyType: IrType;
|
|
64
|
-
readonly valueType: IrType;
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
export type IrUnionType = {
|
|
68
|
-
readonly kind: "unionType";
|
|
69
|
-
readonly types: readonly IrType[];
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
export type IrIntersectionType = {
|
|
73
|
-
readonly kind: "intersectionType";
|
|
74
|
-
readonly types: readonly IrType[];
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
export type IrLiteralType = {
|
|
78
|
-
readonly kind: "literalType";
|
|
79
|
-
readonly value: string | number | boolean;
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
export type IrAnyType = {
|
|
83
|
-
readonly kind: "anyType";
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
export type IrUnknownType = {
|
|
87
|
-
readonly kind: "unknownType";
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
export type IrVoidType = {
|
|
91
|
-
readonly kind: "voidType";
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
export type IrNeverType = {
|
|
95
|
-
readonly kind: "neverType";
|
|
96
|
-
};
|