@tsonic/frontend 0.0.62 → 0.0.63
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/dependency-graph.d.ts +1 -1
- package/dist/dependency-graph.d.ts.map +1 -1
- package/dist/dependency-graph.js +1 -1
- package/dist/dependency-graph.js.map +1 -1
- package/dist/dotnet-metadata.d.ts +0 -12
- package/dist/dotnet-metadata.d.ts.map +1 -1
- package/dist/dotnet-metadata.js +0 -24
- package/dist/dotnet-metadata.js.map +1 -1
- package/dist/generic-function-values.d.ts +11 -0
- package/dist/generic-function-values.d.ts.map +1 -0
- package/dist/generic-function-values.js +243 -0
- package/dist/generic-function-values.js.map +1 -0
- package/dist/generic-function-values.test.d.ts +2 -0
- package/dist/generic-function-values.test.d.ts.map +1 -0
- package/dist/generic-function-values.test.js +256 -0
- package/dist/generic-function-values.test.js.map +1 -0
- package/dist/graph/extraction/imports.d.ts +5 -0
- package/dist/graph/extraction/imports.d.ts.map +1 -1
- package/dist/graph/extraction/imports.js +30 -0
- package/dist/graph/extraction/imports.js.map +1 -1
- package/dist/graph/extraction/index.d.ts +1 -1
- package/dist/graph/extraction/index.d.ts.map +1 -1
- package/dist/graph/extraction/index.js +1 -1
- package/dist/graph/extraction/index.js.map +1 -1
- package/dist/graph/extraction/orchestrator.d.ts.map +1 -1
- package/dist/graph/extraction/orchestrator.js +16 -2
- package/dist/graph/extraction/orchestrator.js.map +1 -1
- package/dist/graph/extraction.d.ts +1 -1
- package/dist/graph/extraction.d.ts.map +1 -1
- package/dist/graph/extraction.js +1 -1
- package/dist/graph/extraction.js.map +1 -1
- package/dist/ir/binding/binding-factory.d.ts +17 -0
- package/dist/ir/binding/binding-factory.d.ts.map +1 -0
- package/dist/ir/binding/binding-factory.js +765 -0
- package/dist/ir/binding/binding-factory.js.map +1 -0
- package/dist/ir/binding/binding-helpers.d.ts +90 -0
- package/dist/ir/binding/binding-helpers.d.ts.map +1 -0
- package/dist/ir/binding/binding-helpers.js +387 -0
- package/dist/ir/binding/binding-helpers.js.map +1 -0
- package/dist/ir/binding/binding-types.d.ts +203 -0
- package/dist/ir/binding/binding-types.d.ts.map +1 -0
- package/dist/ir/binding/binding-types.js +9 -0
- package/dist/ir/binding/binding-types.js.map +1 -0
- package/dist/ir/binding/index.d.ts +4 -158
- package/dist/ir/binding/index.d.ts.map +1 -1
- package/dist/ir/binding/index.js +3 -1134
- package/dist/ir/binding/index.js.map +1 -1
- package/dist/ir/builder.test.js +223 -0
- package/dist/ir/builder.test.js.map +1 -1
- package/dist/ir/converters/anonymous-synthesis.d.ts +3 -3
- package/dist/ir/converters/anonymous-synthesis.d.ts.map +1 -1
- package/dist/ir/converters/anonymous-synthesis.js +45 -8
- package/dist/ir/converters/anonymous-synthesis.js.map +1 -1
- package/dist/ir/converters/expressions/access/access-converter.d.ts +14 -0
- package/dist/ir/converters/expressions/access/access-converter.d.ts.map +1 -0
- package/dist/ir/converters/expressions/access/access-converter.js +141 -0
- package/dist/ir/converters/expressions/access/access-converter.js.map +1 -0
- package/dist/ir/converters/expressions/access/binding-resolution.d.ts +35 -0
- package/dist/ir/converters/expressions/access/binding-resolution.d.ts.map +1 -0
- package/dist/ir/converters/expressions/access/binding-resolution.js +384 -0
- package/dist/ir/converters/expressions/access/binding-resolution.js.map +1 -0
- package/dist/ir/converters/expressions/access/member-resolution.d.ts +67 -0
- package/dist/ir/converters/expressions/access/member-resolution.d.ts.map +1 -0
- package/dist/ir/converters/expressions/access/member-resolution.js +262 -0
- package/dist/ir/converters/expressions/access/member-resolution.js.map +1 -0
- package/dist/ir/converters/expressions/access.d.ts +1 -7
- package/dist/ir/converters/expressions/access.d.ts.map +1 -1
- package/dist/ir/converters/expressions/access.js +1 -720
- package/dist/ir/converters/expressions/access.js.map +1 -1
- package/dist/ir/converters/expressions/calls/call-converter.d.ts +23 -0
- package/dist/ir/converters/expressions/calls/call-converter.d.ts.map +1 -0
- package/dist/ir/converters/expressions/calls/call-converter.js +526 -0
- package/dist/ir/converters/expressions/calls/call-converter.js.map +1 -0
- package/dist/ir/converters/expressions/calls/call-site-analysis.d.ts +53 -0
- package/dist/ir/converters/expressions/calls/call-site-analysis.d.ts.map +1 -0
- package/dist/ir/converters/expressions/calls/call-site-analysis.js +554 -0
- package/dist/ir/converters/expressions/calls/call-site-analysis.js.map +1 -0
- package/dist/ir/converters/expressions/calls/new-converter.d.ts +21 -0
- package/dist/ir/converters/expressions/calls/new-converter.d.ts.map +1 -0
- package/dist/ir/converters/expressions/calls/new-converter.js +182 -0
- package/dist/ir/converters/expressions/calls/new-converter.js.map +1 -0
- package/dist/ir/converters/expressions/calls.d.ts +2 -28
- package/dist/ir/converters/expressions/calls.d.ts.map +1 -1
- package/dist/ir/converters/expressions/calls.js +2 -1344
- package/dist/ir/converters/expressions/calls.js.map +1 -1
- package/dist/ir/converters/expressions/collections.d.ts.map +1 -1
- package/dist/ir/converters/expressions/collections.js +37 -6
- package/dist/ir/converters/expressions/collections.js.map +1 -1
- package/dist/ir/converters/expressions/functions.js +1 -1
- package/dist/ir/converters/expressions/functions.js.map +1 -1
- package/dist/ir/converters/expressions/helpers.d.ts.map +1 -1
- package/dist/ir/converters/expressions/helpers.js +1 -0
- package/dist/ir/converters/expressions/helpers.js.map +1 -1
- package/dist/ir/converters/expressions/other.d.ts.map +1 -1
- package/dist/ir/converters/expressions/other.js +3 -2
- package/dist/ir/converters/expressions/other.js.map +1 -1
- package/dist/ir/converters/flow-narrowing.d.ts.map +1 -1
- package/dist/ir/converters/flow-narrowing.js +3 -2
- package/dist/ir/converters/flow-narrowing.js.map +1 -1
- package/dist/ir/converters/statements/declarations/classes/methods.js +1 -1
- package/dist/ir/converters/statements/declarations/classes/methods.js.map +1 -1
- package/dist/ir/converters/statements/declarations/type-aliases.js +1 -1
- package/dist/ir/converters/statements/declarations/type-aliases.js.map +1 -1
- package/dist/ir/converters/statements/declarations/variables.d.ts +2 -2
- package/dist/ir/converters/statements/declarations/variables.d.ts.map +1 -1
- package/dist/ir/converters/statements/declarations/variables.js +289 -2
- package/dist/ir/converters/statements/declarations/variables.js.map +1 -1
- package/dist/ir/expression-converter.d.ts +0 -1
- package/dist/ir/expression-converter.d.ts.map +1 -1
- package/dist/ir/expression-converter.js +0 -2
- package/dist/ir/expression-converter.js.map +1 -1
- package/dist/ir/generic-function-value-lowering.test.d.ts +2 -0
- package/dist/ir/generic-function-value-lowering.test.d.ts.map +1 -0
- package/dist/ir/generic-function-value-lowering.test.js +312 -0
- package/dist/ir/generic-function-value-lowering.test.js.map +1 -0
- package/dist/ir/generic-validator.d.ts +3 -4
- package/dist/ir/generic-validator.d.ts.map +1 -1
- package/dist/ir/generic-validator.js +3 -35
- package/dist/ir/generic-validator.js.map +1 -1
- package/dist/ir/program-context.d.ts +7 -0
- package/dist/ir/program-context.d.ts.map +1 -1
- package/dist/ir/program-context.js +1 -0
- package/dist/ir/program-context.js.map +1 -1
- package/dist/ir/statement-converter.d.ts +0 -2
- package/dist/ir/statement-converter.d.ts.map +1 -1
- package/dist/ir/statement-converter.js +0 -3
- package/dist/ir/statement-converter.js.map +1 -1
- package/dist/ir/type-system/internal/handle-types.d.ts +16 -16
- package/dist/ir/type-system/internal/handle-types.d.ts.map +1 -1
- package/dist/ir/type-system/internal/nominal-env.d.ts +0 -2
- package/dist/ir/type-system/internal/nominal-env.d.ts.map +1 -1
- package/dist/ir/type-system/internal/nominal-env.js +2 -6
- package/dist/ir/type-system/internal/nominal-env.js.map +1 -1
- package/dist/ir/type-system/internal/type-converter/converter.d.ts +3 -1
- package/dist/ir/type-system/internal/type-converter/converter.d.ts.map +1 -1
- package/dist/ir/type-system/internal/type-converter/converter.js +3 -1
- package/dist/ir/type-system/internal/type-converter/converter.js.map +1 -1
- package/dist/ir/type-system/internal/type-converter/objects.js +7 -1
- package/dist/ir/type-system/internal/type-converter/objects.js.map +1 -1
- package/dist/ir/type-system/internal/type-converter/orchestrator.d.ts +0 -2
- package/dist/ir/type-system/internal/type-converter/orchestrator.d.ts.map +1 -1
- package/dist/ir/type-system/internal/type-converter/orchestrator.js +315 -23
- package/dist/ir/type-system/internal/type-converter/orchestrator.js.map +1 -1
- package/dist/ir/type-system/internal/type-converter/orchestrator.test.d.ts +2 -0
- package/dist/ir/type-system/internal/type-converter/orchestrator.test.d.ts.map +1 -0
- package/dist/ir/type-system/internal/type-converter/orchestrator.test.js +265 -0
- package/dist/ir/type-system/internal/type-converter/orchestrator.test.js.map +1 -0
- package/dist/ir/type-system/internal/type-converter/primitives.d.ts.map +1 -1
- package/dist/ir/type-system/internal/type-converter/primitives.js +5 -0
- package/dist/ir/type-system/internal/type-converter/primitives.js.map +1 -1
- package/dist/ir/type-system/internal/type-converter/references.d.ts.map +1 -1
- package/dist/ir/type-system/internal/type-converter/references.js +67 -29
- package/dist/ir/type-system/internal/type-converter/references.js.map +1 -1
- package/dist/ir/type-system/internal/type-converter/utility-types.d.ts.map +1 -1
- package/dist/ir/type-system/internal/type-converter/utility-types.js +145 -0
- package/dist/ir/type-system/internal/type-converter/utility-types.js.map +1 -1
- package/dist/ir/type-system/internal/type-converter/utility-types.test.js +91 -1
- package/dist/ir/type-system/internal/type-converter/utility-types.test.js.map +1 -1
- package/dist/ir/type-system/internal/type-registry.d.ts +1 -1
- package/dist/ir/type-system/internal/type-registry.js +7 -7
- package/dist/ir/type-system/internal/type-registry.js.map +1 -1
- package/dist/ir/type-system/internal/universe/alias-table.d.ts +0 -14
- package/dist/ir/type-system/internal/universe/alias-table.d.ts.map +1 -1
- package/dist/ir/type-system/internal/universe/alias-table.js +0 -17
- package/dist/ir/type-system/internal/universe/alias-table.js.map +1 -1
- package/dist/ir/type-system/internal/universe/clr-catalog.d.ts +3 -0
- package/dist/ir/type-system/internal/universe/clr-catalog.d.ts.map +1 -1
- package/dist/ir/type-system/internal/universe/clr-catalog.js +4 -1044
- package/dist/ir/type-system/internal/universe/clr-catalog.js.map +1 -1
- package/dist/ir/type-system/internal/universe/clr-entry-converter.d.ts +51 -0
- package/dist/ir/type-system/internal/universe/clr-entry-converter.d.ts.map +1 -0
- package/dist/ir/type-system/internal/universe/clr-entry-converter.js +657 -0
- package/dist/ir/type-system/internal/universe/clr-entry-converter.js.map +1 -0
- package/dist/ir/type-system/internal/universe/clr-type-parser.d.ts +52 -0
- package/dist/ir/type-system/internal/universe/clr-type-parser.d.ts.map +1 -0
- package/dist/ir/type-system/internal/universe/clr-type-parser.js +415 -0
- package/dist/ir/type-system/internal/universe/clr-type-parser.js.map +1 -0
- package/dist/ir/type-system/internal/universe/index.d.ts +1 -1
- package/dist/ir/type-system/internal/universe/index.d.ts.map +1 -1
- package/dist/ir/type-system/internal/universe/index.js +1 -3
- package/dist/ir/type-system/internal/universe/index.js.map +1 -1
- package/dist/ir/type-system/internal/universe/unified-universe.test.js +2 -0
- package/dist/ir/type-system/internal/universe/unified-universe.test.js.map +1 -1
- package/dist/ir/type-system/type-system-call-resolution.d.ts +69 -0
- package/dist/ir/type-system/type-system-call-resolution.d.ts.map +1 -0
- package/dist/ir/type-system/type-system-call-resolution.js +1121 -0
- package/dist/ir/type-system/type-system-call-resolution.js.map +1 -0
- package/dist/ir/type-system/type-system-inference.d.ts +98 -0
- package/dist/ir/type-system/type-system-inference.d.ts.map +1 -0
- package/dist/ir/type-system/type-system-inference.js +1083 -0
- package/dist/ir/type-system/type-system-inference.js.map +1 -0
- package/dist/ir/type-system/type-system-relations.d.ts +15 -0
- package/dist/ir/type-system/type-system-relations.d.ts.map +1 -0
- package/dist/ir/type-system/type-system-relations.js +152 -0
- package/dist/ir/type-system/type-system-relations.js.map +1 -0
- package/dist/ir/type-system/type-system-state.d.ts +436 -0
- package/dist/ir/type-system/type-system-state.d.ts.map +1 -0
- package/dist/ir/type-system/type-system-state.js +212 -0
- package/dist/ir/type-system/type-system-state.js.map +1 -0
- package/dist/ir/type-system/type-system-utilities.d.ts +56 -0
- package/dist/ir/type-system/type-system-utilities.d.ts.map +1 -0
- package/dist/ir/type-system/type-system-utilities.js +373 -0
- package/dist/ir/type-system/type-system-utilities.js.map +1 -0
- package/dist/ir/type-system/type-system.d.ts +17 -358
- package/dist/ir/type-system/type-system.d.ts.map +1 -1
- package/dist/ir/type-system/type-system.js +67 -2945
- package/dist/ir/type-system/type-system.js.map +1 -1
- package/dist/ir/types/index.d.ts +1 -0
- 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.js +1 -1
- package/dist/ir/types/ir-substitution.js.map +1 -1
- package/dist/ir/types/statements.d.ts +1 -1
- package/dist/ir/types/type-ops.d.ts +9 -0
- package/dist/ir/types/type-ops.d.ts.map +1 -0
- package/dist/ir/types/type-ops.js +134 -0
- package/dist/ir/types/type-ops.js.map +1 -0
- package/dist/ir/types/type-ops.test.d.ts +2 -0
- package/dist/ir/types/type-ops.test.d.ts.map +1 -0
- package/dist/ir/types/type-ops.test.js +73 -0
- package/dist/ir/types/type-ops.test.js.map +1 -0
- package/dist/ir/validation/attribute-collection/arg-extractor.d.ts +58 -0
- package/dist/ir/validation/attribute-collection/arg-extractor.d.ts.map +1 -0
- package/dist/ir/validation/attribute-collection/arg-extractor.js +284 -0
- package/dist/ir/validation/attribute-collection/arg-extractor.js.map +1 -0
- package/dist/ir/validation/attribute-collection/marker-parser.d.ts +28 -0
- package/dist/ir/validation/attribute-collection/marker-parser.d.ts.map +1 -0
- package/dist/ir/validation/attribute-collection/marker-parser.js +404 -0
- package/dist/ir/validation/attribute-collection/marker-parser.js.map +1 -0
- package/dist/ir/validation/attribute-collection/orchestrator.d.ts +28 -0
- package/dist/ir/validation/attribute-collection/orchestrator.d.ts.map +1 -0
- package/dist/ir/validation/attribute-collection/orchestrator.js +332 -0
- package/dist/ir/validation/attribute-collection/orchestrator.js.map +1 -0
- package/dist/ir/validation/attribute-collection-pass.d.ts +1 -23
- package/dist/ir/validation/attribute-collection-pass.d.ts.map +1 -1
- package/dist/ir/validation/attribute-collection-pass.js +1 -961
- package/dist/ir/validation/attribute-collection-pass.js.map +1 -1
- package/dist/ir/validation/attribute-collection-pass.test.js +12 -6
- package/dist/ir/validation/attribute-collection-pass.test.js.map +1 -1
- package/dist/ir/validation/soundness-gate.d.ts.map +1 -1
- package/dist/ir/validation/soundness-gate.js +2 -1
- package/dist/ir/validation/soundness-gate.js.map +1 -1
- package/dist/ir/validation/soundness-gate.test.js +69 -0
- package/dist/ir/validation/soundness-gate.test.js.map +1 -1
- package/dist/ir/validation/yield-lowering-pass.d.ts +11 -5
- package/dist/ir/validation/yield-lowering-pass.d.ts.map +1 -1
- package/dist/ir/validation/yield-lowering-pass.js +942 -48
- package/dist/ir/validation/yield-lowering-pass.js.map +1 -1
- package/dist/ir/validation/yield-lowering-pass.test.js +1333 -127
- package/dist/ir/validation/yield-lowering-pass.test.js.map +1 -1
- package/dist/program/binding-loader.d.ts +37 -0
- package/dist/program/binding-loader.d.ts.map +1 -0
- package/dist/program/binding-loader.js +155 -0
- package/dist/program/binding-loader.js.map +1 -0
- package/dist/program/binding-registry.d.ts +106 -0
- package/dist/program/binding-registry.d.ts.map +1 -0
- package/dist/program/binding-registry.js +590 -0
- package/dist/program/binding-registry.js.map +1 -0
- package/dist/program/binding-types.d.ts +166 -0
- package/dist/program/binding-types.d.ts.map +1 -0
- package/dist/program/binding-types.js +57 -0
- package/dist/program/binding-types.js.map +1 -0
- package/dist/program/bindings.d.ts +6 -271
- package/dist/program/bindings.d.ts.map +1 -1
- package/dist/program/bindings.js +7 -781
- package/dist/program/bindings.js.map +1 -1
- package/dist/resolver/clr-bindings-resolver.d.ts +0 -1
- package/dist/resolver/clr-bindings-resolver.d.ts.map +1 -1
- package/dist/resolver/clr-bindings-resolver.js +22 -32
- package/dist/resolver/clr-bindings-resolver.js.map +1 -1
- package/dist/resolver/clr-bindings-resolver.test.js +0 -27
- package/dist/resolver/clr-bindings-resolver.test.js.map +1 -1
- package/dist/resolver/import-resolution.d.ts +1 -1
- package/dist/resolver/import-resolution.d.ts.map +1 -1
- package/dist/resolver/import-resolution.js +2 -7
- package/dist/resolver/import-resolution.js.map +1 -1
- package/dist/resolver/naming.d.ts.map +1 -1
- package/dist/resolver/naming.js +1 -0
- package/dist/resolver/naming.js.map +1 -1
- package/dist/types/diagnostic.d.ts +1 -1
- package/dist/types/diagnostic.d.ts.map +1 -1
- package/dist/types/diagnostic.js.map +1 -1
- package/dist/validation/features.d.ts.map +1 -1
- package/dist/validation/features.js +38 -13
- package/dist/validation/features.js.map +1 -1
- package/dist/validation/features.test.d.ts +2 -0
- package/dist/validation/features.test.d.ts.map +1 -0
- package/dist/validation/features.test.js +273 -0
- package/dist/validation/features.test.js.map +1 -0
- package/dist/validation/generics.d.ts +1 -1
- package/dist/validation/generics.d.ts.map +1 -1
- package/dist/validation/generics.js +2 -26
- package/dist/validation/generics.js.map +1 -1
- package/dist/validation/imports.d.ts.map +1 -1
- package/dist/validation/imports.js +2 -1
- package/dist/validation/imports.js.map +1 -1
- package/dist/validation/imports.test.d.ts +2 -0
- package/dist/validation/imports.test.d.ts.map +1 -0
- package/dist/validation/imports.test.js +112 -0
- package/dist/validation/imports.test.js.map +1 -0
- package/dist/validation/static-safety.d.ts +6 -6
- package/dist/validation/static-safety.d.ts.map +1 -1
- package/dist/validation/static-safety.js +163 -109
- package/dist/validation/static-safety.js.map +1 -1
- package/dist/validation/unsupported-utility-types.d.ts +3 -3
- package/dist/validation/unsupported-utility-types.d.ts.map +1 -1
- package/dist/validation/unsupported-utility-types.js +4 -7
- package/dist/validation/unsupported-utility-types.js.map +1 -1
- package/dist/validator.maximus.test.d.ts +2 -0
- package/dist/validator.maximus.test.d.ts.map +1 -0
- package/dist/validator.maximus.test.js +1214 -0
- package/dist/validator.maximus.test.js.map +1 -0
- package/dist/validator.test.js +152 -18
- package/dist/validator.test.js.map +1 -1
- package/package.json +1 -1
- package/dist/ir/converters/statements/declarations/registry.d.ts +0 -96
- package/dist/ir/converters/statements/declarations/registry.d.ts.map +0 -1
- package/dist/ir/converters/statements/declarations/registry.js +0 -130
- package/dist/ir/converters/statements/declarations/registry.js.map +0 -1
- package/dist/ir/this-parameter-inference.test.d.ts +0 -13
- package/dist/ir/this-parameter-inference.test.d.ts.map +0 -1
- package/dist/ir/this-parameter-inference.test.js +0 -165
- package/dist/ir/this-parameter-inference.test.js.map +0 -1
- package/dist/metadata/bindings-loader.d.ts +0 -41
- package/dist/metadata/bindings-loader.d.ts.map +0 -1
- package/dist/metadata/bindings-loader.js +0 -308
- package/dist/metadata/bindings-loader.js.map +0 -1
- package/dist/metadata/bindings-loader.test.d.ts +0 -5
- package/dist/metadata/bindings-loader.test.d.ts.map +0 -1
- package/dist/metadata/bindings-loader.test.js +0 -117
- package/dist/metadata/bindings-loader.test.js.map +0 -1
- package/dist/metadata/index.d.ts +0 -8
- package/dist/metadata/index.d.ts.map +0 -1
- package/dist/metadata/index.js +0 -7
- package/dist/metadata/index.js.map +0 -1
- package/dist/metadata/library-loader.d.ts +0 -42
- package/dist/metadata/library-loader.d.ts.map +0 -1
- package/dist/metadata/library-loader.js +0 -126
- package/dist/metadata/library-loader.js.map +0 -1
- package/dist/metadata/loader.d.ts +0 -26
- package/dist/metadata/loader.d.ts.map +0 -1
- package/dist/metadata/loader.js +0 -333
- package/dist/metadata/loader.js.map +0 -1
- package/dist/metadata/loader.test.d.ts +0 -5
- package/dist/metadata/loader.test.d.ts.map +0 -1
- package/dist/metadata/loader.test.js +0 -119
- package/dist/metadata/loader.test.js.map +0 -1
- package/dist/resolver/naming-policy.d.ts +0 -20
- package/dist/resolver/naming-policy.d.ts.map +0 -1
- package/dist/resolver/naming-policy.js +0 -40
- package/dist/resolver/naming-policy.js.map +0 -1
- package/dist/types/bindings.d.ts +0 -153
- package/dist/types/bindings.d.ts.map +0 -1
- package/dist/types/bindings.js +0 -14
- package/dist/types/bindings.js.map +0 -1
- package/dist/types/metadata.d.ts +0 -196
- package/dist/types/metadata.d.ts.map +0 -1
- package/dist/types/metadata.js +0 -10
- package/dist/types/metadata.js.map +0 -1
- package/dist/types/nested-types.d.ts +0 -111
- package/dist/types/nested-types.d.ts.map +0 -1
- package/dist/types/nested-types.js +0 -176
- package/dist/types/nested-types.js.map +0 -1
- package/dist/types/nested-types.test.d.ts +0 -5
- package/dist/types/nested-types.test.d.ts.map +0 -1
- package/dist/types/nested-types.test.js +0 -135
- package/dist/types/nested-types.test.js.map +0 -1
- package/dist/types/ref-parameters.d.ts +0 -123
- package/dist/types/ref-parameters.d.ts.map +0 -1
- package/dist/types/ref-parameters.js +0 -203
- package/dist/types/ref-parameters.js.map +0 -1
- package/dist/types/ref-parameters.test.d.ts +0 -5
- package/dist/types/ref-parameters.test.d.ts.map +0 -1
- package/dist/types/ref-parameters.test.js +0 -147
- package/dist/types/ref-parameters.test.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clr-entry-converter.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/universe/clr-entry-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLR Type String Parsing
|
|
3
|
+
*
|
|
4
|
+
* Pure functions for parsing CLR type strings (from normalized signatures
|
|
5
|
+
* and bindings.json) into IrType nodes.
|
|
6
|
+
*
|
|
7
|
+
* Also includes helpers for converting tsbindgen .d.ts TypeNode AST nodes
|
|
8
|
+
* to IrType and computing signature keys for deterministic overload matching.
|
|
9
|
+
*/
|
|
10
|
+
import * as ts from "typescript";
|
|
11
|
+
import type { IrType } from "../../../types/index.js";
|
|
12
|
+
import type { TypeId } from "./types.js";
|
|
13
|
+
/**
|
|
14
|
+
* Parse a CLR type string from normalized signature into IrType.
|
|
15
|
+
*
|
|
16
|
+
* Examples:
|
|
17
|
+
* - "System.String" → { kind: "primitiveType", name: "string" }
|
|
18
|
+
* - "System.Int32" → { kind: "primitiveType", name: "int" }
|
|
19
|
+
* - "System.Double" → { kind: "primitiveType", name: "number" }
|
|
20
|
+
* - "System.Boolean" → { kind: "primitiveType", name: "boolean" }
|
|
21
|
+
* - "System.Char" → { kind: "primitiveType", name: "char" }
|
|
22
|
+
* - "System.Void" → { kind: "voidType" }
|
|
23
|
+
* - "System.Object" → { kind: "referenceType", name: "object" }
|
|
24
|
+
* - "T" → { kind: "typeParameterType", name: "T" }
|
|
25
|
+
* - "System.Collections.Generic.List`1[[T]]" → array type or reference
|
|
26
|
+
* - "T[]" → { kind: "arrayType", elementType: ... }
|
|
27
|
+
*/
|
|
28
|
+
export declare const parseClrTypeString: (clrType: string) => IrType;
|
|
29
|
+
/**
|
|
30
|
+
* Split type arguments handling nested brackets.
|
|
31
|
+
*/
|
|
32
|
+
export declare const splitTypeArguments: (str: string) => string[];
|
|
33
|
+
export declare const INSTANCE_SUFFIX = "$instance";
|
|
34
|
+
export declare const VIEWS_PREFIX = "__";
|
|
35
|
+
export declare const VIEWS_SUFFIX = "$views";
|
|
36
|
+
export declare const stripTsBindgenInstanceSuffix: (name: string) => string;
|
|
37
|
+
export declare const stripTsBindgenViewsWrapper: (name: string) => string | undefined;
|
|
38
|
+
export declare const getRightmostQualifiedNameText: (name: ts.EntityName) => string;
|
|
39
|
+
export declare const getRightmostPropertyAccessText: (expr: ts.Expression) => string | undefined;
|
|
40
|
+
export declare const dtsTypeNodeToIrType: (node: ts.TypeNode, inScopeTypeParams: ReadonlySet<string>, tsNameToTypeId: ReadonlyMap<string, TypeId>) => IrType;
|
|
41
|
+
export declare const irTypeToSignatureKey: (type: IrType) => string;
|
|
42
|
+
export declare const makeMethodSignatureKey: (args: {
|
|
43
|
+
readonly isStatic: boolean;
|
|
44
|
+
readonly name: string;
|
|
45
|
+
readonly typeParamCount: number;
|
|
46
|
+
readonly parameters: readonly {
|
|
47
|
+
readonly type: IrType;
|
|
48
|
+
readonly isRest: boolean;
|
|
49
|
+
}[];
|
|
50
|
+
readonly returnType: IrType;
|
|
51
|
+
}) => string;
|
|
52
|
+
//# sourceMappingURL=clr-type-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clr-type-parser.d.ts","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/universe/clr-type-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAMzC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,KAAG,MA4KpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,MAAM,EAyBtD,CAAC;AAMF,eAAO,MAAM,eAAe,cAAc,CAAC;AAC3C,eAAO,MAAM,YAAY,OAAO,CAAC;AACjC,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,eAAO,MAAM,4BAA4B,GAAI,MAAM,MAAM,KAAG,MAI3D,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,MAAM,MAAM,KACX,MAAM,GAAG,SAIX,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,MAAM,EAAE,CAAC,UAAU,KAAG,MAGnE,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACzC,MAAM,EAAE,CAAC,UAAU,KAClB,MAAM,GAAG,SAQX,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,EAAE,CAAC,QAAQ,EACjB,mBAAmB,WAAW,CAAC,MAAM,CAAC,EACtC,gBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAC1C,MA4GF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,MAiFnD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,MAAM;IAC3C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,SAAS;QAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;KAC1B,EAAE,CAAC;IACJ,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,KAAG,MAOH,CAAC"}
|
|
@@ -0,0 +1,415 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLR Type String Parsing
|
|
3
|
+
*
|
|
4
|
+
* Pure functions for parsing CLR type strings (from normalized signatures
|
|
5
|
+
* and bindings.json) into IrType nodes.
|
|
6
|
+
*
|
|
7
|
+
* Also includes helpers for converting tsbindgen .d.ts TypeNode AST nodes
|
|
8
|
+
* to IrType and computing signature keys for deterministic overload matching.
|
|
9
|
+
*/
|
|
10
|
+
import * as ts from "typescript";
|
|
11
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
12
|
+
// CLR TYPE STRING PARSING
|
|
13
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
14
|
+
/**
|
|
15
|
+
* Parse a CLR type string from normalized signature into IrType.
|
|
16
|
+
*
|
|
17
|
+
* Examples:
|
|
18
|
+
* - "System.String" → { kind: "primitiveType", name: "string" }
|
|
19
|
+
* - "System.Int32" → { kind: "primitiveType", name: "int" }
|
|
20
|
+
* - "System.Double" → { kind: "primitiveType", name: "number" }
|
|
21
|
+
* - "System.Boolean" → { kind: "primitiveType", name: "boolean" }
|
|
22
|
+
* - "System.Char" → { kind: "primitiveType", name: "char" }
|
|
23
|
+
* - "System.Void" → { kind: "voidType" }
|
|
24
|
+
* - "System.Object" → { kind: "referenceType", name: "object" }
|
|
25
|
+
* - "T" → { kind: "typeParameterType", name: "T" }
|
|
26
|
+
* - "System.Collections.Generic.List`1[[T]]" → array type or reference
|
|
27
|
+
* - "T[]" → { kind: "arrayType", elementType: ... }
|
|
28
|
+
*/
|
|
29
|
+
export const parseClrTypeString = (clrType) => {
|
|
30
|
+
// Handle void
|
|
31
|
+
if (clrType === "System.Void" || clrType === "void") {
|
|
32
|
+
return { kind: "voidType" };
|
|
33
|
+
}
|
|
34
|
+
// Handle primitive mappings
|
|
35
|
+
const primitiveMap = {
|
|
36
|
+
"System.String": { kind: "primitiveType", name: "string" },
|
|
37
|
+
string: { kind: "primitiveType", name: "string" },
|
|
38
|
+
"System.Int32": { kind: "primitiveType", name: "int" },
|
|
39
|
+
int: { kind: "primitiveType", name: "int" },
|
|
40
|
+
// Distinct CLR numeric aliases from @tsonic/core
|
|
41
|
+
"System.SByte": { kind: "referenceType", name: "sbyte" },
|
|
42
|
+
sbyte: { kind: "referenceType", name: "sbyte" },
|
|
43
|
+
"System.Byte": { kind: "referenceType", name: "byte" },
|
|
44
|
+
byte: { kind: "referenceType", name: "byte" },
|
|
45
|
+
"System.Int16": { kind: "referenceType", name: "short" },
|
|
46
|
+
short: { kind: "referenceType", name: "short" },
|
|
47
|
+
"System.UInt16": { kind: "referenceType", name: "ushort" },
|
|
48
|
+
ushort: { kind: "referenceType", name: "ushort" },
|
|
49
|
+
"System.UInt32": { kind: "referenceType", name: "uint" },
|
|
50
|
+
uint: { kind: "referenceType", name: "uint" },
|
|
51
|
+
"System.Int64": { kind: "referenceType", name: "long" },
|
|
52
|
+
long: { kind: "referenceType", name: "long" },
|
|
53
|
+
"System.UInt64": { kind: "referenceType", name: "ulong" },
|
|
54
|
+
ulong: { kind: "referenceType", name: "ulong" },
|
|
55
|
+
"System.IntPtr": { kind: "referenceType", name: "nint" },
|
|
56
|
+
nint: { kind: "referenceType", name: "nint" },
|
|
57
|
+
"System.UIntPtr": { kind: "referenceType", name: "nuint" },
|
|
58
|
+
nuint: { kind: "referenceType", name: "nuint" },
|
|
59
|
+
"System.Int128": { kind: "referenceType", name: "int128" },
|
|
60
|
+
int128: { kind: "referenceType", name: "int128" },
|
|
61
|
+
"System.UInt128": { kind: "referenceType", name: "uint128" },
|
|
62
|
+
uint128: { kind: "referenceType", name: "uint128" },
|
|
63
|
+
"System.Double": { kind: "primitiveType", name: "number" },
|
|
64
|
+
double: { kind: "primitiveType", name: "number" },
|
|
65
|
+
"System.Single": { kind: "referenceType", name: "float" },
|
|
66
|
+
float: { kind: "referenceType", name: "float" },
|
|
67
|
+
"System.Half": { kind: "referenceType", name: "half" },
|
|
68
|
+
half: { kind: "referenceType", name: "half" },
|
|
69
|
+
"System.Decimal": { kind: "referenceType", name: "decimal" },
|
|
70
|
+
decimal: { kind: "referenceType", name: "decimal" },
|
|
71
|
+
"System.Boolean": { kind: "primitiveType", name: "boolean" },
|
|
72
|
+
bool: { kind: "primitiveType", name: "boolean" },
|
|
73
|
+
"System.Char": { kind: "primitiveType", name: "char" },
|
|
74
|
+
char: { kind: "primitiveType", name: "char" },
|
|
75
|
+
// System.Object is the CLR "top" reference type. Treat it as C# `object`,
|
|
76
|
+
// not TypeScript `any` (airplane-grade: no implicit "any" in IR).
|
|
77
|
+
"System.Object": { kind: "referenceType", name: "object" },
|
|
78
|
+
object: { kind: "referenceType", name: "object" },
|
|
79
|
+
};
|
|
80
|
+
const primitive = primitiveMap[clrType];
|
|
81
|
+
if (primitive)
|
|
82
|
+
return primitive;
|
|
83
|
+
// Handle array types: T[] or System.Array`1[[T]]
|
|
84
|
+
if (clrType.endsWith("[]")) {
|
|
85
|
+
const elementType = clrType.slice(0, -2);
|
|
86
|
+
return {
|
|
87
|
+
kind: "arrayType",
|
|
88
|
+
elementType: parseClrTypeString(elementType),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
// Handle pointer types (convert to ref semantics - just use the base type)
|
|
92
|
+
if (clrType.endsWith("*")) {
|
|
93
|
+
return parseClrTypeString(clrType.slice(0, -1));
|
|
94
|
+
}
|
|
95
|
+
// Handle nullable: Nullable<T> or T?
|
|
96
|
+
if (clrType.startsWith("System.Nullable`1")) {
|
|
97
|
+
// Extract inner type
|
|
98
|
+
const innerMatch = clrType.match(/System\.Nullable`1\[\[([^\]]+)\]\]/);
|
|
99
|
+
if (innerMatch && innerMatch[1]) {
|
|
100
|
+
const innerType = parseClrTypeString(innerMatch[1]);
|
|
101
|
+
return {
|
|
102
|
+
kind: "unionType",
|
|
103
|
+
types: [innerType, { kind: "primitiveType", name: "undefined" }],
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
// Handle type parameters (single uppercase letter or common patterns)
|
|
108
|
+
if (/^T\d*$/.test(clrType) || /^T[A-Z][a-zA-Z]*$/.test(clrType)) {
|
|
109
|
+
return { kind: "typeParameterType", name: clrType };
|
|
110
|
+
}
|
|
111
|
+
// Handle tsbindgen-style generic instantiations using underscore arity:
|
|
112
|
+
// KeyValuePair_2[[TKey,TValue]]
|
|
113
|
+
// This format is used in bindings.json for inheritance type arguments.
|
|
114
|
+
const underscoreInstantiationMatch = clrType.match(/^(.+?)_(\d+)\[\[(.+)\]\]$/);
|
|
115
|
+
if (underscoreInstantiationMatch &&
|
|
116
|
+
underscoreInstantiationMatch[1] &&
|
|
117
|
+
underscoreInstantiationMatch[2] &&
|
|
118
|
+
underscoreInstantiationMatch[3]) {
|
|
119
|
+
const baseName = underscoreInstantiationMatch[1];
|
|
120
|
+
const arity = parseInt(underscoreInstantiationMatch[2], 10);
|
|
121
|
+
const typeArgsStr = underscoreInstantiationMatch[3];
|
|
122
|
+
// NOTE: CLR type strings inside normalized signatures often use assembly-qualified
|
|
123
|
+
// type arguments (commas for AssemblyName/Version/Culture/PublicKeyToken).
|
|
124
|
+
// Those commas are not type-argument separators. Only parse `[[...]]` payloads
|
|
125
|
+
// that follow our deterministic tsbindgen encoding for bindings.json heritage
|
|
126
|
+
// (no assembly identity segments).
|
|
127
|
+
//
|
|
128
|
+
// If we mis-parse assembly-qualified args, we break signatureKey matching which
|
|
129
|
+
// hydrates optional/rest flags from tsbindgen .d.ts (airplane-grade determinism).
|
|
130
|
+
const looksAssemblyQualified = /\bVersion=|\bCulture=|\bPublicKeyToken=/.test(typeArgsStr);
|
|
131
|
+
const args = looksAssemblyQualified ? [] : splitTypeArguments(typeArgsStr);
|
|
132
|
+
// Airplane-grade safety: only attach parsed typeArguments when we can prove
|
|
133
|
+
// the arity matches. Otherwise, preserve only the generic *definition* arity
|
|
134
|
+
// and keep the raw CLR string for later resolution.
|
|
135
|
+
const typeArguments = !looksAssemblyQualified && args.length === arity
|
|
136
|
+
? args.map((arg) => parseClrTypeString(arg.trim()))
|
|
137
|
+
: undefined;
|
|
138
|
+
return {
|
|
139
|
+
kind: "referenceType",
|
|
140
|
+
name: `${baseName}_${arity}`,
|
|
141
|
+
typeArguments,
|
|
142
|
+
resolvedClrType: clrType,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
// Handle generic types: Name`N[[TypeArgs]]
|
|
146
|
+
const genericMatch = clrType.match(/^(.+)`(\d+)(?:\[\[(.+)\]\])?$/);
|
|
147
|
+
if (genericMatch && genericMatch[1] && genericMatch[2]) {
|
|
148
|
+
const baseName = genericMatch[1];
|
|
149
|
+
const arity = parseInt(genericMatch[2], 10);
|
|
150
|
+
const typeArgsStr = genericMatch[3]; // May be undefined
|
|
151
|
+
// Extract type arguments if present
|
|
152
|
+
const typeArguments = [];
|
|
153
|
+
if (typeArgsStr) {
|
|
154
|
+
// Parse comma-separated type args (this is simplified, may need proper parsing)
|
|
155
|
+
const args = splitTypeArguments(typeArgsStr);
|
|
156
|
+
for (const arg of args) {
|
|
157
|
+
typeArguments.push(parseClrTypeString(arg.trim()));
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
// Generate placeholder type parameters
|
|
162
|
+
for (let i = 0; i < arity; i++) {
|
|
163
|
+
typeArguments.push({
|
|
164
|
+
kind: "typeParameterType",
|
|
165
|
+
name: i === 0 ? "T" : `T${i + 1}`,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return {
|
|
170
|
+
kind: "referenceType",
|
|
171
|
+
name: baseName,
|
|
172
|
+
typeArguments: typeArguments.length > 0 ? typeArguments : undefined,
|
|
173
|
+
resolvedClrType: clrType,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
// Default: treat as reference type
|
|
177
|
+
return {
|
|
178
|
+
kind: "referenceType",
|
|
179
|
+
name: clrType,
|
|
180
|
+
resolvedClrType: clrType,
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
/**
|
|
184
|
+
* Split type arguments handling nested brackets.
|
|
185
|
+
*/
|
|
186
|
+
export const splitTypeArguments = (str) => {
|
|
187
|
+
const result = [];
|
|
188
|
+
let depth = 0;
|
|
189
|
+
let current = "";
|
|
190
|
+
for (const char of str) {
|
|
191
|
+
if (char === "[") {
|
|
192
|
+
depth++;
|
|
193
|
+
current += char;
|
|
194
|
+
}
|
|
195
|
+
else if (char === "]") {
|
|
196
|
+
depth--;
|
|
197
|
+
current += char;
|
|
198
|
+
}
|
|
199
|
+
else if (char === "," && depth === 0) {
|
|
200
|
+
result.push(current.trim());
|
|
201
|
+
current = "";
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
current += char;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
if (current.trim()) {
|
|
208
|
+
result.push(current.trim());
|
|
209
|
+
}
|
|
210
|
+
return result;
|
|
211
|
+
};
|
|
212
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
213
|
+
// TSBINDGEN .D.TS TYPE NODE CONVERSION
|
|
214
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
215
|
+
export const INSTANCE_SUFFIX = "$instance";
|
|
216
|
+
export const VIEWS_PREFIX = "__";
|
|
217
|
+
export const VIEWS_SUFFIX = "$views";
|
|
218
|
+
export const stripTsBindgenInstanceSuffix = (name) => {
|
|
219
|
+
return name.endsWith(INSTANCE_SUFFIX)
|
|
220
|
+
? name.slice(0, -INSTANCE_SUFFIX.length)
|
|
221
|
+
: name;
|
|
222
|
+
};
|
|
223
|
+
export const stripTsBindgenViewsWrapper = (name) => {
|
|
224
|
+
if (!name.startsWith(VIEWS_PREFIX))
|
|
225
|
+
return undefined;
|
|
226
|
+
if (!name.endsWith(VIEWS_SUFFIX))
|
|
227
|
+
return undefined;
|
|
228
|
+
return name.slice(VIEWS_PREFIX.length, -VIEWS_SUFFIX.length);
|
|
229
|
+
};
|
|
230
|
+
export const getRightmostQualifiedNameText = (name) => {
|
|
231
|
+
if (ts.isIdentifier(name))
|
|
232
|
+
return name.text;
|
|
233
|
+
return getRightmostQualifiedNameText(name.right);
|
|
234
|
+
};
|
|
235
|
+
export const getRightmostPropertyAccessText = (expr) => {
|
|
236
|
+
if (ts.isIdentifier(expr))
|
|
237
|
+
return expr.text;
|
|
238
|
+
if (ts.isPropertyAccessExpression(expr))
|
|
239
|
+
return expr.name.text;
|
|
240
|
+
if (ts.isCallExpression(expr))
|
|
241
|
+
return getRightmostPropertyAccessText(expr.expression);
|
|
242
|
+
if (ts.isParenthesizedExpression(expr))
|
|
243
|
+
return getRightmostPropertyAccessText(expr.expression);
|
|
244
|
+
return undefined;
|
|
245
|
+
};
|
|
246
|
+
export const dtsTypeNodeToIrType = (node, inScopeTypeParams, tsNameToTypeId) => {
|
|
247
|
+
// Parenthesized type
|
|
248
|
+
if (ts.isParenthesizedTypeNode(node)) {
|
|
249
|
+
return dtsTypeNodeToIrType(node.type, inScopeTypeParams, tsNameToTypeId);
|
|
250
|
+
}
|
|
251
|
+
// Type references (including type parameters)
|
|
252
|
+
if (ts.isTypeReferenceNode(node)) {
|
|
253
|
+
const rawName = getRightmostQualifiedNameText(node.typeName);
|
|
254
|
+
const baseName = stripTsBindgenInstanceSuffix(rawName);
|
|
255
|
+
// tsbindgen imports CLR numeric aliases from @tsonic/core as type references.
|
|
256
|
+
// For IR purposes, `int` is a distinct primitive type (not referenceType).
|
|
257
|
+
if (baseName === "int" && !node.typeArguments?.length) {
|
|
258
|
+
return { kind: "primitiveType", name: "int" };
|
|
259
|
+
}
|
|
260
|
+
// Type parameter reference: `T` (no type args) where T is in scope
|
|
261
|
+
if (inScopeTypeParams.has(baseName) && !node.typeArguments?.length) {
|
|
262
|
+
return { kind: "typeParameterType", name: baseName };
|
|
263
|
+
}
|
|
264
|
+
const typeArguments = node.typeArguments?.map((a) => dtsTypeNodeToIrType(a, inScopeTypeParams, tsNameToTypeId));
|
|
265
|
+
const resolvedName = typeArguments && typeArguments.length > 0
|
|
266
|
+
? (() => {
|
|
267
|
+
const arityName = `${baseName}_${typeArguments.length}`;
|
|
268
|
+
return tsNameToTypeId.has(arityName) ? arityName : baseName;
|
|
269
|
+
})()
|
|
270
|
+
: baseName;
|
|
271
|
+
return {
|
|
272
|
+
kind: "referenceType",
|
|
273
|
+
name: resolvedName,
|
|
274
|
+
typeArguments: typeArguments && typeArguments.length > 0 ? typeArguments : undefined,
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
// Array types
|
|
278
|
+
if (ts.isArrayTypeNode(node)) {
|
|
279
|
+
return {
|
|
280
|
+
kind: "arrayType",
|
|
281
|
+
elementType: dtsTypeNodeToIrType(node.elementType, inScopeTypeParams, tsNameToTypeId),
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
// Union / intersection
|
|
285
|
+
if (ts.isUnionTypeNode(node)) {
|
|
286
|
+
return {
|
|
287
|
+
kind: "unionType",
|
|
288
|
+
types: node.types.map((t) => dtsTypeNodeToIrType(t, inScopeTypeParams, tsNameToTypeId)),
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
if (ts.isIntersectionTypeNode(node)) {
|
|
292
|
+
return {
|
|
293
|
+
kind: "intersectionType",
|
|
294
|
+
types: node.types.map((t) => dtsTypeNodeToIrType(t, inScopeTypeParams, tsNameToTypeId)),
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
// Literal types
|
|
298
|
+
if (ts.isLiteralTypeNode(node)) {
|
|
299
|
+
const lit = node.literal;
|
|
300
|
+
if (ts.isStringLiteral(lit))
|
|
301
|
+
return { kind: "literalType", value: lit.text };
|
|
302
|
+
if (ts.isNumericLiteral(lit))
|
|
303
|
+
return { kind: "literalType", value: Number(lit.text) };
|
|
304
|
+
if (lit.kind === ts.SyntaxKind.TrueKeyword)
|
|
305
|
+
return { kind: "literalType", value: true };
|
|
306
|
+
if (lit.kind === ts.SyntaxKind.FalseKeyword)
|
|
307
|
+
return { kind: "literalType", value: false };
|
|
308
|
+
}
|
|
309
|
+
// Keywords
|
|
310
|
+
switch (node.kind) {
|
|
311
|
+
case ts.SyntaxKind.StringKeyword:
|
|
312
|
+
return { kind: "primitiveType", name: "string" };
|
|
313
|
+
case ts.SyntaxKind.NumberKeyword:
|
|
314
|
+
return { kind: "primitiveType", name: "number" };
|
|
315
|
+
case ts.SyntaxKind.BooleanKeyword:
|
|
316
|
+
return { kind: "primitiveType", name: "boolean" };
|
|
317
|
+
case ts.SyntaxKind.VoidKeyword:
|
|
318
|
+
return { kind: "voidType" };
|
|
319
|
+
case ts.SyntaxKind.AnyKeyword:
|
|
320
|
+
return { kind: "anyType" };
|
|
321
|
+
case ts.SyntaxKind.UnknownKeyword:
|
|
322
|
+
return { kind: "unknownType" };
|
|
323
|
+
case ts.SyntaxKind.NeverKeyword:
|
|
324
|
+
return { kind: "neverType" };
|
|
325
|
+
case ts.SyntaxKind.NullKeyword:
|
|
326
|
+
return { kind: "primitiveType", name: "null" };
|
|
327
|
+
case ts.SyntaxKind.UndefinedKeyword:
|
|
328
|
+
return { kind: "primitiveType", name: "undefined" };
|
|
329
|
+
default:
|
|
330
|
+
return { kind: "unknownType" };
|
|
331
|
+
}
|
|
332
|
+
};
|
|
333
|
+
export const irTypeToSignatureKey = (type) => {
|
|
334
|
+
switch (type.kind) {
|
|
335
|
+
case "primitiveType":
|
|
336
|
+
return `p:${type.name}`;
|
|
337
|
+
case "literalType":
|
|
338
|
+
return `lit:${JSON.stringify(type.value)}`;
|
|
339
|
+
case "voidType":
|
|
340
|
+
return "void";
|
|
341
|
+
case "neverType":
|
|
342
|
+
return "never";
|
|
343
|
+
case "unknownType":
|
|
344
|
+
return "unknown";
|
|
345
|
+
case "anyType":
|
|
346
|
+
return "any";
|
|
347
|
+
case "typeParameterType":
|
|
348
|
+
// Canonicalize all type parameters to a stable placeholder so tsbindgen's
|
|
349
|
+
// `TContext` matches metadata's `T0`/`T` deterministically.
|
|
350
|
+
return "T";
|
|
351
|
+
case "arrayType":
|
|
352
|
+
return `${irTypeToSignatureKey(type.elementType)}[]`;
|
|
353
|
+
case "tupleType":
|
|
354
|
+
return `[${type.elementTypes
|
|
355
|
+
.map((t) => (t ? irTypeToSignatureKey(t) : "unknown"))
|
|
356
|
+
.join(",")}]`;
|
|
357
|
+
case "unionType": {
|
|
358
|
+
const parts = type.types
|
|
359
|
+
.map((t) => (t ? irTypeToSignatureKey(t) : "unknown"))
|
|
360
|
+
.sort();
|
|
361
|
+
return `(${parts.join("|")})`;
|
|
362
|
+
}
|
|
363
|
+
case "intersectionType": {
|
|
364
|
+
const parts = type.types
|
|
365
|
+
.map((t) => (t ? irTypeToSignatureKey(t) : "unknown"))
|
|
366
|
+
.sort();
|
|
367
|
+
return `(${parts.join("&")})`;
|
|
368
|
+
}
|
|
369
|
+
case "dictionaryType":
|
|
370
|
+
return `{[${irTypeToSignatureKey(type.keyType)}]:${irTypeToSignatureKey(type.valueType)}}`;
|
|
371
|
+
case "functionType": {
|
|
372
|
+
const params = type.parameters
|
|
373
|
+
.map((p) => (p.type ? irTypeToSignatureKey(p.type) : "unknown"))
|
|
374
|
+
.join(",");
|
|
375
|
+
return `fn(${params})->${irTypeToSignatureKey(type.returnType)}`;
|
|
376
|
+
}
|
|
377
|
+
case "objectType":
|
|
378
|
+
return "object";
|
|
379
|
+
case "referenceType": {
|
|
380
|
+
const raw = type.resolvedClrType ?? type.name;
|
|
381
|
+
const withoutArgs = raw.includes("[[")
|
|
382
|
+
? (raw.split("[[")[0] ?? raw)
|
|
383
|
+
: raw;
|
|
384
|
+
const lastSep = Math.max(withoutArgs.lastIndexOf("."), withoutArgs.lastIndexOf("+"));
|
|
385
|
+
let simple = lastSep >= 0 ? withoutArgs.slice(lastSep + 1) : withoutArgs;
|
|
386
|
+
// Canonicalize CLR backtick arity: `Action`1` -> `Action_1`.
|
|
387
|
+
const backtickMatch = simple.match(/`(\d+)$/);
|
|
388
|
+
if (backtickMatch && backtickMatch[1]) {
|
|
389
|
+
simple = `${simple.slice(0, -backtickMatch[0].length)}_${backtickMatch[1]}`;
|
|
390
|
+
}
|
|
391
|
+
const underscoreMatch = simple.match(/_(\d+)$/);
|
|
392
|
+
const arity = underscoreMatch && underscoreMatch[1]
|
|
393
|
+
? Number(underscoreMatch[1])
|
|
394
|
+
: undefined;
|
|
395
|
+
const argCount = type.typeArguments?.length ?? arity ?? 0;
|
|
396
|
+
// Signature matching is used only to hydrate optional/rest flags from tsbindgen .d.ts
|
|
397
|
+
// into CLR metadata signatures. To keep matching robust across:
|
|
398
|
+
// - CLR names vs TS names
|
|
399
|
+
// - generic instantiation encodings (Action_1[[...]] vs Action_1<T>)
|
|
400
|
+
// we intentionally ignore concrete type argument *identities* and retain only arity.
|
|
401
|
+
if (argCount <= 0)
|
|
402
|
+
return simple;
|
|
403
|
+
return `${simple}<${Array.from({ length: argCount }, () => "*").join(",")}>`;
|
|
404
|
+
}
|
|
405
|
+
default:
|
|
406
|
+
return "unknown";
|
|
407
|
+
}
|
|
408
|
+
};
|
|
409
|
+
export const makeMethodSignatureKey = (args) => {
|
|
410
|
+
const params = args.parameters
|
|
411
|
+
.map((p) => `${p.isRest ? "..." : ""}${irTypeToSignatureKey(p.type)}`)
|
|
412
|
+
.join(",");
|
|
413
|
+
return `${args.isStatic ? "static" : "instance"}|${args.name}|${args.typeParamCount}|(${params})->${irTypeToSignatureKey(args.returnType)}`;
|
|
414
|
+
};
|
|
415
|
+
//# sourceMappingURL=clr-type-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clr-type-parser.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/universe/clr-type-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export { makeTypeId, parseStableId, PRIMITIVE_TO_STABLE_ID, STABLE_ID_TO_PRIMITI
|
|
|
18
18
|
export { loadClrCatalog, loadSinglePackageBindings, getTypeByStableId, getTypeByTsName, getTypeByClrName, getMemberByTsName, } from "./clr-catalog.js";
|
|
19
19
|
export { buildUnifiedUniverse, normalizePrimitiveToTypeId, getTypeId, lookupMemberWithInheritance, getMemberDeclaredType, } from "./unified-universe.js";
|
|
20
20
|
export type { AliasTable } from "./alias-table.js";
|
|
21
|
-
export { buildAliasTable, resolveAlias, isKnownAlias, isStdlibTypeName, getPrimitiveNames, getGlobalNames, normalizeToClrName, getInstanceInterfaceName,
|
|
21
|
+
export { buildAliasTable, resolveAlias, isKnownAlias, isStdlibTypeName, getPrimitiveNames, getGlobalNames, normalizeToClrName, getInstanceInterfaceName, } from "./alias-table.js";
|
|
22
22
|
export type { ResolutionResult, ResolutionWithCollector, BatchResolutionResult, StdlibValidationResult, } from "./resolution.js";
|
|
23
23
|
export { resolveTypeName, tryResolveTypeName, resolveTypeNamePure, resolveTypeNames, validateStdlibTypes, } from "./resolution.js";
|
|
24
24
|
export type { SourceCatalogConfig, SourceCatalogResult, } from "./source-catalog.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/universe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,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,EAClB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAMpB,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,SAAS,EACT,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAM/B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EACL,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/universe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,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,EAClB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAMpB,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,SAAS,EACT,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAM/B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EACL,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAM1B,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAMzB,YAAY,EACV,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -22,9 +22,7 @@ export { loadClrCatalog, loadSinglePackageBindings, getTypeByStableId, getTypeBy
|
|
|
22
22
|
// UNIFIED UNIVERSE
|
|
23
23
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
24
24
|
export { buildUnifiedUniverse, normalizePrimitiveToTypeId, getTypeId, lookupMemberWithInheritance, getMemberDeclaredType, } from "./unified-universe.js";
|
|
25
|
-
export { buildAliasTable, resolveAlias, isKnownAlias, isStdlibTypeName, getPrimitiveNames, getGlobalNames, normalizeToClrName, getInstanceInterfaceName,
|
|
26
|
-
// Backward compatibility (deprecated - use normalizeToClrName instead)
|
|
27
|
-
PRIMITIVE_TO_CLR_FQ, GLOBALS_TO_CLR_FQ, } from "./alias-table.js";
|
|
25
|
+
export { buildAliasTable, resolveAlias, isKnownAlias, isStdlibTypeName, getPrimitiveNames, getGlobalNames, normalizeToClrName, getInstanceInterfaceName, } from "./alias-table.js";
|
|
28
26
|
export { resolveTypeName, tryResolveTypeName, resolveTypeNamePure, resolveTypeNames, validateStdlibTypes, } from "./resolution.js";
|
|
29
27
|
export { buildSourceCatalog, shouldIncludeFile } from "./source-catalog.js";
|
|
30
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/universe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA8BH,OAAO,EACL,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,SAAS,EACT,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EACL,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,wBAAwB
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/universe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA8BH,OAAO,EACL,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,SAAS,EACT,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EACL,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAa1B,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAWzB,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -44,6 +44,7 @@ describe("buildUnifiedUniverse", () => {
|
|
|
44
44
|
const catalog = buildUnifiedUniverse(makeRegistry(entry), emptyAssemblyCatalog(), "project");
|
|
45
45
|
const fooId = catalog.resolveTsName("Foo");
|
|
46
46
|
expect(fooId).to.not.equal(undefined);
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
47
48
|
const member = catalog.getMember(fooId, "count");
|
|
48
49
|
expect(member?.type?.kind).to.equal("unionType");
|
|
49
50
|
if (member?.type?.kind === "unionType") {
|
|
@@ -76,6 +77,7 @@ describe("buildUnifiedUniverse", () => {
|
|
|
76
77
|
const catalog = buildUnifiedUniverse(makeRegistry(entry), emptyAssemblyCatalog(), "project");
|
|
77
78
|
const fooId = catalog.resolveTsName("Foo");
|
|
78
79
|
expect(fooId).to.not.equal(undefined);
|
|
80
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
79
81
|
const member = catalog.getMember(fooId, "count");
|
|
80
82
|
expect(member?.type?.kind).to.equal("unionType");
|
|
81
83
|
if (member?.type?.kind === "unionType") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-universe.test.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/universe/unified-universe.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unified-universe.test.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/universe/unified-universe.test.ts"],"names":[],"mappings":"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"}
|