@tsonic/frontend 0.0.14 → 0.0.15
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 -1
- package/dist/graph/builder.js +2 -2
- package/dist/graph/builder.js.map +1 -1
- package/dist/graph/extraction/imports.js +1 -1
- package/dist/graph/extraction/imports.js.map +1 -1
- package/dist/graph/extraction/orchestrator.d.ts.map +1 -1
- package/dist/graph/extraction/orchestrator.js +1 -1
- package/dist/graph/extraction/orchestrator.js.map +1 -1
- package/dist/ir/binding/index.d.ts +134 -0
- package/dist/ir/binding/index.d.ts.map +1 -0
- package/dist/ir/binding/index.js +725 -0
- package/dist/ir/binding/index.js.map +1 -0
- package/dist/ir/binding-resolution.test.js +193 -52
- package/dist/ir/binding-resolution.test.js.map +1 -1
- package/dist/ir/builder/exports.d.ts +20 -2
- package/dist/ir/builder/exports.d.ts.map +1 -1
- package/dist/ir/builder/exports.js +65 -6
- package/dist/ir/builder/exports.js.map +1 -1
- package/dist/ir/builder/imports.d.ts +9 -5
- package/dist/ir/builder/imports.d.ts.map +1 -1
- package/dist/ir/builder/imports.js +20 -31
- package/dist/ir/builder/imports.js.map +1 -1
- package/dist/ir/builder/orchestrator.d.ts +10 -1
- package/dist/ir/builder/orchestrator.d.ts.map +1 -1
- package/dist/ir/builder/orchestrator.js +25 -14
- package/dist/ir/builder/orchestrator.js.map +1 -1
- package/dist/ir/builder/statements.d.ts +7 -1
- package/dist/ir/builder/statements.d.ts.map +1 -1
- package/dist/ir/builder/statements.js +7 -2
- package/dist/ir/builder/statements.js.map +1 -1
- package/dist/ir/builder/types.d.ts +3 -0
- package/dist/ir/builder/types.d.ts.map +1 -1
- package/dist/ir/builder/validation.d.ts +4 -1
- package/dist/ir/builder/validation.d.ts.map +1 -1
- package/dist/ir/builder/validation.js +37 -37
- package/dist/ir/builder/validation.js.map +1 -1
- package/dist/ir/builder.test.js +54 -111
- package/dist/ir/builder.test.js.map +1 -1
- package/dist/ir/clr-type-mappings.d.ts +42 -0
- package/dist/ir/clr-type-mappings.d.ts.map +1 -0
- package/dist/ir/clr-type-mappings.js +139 -0
- package/dist/ir/clr-type-mappings.js.map +1 -0
- package/dist/ir/converters/anonymous-synthesis.d.ts +30 -8
- package/dist/ir/converters/anonymous-synthesis.d.ts.map +1 -1
- package/dist/ir/converters/anonymous-synthesis.js +46 -55
- package/dist/ir/converters/anonymous-synthesis.js.map +1 -1
- package/dist/ir/converters/context.d.ts +40 -0
- package/dist/ir/converters/context.d.ts.map +1 -0
- package/dist/ir/converters/context.js +24 -0
- package/dist/ir/converters/context.js.map +1 -0
- package/dist/ir/converters/expressions/access.d.ts +6 -1
- package/dist/ir/converters/expressions/access.d.ts.map +1 -1
- package/dist/ir/converters/expressions/access.js +239 -15
- package/dist/ir/converters/expressions/access.js.map +1 -1
- package/dist/ir/converters/expressions/calls.d.ts +24 -3
- package/dist/ir/converters/expressions/calls.d.ts.map +1 -1
- package/dist/ir/converters/expressions/calls.js +431 -391
- package/dist/ir/converters/expressions/calls.js.map +1 -1
- package/dist/ir/converters/expressions/collections.d.ts +16 -3
- package/dist/ir/converters/expressions/collections.d.ts.map +1 -1
- package/dist/ir/converters/expressions/collections.js +300 -46
- package/dist/ir/converters/expressions/collections.js.map +1 -1
- package/dist/ir/converters/expressions/functions.d.ts +10 -3
- package/dist/ir/converters/expressions/functions.d.ts.map +1 -1
- package/dist/ir/converters/expressions/functions.js +140 -32
- package/dist/ir/converters/expressions/functions.js.map +1 -1
- package/dist/ir/converters/expressions/helpers.d.ts +22 -23
- package/dist/ir/converters/expressions/helpers.d.ts.map +1 -1
- package/dist/ir/converters/expressions/helpers.js +242 -239
- package/dist/ir/converters/expressions/helpers.js.map +1 -1
- package/dist/ir/converters/expressions/index.d.ts +1 -1
- package/dist/ir/converters/expressions/index.d.ts.map +1 -1
- package/dist/ir/converters/expressions/index.js +1 -1
- package/dist/ir/converters/expressions/index.js.map +1 -1
- package/dist/ir/converters/expressions/literals.d.ts +12 -12
- package/dist/ir/converters/expressions/literals.d.ts.map +1 -1
- package/dist/ir/converters/expressions/literals.js +62 -17
- package/dist/ir/converters/expressions/literals.js.map +1 -1
- package/dist/ir/converters/expressions/numeric-recovery.test.d.ts +5 -2
- package/dist/ir/converters/expressions/numeric-recovery.test.d.ts.map +1 -1
- package/dist/ir/converters/expressions/numeric-recovery.test.js +62 -49
- package/dist/ir/converters/expressions/numeric-recovery.test.js.map +1 -1
- package/dist/ir/converters/expressions/operators.d.ts +13 -4
- package/dist/ir/converters/expressions/operators.d.ts.map +1 -1
- package/dist/ir/converters/expressions/operators.js +179 -33
- package/dist/ir/converters/expressions/operators.js.map +1 -1
- package/dist/ir/converters/expressions/other.d.ts +11 -3
- package/dist/ir/converters/expressions/other.d.ts.map +1 -1
- package/dist/ir/converters/expressions/other.js +26 -10
- package/dist/ir/converters/expressions/other.js.map +1 -1
- package/dist/ir/converters/statements/control/blocks.d.ts +8 -2
- package/dist/ir/converters/statements/control/blocks.d.ts.map +1 -1
- package/dist/ir/converters/statements/control/blocks.js +7 -2
- package/dist/ir/converters/statements/control/blocks.js.map +1 -1
- package/dist/ir/converters/statements/control/conditionals.d.ts +14 -4
- package/dist/ir/converters/statements/control/conditionals.d.ts.map +1 -1
- package/dist/ir/converters/statements/control/conditionals.js +19 -10
- package/dist/ir/converters/statements/control/conditionals.js.map +1 -1
- package/dist/ir/converters/statements/control/exceptions.d.ts +10 -3
- package/dist/ir/converters/statements/control/exceptions.d.ts.map +1 -1
- package/dist/ir/converters/statements/control/exceptions.js +13 -7
- package/dist/ir/converters/statements/control/exceptions.js.map +1 -1
- package/dist/ir/converters/statements/control/loops.d.ts +16 -5
- package/dist/ir/converters/statements/control/loops.d.ts.map +1 -1
- package/dist/ir/converters/statements/control/loops.js +25 -15
- package/dist/ir/converters/statements/control/loops.js.map +1 -1
- package/dist/ir/converters/statements/declarations/classes/constructors.d.ts +3 -2
- package/dist/ir/converters/statements/declarations/classes/constructors.d.ts.map +1 -1
- package/dist/ir/converters/statements/declarations/classes/constructors.js +11 -7
- package/dist/ir/converters/statements/declarations/classes/constructors.js.map +1 -1
- package/dist/ir/converters/statements/declarations/classes/methods.d.ts +2 -1
- package/dist/ir/converters/statements/declarations/classes/methods.d.ts.map +1 -1
- package/dist/ir/converters/statements/declarations/classes/methods.js +63 -11
- package/dist/ir/converters/statements/declarations/classes/methods.js.map +1 -1
- package/dist/ir/converters/statements/declarations/classes/orchestrator.d.ts +2 -1
- package/dist/ir/converters/statements/declarations/classes/orchestrator.d.ts.map +1 -1
- package/dist/ir/converters/statements/declarations/classes/orchestrator.js +60 -40
- package/dist/ir/converters/statements/declarations/classes/orchestrator.js.map +1 -1
- package/dist/ir/converters/statements/declarations/classes/override-detection.d.ts +6 -2
- package/dist/ir/converters/statements/declarations/classes/override-detection.d.ts.map +1 -1
- package/dist/ir/converters/statements/declarations/classes/override-detection.js +49 -50
- package/dist/ir/converters/statements/declarations/classes/override-detection.js.map +1 -1
- package/dist/ir/converters/statements/declarations/classes/properties.d.ts +9 -1
- package/dist/ir/converters/statements/declarations/classes/properties.d.ts.map +1 -1
- package/dist/ir/converters/statements/declarations/classes/properties.js +119 -16
- package/dist/ir/converters/statements/declarations/classes/properties.js.map +1 -1
- package/dist/ir/converters/statements/declarations/enums.d.ts +2 -1
- package/dist/ir/converters/statements/declarations/enums.d.ts.map +1 -1
- package/dist/ir/converters/statements/declarations/enums.js +8 -2
- package/dist/ir/converters/statements/declarations/enums.js.map +1 -1
- package/dist/ir/converters/statements/declarations/functions.d.ts +2 -1
- package/dist/ir/converters/statements/declarations/functions.d.ts.map +1 -1
- package/dist/ir/converters/statements/declarations/functions.js +11 -6
- package/dist/ir/converters/statements/declarations/functions.js.map +1 -1
- package/dist/ir/converters/statements/declarations/index.d.ts +3 -1
- package/dist/ir/converters/statements/declarations/index.d.ts.map +1 -1
- package/dist/ir/converters/statements/declarations/index.js +3 -1
- package/dist/ir/converters/statements/declarations/index.js.map +1 -1
- package/dist/ir/converters/statements/declarations/interfaces.d.ts +3 -2
- package/dist/ir/converters/statements/declarations/interfaces.d.ts.map +1 -1
- package/dist/ir/converters/statements/declarations/interfaces.js +26 -20
- package/dist/ir/converters/statements/declarations/interfaces.js.map +1 -1
- package/dist/ir/converters/statements/declarations/registry.d.ts +72 -0
- package/dist/ir/converters/statements/declarations/registry.d.ts.map +1 -1
- package/dist/ir/converters/statements/declarations/registry.js +92 -0
- package/dist/ir/converters/statements/declarations/registry.js.map +1 -1
- package/dist/ir/converters/statements/declarations/type-aliases.d.ts +2 -1
- package/dist/ir/converters/statements/declarations/type-aliases.d.ts.map +1 -1
- package/dist/ir/converters/statements/declarations/type-aliases.js +6 -4
- package/dist/ir/converters/statements/declarations/type-aliases.js.map +1 -1
- package/dist/ir/converters/statements/declarations/variables.d.ts +11 -1
- package/dist/ir/converters/statements/declarations/variables.d.ts.map +1 -1
- package/dist/ir/converters/statements/declarations/variables.js +123 -19
- package/dist/ir/converters/statements/declarations/variables.js.map +1 -1
- package/dist/ir/converters/statements/declarations.d.ts +4 -1
- package/dist/ir/converters/statements/declarations.d.ts.map +1 -1
- package/dist/ir/converters/statements/declarations.js +4 -1
- package/dist/ir/converters/statements/declarations.js.map +1 -1
- package/dist/ir/converters/statements/helpers.d.ts +4 -3
- package/dist/ir/converters/statements/helpers.d.ts.map +1 -1
- package/dist/ir/converters/statements/helpers.js +55 -31
- package/dist/ir/converters/statements/helpers.js.map +1 -1
- package/dist/ir/converters/statements/index.d.ts +1 -1
- package/dist/ir/converters/statements/index.d.ts.map +1 -1
- package/dist/ir/converters/statements/index.js +2 -1
- package/dist/ir/converters/statements/index.js.map +1 -1
- package/dist/ir/expression-converter.d.ts +10 -3
- package/dist/ir/expression-converter.d.ts.map +1 -1
- package/dist/ir/expression-converter.js +132 -57
- package/dist/ir/expression-converter.js.map +1 -1
- package/dist/ir/hierarchical-bindings-e2e.test.js +10 -6
- package/dist/ir/hierarchical-bindings-e2e.test.js.map +1 -1
- package/dist/ir/index.d.ts +5 -0
- package/dist/ir/index.d.ts.map +1 -1
- package/dist/ir/index.js +5 -0
- package/dist/ir/index.js.map +1 -1
- package/dist/ir/no-ts-type-inference.test.d.ts +17 -0
- package/dist/ir/no-ts-type-inference.test.d.ts.map +1 -0
- package/dist/ir/no-ts-type-inference.test.js +171 -0
- package/dist/ir/no-ts-type-inference.test.js.map +1 -0
- package/dist/ir/program-context.d.ts +74 -0
- package/dist/ir/program-context.d.ts.map +1 -0
- package/dist/ir/program-context.js +286 -0
- package/dist/ir/program-context.js.map +1 -0
- package/dist/ir/statement-converter.d.ts +14 -4
- package/dist/ir/statement-converter.d.ts.map +1 -1
- package/dist/ir/statement-converter.js +31 -21
- package/dist/ir/statement-converter.js.map +1 -1
- package/dist/ir/syntax/binding-patterns.d.ts +22 -0
- package/dist/ir/syntax/binding-patterns.d.ts.map +1 -0
- package/dist/ir/syntax/binding-patterns.js +92 -0
- package/dist/ir/syntax/binding-patterns.js.map +1 -0
- package/dist/ir/thisarg-inference.test.d.ts +8 -0
- package/dist/ir/thisarg-inference.test.d.ts.map +1 -0
- package/dist/ir/thisarg-inference.test.js +94 -0
- package/dist/ir/thisarg-inference.test.js.map +1 -0
- package/dist/ir/type-converter.d.ts +5 -2
- package/dist/ir/type-converter.d.ts.map +1 -1
- package/dist/ir/type-converter.js +5 -2
- package/dist/ir/type-converter.js.map +1 -1
- package/dist/ir/type-system/core.d.ts +29 -0
- package/dist/ir/type-system/core.d.ts.map +1 -0
- package/dist/ir/type-system/core.js +456 -0
- package/dist/ir/type-system/core.js.map +1 -0
- package/dist/ir/type-system/index.d.ts +21 -0
- package/dist/ir/type-system/index.d.ts.map +1 -0
- package/dist/ir/type-system/index.js +43 -0
- package/dist/ir/type-system/index.js.map +1 -0
- package/dist/ir/type-system/internal/handle-types.d.ts +98 -0
- package/dist/ir/type-system/internal/handle-types.d.ts.map +1 -0
- package/dist/ir/type-system/internal/handle-types.js +13 -0
- package/dist/ir/type-system/internal/handle-types.js.map +1 -0
- package/dist/ir/type-system/internal/nominal-env.d.ts +66 -0
- package/dist/ir/type-system/internal/nominal-env.d.ts.map +1 -0
- package/dist/ir/type-system/internal/nominal-env.js +301 -0
- package/dist/ir/type-system/internal/nominal-env.js.map +1 -0
- package/dist/ir/type-system/internal/type-converter/arrays.d.ts +11 -0
- package/dist/ir/type-system/internal/type-converter/arrays.d.ts.map +1 -0
- package/dist/ir/{type-converter → type-system/internal/type-converter}/arrays.js +2 -2
- package/dist/ir/type-system/internal/type-converter/arrays.js.map +1 -0
- package/dist/ir/type-system/internal/type-converter/converter.d.ts +17 -0
- package/dist/ir/type-system/internal/type-converter/converter.d.ts.map +1 -0
- package/dist/ir/type-system/internal/type-converter/converter.js +16 -0
- package/dist/ir/type-system/internal/type-converter/converter.js.map +1 -0
- package/dist/ir/type-system/internal/type-converter/functions.d.ts +14 -0
- package/dist/ir/type-system/internal/type-converter/functions.d.ts.map +1 -0
- package/dist/ir/type-system/internal/type-converter/functions.js +66 -0
- package/dist/ir/type-system/internal/type-converter/functions.js.map +1 -0
- package/dist/ir/type-system/internal/type-converter/index.d.ts +11 -0
- package/dist/ir/type-system/internal/type-converter/index.d.ts.map +1 -0
- package/dist/ir/type-system/internal/type-converter/index.js +11 -0
- package/dist/ir/type-system/internal/type-converter/index.js.map +1 -0
- package/dist/ir/type-system/internal/type-converter/inference.d.ts +37 -0
- package/dist/ir/type-system/internal/type-converter/inference.d.ts.map +1 -0
- package/dist/ir/type-system/internal/type-converter/inference.js +32 -0
- package/dist/ir/type-system/internal/type-converter/inference.js.map +1 -0
- package/dist/ir/{type-converter → type-system/internal/type-converter}/literals.d.ts +1 -1
- package/dist/ir/type-system/internal/type-converter/literals.d.ts.map +1 -0
- package/dist/ir/type-system/internal/type-converter/literals.js.map +1 -0
- package/dist/ir/type-system/internal/type-converter/objects.d.ts +20 -0
- package/dist/ir/type-system/internal/type-converter/objects.d.ts.map +1 -0
- package/dist/ir/{type-converter → type-system/internal/type-converter}/objects.js +56 -6
- package/dist/ir/type-system/internal/type-converter/objects.js.map +1 -0
- package/dist/ir/{type-converter → type-system/internal/type-converter}/orchestrator.d.ts +3 -2
- package/dist/ir/type-system/internal/type-converter/orchestrator.d.ts.map +1 -0
- package/dist/ir/{type-converter → type-system/internal/type-converter}/orchestrator.js +63 -21
- package/dist/ir/type-system/internal/type-converter/orchestrator.js.map +1 -0
- package/dist/ir/type-system/internal/type-converter/patterns.d.ts +12 -0
- package/dist/ir/type-system/internal/type-converter/patterns.d.ts.map +1 -0
- package/dist/ir/{type-converter → type-system/internal/type-converter}/patterns.js +22 -6
- package/dist/ir/type-system/internal/type-converter/patterns.js.map +1 -0
- package/dist/ir/{type-converter → type-system/internal/type-converter}/primitives.d.ts +1 -1
- package/dist/ir/type-system/internal/type-converter/primitives.d.ts.map +1 -0
- package/dist/ir/type-system/internal/type-converter/primitives.js.map +1 -0
- package/dist/ir/{type-converter → type-system/internal/type-converter}/references.d.ts +3 -2
- package/dist/ir/type-system/internal/type-converter/references.d.ts.map +1 -0
- package/dist/ir/type-system/internal/type-converter/references.js +551 -0
- package/dist/ir/type-system/internal/type-converter/references.js.map +1 -0
- package/dist/ir/type-system/internal/type-converter/unions-intersections.d.ts +15 -0
- package/dist/ir/type-system/internal/type-converter/unions-intersections.d.ts.map +1 -0
- package/dist/ir/type-system/internal/type-converter/unions-intersections.js +22 -0
- package/dist/ir/type-system/internal/type-converter/unions-intersections.js.map +1 -0
- package/dist/ir/{type-converter → type-system/internal/type-converter}/utility-types.d.ts +23 -36
- package/dist/ir/type-system/internal/type-converter/utility-types.d.ts.map +1 -0
- package/dist/ir/type-system/internal/type-converter/utility-types.js +879 -0
- package/dist/ir/type-system/internal/type-converter/utility-types.js.map +1 -0
- package/dist/ir/type-system/internal/type-converter/utility-types.test.d.ts.map +1 -0
- package/dist/ir/{type-converter → type-system/internal/type-converter}/utility-types.test.js +398 -120
- package/dist/ir/type-system/internal/type-converter/utility-types.test.js.map +1 -0
- package/dist/ir/type-system/internal/type-converter.d.ts +9 -0
- package/dist/ir/type-system/internal/type-converter.d.ts.map +1 -0
- package/dist/ir/type-system/internal/type-converter.js +9 -0
- package/dist/ir/type-system/internal/type-converter.js.map +1 -0
- package/dist/ir/type-system/internal/type-registry.d.ts +107 -0
- package/dist/ir/type-system/internal/type-registry.d.ts.map +1 -0
- package/dist/ir/type-system/internal/type-registry.js +534 -0
- package/dist/ir/type-system/internal/type-registry.js.map +1 -0
- package/dist/ir/type-system/internal/universe/alias-table.d.ts +92 -0
- package/dist/ir/type-system/internal/universe/alias-table.d.ts.map +1 -0
- package/dist/ir/type-system/internal/universe/alias-table.js +222 -0
- package/dist/ir/type-system/internal/universe/alias-table.js.map +1 -0
- package/dist/ir/type-system/internal/universe/clr-catalog.d.ts +44 -0
- package/dist/ir/type-system/internal/universe/clr-catalog.d.ts.map +1 -0
- package/dist/ir/type-system/internal/universe/clr-catalog.js +1176 -0
- package/dist/ir/type-system/internal/universe/clr-catalog.js.map +1 -0
- package/dist/ir/type-system/internal/universe/index.d.ts +26 -0
- package/dist/ir/type-system/internal/universe/index.d.ts.map +1 -0
- package/dist/ir/type-system/internal/universe/index.js +30 -0
- package/dist/ir/type-system/internal/universe/index.js.map +1 -0
- package/dist/ir/type-system/internal/universe/resolution.d.ts +115 -0
- package/dist/ir/type-system/internal/universe/resolution.d.ts.map +1 -0
- package/dist/ir/type-system/internal/universe/resolution.js +181 -0
- package/dist/ir/type-system/internal/universe/resolution.js.map +1 -0
- package/dist/ir/type-system/internal/universe/source-catalog.d.ts +62 -0
- package/dist/ir/type-system/internal/universe/source-catalog.d.ts.map +1 -0
- package/dist/ir/type-system/internal/universe/source-catalog.js +91 -0
- package/dist/ir/type-system/internal/universe/source-catalog.js.map +1 -0
- package/dist/ir/type-system/internal/universe/types.d.ts +436 -0
- package/dist/ir/type-system/internal/universe/types.d.ts.map +1 -0
- package/dist/ir/type-system/internal/universe/types.js +69 -0
- package/dist/ir/type-system/internal/universe/types.js.map +1 -0
- package/dist/ir/type-system/internal/universe/unified-universe.d.ts +70 -0
- package/dist/ir/type-system/internal/universe/unified-universe.d.ts.map +1 -0
- package/dist/ir/type-system/internal/universe/unified-universe.js +319 -0
- package/dist/ir/type-system/internal/universe/unified-universe.js.map +1 -0
- package/dist/ir/type-system/type-system.d.ts +617 -0
- package/dist/ir/type-system/type-system.d.ts.map +1 -0
- package/dist/ir/type-system/type-system.js +2420 -0
- package/dist/ir/type-system/type-system.js.map +1 -0
- package/dist/ir/type-system/types.d.ts +176 -0
- package/dist/ir/type-system/types.d.ts.map +1 -0
- package/dist/ir/type-system/types.js +80 -0
- package/dist/ir/type-system/types.js.map +1 -0
- package/dist/ir/type-universe/assembly-catalog.d.ts +44 -0
- package/dist/ir/type-universe/assembly-catalog.d.ts.map +1 -0
- package/dist/ir/type-universe/assembly-catalog.js +532 -0
- package/dist/ir/type-universe/assembly-catalog.js.map +1 -0
- package/dist/ir/type-universe/assembly-catalog.test.d.ts +7 -0
- package/dist/ir/type-universe/assembly-catalog.test.d.ts.map +1 -0
- package/dist/ir/type-universe/assembly-catalog.test.js +105 -0
- package/dist/ir/type-universe/assembly-catalog.test.js.map +1 -0
- package/dist/ir/type-universe/index.d.ts +19 -0
- package/dist/ir/type-universe/index.d.ts.map +1 -0
- package/dist/ir/type-universe/index.js +21 -0
- package/dist/ir/type-universe/index.js.map +1 -0
- package/dist/ir/type-universe/types.d.ts +436 -0
- package/dist/ir/type-universe/types.d.ts.map +1 -0
- package/dist/ir/type-universe/types.js +69 -0
- package/dist/ir/type-universe/types.js.map +1 -0
- package/dist/ir/type-universe/unified-catalog.d.ts +70 -0
- package/dist/ir/type-universe/unified-catalog.d.ts.map +1 -0
- package/dist/ir/type-universe/unified-catalog.js +319 -0
- package/dist/ir/type-universe/unified-catalog.js.map +1 -0
- package/dist/ir/type-universe/unified-catalog.test.d.ts +7 -0
- package/dist/ir/type-universe/unified-catalog.test.d.ts.map +1 -0
- package/dist/ir/type-universe/unified-catalog.test.js +135 -0
- package/dist/ir/type-universe/unified-catalog.test.js.map +1 -0
- package/dist/ir/types/expressions.d.ts +33 -7
- package/dist/ir/types/expressions.d.ts.map +1 -1
- package/dist/ir/types/helpers.d.ts +22 -2
- package/dist/ir/types/helpers.d.ts.map +1 -1
- package/dist/ir/types/index.d.ts +4 -2
- package/dist/ir/types/index.d.ts.map +1 -1
- package/dist/ir/types/index.js +1 -0
- package/dist/ir/types/index.js.map +1 -1
- package/dist/ir/types/ir-substitution.d.ts +144 -0
- package/dist/ir/types/ir-substitution.d.ts.map +1 -0
- package/dist/ir/types/ir-substitution.js +569 -0
- package/dist/ir/types/ir-substitution.js.map +1 -0
- package/dist/ir/types/ir-types.d.ts +9 -3
- package/dist/ir/types/ir-types.d.ts.map +1 -1
- package/dist/ir/types/numeric-helpers.d.ts +2 -1
- package/dist/ir/types/numeric-helpers.d.ts.map +1 -1
- package/dist/ir/types/numeric-helpers.js +9 -3
- package/dist/ir/types/numeric-helpers.js.map +1 -1
- package/dist/ir/types/statements.d.ts +13 -1
- package/dist/ir/types/statements.d.ts.map +1 -1
- package/dist/ir/types.d.ts +1 -1
- package/dist/ir/types.d.ts.map +1 -1
- package/dist/ir/types.js.map +1 -1
- package/dist/ir/validation/anonymous-type-lowering-pass.d.ts.map +1 -1
- package/dist/ir/validation/anonymous-type-lowering-pass.js +152 -8
- package/dist/ir/validation/anonymous-type-lowering-pass.js.map +1 -1
- package/dist/ir/validation/arrow-return-finalization-pass.d.ts +28 -0
- package/dist/ir/validation/arrow-return-finalization-pass.d.ts.map +1 -0
- package/dist/ir/validation/arrow-return-finalization-pass.js +416 -0
- package/dist/ir/validation/arrow-return-finalization-pass.js.map +1 -0
- package/dist/ir/validation/attribute-collection-pass.d.ts.map +1 -1
- package/dist/ir/validation/attribute-collection-pass.js +40 -6
- package/dist/ir/validation/attribute-collection-pass.js.map +1 -1
- package/dist/ir/validation/attribute-collection-pass.test.js +43 -36
- package/dist/ir/validation/attribute-collection-pass.test.js.map +1 -1
- package/dist/ir/validation/index.d.ts +3 -0
- package/dist/ir/validation/index.d.ts.map +1 -1
- package/dist/ir/validation/index.js +3 -0
- package/dist/ir/validation/index.js.map +1 -1
- package/dist/ir/validation/numeric-coercion-pass.d.ts +22 -16
- package/dist/ir/validation/numeric-coercion-pass.d.ts.map +1 -1
- package/dist/ir/validation/numeric-coercion-pass.js +159 -51
- package/dist/ir/validation/numeric-coercion-pass.js.map +1 -1
- package/dist/ir/validation/numeric-invariants.test.js +72 -108
- package/dist/ir/validation/numeric-invariants.test.js.map +1 -1
- package/dist/ir/validation/numeric-proof-pass.d.ts.map +1 -1
- package/dist/ir/validation/numeric-proof-pass.js +71 -23
- package/dist/ir/validation/numeric-proof-pass.js.map +1 -1
- package/dist/ir/validation/rest-type-synthesis-pass.d.ts +24 -0
- package/dist/ir/validation/rest-type-synthesis-pass.d.ts.map +1 -0
- package/dist/ir/validation/rest-type-synthesis-pass.js +417 -0
- package/dist/ir/validation/rest-type-synthesis-pass.js.map +1 -0
- package/dist/ir/validation/soundness-gate.d.ts +11 -1
- package/dist/ir/validation/soundness-gate.d.ts.map +1 -1
- package/dist/ir/validation/soundness-gate.js +42 -10
- package/dist/ir/validation/soundness-gate.js.map +1 -1
- package/dist/ir/validation/soundness-gate.test.js +19 -2
- package/dist/ir/validation/soundness-gate.test.js.map +1 -1
- package/dist/ir/validation/virtual-marking-pass.d.ts +16 -0
- package/dist/ir/validation/virtual-marking-pass.d.ts.map +1 -0
- package/dist/ir/validation/virtual-marking-pass.js +77 -0
- package/dist/ir/validation/virtual-marking-pass.js.map +1 -0
- package/dist/ir/validation/yield-lowering-pass.test.js +2 -2
- package/dist/ir/validation/yield-lowering-pass.test.js.map +1 -1
- package/dist/program/bindings.d.ts +28 -0
- package/dist/program/bindings.d.ts.map +1 -1
- package/dist/program/bindings.js +204 -2
- package/dist/program/bindings.js.map +1 -1
- package/dist/program/bindings.test.js +30 -0
- package/dist/program/bindings.test.js.map +1 -1
- package/dist/program/creation.d.ts.map +1 -1
- package/dist/program/creation.js +251 -4
- package/dist/program/creation.js.map +1 -1
- package/dist/program/dependency-graph.d.ts.map +1 -1
- package/dist/program/dependency-graph.js +25 -25
- package/dist/program/dependency-graph.js.map +1 -1
- package/dist/program/diagnostics.d.ts.map +1 -1
- package/dist/program/diagnostics.js +6 -0
- package/dist/program/diagnostics.js.map +1 -1
- package/dist/program/index.d.ts +1 -1
- package/dist/program/index.d.ts.map +1 -1
- package/dist/program/types.d.ts +8 -8
- package/dist/program/types.d.ts.map +1 -1
- package/dist/resolver/clr-bindings-resolver.d.ts +1 -0
- package/dist/resolver/clr-bindings-resolver.d.ts.map +1 -1
- package/dist/resolver/clr-bindings-resolver.js +90 -34
- package/dist/resolver/clr-bindings-resolver.js.map +1 -1
- package/dist/resolver/import-resolution.d.ts +16 -1
- package/dist/resolver/import-resolution.d.ts.map +1 -1
- package/dist/resolver/import-resolution.js +29 -12
- package/dist/resolver/import-resolution.js.map +1 -1
- package/dist/resolver/naming.d.ts +1 -1
- package/dist/resolver/naming.d.ts.map +1 -1
- package/dist/resolver/naming.js +13 -2
- package/dist/resolver/naming.js.map +1 -1
- package/dist/resolver.test.js +4 -0
- package/dist/resolver.test.js.map +1 -1
- package/dist/symbol-table/builder.d.ts +3 -1
- package/dist/symbol-table/builder.d.ts.map +1 -1
- package/dist/symbol-table/builder.js +9 -8
- package/dist/symbol-table/builder.js.map +1 -1
- package/dist/symbol-table/types.d.ts +2 -2
- package/dist/symbol-table/types.d.ts.map +1 -1
- package/dist/types/diagnostic.d.ts +12 -2
- package/dist/types/diagnostic.d.ts.map +1 -1
- package/dist/types/diagnostic.js +5 -1
- package/dist/types/diagnostic.js.map +1 -1
- package/dist/validation/extension-methods.d.ts +17 -0
- package/dist/validation/extension-methods.d.ts.map +1 -0
- package/dist/validation/extension-methods.js +133 -0
- package/dist/validation/extension-methods.js.map +1 -0
- package/dist/validation/generics.d.ts.map +1 -1
- package/dist/validation/generics.js +1 -129
- package/dist/validation/generics.js.map +1 -1
- package/dist/validation/imports.js +1 -1
- package/dist/validation/imports.js.map +1 -1
- package/dist/validation/index.d.ts +1 -0
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +1 -0
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/orchestrator.d.ts.map +1 -1
- package/dist/validation/orchestrator.js +2 -0
- package/dist/validation/orchestrator.js.map +1 -1
- package/dist/validation/static-safety.d.ts +1 -0
- package/dist/validation/static-safety.d.ts.map +1 -1
- package/dist/validation/static-safety.js +366 -96
- package/dist/validation/static-safety.js.map +1 -1
- package/dist/validator.test.js +77 -1
- package/dist/validator.test.js.map +1 -1
- package/package.json +2 -2
- package/dist/ir/type-converter/arrays.d.ts +0 -10
- package/dist/ir/type-converter/arrays.d.ts.map +0 -1
- package/dist/ir/type-converter/arrays.js.map +0 -1
- package/dist/ir/type-converter/converter.d.ts +0 -6
- package/dist/ir/type-converter/converter.d.ts.map +0 -1
- package/dist/ir/type-converter/converter.js +0 -6
- package/dist/ir/type-converter/converter.js.map +0 -1
- package/dist/ir/type-converter/functions.d.ts +0 -10
- package/dist/ir/type-converter/functions.d.ts.map +0 -1
- package/dist/ir/type-converter/functions.js +0 -15
- package/dist/ir/type-converter/functions.js.map +0 -1
- package/dist/ir/type-converter/index.d.ts +0 -7
- package/dist/ir/type-converter/index.d.ts.map +0 -1
- package/dist/ir/type-converter/index.js +0 -7
- package/dist/ir/type-converter/index.js.map +0 -1
- package/dist/ir/type-converter/inference.d.ts +0 -32
- package/dist/ir/type-converter/inference.d.ts.map +0 -1
- package/dist/ir/type-converter/inference.js +0 -297
- package/dist/ir/type-converter/inference.js.map +0 -1
- package/dist/ir/type-converter/literals.d.ts.map +0 -1
- package/dist/ir/type-converter/literals.js.map +0 -1
- package/dist/ir/type-converter/objects.d.ts +0 -16
- package/dist/ir/type-converter/objects.d.ts.map +0 -1
- package/dist/ir/type-converter/objects.js.map +0 -1
- package/dist/ir/type-converter/orchestrator.d.ts.map +0 -1
- package/dist/ir/type-converter/orchestrator.js.map +0 -1
- package/dist/ir/type-converter/patterns.d.ts +0 -10
- package/dist/ir/type-converter/patterns.d.ts.map +0 -1
- package/dist/ir/type-converter/patterns.js.map +0 -1
- package/dist/ir/type-converter/primitives.d.ts.map +0 -1
- package/dist/ir/type-converter/primitives.js.map +0 -1
- package/dist/ir/type-converter/references.d.ts.map +0 -1
- package/dist/ir/type-converter/references.js +0 -371
- package/dist/ir/type-converter/references.js.map +0 -1
- package/dist/ir/type-converter/unions-intersections.d.ts +0 -14
- package/dist/ir/type-converter/unions-intersections.d.ts.map +0 -1
- package/dist/ir/type-converter/unions-intersections.js +0 -22
- package/dist/ir/type-converter/unions-intersections.js.map +0 -1
- package/dist/ir/type-converter/utility-types.d.ts.map +0 -1
- package/dist/ir/type-converter/utility-types.js +0 -528
- package/dist/ir/type-converter/utility-types.js.map +0 -1
- package/dist/ir/type-converter/utility-types.test.d.ts.map +0 -1
- package/dist/ir/type-converter/utility-types.test.js.map +0 -1
- /package/dist/ir/{type-converter → type-system/internal/type-converter}/literals.js +0 -0
- /package/dist/ir/{type-converter → type-system/internal/type-converter}/primitives.js +0 -0
- /package/dist/ir/{type-converter → type-system/internal/type-converter}/utility-types.test.d.ts +0 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assembly Catalog Tests
|
|
3
|
+
*
|
|
4
|
+
* Tests for loading CLR metadata from bindings.json/metadata.json files.
|
|
5
|
+
*/
|
|
6
|
+
import { expect } from "chai";
|
|
7
|
+
import * as path from "path";
|
|
8
|
+
import { loadSinglePackageMetadata, getTypeByStableId, getTypeByTsName, getMemberByTsName, } from "./assembly-catalog.js";
|
|
9
|
+
describe("AssemblyTypeCatalog", () => {
|
|
10
|
+
// Path to System metadata - this is where System.String lives
|
|
11
|
+
const systemMetadataPath = path.resolve(process.cwd(), "../..", "node_modules/@tsonic/dotnet/System/internal/metadata.json");
|
|
12
|
+
describe("loadSinglePackageMetadata", () => {
|
|
13
|
+
it("should load System.String from metadata.json", () => {
|
|
14
|
+
const catalog = loadSinglePackageMetadata(systemMetadataPath);
|
|
15
|
+
const stringEntry = getTypeByStableId(catalog, "System.Private.CoreLib:System.String");
|
|
16
|
+
expect(stringEntry).to.not.be.undefined;
|
|
17
|
+
expect(stringEntry?.typeId.stableId).to.equal("System.Private.CoreLib:System.String");
|
|
18
|
+
expect(stringEntry?.typeId.clrName).to.equal("System.String");
|
|
19
|
+
expect(stringEntry?.typeId.tsName).to.equal("String");
|
|
20
|
+
expect(stringEntry?.kind).to.equal("class");
|
|
21
|
+
});
|
|
22
|
+
it("should load System.String by TS name lookup", () => {
|
|
23
|
+
const catalog = loadSinglePackageMetadata(systemMetadataPath);
|
|
24
|
+
const stringEntry = getTypeByTsName(catalog, "String");
|
|
25
|
+
expect(stringEntry).to.not.be.undefined;
|
|
26
|
+
expect(stringEntry?.typeId.clrName).to.equal("System.String");
|
|
27
|
+
});
|
|
28
|
+
it("should have length property on System.String", () => {
|
|
29
|
+
const catalog = loadSinglePackageMetadata(systemMetadataPath);
|
|
30
|
+
const lengthMember = getMemberByTsName(catalog, "System.Private.CoreLib:System.String", "length");
|
|
31
|
+
expect(lengthMember).to.not.be.undefined;
|
|
32
|
+
expect(lengthMember?.tsName).to.equal("length");
|
|
33
|
+
expect(lengthMember?.clrName).to.equal("Length");
|
|
34
|
+
expect(lengthMember?.memberKind).to.equal("property");
|
|
35
|
+
expect(lengthMember?.type).to.deep.equal({
|
|
36
|
+
kind: "primitiveType",
|
|
37
|
+
name: "int",
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
it("should have chars indexer property on System.String", () => {
|
|
41
|
+
const catalog = loadSinglePackageMetadata(systemMetadataPath);
|
|
42
|
+
const charsMember = getMemberByTsName(catalog, "System.Private.CoreLib:System.String", "chars");
|
|
43
|
+
expect(charsMember).to.not.be.undefined;
|
|
44
|
+
expect(charsMember?.isIndexer).to.be.true;
|
|
45
|
+
expect(charsMember?.type).to.deep.equal({
|
|
46
|
+
kind: "primitiveType",
|
|
47
|
+
name: "char",
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
it("should have substring method on System.String", () => {
|
|
51
|
+
const catalog = loadSinglePackageMetadata(systemMetadataPath);
|
|
52
|
+
const substringMember = getMemberByTsName(catalog, "System.Private.CoreLib:System.String", "substring");
|
|
53
|
+
expect(substringMember).to.not.be.undefined;
|
|
54
|
+
expect(substringMember?.memberKind).to.equal("method");
|
|
55
|
+
expect(substringMember?.signatures).to.not.be.undefined;
|
|
56
|
+
expect(substringMember?.signatures?.length).to.be.greaterThan(0);
|
|
57
|
+
// Check return type of substring is string
|
|
58
|
+
const firstSig = substringMember?.signatures?.[0];
|
|
59
|
+
expect(firstSig?.returnType).to.deep.equal({
|
|
60
|
+
kind: "primitiveType",
|
|
61
|
+
name: "string",
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
it("should have compare static method on System.String", () => {
|
|
65
|
+
const catalog = loadSinglePackageMetadata(systemMetadataPath);
|
|
66
|
+
const compareMember = getMemberByTsName(catalog, "System.Private.CoreLib:System.String", "compare");
|
|
67
|
+
expect(compareMember).to.not.be.undefined;
|
|
68
|
+
expect(compareMember?.memberKind).to.equal("method");
|
|
69
|
+
expect(compareMember?.isStatic).to.be.true;
|
|
70
|
+
// Multiple overloads
|
|
71
|
+
expect(compareMember?.signatures?.length).to.be.greaterThan(1);
|
|
72
|
+
});
|
|
73
|
+
it("should have empty static field on System.String", () => {
|
|
74
|
+
const catalog = loadSinglePackageMetadata(systemMetadataPath);
|
|
75
|
+
const emptyMember = getMemberByTsName(catalog, "System.Private.CoreLib:System.String", "empty");
|
|
76
|
+
expect(emptyMember).to.not.be.undefined;
|
|
77
|
+
expect(emptyMember?.memberKind).to.equal("field");
|
|
78
|
+
expect(emptyMember?.isStatic).to.be.true;
|
|
79
|
+
expect(emptyMember?.type).to.deep.equal({
|
|
80
|
+
kind: "primitiveType",
|
|
81
|
+
name: "string",
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
describe("Type parsing", () => {
|
|
86
|
+
it("should parse System.Int32 enum correctly", () => {
|
|
87
|
+
const catalog = loadSinglePackageMetadata(systemMetadataPath);
|
|
88
|
+
const enumEntry = getTypeByStableId(catalog, "System.Private.CoreLib:System.AttributeTargets");
|
|
89
|
+
expect(enumEntry).to.not.be.undefined;
|
|
90
|
+
expect(enumEntry?.kind).to.equal("enum");
|
|
91
|
+
});
|
|
92
|
+
it("should have correct accessibility for public types", () => {
|
|
93
|
+
const catalog = loadSinglePackageMetadata(systemMetadataPath);
|
|
94
|
+
const stringEntry = getTypeByStableId(catalog, "System.Private.CoreLib:System.String");
|
|
95
|
+
expect(stringEntry?.accessibility).to.equal("public");
|
|
96
|
+
});
|
|
97
|
+
it("should recognize sealed classes", () => {
|
|
98
|
+
const catalog = loadSinglePackageMetadata(systemMetadataPath);
|
|
99
|
+
const stringEntry = getTypeByStableId(catalog, "System.Private.CoreLib:System.String");
|
|
100
|
+
// System.String is sealed
|
|
101
|
+
expect(stringEntry?.isSealed).to.be.true;
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
//# sourceMappingURL=assembly-catalog.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assembly-catalog.test.js","sourceRoot":"","sources":["../../../src/ir/type-universe/assembly-catalog.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type Universe Module
|
|
3
|
+
*
|
|
4
|
+
* This module provides the unified type catalog that merges source-authored
|
|
5
|
+
* types (from TS AST) and assembly-authored types (from CLR metadata).
|
|
6
|
+
*
|
|
7
|
+
* INVARIANT INV-CLR: All nominal type identities come from ONE unified catalog.
|
|
8
|
+
* No type query is allowed to "fall back" to parallel logic or parallel stores.
|
|
9
|
+
*
|
|
10
|
+
* Exports:
|
|
11
|
+
* - Types: TypeId, NominalEntry, MemberEntry, etc.
|
|
12
|
+
* - Loader: loadAssemblyTypeCatalog
|
|
13
|
+
* - Query helpers: getTypeByStableId, getTypeByTsName, getMemberByTsName
|
|
14
|
+
*/
|
|
15
|
+
export type { TypeId, NominalEntry, NominalKind, TypeOrigin, TypeParameterEntry, HeritageEdge, MemberEntry, MemberKind, MethodSignatureEntry, ParameterEntry, ParameterMode, ConstructorEntry, FieldEntry, AssemblyTypeCatalog, UnifiedTypeCatalog, } from "./types.js";
|
|
16
|
+
export { makeTypeId, parseStableId, PRIMITIVE_TO_STABLE_ID, STABLE_ID_TO_PRIMITIVE, } from "./types.js";
|
|
17
|
+
export { loadAssemblyTypeCatalog, loadSinglePackageMetadata, getTypeByStableId, getTypeByTsName, getTypeByClrName, getMemberByTsName, } from "./assembly-catalog.js";
|
|
18
|
+
export { buildUnifiedTypeCatalog, normalizePrimitiveToTypeId, getTypeId, lookupMemberWithInheritance, getMemberDeclaredType, } from "./unified-catalog.js";
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ir/type-universe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,YAAY,EACV,MAAM,EACN,YAAY,EACZ,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,SAAS,EACT,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type Universe Module
|
|
3
|
+
*
|
|
4
|
+
* This module provides the unified type catalog that merges source-authored
|
|
5
|
+
* types (from TS AST) and assembly-authored types (from CLR metadata).
|
|
6
|
+
*
|
|
7
|
+
* INVARIANT INV-CLR: All nominal type identities come from ONE unified catalog.
|
|
8
|
+
* No type query is allowed to "fall back" to parallel logic or parallel stores.
|
|
9
|
+
*
|
|
10
|
+
* Exports:
|
|
11
|
+
* - Types: TypeId, NominalEntry, MemberEntry, etc.
|
|
12
|
+
* - Loader: loadAssemblyTypeCatalog
|
|
13
|
+
* - Query helpers: getTypeByStableId, getTypeByTsName, getMemberByTsName
|
|
14
|
+
*/
|
|
15
|
+
// Factory functions and constants
|
|
16
|
+
export { makeTypeId, parseStableId, PRIMITIVE_TO_STABLE_ID, STABLE_ID_TO_PRIMITIVE, } from "./types.js";
|
|
17
|
+
// Assembly catalog loader and queries
|
|
18
|
+
export { loadAssemblyTypeCatalog, loadSinglePackageMetadata, getTypeByStableId, getTypeByTsName, getTypeByClrName, getMemberByTsName, } from "./assembly-catalog.js";
|
|
19
|
+
// Unified catalog builder and queries
|
|
20
|
+
export { buildUnifiedTypeCatalog, normalizePrimitiveToTypeId, getTypeId, lookupMemberWithInheritance, getMemberDeclaredType, } from "./unified-catalog.js";
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ir/type-universe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAqBH,kCAAkC;AAClC,OAAO,EACL,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,sCAAsC;AACtC,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAE/B,sCAAsC;AACtC,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,SAAS,EACT,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,436 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type Universe Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* This module defines the types for the unified type catalog that merges
|
|
5
|
+
* source-authored types (from TS AST) and assembly-authored types (from
|
|
6
|
+
* CLR metadata in bindings.json/metadata.json).
|
|
7
|
+
*
|
|
8
|
+
* INVARIANT INV-CLR: All nominal type identities come from ONE unified catalog.
|
|
9
|
+
* No type query is allowed to "fall back" to parallel logic or parallel stores.
|
|
10
|
+
*
|
|
11
|
+
* Key Types:
|
|
12
|
+
* - TypeId: Canonical identity for any nominal type
|
|
13
|
+
* - NominalEntry: Complete type information from either source or assembly
|
|
14
|
+
* - MemberEntry: Property/method/field information
|
|
15
|
+
* - MethodSignatureEntry: Full method signature with parameters
|
|
16
|
+
*/
|
|
17
|
+
import type { IrType } from "../types/index.js";
|
|
18
|
+
/**
|
|
19
|
+
* Canonical identity for any nominal type.
|
|
20
|
+
*
|
|
21
|
+
* Uses stableId as the primary key:
|
|
22
|
+
* - Assembly types: "{assemblyName}:{clrName}" e.g., "System.Private.CoreLib:System.String"
|
|
23
|
+
* - Source types: "{projectName}:{fullyQualifiedName}" e.g., "myapp:MyApp.models.User"
|
|
24
|
+
*
|
|
25
|
+
* The distinction matters for:
|
|
26
|
+
* - Collisions across assemblies
|
|
27
|
+
* - Type-forwarding
|
|
28
|
+
* - Multiple assemblies declaring same namespace/type
|
|
29
|
+
*/
|
|
30
|
+
export type TypeId = {
|
|
31
|
+
/** Primary key: e.g., "System.Private.CoreLib:System.String" */
|
|
32
|
+
readonly stableId: string;
|
|
33
|
+
/** CLR display name for emitter: e.g., "System.String" */
|
|
34
|
+
readonly clrName: string;
|
|
35
|
+
/** Assembly name: e.g., "System.Private.CoreLib" */
|
|
36
|
+
readonly assemblyName: string;
|
|
37
|
+
/** TS surface name for symbol binding: e.g., "String" */
|
|
38
|
+
readonly tsName: string;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Complete type information for a nominal type.
|
|
42
|
+
*
|
|
43
|
+
* This is the unified shape for both source and assembly types.
|
|
44
|
+
* All type queries go through this structure.
|
|
45
|
+
*/
|
|
46
|
+
export type NominalEntry = {
|
|
47
|
+
/** Canonical identity */
|
|
48
|
+
readonly typeId: TypeId;
|
|
49
|
+
/** Type kind */
|
|
50
|
+
readonly kind: NominalKind;
|
|
51
|
+
/** Type parameters (for generic types) */
|
|
52
|
+
readonly typeParameters: readonly TypeParameterEntry[];
|
|
53
|
+
/** Inheritance edges (extends, implements) */
|
|
54
|
+
readonly heritage: readonly HeritageEdge[];
|
|
55
|
+
/** Members indexed by TS name */
|
|
56
|
+
readonly members: ReadonlyMap<string, MemberEntry>;
|
|
57
|
+
/** Where this type came from */
|
|
58
|
+
readonly origin: TypeOrigin;
|
|
59
|
+
/** Accessibility modifier */
|
|
60
|
+
readonly accessibility: "public" | "internal" | "private" | "protected";
|
|
61
|
+
/** Abstract class flag */
|
|
62
|
+
readonly isAbstract: boolean;
|
|
63
|
+
/** Sealed class flag */
|
|
64
|
+
readonly isSealed: boolean;
|
|
65
|
+
/** Static class flag */
|
|
66
|
+
readonly isStatic: boolean;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Type kind classification.
|
|
70
|
+
*/
|
|
71
|
+
export type NominalKind = "class" | "interface" | "struct" | "enum" | "delegate";
|
|
72
|
+
/**
|
|
73
|
+
* Where a type originated.
|
|
74
|
+
*/
|
|
75
|
+
export type TypeOrigin = "source" | "assembly";
|
|
76
|
+
/**
|
|
77
|
+
* Type parameter declaration on a generic type.
|
|
78
|
+
*/
|
|
79
|
+
export type TypeParameterEntry = {
|
|
80
|
+
/** Parameter name (e.g., "T", "TKey") */
|
|
81
|
+
readonly name: string;
|
|
82
|
+
/** Constraint type (e.g., "where T : IComparable") */
|
|
83
|
+
readonly constraint?: IrType;
|
|
84
|
+
/** Default type (if any) */
|
|
85
|
+
readonly defaultType?: IrType;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Inheritance edge connecting types.
|
|
89
|
+
*
|
|
90
|
+
* For generic inheritance like `class MyList<T> extends List<T>`,
|
|
91
|
+
* the typeArguments capture the type parameter mappings.
|
|
92
|
+
*/
|
|
93
|
+
export type HeritageEdge = {
|
|
94
|
+
/** "extends" for classes, "implements" for interfaces */
|
|
95
|
+
readonly kind: "extends" | "implements";
|
|
96
|
+
/** Target type's stableId */
|
|
97
|
+
readonly targetStableId: string;
|
|
98
|
+
/** Type arguments passed to the target type */
|
|
99
|
+
readonly typeArguments: readonly IrType[];
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* Member information for properties, methods, fields, and events.
|
|
103
|
+
*/
|
|
104
|
+
export type MemberEntry = {
|
|
105
|
+
/** TS surface name (for symbol binding) */
|
|
106
|
+
readonly tsName: string;
|
|
107
|
+
/** CLR name (for emitter) */
|
|
108
|
+
readonly clrName: string;
|
|
109
|
+
/** Member kind */
|
|
110
|
+
readonly memberKind: MemberKind;
|
|
111
|
+
/** Type (for properties, fields); undefined for methods */
|
|
112
|
+
readonly type?: IrType;
|
|
113
|
+
/** Method signatures (for methods/overloads) */
|
|
114
|
+
readonly signatures?: readonly MethodSignatureEntry[];
|
|
115
|
+
/** Static member flag */
|
|
116
|
+
readonly isStatic: boolean;
|
|
117
|
+
/** Readonly property/field flag */
|
|
118
|
+
readonly isReadonly: boolean;
|
|
119
|
+
/** Abstract member flag */
|
|
120
|
+
readonly isAbstract: boolean;
|
|
121
|
+
/** Virtual member flag */
|
|
122
|
+
readonly isVirtual: boolean;
|
|
123
|
+
/** Override member flag */
|
|
124
|
+
readonly isOverride: boolean;
|
|
125
|
+
/** For properties: is this an indexer? */
|
|
126
|
+
readonly isIndexer: boolean;
|
|
127
|
+
/** For properties: has getter? */
|
|
128
|
+
readonly hasGetter: boolean;
|
|
129
|
+
/** For properties: has setter? */
|
|
130
|
+
readonly hasSetter: boolean;
|
|
131
|
+
/** Stable ID for this member */
|
|
132
|
+
readonly stableId: string;
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Member kind classification.
|
|
136
|
+
*/
|
|
137
|
+
export type MemberKind = "property" | "method" | "field" | "event";
|
|
138
|
+
/**
|
|
139
|
+
* Complete method signature information.
|
|
140
|
+
*
|
|
141
|
+
* For overloaded methods, each overload has its own entry.
|
|
142
|
+
*/
|
|
143
|
+
export type MethodSignatureEntry = {
|
|
144
|
+
/** Stable ID for this specific signature */
|
|
145
|
+
readonly stableId: string;
|
|
146
|
+
/** Method parameters */
|
|
147
|
+
readonly parameters: readonly ParameterEntry[];
|
|
148
|
+
/** Return type */
|
|
149
|
+
readonly returnType: IrType;
|
|
150
|
+
/** Method-level type parameters */
|
|
151
|
+
readonly typeParameters: readonly TypeParameterEntry[];
|
|
152
|
+
/** Parameter count (for quick overload filtering) */
|
|
153
|
+
readonly parameterCount: number;
|
|
154
|
+
/** Static method flag */
|
|
155
|
+
readonly isStatic: boolean;
|
|
156
|
+
/** Extension method flag */
|
|
157
|
+
readonly isExtensionMethod: boolean;
|
|
158
|
+
/** Source interface for explicit interface implementations */
|
|
159
|
+
readonly sourceInterface?: string;
|
|
160
|
+
/** Normalized signature string for dedup */
|
|
161
|
+
readonly normalizedSignature: string;
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* Parameter information for method signatures.
|
|
165
|
+
*/
|
|
166
|
+
export type ParameterEntry = {
|
|
167
|
+
/** Parameter name */
|
|
168
|
+
readonly name: string;
|
|
169
|
+
/** Parameter type */
|
|
170
|
+
readonly type: IrType;
|
|
171
|
+
/** Passing mode (value, ref, out, in) */
|
|
172
|
+
readonly mode: ParameterMode;
|
|
173
|
+
/** Optional parameter flag */
|
|
174
|
+
readonly isOptional: boolean;
|
|
175
|
+
/** Default value (for optional parameters) */
|
|
176
|
+
readonly defaultValue?: unknown;
|
|
177
|
+
/** Rest/params parameter flag */
|
|
178
|
+
readonly isRest: boolean;
|
|
179
|
+
};
|
|
180
|
+
/**
|
|
181
|
+
* Parameter passing mode for C# interop.
|
|
182
|
+
*/
|
|
183
|
+
export type ParameterMode = "value" | "ref" | "out" | "in";
|
|
184
|
+
/**
|
|
185
|
+
* Constructor information.
|
|
186
|
+
*/
|
|
187
|
+
export type ConstructorEntry = {
|
|
188
|
+
/** Normalized signature for dedup */
|
|
189
|
+
readonly normalizedSignature: string;
|
|
190
|
+
/** Constructor parameters */
|
|
191
|
+
readonly parameters: readonly ParameterEntry[];
|
|
192
|
+
/** Static constructor flag */
|
|
193
|
+
readonly isStatic: boolean;
|
|
194
|
+
/** Parameter count */
|
|
195
|
+
readonly parameterCount: number;
|
|
196
|
+
};
|
|
197
|
+
/**
|
|
198
|
+
* Field information from metadata.
|
|
199
|
+
*/
|
|
200
|
+
export type FieldEntry = {
|
|
201
|
+
/** Stable ID */
|
|
202
|
+
readonly stableId: string;
|
|
203
|
+
/** CLR name */
|
|
204
|
+
readonly clrName: string;
|
|
205
|
+
/** TS surface name */
|
|
206
|
+
readonly tsName: string;
|
|
207
|
+
/** Static field flag */
|
|
208
|
+
readonly isStatic: boolean;
|
|
209
|
+
/** Readonly field flag */
|
|
210
|
+
readonly isReadonly: boolean;
|
|
211
|
+
/** Literal/const field flag */
|
|
212
|
+
readonly isLiteral: boolean;
|
|
213
|
+
/** Normalized signature for type extraction */
|
|
214
|
+
readonly normalizedSignature: string;
|
|
215
|
+
};
|
|
216
|
+
/**
|
|
217
|
+
* Complete catalog of types loaded from assembly metadata.
|
|
218
|
+
*
|
|
219
|
+
* This is the result of loading bindings.json + metadata.json files.
|
|
220
|
+
*/
|
|
221
|
+
export type AssemblyTypeCatalog = {
|
|
222
|
+
/** All type entries, keyed by stableId */
|
|
223
|
+
readonly entries: ReadonlyMap<string, NominalEntry>;
|
|
224
|
+
/** TS name → TypeId mapping */
|
|
225
|
+
readonly tsNameToTypeId: ReadonlyMap<string, TypeId>;
|
|
226
|
+
/** CLR name → TypeId mapping */
|
|
227
|
+
readonly clrNameToTypeId: ReadonlyMap<string, TypeId>;
|
|
228
|
+
/** Namespace → TypeIds mapping */
|
|
229
|
+
readonly namespaceToTypeIds: ReadonlyMap<string, readonly TypeId[]>;
|
|
230
|
+
};
|
|
231
|
+
/**
|
|
232
|
+
* Unified catalog merging source and assembly types.
|
|
233
|
+
*
|
|
234
|
+
* This is THE source of truth for all type queries.
|
|
235
|
+
* No fallback paths allowed.
|
|
236
|
+
*/
|
|
237
|
+
export type UnifiedTypeCatalog = {
|
|
238
|
+
/** Get entry by TypeId */
|
|
239
|
+
readonly getByTypeId: (typeId: TypeId) => NominalEntry | undefined;
|
|
240
|
+
/** Get entry by stableId string */
|
|
241
|
+
readonly getByStableId: (stableId: string) => NominalEntry | undefined;
|
|
242
|
+
/** Resolve TS name to TypeId */
|
|
243
|
+
readonly resolveTsName: (tsName: string) => TypeId | undefined;
|
|
244
|
+
/** Resolve CLR name to TypeId */
|
|
245
|
+
readonly resolveClrName: (clrName: string) => TypeId | undefined;
|
|
246
|
+
/** Get all members of a type */
|
|
247
|
+
readonly getMembers: (typeId: TypeId) => ReadonlyMap<string, MemberEntry>;
|
|
248
|
+
/** Get specific member by name */
|
|
249
|
+
readonly getMember: (typeId: TypeId, memberName: string) => MemberEntry | undefined;
|
|
250
|
+
/** Get heritage edges */
|
|
251
|
+
readonly getHeritage: (typeId: TypeId) => readonly HeritageEdge[];
|
|
252
|
+
/** Get type parameters */
|
|
253
|
+
readonly getTypeParameters: (typeId: TypeId) => readonly TypeParameterEntry[];
|
|
254
|
+
/** Check if type exists */
|
|
255
|
+
readonly hasType: (stableId: string) => boolean;
|
|
256
|
+
/** Get all type IDs */
|
|
257
|
+
readonly getAllTypeIds: () => readonly TypeId[];
|
|
258
|
+
};
|
|
259
|
+
/**
|
|
260
|
+
* Raw type entry from metadata.json.
|
|
261
|
+
* This matches the actual JSON structure.
|
|
262
|
+
*/
|
|
263
|
+
export type RawMetadataType = {
|
|
264
|
+
readonly stableId: string;
|
|
265
|
+
readonly clrName: string;
|
|
266
|
+
readonly tsEmitName: string;
|
|
267
|
+
readonly kind: string;
|
|
268
|
+
readonly accessibility: string;
|
|
269
|
+
readonly isAbstract: boolean;
|
|
270
|
+
readonly isSealed: boolean;
|
|
271
|
+
readonly isStatic: boolean;
|
|
272
|
+
readonly arity: number;
|
|
273
|
+
readonly methods: readonly RawMetadataMethod[];
|
|
274
|
+
readonly properties: readonly RawMetadataProperty[];
|
|
275
|
+
readonly fields: readonly RawMetadataField[];
|
|
276
|
+
readonly events: readonly unknown[];
|
|
277
|
+
readonly constructors: readonly RawMetadataConstructor[];
|
|
278
|
+
readonly baseType?: string;
|
|
279
|
+
readonly interfaces?: readonly string[];
|
|
280
|
+
};
|
|
281
|
+
/**
|
|
282
|
+
* Raw method entry from metadata.json.
|
|
283
|
+
*/
|
|
284
|
+
export type RawMetadataMethod = {
|
|
285
|
+
readonly stableId: string;
|
|
286
|
+
readonly clrName: string;
|
|
287
|
+
readonly tsEmitName: string;
|
|
288
|
+
readonly normalizedSignature: string;
|
|
289
|
+
readonly provenance: string;
|
|
290
|
+
readonly emitScope: string;
|
|
291
|
+
readonly isStatic: boolean;
|
|
292
|
+
readonly isAbstract: boolean;
|
|
293
|
+
readonly isVirtual: boolean;
|
|
294
|
+
readonly isOverride: boolean;
|
|
295
|
+
readonly isSealed: boolean;
|
|
296
|
+
readonly arity: number;
|
|
297
|
+
readonly parameterCount: number;
|
|
298
|
+
readonly isExtensionMethod: boolean;
|
|
299
|
+
readonly sourceInterface?: string;
|
|
300
|
+
};
|
|
301
|
+
/**
|
|
302
|
+
* Raw property entry from metadata.json.
|
|
303
|
+
*/
|
|
304
|
+
export type RawMetadataProperty = {
|
|
305
|
+
readonly stableId: string;
|
|
306
|
+
readonly clrName: string;
|
|
307
|
+
readonly tsEmitName: string;
|
|
308
|
+
readonly normalizedSignature: string;
|
|
309
|
+
readonly provenance: string;
|
|
310
|
+
readonly emitScope: string;
|
|
311
|
+
readonly isStatic: boolean;
|
|
312
|
+
readonly isAbstract: boolean;
|
|
313
|
+
readonly isVirtual: boolean;
|
|
314
|
+
readonly isOverride: boolean;
|
|
315
|
+
readonly isIndexer: boolean;
|
|
316
|
+
readonly hasGetter: boolean;
|
|
317
|
+
readonly hasSetter: boolean;
|
|
318
|
+
};
|
|
319
|
+
/**
|
|
320
|
+
* Raw field entry from metadata.json.
|
|
321
|
+
*/
|
|
322
|
+
export type RawMetadataField = {
|
|
323
|
+
readonly stableId: string;
|
|
324
|
+
readonly clrName: string;
|
|
325
|
+
readonly tsEmitName: string;
|
|
326
|
+
readonly normalizedSignature: string;
|
|
327
|
+
readonly isStatic: boolean;
|
|
328
|
+
readonly isReadOnly: boolean;
|
|
329
|
+
readonly isLiteral: boolean;
|
|
330
|
+
};
|
|
331
|
+
/**
|
|
332
|
+
* Raw constructor entry from metadata.json.
|
|
333
|
+
*/
|
|
334
|
+
export type RawMetadataConstructor = {
|
|
335
|
+
readonly normalizedSignature: string;
|
|
336
|
+
readonly isStatic: boolean;
|
|
337
|
+
readonly parameterCount: number;
|
|
338
|
+
};
|
|
339
|
+
/**
|
|
340
|
+
* Raw metadata.json file structure.
|
|
341
|
+
*/
|
|
342
|
+
export type RawMetadataFile = {
|
|
343
|
+
readonly namespace: string;
|
|
344
|
+
readonly contributingAssemblies: readonly string[];
|
|
345
|
+
readonly types: readonly RawMetadataType[];
|
|
346
|
+
};
|
|
347
|
+
/**
|
|
348
|
+
* Raw bindings.json type entry.
|
|
349
|
+
*/
|
|
350
|
+
export type RawBindingType = {
|
|
351
|
+
readonly stableId: string;
|
|
352
|
+
readonly clrName: string;
|
|
353
|
+
readonly tsEmitName: string;
|
|
354
|
+
readonly assemblyName: string;
|
|
355
|
+
readonly metadataToken: number;
|
|
356
|
+
readonly methods: readonly RawBindingMethod[];
|
|
357
|
+
readonly properties: readonly RawBindingProperty[];
|
|
358
|
+
readonly fields: readonly RawBindingField[];
|
|
359
|
+
};
|
|
360
|
+
/**
|
|
361
|
+
* Raw bindings.json method entry.
|
|
362
|
+
*/
|
|
363
|
+
export type RawBindingMethod = {
|
|
364
|
+
readonly stableId: string;
|
|
365
|
+
readonly clrName: string;
|
|
366
|
+
readonly tsEmitName: string;
|
|
367
|
+
readonly metadataToken: number;
|
|
368
|
+
readonly normalizedSignature: string;
|
|
369
|
+
readonly isStatic: boolean;
|
|
370
|
+
readonly declaringClrType: string;
|
|
371
|
+
readonly declaringAssemblyName: string;
|
|
372
|
+
readonly isExtensionMethod: boolean;
|
|
373
|
+
readonly parameterModifiers?: readonly {
|
|
374
|
+
readonly index: number;
|
|
375
|
+
readonly modifier: "ref" | "out" | "in";
|
|
376
|
+
}[];
|
|
377
|
+
};
|
|
378
|
+
/**
|
|
379
|
+
* Raw bindings.json property entry.
|
|
380
|
+
*/
|
|
381
|
+
export type RawBindingProperty = {
|
|
382
|
+
readonly stableId: string;
|
|
383
|
+
readonly clrName: string;
|
|
384
|
+
readonly tsEmitName: string;
|
|
385
|
+
readonly metadataToken: number;
|
|
386
|
+
readonly normalizedSignature: string;
|
|
387
|
+
readonly isStatic: boolean;
|
|
388
|
+
readonly declaringClrType: string;
|
|
389
|
+
readonly declaringAssemblyName: string;
|
|
390
|
+
};
|
|
391
|
+
/**
|
|
392
|
+
* Raw bindings.json field entry.
|
|
393
|
+
*/
|
|
394
|
+
export type RawBindingField = {
|
|
395
|
+
readonly stableId: string;
|
|
396
|
+
readonly clrName: string;
|
|
397
|
+
readonly tsEmitName: string;
|
|
398
|
+
readonly metadataToken: number;
|
|
399
|
+
readonly normalizedSignature: string;
|
|
400
|
+
readonly isStatic: boolean;
|
|
401
|
+
readonly isReadOnly: boolean;
|
|
402
|
+
readonly declaringClrType: string;
|
|
403
|
+
readonly declaringAssemblyName: string;
|
|
404
|
+
};
|
|
405
|
+
/**
|
|
406
|
+
* Raw bindings.json file structure.
|
|
407
|
+
*/
|
|
408
|
+
export type RawBindingsFile = {
|
|
409
|
+
readonly namespace: string;
|
|
410
|
+
readonly types: readonly RawBindingType[];
|
|
411
|
+
};
|
|
412
|
+
/**
|
|
413
|
+
* Create a TypeId from components.
|
|
414
|
+
*/
|
|
415
|
+
export declare const makeTypeId: (stableId: string, clrName: string, assemblyName: string, tsName: string) => TypeId;
|
|
416
|
+
/**
|
|
417
|
+
* Parse a stableId into assemblyName and clrName.
|
|
418
|
+
*/
|
|
419
|
+
export declare const parseStableId: (stableId: string) => {
|
|
420
|
+
assemblyName: string;
|
|
421
|
+
clrName: string;
|
|
422
|
+
} | undefined;
|
|
423
|
+
/**
|
|
424
|
+
* Mapping from TS primitive type names to their CLR stableIds.
|
|
425
|
+
*
|
|
426
|
+
* This enables normalizing `primitiveType("string")` to the canonical
|
|
427
|
+
* `System.String` nominal type for member lookups.
|
|
428
|
+
*/
|
|
429
|
+
export declare const PRIMITIVE_TO_STABLE_ID: ReadonlyMap<string, string>;
|
|
430
|
+
/**
|
|
431
|
+
* Mapping from CLR stableIds back to TS primitive type names.
|
|
432
|
+
*
|
|
433
|
+
* This enables the emitter to use primitive syntax when appropriate.
|
|
434
|
+
*/
|
|
435
|
+
export declare const STABLE_ID_TO_PRIMITIVE: ReadonlyMap<string, string>;
|
|
436
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ir/type-universe/types.ts"],"names":[],"mappings":"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"}
|