@tsonic/frontend 0.0.62 → 0.0.64
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 +39 -1
- 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/binding-resolution.test.js +248 -0
- package/dist/ir/binding-resolution.test.js.map +1 -1
- package/dist/ir/builder/imports.d.ts.map +1 -1
- package/dist/ir/builder/imports.js +8 -1
- package/dist/ir/builder/imports.js.map +1 -1
- package/dist/ir/builder.test.js +360 -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 +447 -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 +12 -0
- package/dist/ir/program-context.d.ts.map +1 -1
- package/dist/ir/program-context.js +2 -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 +322 -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 +481 -0
- package/dist/ir/type-system/internal/universe/clr-type-parser.js.map +1 -0
- package/dist/ir/type-system/internal/universe/clr-type-parser.test.d.ts +2 -0
- package/dist/ir/type-system/internal/universe/clr-type-parser.test.d.ts.map +1 -0
- package/dist/ir/type-system/internal/universe/clr-type-parser.test.js +55 -0
- package/dist/ir/type-system/internal/universe/clr-type-parser.test.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 +1121 -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/anonymous-type-lowering-pass.d.ts.map +1 -1
- package/dist/ir/validation/anonymous-type-lowering-pass.js +34 -0
- package/dist/ir/validation/anonymous-type-lowering-pass.js.map +1 -1
- package/dist/ir/validation/anonymous-type-lowering-regressions.test.d.ts +2 -0
- package/dist/ir/validation/anonymous-type-lowering-regressions.test.d.ts.map +1 -0
- package/dist/ir/validation/anonymous-type-lowering-regressions.test.js +121 -0
- package/dist/ir/validation/anonymous-type-lowering-regressions.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/numeric-invariants.test.js +29 -0
- 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 +21 -0
- package/dist/ir/validation/numeric-proof-pass.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/program/creation.d.ts.map +1 -1
- package/dist/program/creation.js +104 -13
- package/dist/program/creation.js.map +1 -1
- package/dist/program/creation.test.js +133 -1
- package/dist/program/creation.test.js.map +1 -1
- package/dist/program/diagnostics.d.ts +1 -1
- package/dist/program/diagnostics.d.ts.map +1 -1
- package/dist/program/diagnostics.js +47 -2
- package/dist/program/diagnostics.js.map +1 -1
- package/dist/program/diagnostics.test.d.ts +2 -0
- package/dist/program/diagnostics.test.d.ts.map +1 -0
- package/dist/program/diagnostics.test.js +58 -0
- package/dist/program/diagnostics.test.js.map +1 -0
- package/dist/program/types.d.ts +2 -0
- package/dist/program/types.d.ts.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 +3 -1
- package/dist/resolver/import-resolution.d.ts.map +1 -1
- package/dist/resolver/import-resolution.js +14 -11
- 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/resolver/node-module-aliases.d.ts +6 -0
- package/dist/resolver/node-module-aliases.d.ts.map +1 -0
- package/dist/resolver/node-module-aliases.js +164 -0
- package/dist/resolver/node-module-aliases.js.map +1 -0
- package/dist/resolver/node-module-aliases.test.d.ts +2 -0
- package/dist/resolver/node-module-aliases.test.d.ts.map +1 -0
- package/dist/resolver/node-module-aliases.test.js +64 -0
- package/dist/resolver/node-module-aliases.test.js.map +1 -0
- package/dist/resolver.test.js +103 -0
- package/dist/resolver.test.js.map +1 -1
- package/dist/surface/js-surface-shims.d.ts +3 -0
- package/dist/surface/js-surface-shims.d.ts.map +1 -0
- package/dist/surface/js-surface-shims.js +332 -0
- package/dist/surface/js-surface-shims.js.map +1 -0
- package/dist/surface/js-surface-shims.test.d.ts +2 -0
- package/dist/surface/js-surface-shims.test.d.ts.map +1 -0
- package/dist/surface/js-surface-shims.test.js +53 -0
- package/dist/surface/js-surface-shims.test.js.map +1 -0
- package/dist/surface/profiles.d.ts +10 -0
- package/dist/surface/profiles.d.ts.map +1 -0
- package/dist/surface/profiles.js +65 -0
- package/dist/surface/profiles.js.map +1 -0
- package/dist/surface/profiles.test.d.ts +2 -0
- package/dist/surface/profiles.test.d.ts.map +1 -0
- package/dist/surface/profiles.test.js +44 -0
- package/dist/surface/profiles.test.js.map +1 -0
- 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 +29 -5
- 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 +211 -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,262 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Member access property type resolution and name extraction helpers
|
|
3
|
+
*
|
|
4
|
+
* ALICE'S SPEC: All member type queries go through TypeSystem.typeOfMember().
|
|
5
|
+
* Falls back to Binding-resolved MemberId only when the receiver type cannot
|
|
6
|
+
* be normalized nominally (e.g., tsbindgen `$instance & __views` intersections).
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Fallback for getDeclaredPropertyType when TypeSystem can't resolve the member.
|
|
10
|
+
* Uses TypeSystem.typeOfMemberId() to get member types for:
|
|
11
|
+
* - Built-in types from globals (Array.Length, string.Length, etc.)
|
|
12
|
+
* - CLR-bound types from tsbindgen
|
|
13
|
+
* - Types with inherited members not in TypeRegistry
|
|
14
|
+
*
|
|
15
|
+
* ALICE'S SPEC: Uses TypeSystem as single source of truth.
|
|
16
|
+
*/
|
|
17
|
+
const getDeclaredPropertyTypeFallback = (node, ctx) => {
|
|
18
|
+
// ALICE'S SPEC: Use TypeSystem.typeOfMemberId() to get member type
|
|
19
|
+
const typeSystem = ctx.typeSystem;
|
|
20
|
+
// Resolve property member through Binding layer
|
|
21
|
+
const memberId = ctx.binding.resolvePropertyAccess(node);
|
|
22
|
+
if (!memberId)
|
|
23
|
+
return undefined;
|
|
24
|
+
// Use TypeSystem.typeOfMemberId() to get the member's declared type
|
|
25
|
+
const memberType = typeSystem.typeOfMemberId(memberId);
|
|
26
|
+
// If TypeSystem returns unknownType, treat as not found
|
|
27
|
+
if (memberType.kind === "unknownType") {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
return memberType;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Get the declared property type from a property access expression.
|
|
34
|
+
*
|
|
35
|
+
* ALICE'S SPEC: Uses TypeSystem.typeOfMember() as primary source.
|
|
36
|
+
* Falls back to Binding for inherited members not in TypeRegistry.
|
|
37
|
+
*
|
|
38
|
+
* @param node - Property access expression node
|
|
39
|
+
* @param receiverIrType - Already-computed IR type of the receiver (object) expression
|
|
40
|
+
* @param ctx - ProgramContext for type system and binding access
|
|
41
|
+
* @returns The deterministically computed property type
|
|
42
|
+
*/
|
|
43
|
+
export const getDeclaredPropertyType = (node, receiverIrType, ctx) => {
|
|
44
|
+
const DEBUG = process.env.DEBUG_PROPERTY_TYPE === "1";
|
|
45
|
+
const propertyName = node.name.text;
|
|
46
|
+
if (DEBUG) {
|
|
47
|
+
console.log("[getDeclaredPropertyType]", propertyName, "on receiver:", receiverIrType);
|
|
48
|
+
}
|
|
49
|
+
// Try TypeSystem.typeOfMember() first
|
|
50
|
+
const typeSystem = ctx.typeSystem;
|
|
51
|
+
if (receiverIrType && receiverIrType.kind !== "unknownType") {
|
|
52
|
+
const memberType = typeSystem.typeOfMember(receiverIrType, {
|
|
53
|
+
kind: "byName",
|
|
54
|
+
name: propertyName,
|
|
55
|
+
});
|
|
56
|
+
if (DEBUG) {
|
|
57
|
+
console.log("[getDeclaredPropertyType]", propertyName, "TypeSystem returned:", memberType);
|
|
58
|
+
}
|
|
59
|
+
// If TypeSystem returned a valid type (not unknownType), use it
|
|
60
|
+
if (memberType.kind !== "unknownType") {
|
|
61
|
+
return memberType;
|
|
62
|
+
}
|
|
63
|
+
// Fall through to Binding fallback
|
|
64
|
+
}
|
|
65
|
+
// Fallback: Use Binding for inherited members not in TypeRegistry
|
|
66
|
+
// (e.g., Array.Length from Array$instance)
|
|
67
|
+
const fallbackResult = getDeclaredPropertyTypeFallback(node, ctx);
|
|
68
|
+
if (DEBUG) {
|
|
69
|
+
console.log("[getDeclaredPropertyType]", propertyName, "fallback returned:", fallbackResult);
|
|
70
|
+
}
|
|
71
|
+
return fallbackResult;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Normalize a receiver type for computed access classification.
|
|
75
|
+
*
|
|
76
|
+
* This supports common TS shapes that appear at runtime:
|
|
77
|
+
* - Nullish unions (`T | undefined` / `T | null | undefined`)
|
|
78
|
+
* - tsbindgen-style intersection views (`T$instance & __T$views`, and primitives like
|
|
79
|
+
* `string & String$instance & __String$views`)
|
|
80
|
+
*
|
|
81
|
+
* The goal is to preserve deterministic proof behavior without heuristics.
|
|
82
|
+
*/
|
|
83
|
+
export const normalizeForComputedAccess = (type) => {
|
|
84
|
+
if (!type)
|
|
85
|
+
return undefined;
|
|
86
|
+
if (type.kind === "unionType") {
|
|
87
|
+
const nonNullish = type.types.filter((t) => !(t.kind === "primitiveType" &&
|
|
88
|
+
(t.name === "null" || t.name === "undefined")));
|
|
89
|
+
if (nonNullish.length === 1) {
|
|
90
|
+
const only = nonNullish[0];
|
|
91
|
+
return only ? normalizeForComputedAccess(only) : undefined;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (type.kind === "intersectionType") {
|
|
95
|
+
const pick = type.types.find((t) => t.kind === "arrayType") ??
|
|
96
|
+
type.types.find((t) => t.kind === "dictionaryType") ??
|
|
97
|
+
type.types.find((t) => t.kind === "primitiveType" && t.name === "string") ??
|
|
98
|
+
type.types.find((t) => t.kind === "referenceType");
|
|
99
|
+
return pick ? normalizeForComputedAccess(pick) : type;
|
|
100
|
+
}
|
|
101
|
+
return type;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Classify computed member access for proof pass.
|
|
105
|
+
* This determines whether Int32 proof is required for the index.
|
|
106
|
+
*
|
|
107
|
+
* Classification is based on IR type kinds, NOT string matching.
|
|
108
|
+
* CLR indexers (arrays, List<T>, etc.) require Int32 proof for indices.
|
|
109
|
+
*
|
|
110
|
+
* IMPORTANT: If classification cannot be determined reliably for a CLR-bound
|
|
111
|
+
* reference type, we conservatively assume `clrIndexer` (requires Int32 proof).
|
|
112
|
+
* This is safer than allowing arbitrary dictionary access without proof.
|
|
113
|
+
*
|
|
114
|
+
* @param objectType - The inferred type of the object being accessed
|
|
115
|
+
* @returns The access kind classification
|
|
116
|
+
*/
|
|
117
|
+
export const classifyComputedAccess = (objectType, ctx) => {
|
|
118
|
+
const normalized = normalizeForComputedAccess(objectType);
|
|
119
|
+
if (!normalized)
|
|
120
|
+
return "unknown";
|
|
121
|
+
objectType = normalized;
|
|
122
|
+
// TypeScript array type (number[], T[], etc.)
|
|
123
|
+
// Requires Int32 proof
|
|
124
|
+
if (objectType.kind === "arrayType") {
|
|
125
|
+
return "clrIndexer";
|
|
126
|
+
}
|
|
127
|
+
// IR dictionary type - this is the PRIMARY way to detect dictionaries
|
|
128
|
+
// tsbindgen should emit dictionaryType for Record<K,V> and {[key: K]: V}
|
|
129
|
+
if (objectType.kind === "dictionaryType") {
|
|
130
|
+
return "dictionary";
|
|
131
|
+
}
|
|
132
|
+
// String character access: string[int]
|
|
133
|
+
if (objectType.kind === "primitiveType" && objectType.name === "string") {
|
|
134
|
+
return "stringChar";
|
|
135
|
+
}
|
|
136
|
+
if (objectType.kind === "referenceType") {
|
|
137
|
+
const indexer = ctx.typeSystem.getIndexerInfo(objectType);
|
|
138
|
+
if (!indexer)
|
|
139
|
+
return "clrIndexer";
|
|
140
|
+
return indexer.keyClrType === "System.Int32" ? "clrIndexer" : "dictionary";
|
|
141
|
+
}
|
|
142
|
+
return "unknown";
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Extract the type name from an inferred type for binding lookup.
|
|
146
|
+
* Handles tsbindgen's naming convention where instance types are suffixed with $instance
|
|
147
|
+
* (e.g., List_1$instance → List_1 for binding lookup)
|
|
148
|
+
*
|
|
149
|
+
* Also handles intersection types like `TypeName$instance & __TypeName$views`
|
|
150
|
+
* which are common in tsbindgen-generated types. In this case, we look for
|
|
151
|
+
* the $instance member and extract the type name from it.
|
|
152
|
+
*/
|
|
153
|
+
export const extractTypeName = (inferredType) => {
|
|
154
|
+
if (!inferredType)
|
|
155
|
+
return undefined;
|
|
156
|
+
// Handle common nullish unions like `Uri | undefined` by stripping null/undefined.
|
|
157
|
+
// This enables CLR member binding after explicit null checks in source code.
|
|
158
|
+
if (inferredType.kind === "unionType") {
|
|
159
|
+
const nonNullish = inferredType.types.filter((t) => !(t.kind === "primitiveType" &&
|
|
160
|
+
(t.name === "null" || t.name === "undefined")));
|
|
161
|
+
if (nonNullish.length === 1) {
|
|
162
|
+
const only = nonNullish[0];
|
|
163
|
+
return only ? extractTypeName(only) : undefined;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
// Handle primitive types - map to their CLR type names for binding lookup
|
|
167
|
+
// This enables binding resolution for methods like string.Split(), number.ToString()
|
|
168
|
+
if (inferredType.kind === "primitiveType") {
|
|
169
|
+
switch (inferredType.name) {
|
|
170
|
+
case "string":
|
|
171
|
+
return "String"; // System.String
|
|
172
|
+
case "number":
|
|
173
|
+
return "Double"; // System.Double (TS number is double)
|
|
174
|
+
case "boolean":
|
|
175
|
+
return "Boolean"; // System.Boolean
|
|
176
|
+
case "char":
|
|
177
|
+
return "Char"; // System.Char
|
|
178
|
+
default:
|
|
179
|
+
return undefined;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
// Handle literal types - determine the CLR type from the value type
|
|
183
|
+
// This enables binding resolution for string literals like "hello".Split(" ")
|
|
184
|
+
if (inferredType.kind === "literalType") {
|
|
185
|
+
const valueType = typeof inferredType.value;
|
|
186
|
+
switch (valueType) {
|
|
187
|
+
case "string":
|
|
188
|
+
return "String"; // System.String
|
|
189
|
+
case "number":
|
|
190
|
+
return "Double"; // System.Double
|
|
191
|
+
case "boolean":
|
|
192
|
+
return "Boolean"; // System.Boolean
|
|
193
|
+
default:
|
|
194
|
+
return undefined;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
if (inferredType.kind === "referenceType") {
|
|
198
|
+
const name = inferredType.name;
|
|
199
|
+
// Strip $instance suffix from tsbindgen-generated type names
|
|
200
|
+
// e.g., "List_1$instance" → "List_1" for binding lookup
|
|
201
|
+
if (name.endsWith("$instance")) {
|
|
202
|
+
return name.slice(0, -"$instance".length);
|
|
203
|
+
}
|
|
204
|
+
return name;
|
|
205
|
+
}
|
|
206
|
+
// Handle intersection types: TypeName$instance & __TypeName$views
|
|
207
|
+
// This happens when TypeScript expands a type alias to its underlying intersection
|
|
208
|
+
// during property access (e.g., listener.prefixes returns HttpListenerPrefixCollection
|
|
209
|
+
// which is HttpListenerPrefixCollection$instance & __HttpListenerPrefixCollection$views)
|
|
210
|
+
if (inferredType.kind === "intersectionType") {
|
|
211
|
+
// Look for a member that ends with $instance - that's the main type
|
|
212
|
+
for (const member of inferredType.types) {
|
|
213
|
+
if (member.kind === "referenceType" &&
|
|
214
|
+
member.name.endsWith("$instance")) {
|
|
215
|
+
// Found the $instance member, strip the suffix to get the type name
|
|
216
|
+
return member.name.slice(0, -"$instance".length);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
// Fallback: look for any referenceType that's not a $views type
|
|
220
|
+
for (const member of inferredType.types) {
|
|
221
|
+
if (member.kind === "referenceType" &&
|
|
222
|
+
!member.name.startsWith("__") &&
|
|
223
|
+
!member.name.endsWith("$views")) {
|
|
224
|
+
return member.name;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
return undefined;
|
|
229
|
+
};
|
|
230
|
+
/**
|
|
231
|
+
* Derive element type from object type for element access.
|
|
232
|
+
* - Array type → element type
|
|
233
|
+
* - Dictionary type → value type
|
|
234
|
+
* - String → string (single character)
|
|
235
|
+
* - Other → undefined
|
|
236
|
+
*/
|
|
237
|
+
export const deriveElementType = (objectType, ctx) => {
|
|
238
|
+
objectType = normalizeForComputedAccess(objectType);
|
|
239
|
+
if (!objectType)
|
|
240
|
+
return undefined;
|
|
241
|
+
if (objectType.kind === "arrayType") {
|
|
242
|
+
return objectType.elementType;
|
|
243
|
+
}
|
|
244
|
+
if (objectType.kind === "dictionaryType") {
|
|
245
|
+
return objectType.valueType;
|
|
246
|
+
}
|
|
247
|
+
if (objectType.kind === "primitiveType" && objectType.name === "string") {
|
|
248
|
+
// string[n] returns a single character (string in TS, char in C#)
|
|
249
|
+
return { kind: "primitiveType", name: "string" };
|
|
250
|
+
}
|
|
251
|
+
if (objectType.kind === "referenceType" &&
|
|
252
|
+
objectType.name === "Span" &&
|
|
253
|
+
objectType.typeArguments &&
|
|
254
|
+
objectType.typeArguments.length === 1) {
|
|
255
|
+
return objectType.typeArguments[0];
|
|
256
|
+
}
|
|
257
|
+
if (objectType.kind === "referenceType") {
|
|
258
|
+
return ctx.typeSystem.getIndexerInfo(objectType)?.valueType;
|
|
259
|
+
}
|
|
260
|
+
return undefined;
|
|
261
|
+
};
|
|
262
|
+
//# sourceMappingURL=member-resolution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"member-resolution.js","sourceRoot":"","sources":["../../../../../src/ir/converters/expressions/access/member-resolution.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,5 @@
|
|
|
5
5
|
* Falls back to Binding-resolved MemberId only when the receiver type cannot
|
|
6
6
|
* be normalized nominally (e.g., tsbindgen `$instance & __views` intersections).
|
|
7
7
|
*/
|
|
8
|
-
|
|
9
|
-
import { IrMemberExpression } from "../../types.js";
|
|
10
|
-
import type { ProgramContext } from "../../program-context.js";
|
|
11
|
-
/**
|
|
12
|
-
* Convert property access or element access expression
|
|
13
|
-
*/
|
|
14
|
-
export declare const convertMemberExpression: (node: ts.PropertyAccessExpression | ts.ElementAccessExpression, ctx: ProgramContext) => IrMemberExpression;
|
|
8
|
+
export { convertMemberExpression } from "./access/access-converter.js";
|
|
15
9
|
//# sourceMappingURL=access.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../../src/ir/converters/expressions/access.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../../src/ir/converters/expressions/access.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
|