@tsonic/emitter 0.0.76 → 0.0.78
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/array.test.js +8 -4
- package/dist/array.test.js.map +1 -1
- package/dist/core/format/backend-ast/invariants.test.js +5 -0
- package/dist/core/format/backend-ast/invariants.test.js.map +1 -1
- package/dist/core/format/backend-ast/printer-colon-detection.d.ts.map +1 -1
- package/dist/core/format/backend-ast/printer-colon-detection.js +2 -0
- package/dist/core/format/backend-ast/printer-colon-detection.js.map +1 -1
- package/dist/core/format/backend-ast/printer-expressions.d.ts.map +1 -1
- package/dist/core/format/backend-ast/printer-expressions.js +4 -0
- package/dist/core/format/backend-ast/printer-expressions.js.map +1 -1
- package/dist/core/format/backend-ast/printer-precedence.d.ts.map +1 -1
- package/dist/core/format/backend-ast/printer-precedence.js +1 -0
- package/dist/core/format/backend-ast/printer-precedence.js.map +1 -1
- package/dist/core/format/backend-ast/types/expression-ast.d.ts +5 -1
- package/dist/core/format/backend-ast/types/expression-ast.d.ts.map +1 -1
- package/dist/core/format/backend-ast/utils.d.ts +3 -0
- package/dist/core/format/backend-ast/utils.d.ts.map +1 -1
- package/dist/core/format/backend-ast/utils.js +39 -0
- package/dist/core/format/backend-ast/utils.js.map +1 -1
- package/dist/core/format/backend-ast/utils.test.js +13 -1
- package/dist/core/format/backend-ast/utils.test.js.map +1 -1
- package/dist/core/format/local-names.d.ts.map +1 -1
- package/dist/core/format/local-names.js +3 -2
- package/dist/core/format/local-names.js.map +1 -1
- package/dist/core/format/local-names.test.js +7 -6
- package/dist/core/format/local-names.test.js.map +1 -1
- package/dist/core/format/module-emitter/orchestrator.d.ts.map +1 -1
- package/dist/core/format/module-emitter/orchestrator.js +3 -1
- package/dist/core/format/module-emitter/orchestrator.js.map +1 -1
- package/dist/core/format/module-emitter/static-container.d.ts.map +1 -1
- package/dist/core/format/module-emitter/static-container.js +2 -4
- package/dist/core/format/module-emitter/static-container.js.map +1 -1
- package/dist/core/module-emitter-cases/class-and-recursion.test.js +4 -1
- package/dist/core/module-emitter-cases/class-and-recursion.test.js.map +1 -1
- package/dist/core/module-emitter-cases/static-containers.test.js +113 -2
- package/dist/core/module-emitter-cases/static-containers.test.js.map +1 -1
- package/dist/core/semantic/adapt-result.d.ts +20 -0
- package/dist/core/semantic/adapt-result.d.ts.map +1 -0
- package/dist/core/semantic/adapt-result.js +30 -0
- package/dist/core/semantic/adapt-result.js.map +1 -0
- package/dist/core/semantic/array-expected-types.d.ts.map +1 -1
- package/dist/core/semantic/array-expected-types.js +1 -1
- package/dist/core/semantic/array-expected-types.js.map +1 -1
- package/dist/core/semantic/assignment-flow.d.ts.map +1 -1
- package/dist/core/semantic/assignment-flow.js +28 -4
- package/dist/core/semantic/assignment-flow.js.map +1 -1
- package/dist/core/semantic/async-wrapper-types.d.ts +1 -0
- package/dist/core/semantic/async-wrapper-types.d.ts.map +1 -1
- package/dist/core/semantic/async-wrapper-types.js +19 -1
- package/dist/core/semantic/async-wrapper-types.js.map +1 -1
- package/dist/core/semantic/boolean-condition-main.d.ts.map +1 -1
- package/dist/core/semantic/boolean-condition-main.js +6 -2
- package/dist/core/semantic/boolean-condition-main.js.map +1 -1
- package/dist/core/semantic/boolean-context.test.js +2 -1
- package/dist/core/semantic/boolean-context.test.js.map +1 -1
- package/dist/core/semantic/broad-array-storage.d.ts.map +1 -1
- package/dist/core/semantic/broad-array-storage.js +2 -5
- package/dist/core/semantic/broad-array-storage.js.map +1 -1
- package/dist/core/semantic/broad-object-types.d.ts +1 -0
- package/dist/core/semantic/broad-object-types.d.ts.map +1 -1
- package/dist/core/semantic/broad-object-types.js +39 -0
- package/dist/core/semantic/broad-object-types.js.map +1 -1
- package/dist/core/semantic/clr-type-identity.d.ts +1 -2
- package/dist/core/semantic/clr-type-identity.d.ts.map +1 -1
- package/dist/core/semantic/clr-type-identity.js +3 -65
- package/dist/core/semantic/clr-type-identity.js.map +1 -1
- package/dist/core/semantic/comparable-types.d.ts.map +1 -1
- package/dist/core/semantic/comparable-types.js +61 -27
- package/dist/core/semantic/comparable-types.js.map +1 -1
- package/dist/core/semantic/comparable-types.test.js.map +1 -1
- package/dist/core/semantic/deterministic-type-keys.d.ts.map +1 -1
- package/dist/core/semantic/deterministic-type-keys.js +90 -37
- package/dist/core/semantic/deterministic-type-keys.js.map +1 -1
- package/dist/core/semantic/deterministic-type-keys.test.d.ts +2 -0
- package/dist/core/semantic/deterministic-type-keys.test.d.ts.map +1 -0
- package/dist/core/semantic/deterministic-type-keys.test.js +38 -0
- package/dist/core/semantic/deterministic-type-keys.test.js.map +1 -0
- package/dist/core/semantic/direct-storage-ir-types.d.ts +1 -1
- package/dist/core/semantic/direct-storage-ir-types.d.ts.map +1 -1
- package/dist/core/semantic/direct-storage-ir-types.js +12 -3
- package/dist/core/semantic/direct-storage-ir-types.js.map +1 -1
- package/dist/core/semantic/direct-value-surfaces.d.ts.map +1 -1
- package/dist/core/semantic/direct-value-surfaces.js +166 -6
- package/dist/core/semantic/direct-value-surfaces.js.map +1 -1
- package/dist/core/semantic/direct-value-surfaces.test.js +69 -6
- package/dist/core/semantic/direct-value-surfaces.test.js.map +1 -1
- package/dist/core/semantic/expected-type-matching.d.ts.map +1 -1
- package/dist/core/semantic/expected-type-matching.js +4 -5
- package/dist/core/semantic/expected-type-matching.js.map +1 -1
- package/dist/core/semantic/implicit-interfaces.d.ts.map +1 -1
- package/dist/core/semantic/implicit-interfaces.js.map +1 -1
- package/dist/core/semantic/imports-cases/basic-and-local.test.js +8 -8
- package/dist/core/semantic/imports-cases/basic-and-local.test.js.map +1 -1
- package/dist/core/semantic/imports.js +3 -2
- package/dist/core/semantic/imports.js.map +1 -1
- package/dist/core/semantic/index.d.ts +1 -1
- package/dist/core/semantic/index.d.ts.map +1 -1
- package/dist/core/semantic/index.js +1 -1
- package/dist/core/semantic/index.js.map +1 -1
- package/dist/core/semantic/instanceof-predicate-refinements.d.ts.map +1 -1
- package/dist/core/semantic/instanceof-predicate-refinements.js +2 -10
- package/dist/core/semantic/instanceof-predicate-refinements.js.map +1 -1
- package/dist/core/semantic/materialized-narrowing.d.ts +1 -0
- package/dist/core/semantic/materialized-narrowing.d.ts.map +1 -1
- package/dist/core/semantic/materialized-narrowing.js +170 -34
- package/dist/core/semantic/materialized-narrowing.js.map +1 -1
- package/dist/core/semantic/materialized-narrowing.test.js +24 -6
- package/dist/core/semantic/materialized-narrowing.test.js.map +1 -1
- package/dist/core/semantic/module-map.d.ts.map +1 -1
- package/dist/core/semantic/module-map.js +4 -6
- package/dist/core/semantic/module-map.js.map +1 -1
- package/dist/core/semantic/module-type-collisions.d.ts +7 -0
- package/dist/core/semantic/module-type-collisions.d.ts.map +1 -0
- package/dist/core/semantic/module-type-collisions.js +24 -0
- package/dist/core/semantic/module-type-collisions.js.map +1 -0
- package/dist/core/semantic/mutable-storage-helpers.d.ts +1 -1
- package/dist/core/semantic/mutable-storage-helpers.d.ts.map +1 -1
- package/dist/core/semantic/mutable-storage-helpers.js +5 -12
- package/dist/core/semantic/mutable-storage-helpers.js.map +1 -1
- package/dist/core/semantic/naming-collisions.d.ts.map +1 -1
- package/dist/core/semantic/naming-collisions.js +13 -3
- package/dist/core/semantic/naming-collisions.js.map +1 -1
- package/dist/core/semantic/narrowed-expression-types.d.ts +3 -1
- package/dist/core/semantic/narrowed-expression-types.d.ts.map +1 -1
- package/dist/core/semantic/narrowed-expression-types.js +139 -17
- package/dist/core/semantic/narrowed-expression-types.js.map +1 -1
- package/dist/core/semantic/narrowed-union-resolution.d.ts.map +1 -1
- package/dist/core/semantic/narrowed-union-resolution.js +14 -3
- package/dist/core/semantic/narrowed-union-resolution.js.map +1 -1
- package/dist/core/semantic/narrowing-builder-core.d.ts +3 -2
- package/dist/core/semantic/narrowing-builder-core.d.ts.map +1 -1
- package/dist/core/semantic/narrowing-builder-core.js +85 -126
- package/dist/core/semantic/narrowing-builder-core.js.map +1 -1
- package/dist/core/semantic/narrowing-builder-core.test.js +3 -2
- package/dist/core/semantic/narrowing-builder-core.test.js.map +1 -1
- package/dist/core/semantic/narrowing-builder-unions.d.ts.map +1 -1
- package/dist/core/semantic/narrowing-builder-unions.js +43 -7
- package/dist/core/semantic/narrowing-builder-unions.js.map +1 -1
- package/dist/core/semantic/narrowing-builders.d.ts +1 -1
- package/dist/core/semantic/narrowing-builders.d.ts.map +1 -1
- package/dist/core/semantic/narrowing-builders.js +1 -1
- package/dist/core/semantic/narrowing-builders.js.map +1 -1
- package/dist/core/semantic/narrowing-refinements.d.ts +1 -1
- package/dist/core/semantic/narrowing-refinements.d.ts.map +1 -1
- package/dist/core/semantic/narrowing-refinements.js +1 -1
- package/dist/core/semantic/narrowing-refinements.js.map +1 -1
- package/dist/core/semantic/nullable-typeof-refinements.d.ts +1 -5
- package/dist/core/semantic/nullable-typeof-refinements.d.ts.map +1 -1
- package/dist/core/semantic/nullable-typeof-refinements.js +136 -88
- package/dist/core/semantic/nullable-typeof-refinements.js.map +1 -1
- package/dist/core/semantic/nullish-value-helpers.d.ts +1 -1
- package/dist/core/semantic/nullish-value-helpers.d.ts.map +1 -1
- package/dist/core/semantic/nullish-value-helpers.js +18 -9
- package/dist/core/semantic/nullish-value-helpers.js.map +1 -1
- package/dist/core/semantic/runtime-materialization-targets.js +1 -1
- package/dist/core/semantic/runtime-materialization-targets.js.map +1 -1
- package/dist/core/semantic/runtime-reification.d.ts +1 -0
- package/dist/core/semantic/runtime-reification.d.ts.map +1 -1
- package/dist/core/semantic/runtime-reification.js +141 -35
- package/dist/core/semantic/runtime-reification.js.map +1 -1
- package/dist/core/semantic/runtime-union-family-preservation.js +1 -1
- package/dist/core/semantic/runtime-union-family-preservation.js.map +1 -1
- package/dist/core/semantic/runtime-union-frame.d.ts +6 -0
- package/dist/core/semantic/runtime-union-frame.d.ts.map +1 -0
- package/dist/core/semantic/runtime-union-frame.js +130 -0
- package/dist/core/semantic/runtime-union-frame.js.map +1 -0
- package/dist/core/semantic/runtime-union-matching.d.ts.map +1 -1
- package/dist/core/semantic/runtime-union-matching.js +13 -0
- package/dist/core/semantic/runtime-union-matching.js.map +1 -1
- package/dist/core/semantic/runtime-union-member-mapping.test.js +1 -1
- package/dist/core/semantic/runtime-union-member-mapping.test.js.map +1 -1
- package/dist/core/semantic/runtime-union-ordering.d.ts.map +1 -1
- package/dist/core/semantic/runtime-union-ordering.js +10 -22
- package/dist/core/semantic/runtime-union-ordering.js.map +1 -1
- package/dist/core/semantic/runtime-union-projection.d.ts.map +1 -1
- package/dist/core/semantic/runtime-union-projection.js +23 -7
- package/dist/core/semantic/runtime-union-projection.js.map +1 -1
- package/dist/core/semantic/runtime-union-projection.test.js +19 -1
- package/dist/core/semantic/runtime-union-projection.test.js.map +1 -1
- package/dist/core/semantic/runtime-union-registry.js +13 -13
- package/dist/core/semantic/runtime-union-registry.js.map +1 -1
- package/dist/core/semantic/runtime-unions.d.ts +3 -4
- package/dist/core/semantic/runtime-unions.d.ts.map +1 -1
- package/dist/core/semantic/runtime-unions.js +46 -145
- package/dist/core/semantic/runtime-unions.js.map +1 -1
- package/dist/core/semantic/runtime-unions.test.js +12 -7
- package/dist/core/semantic/runtime-unions.test.js.map +1 -1
- package/dist/core/semantic/semantic-union-members.d.ts.map +1 -1
- package/dist/core/semantic/semantic-union-members.js +1 -1
- package/dist/core/semantic/semantic-union-members.js.map +1 -1
- package/dist/core/semantic/storage-erased-adaptation.d.ts.map +1 -1
- package/dist/core/semantic/storage-erased-adaptation.js +8 -11
- package/dist/core/semantic/storage-erased-adaptation.js.map +1 -1
- package/dist/core/semantic/storage-erased-adaptation.test.js +4 -1
- package/dist/core/semantic/storage-erased-adaptation.test.js.map +1 -1
- package/dist/core/semantic/storage-types.d.ts +3 -0
- package/dist/core/semantic/storage-types.d.ts.map +1 -1
- package/dist/core/semantic/storage-types.js +17 -4
- package/dist/core/semantic/storage-types.js.map +1 -1
- package/dist/core/semantic/structural-shape-matching.d.ts +5 -1
- package/dist/core/semantic/structural-shape-matching.d.ts.map +1 -1
- package/dist/core/semantic/structural-shape-matching.js +29 -4
- package/dist/core/semantic/structural-shape-matching.js.map +1 -1
- package/dist/core/semantic/surface-member-semantics.d.ts +14 -0
- package/dist/core/semantic/surface-member-semantics.d.ts.map +1 -0
- package/dist/core/semantic/surface-member-semantics.js +41 -0
- package/dist/core/semantic/surface-member-semantics.js.map +1 -0
- package/dist/core/semantic/symbol-types.d.ts +2 -9
- package/dist/core/semantic/symbol-types.d.ts.map +1 -1
- package/dist/core/semantic/symbol-types.js +7 -11
- package/dist/core/semantic/symbol-types.js.map +1 -1
- package/dist/core/semantic/ternary-guards.d.ts +1 -1
- package/dist/core/semantic/ternary-guards.d.ts.map +1 -1
- package/dist/core/semantic/ternary-guards.js +2 -1
- package/dist/core/semantic/ternary-guards.js.map +1 -1
- package/dist/core/semantic/truthiness-evaluation.d.ts.map +1 -1
- package/dist/core/semantic/truthiness-evaluation.js +3 -3
- package/dist/core/semantic/truthiness-evaluation.js.map +1 -1
- package/dist/core/semantic/type-compatibility.d.ts +4 -2
- package/dist/core/semantic/type-compatibility.d.ts.map +1 -1
- package/dist/core/semantic/type-compatibility.js +62 -2
- package/dist/core/semantic/type-compatibility.js.map +1 -1
- package/dist/core/semantic/type-domains.d.ts +17 -0
- package/dist/core/semantic/type-domains.d.ts.map +1 -0
- package/dist/core/semantic/type-domains.js +7 -0
- package/dist/core/semantic/type-domains.js.map +1 -0
- package/dist/core/semantic/type-equivalence.d.ts.map +1 -1
- package/dist/core/semantic/type-equivalence.js +12 -7
- package/dist/core/semantic/type-equivalence.js.map +1 -1
- package/dist/core/semantic/type-equivalence.test.js +34 -0
- package/dist/core/semantic/type-equivalence.test.js.map +1 -1
- package/dist/core/semantic/type-resolution-cases/array-like-element.test.js +13 -4
- package/dist/core/semantic/type-resolution-cases/array-like-element.test.js.map +1 -1
- package/dist/core/semantic/type-resolution-cases/helpers.d.ts +2 -2
- package/dist/core/semantic/type-resolution-cases/helpers.d.ts.map +1 -1
- package/dist/core/semantic/type-resolution-cases/helpers.js +2 -2
- package/dist/core/semantic/type-resolution-cases/helpers.js.map +1 -1
- package/dist/core/semantic/type-resolution-cases/typeof-narrowing.test.d.ts +2 -0
- package/dist/core/semantic/type-resolution-cases/typeof-narrowing.test.d.ts.map +1 -0
- package/dist/core/semantic/type-resolution-cases/typeof-narrowing.test.js +36 -0
- package/dist/core/semantic/type-resolution-cases/typeof-narrowing.test.js.map +1 -0
- package/dist/core/semantic/type-resolution.test.d.ts +1 -1
- package/dist/core/semantic/type-resolution.test.d.ts.map +1 -1
- package/dist/core/semantic/type-resolution.test.js +1 -1
- package/dist/core/semantic/type-resolution.test.js.map +1 -1
- package/dist/core/semantic/type-substitution.d.ts.map +1 -1
- package/dist/core/semantic/type-substitution.js +2 -1
- package/dist/core/semantic/type-substitution.js.map +1 -1
- package/dist/core/semantic/typeof-comparison.d.ts +14 -0
- package/dist/core/semantic/typeof-comparison.d.ts.map +1 -0
- package/dist/core/semantic/typeof-comparison.js +47 -0
- package/dist/core/semantic/typeof-comparison.js.map +1 -0
- package/dist/core/semantic/union-predicate-matching.d.ts.map +1 -1
- package/dist/core/semantic/union-predicate-matching.js +1 -1
- package/dist/core/semantic/union-predicate-matching.js.map +1 -1
- package/dist/core/semantic/union-semantics.js +1 -1
- package/dist/core/semantic/union-semantics.js.map +1 -1
- package/dist/core/semantic/union-typeof-matching.d.ts.map +1 -1
- package/dist/core/semantic/union-typeof-matching.js +72 -22
- package/dist/core/semantic/union-typeof-matching.js.map +1 -1
- package/dist/core/semantic/variable-type-resolution.d.ts +1 -0
- package/dist/core/semantic/variable-type-resolution.d.ts.map +1 -1
- package/dist/core/semantic/variable-type-resolution.js +62 -6
- package/dist/core/semantic/variable-type-resolution.js.map +1 -1
- package/dist/duplicate-type-suppression.d.ts.map +1 -1
- package/dist/duplicate-type-suppression.js.map +1 -1
- package/dist/emitter-types/context.d.ts +1 -0
- package/dist/emitter-types/context.d.ts.map +1 -1
- package/dist/emitter-types/context.js +13 -1
- package/dist/emitter-types/context.js.map +1 -1
- package/dist/emitter-types/core.d.ts +10 -9
- package/dist/emitter-types/core.d.ts.map +1 -1
- package/dist/emitter-types/fqn.d.ts +0 -1
- package/dist/emitter-types/fqn.d.ts.map +1 -1
- package/dist/emitter-types/fqn.js +0 -1
- package/dist/emitter-types/fqn.js.map +1 -1
- package/dist/emitter-types/index.d.ts +1 -1
- package/dist/emitter-types/index.d.ts.map +1 -1
- package/dist/emitter-types/index.js +1 -1
- package/dist/emitter-types/index.js.map +1 -1
- package/dist/emitter.d.ts +3 -3
- package/dist/emitter.d.ts.map +1 -1
- package/dist/emitter.js +1 -7
- package/dist/emitter.js.map +1 -1
- package/dist/expression-emitter.d.ts.map +1 -1
- package/dist/expression-emitter.js +7 -2
- package/dist/expression-emitter.js.map +1 -1
- package/dist/expressions/access-binding.d.ts.map +1 -1
- package/dist/expressions/access-binding.js +38 -66
- package/dist/expressions/access-binding.js.map +1 -1
- package/dist/expressions/access-computed.d.ts.map +1 -1
- package/dist/expressions/access-computed.js +10 -15
- package/dist/expressions/access-computed.js.map +1 -1
- package/dist/expressions/access-function-length.d.ts +13 -0
- package/dist/expressions/access-function-length.d.ts.map +1 -0
- package/dist/expressions/access-function-length.js +115 -0
- package/dist/expressions/access-function-length.js.map +1 -0
- package/dist/expressions/access-length.d.ts +5 -11
- package/dist/expressions/access-length.d.ts.map +1 -1
- package/dist/expressions/access-length.js +18 -242
- package/dist/expressions/access-length.js.map +1 -1
- package/dist/expressions/access-length.test.js +17 -0
- package/dist/expressions/access-length.test.js.map +1 -1
- package/dist/expressions/access-property.d.ts +1 -2
- package/dist/expressions/access-property.d.ts.map +1 -1
- package/dist/expressions/access-property.js +20 -94
- package/dist/expressions/access-property.js.map +1 -1
- package/dist/expressions/access-resolution-receivers.d.ts.map +1 -1
- package/dist/expressions/access-resolution-receivers.js +24 -17
- package/dist/expressions/access-resolution-receivers.js.map +1 -1
- package/dist/expressions/access-resolution-types.d.ts.map +1 -1
- package/dist/expressions/access-resolution-types.js +7 -0
- package/dist/expressions/access-resolution-types.js.map +1 -1
- package/dist/expressions/access.d.ts +2 -2
- package/dist/expressions/access.d.ts.map +1 -1
- package/dist/expressions/access.js +11 -22
- package/dist/expressions/access.js.map +1 -1
- package/dist/expressions/architecture-invariants.test.js +112 -0
- package/dist/expressions/architecture-invariants.test.js.map +1 -1
- package/dist/expressions/await-normalization.d.ts.map +1 -1
- package/dist/expressions/await-normalization.js +53 -13
- package/dist/expressions/await-normalization.js.map +1 -1
- package/dist/expressions/awaitable-adaptation.d.ts +15 -0
- package/dist/expressions/awaitable-adaptation.d.ts.map +1 -0
- package/dist/expressions/awaitable-adaptation.js +174 -0
- package/dist/expressions/awaitable-adaptation.js.map +1 -0
- package/dist/expressions/calls/call-analysis.d.ts +0 -1
- package/dist/expressions/calls/call-analysis.d.ts.map +1 -1
- package/dist/expressions/calls/call-analysis.js +0 -7
- package/dist/expressions/calls/call-analysis.js.map +1 -1
- package/dist/expressions/calls/call-arguments-emit.d.ts.map +1 -1
- package/dist/expressions/calls/call-arguments-emit.js +236 -35
- package/dist/expressions/calls/call-arguments-emit.js.map +1 -1
- package/dist/expressions/calls/call-arguments-helpers.d.ts.map +1 -1
- package/dist/expressions/calls/call-arguments-helpers.js +2 -2
- package/dist/expressions/calls/call-arguments-helpers.js.map +1 -1
- package/dist/expressions/calls/call-array-interop.d.ts +1 -1
- package/dist/expressions/calls/call-array-interop.d.ts.map +1 -1
- package/dist/expressions/calls/call-array-interop.js +1 -1
- package/dist/expressions/calls/call-array-interop.js.map +1 -1
- package/dist/expressions/calls/call-array-mutation.d.ts +0 -1
- package/dist/expressions/calls/call-array-mutation.d.ts.map +1 -1
- package/dist/expressions/calls/call-array-mutation.js +9 -36
- package/dist/expressions/calls/call-array-mutation.js.map +1 -1
- package/dist/expressions/calls/call-array-wrapper.d.ts.map +1 -1
- package/dist/expressions/calls/call-array-wrapper.js +9 -12
- package/dist/expressions/calls/call-array-wrapper.js.map +1 -1
- package/dist/expressions/calls/call-emitter.d.ts +1 -1
- package/dist/expressions/calls/call-emitter.d.ts.map +1 -1
- package/dist/expressions/calls/call-emitter.js +85 -7
- package/dist/expressions/calls/call-emitter.js.map +1 -1
- package/dist/expressions/calls/call-json.d.ts +1 -1
- package/dist/expressions/calls/call-json.d.ts.map +1 -1
- package/dist/expressions/calls/call-json.js +50 -84
- package/dist/expressions/calls/call-json.js.map +1 -1
- package/dist/expressions/calls/call-promise-ir-types.d.ts.map +1 -1
- package/dist/expressions/calls/call-promise-ir-types.js.map +1 -1
- package/dist/expressions/calls/call-runtime-union-guards.d.ts.map +1 -1
- package/dist/expressions/calls/call-runtime-union-guards.js +10 -1
- package/dist/expressions/calls/call-runtime-union-guards.js.map +1 -1
- package/dist/expressions/calls/new-emitter-collections.d.ts +7 -4
- package/dist/expressions/calls/new-emitter-collections.d.ts.map +1 -1
- package/dist/expressions/calls/new-emitter-collections.js +64 -25
- package/dist/expressions/calls/new-emitter-collections.js.map +1 -1
- package/dist/expressions/calls/new-emitter.d.ts.map +1 -1
- package/dist/expressions/calls/new-emitter.js +4 -5
- package/dist/expressions/calls/new-emitter.js.map +1 -1
- package/dist/expressions/direct-storage-types.d.ts.map +1 -1
- package/dist/expressions/direct-storage-types.js +76 -15
- package/dist/expressions/direct-storage-types.js.map +1 -1
- package/dist/expressions/exact-comparison.d.ts.map +1 -1
- package/dist/expressions/exact-comparison.js +3 -1
- package/dist/expressions/exact-comparison.js.map +1 -1
- package/dist/expressions/expected-type-adaptation.d.ts +1 -1
- package/dist/expressions/expected-type-adaptation.d.ts.map +1 -1
- package/dist/expressions/expected-type-adaptation.js +164 -30
- package/dist/expressions/expected-type-adaptation.js.map +1 -1
- package/dist/expressions/expected-type-adaptation.test.js +81 -26
- package/dist/expressions/expected-type-adaptation.test.js.map +1 -1
- package/dist/expressions/identifier-storage/broad-storage-target.d.ts +4 -0
- package/dist/expressions/identifier-storage/broad-storage-target.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/broad-storage-target.js +26 -0
- package/dist/expressions/identifier-storage/broad-storage-target.js.map +1 -0
- package/dist/expressions/identifier-storage/implicit-storage.d.ts +14 -0
- package/dist/expressions/identifier-storage/implicit-storage.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/implicit-storage.js +44 -0
- package/dist/expressions/identifier-storage/implicit-storage.js.map +1 -0
- package/dist/expressions/identifier-storage/materialized-narrowed.d.ts +7 -0
- package/dist/expressions/identifier-storage/materialized-narrowed.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/materialized-narrowed.js +92 -0
- package/dist/expressions/identifier-storage/materialized-narrowed.js.map +1 -0
- package/dist/expressions/identifier-storage/narrowed-storage-compatible.d.ts +14 -0
- package/dist/expressions/identifier-storage/narrowed-storage-compatible.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/narrowed-storage-compatible.js +168 -0
- package/dist/expressions/identifier-storage/narrowed-storage-compatible.js.map +1 -0
- package/dist/expressions/identifier-storage/reified-storage.d.ts +7 -0
- package/dist/expressions/identifier-storage/reified-storage.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/reified-storage.js +25 -0
- package/dist/expressions/identifier-storage/reified-storage.js.map +1 -0
- package/dist/expressions/identifier-storage/runtime-subset.d.ts +14 -0
- package/dist/expressions/identifier-storage/runtime-subset.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/runtime-subset.js +100 -0
- package/dist/expressions/identifier-storage/runtime-subset.js.map +1 -0
- package/dist/expressions/identifier-storage/storage-compatible.d.ts +10 -0
- package/dist/expressions/identifier-storage/storage-compatible.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/storage-compatible.js +76 -0
- package/dist/expressions/identifier-storage/storage-compatible.js.map +1 -0
- package/dist/expressions/identifier-storage/storage-surface-match.d.ts +4 -0
- package/dist/expressions/identifier-storage/storage-surface-match.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/storage-surface-match.js +95 -0
- package/dist/expressions/identifier-storage/storage-surface-match.js.map +1 -0
- package/dist/expressions/identifier-storage/storage-surface-shared.d.ts +12 -0
- package/dist/expressions/identifier-storage/storage-surface-shared.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/storage-surface-shared.js +77 -0
- package/dist/expressions/identifier-storage/storage-surface-shared.js.map +1 -0
- package/dist/expressions/identifier-storage/storage-surface.d.ts +9 -0
- package/dist/expressions/identifier-storage/storage-surface.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/storage-surface.js +9 -0
- package/dist/expressions/identifier-storage/storage-surface.js.map +1 -0
- package/dist/expressions/identifier-storage.d.ts +1 -42
- package/dist/expressions/identifier-storage.d.ts.map +1 -1
- package/dist/expressions/identifier-storage.js +1 -477
- package/dist/expressions/identifier-storage.js.map +1 -1
- package/dist/expressions/identifiers.d.ts.map +1 -1
- package/dist/expressions/identifiers.js +7 -16
- package/dist/expressions/identifiers.js.map +1 -1
- package/dist/expressions/index-cases/array-wrapper-recursion-b.test.js +9 -3
- package/dist/expressions/index-cases/array-wrapper-recursion-b.test.js.map +1 -1
- package/dist/expressions/index-cases/array-wrapper-recursion-c.test.js +4 -1
- package/dist/expressions/index-cases/array-wrapper-recursion-c.test.js.map +1 -1
- package/dist/expressions/index-cases/basic-literals-and-calls.test.js +3 -3
- package/dist/expressions/index-cases/basic-literals-and-calls.test.js.map +1 -1
- package/dist/expressions/index-cases/defaults-and-char-context.test.js +8 -2
- package/dist/expressions/index-cases/defaults-and-char-context.test.js.map +1 -1
- package/dist/expressions/index-cases/dictionary-and-object-initializers-a.test.js +17 -20
- package/dist/expressions/index-cases/dictionary-and-object-initializers-a.test.js.map +1 -1
- package/dist/expressions/index-cases/dictionary-and-object-initializers-b.test.js +7 -8
- package/dist/expressions/index-cases/dictionary-and-object-initializers-b.test.js.map +1 -1
- package/dist/expressions/index-cases/helpers.d.ts +6 -4
- package/dist/expressions/index-cases/helpers.d.ts.map +1 -1
- package/dist/expressions/index-cases/helpers.js +31 -2
- package/dist/expressions/index-cases/helpers.js.map +1 -1
- package/dist/expressions/index-cases/nullable-and-comparisons.test.js +9 -9
- package/dist/expressions/index-cases/nullable-and-comparisons.test.js.map +1 -1
- package/dist/expressions/index-cases/runtime-subset-and-assertions.test.js +3 -3
- package/dist/expressions/index-cases/runtime-subset-and-assertions.test.js.map +1 -1
- package/dist/expressions/index-cases/runtime-union-reification-b.test.js +19 -13
- package/dist/expressions/index-cases/runtime-union-reification-b.test.js.map +1 -1
- package/dist/expressions/index-cases/string-and-array-fallbacks-a.test.js +22 -13
- package/dist/expressions/index-cases/string-and-array-fallbacks-a.test.js.map +1 -1
- package/dist/expressions/index-cases/string-and-array-fallbacks-b.test.js +5 -5
- package/dist/expressions/index-cases/string-and-array-fallbacks-b.test.js.map +1 -1
- package/dist/expressions/lambda-body.js +3 -3
- package/dist/expressions/lambda-body.js.map +1 -1
- package/dist/expressions/lambda-parameters.d.ts.map +1 -1
- package/dist/expressions/lambda-parameters.js +97 -12
- package/dist/expressions/lambda-parameters.js.map +1 -1
- package/dist/expressions/object-literal.d.ts.map +1 -1
- package/dist/expressions/object-literal.js +48 -18
- package/dist/expressions/object-literal.js.map +1 -1
- package/dist/expressions/operators/binary-dispatch.d.ts +1 -1
- package/dist/expressions/operators/binary-dispatch.d.ts.map +1 -1
- package/dist/expressions/operators/binary-dispatch.js +52 -12
- package/dist/expressions/operators/binary-dispatch.js.map +1 -1
- package/dist/expressions/operators/binary-helpers.d.ts.map +1 -1
- package/dist/expressions/operators/binary-helpers.js +11 -1
- package/dist/expressions/operators/binary-helpers.js.map +1 -1
- package/dist/expressions/operators/binary-special-ops.d.ts +1 -11
- package/dist/expressions/operators/binary-special-ops.d.ts.map +1 -1
- package/dist/expressions/operators/binary-special-ops.js +214 -218
- package/dist/expressions/operators/binary-special-ops.js.map +1 -1
- package/dist/expressions/operators/conditional-emitter.d.ts.map +1 -1
- package/dist/expressions/operators/conditional-emitter.js +89 -19
- package/dist/expressions/operators/conditional-emitter.js.map +1 -1
- package/dist/expressions/operators/logical-emitter.js +1 -1
- package/dist/expressions/operators/logical-emitter.js.map +1 -1
- package/dist/expressions/operators/unary-emitter.d.ts.map +1 -1
- package/dist/expressions/operators/unary-emitter.js +7 -50
- package/dist/expressions/operators/unary-emitter.js.map +1 -1
- package/dist/expressions/other.d.ts +2 -6
- package/dist/expressions/other.d.ts.map +1 -1
- package/dist/expressions/other.js +6 -13
- package/dist/expressions/other.js.map +1 -1
- package/dist/expressions/post-emission-adaptation.d.ts +1 -1
- package/dist/expressions/post-emission-adaptation.d.ts.map +1 -1
- package/dist/expressions/post-emission-adaptation.js +55 -150
- package/dist/expressions/post-emission-adaptation.js.map +1 -1
- package/dist/expressions/precedence.test.js +5 -46
- package/dist/expressions/precedence.test.js.map +1 -1
- package/dist/expressions/runtime-union-adaptation-projection.d.ts.map +1 -1
- package/dist/expressions/runtime-union-adaptation-projection.js +25 -4
- package/dist/expressions/runtime-union-adaptation-projection.js.map +1 -1
- package/dist/expressions/runtime-union-adaptation-upcast.d.ts +1 -1
- package/dist/expressions/runtime-union-adaptation-upcast.d.ts.map +1 -1
- package/dist/expressions/runtime-union-adaptation-upcast.js +281 -31
- package/dist/expressions/runtime-union-adaptation-upcast.js.map +1 -1
- package/dist/expressions/structural-anonymous-targets.d.ts.map +1 -1
- package/dist/expressions/structural-anonymous-targets.js +5 -0
- package/dist/expressions/structural-anonymous-targets.js.map +1 -1
- package/dist/expressions/structural-collection-adaptation.d.ts.map +1 -1
- package/dist/expressions/structural-collection-adaptation.js +4 -2
- package/dist/expressions/structural-collection-adaptation.js.map +1 -1
- package/dist/expressions/structural-object-adaptation.d.ts.map +1 -1
- package/dist/expressions/structural-object-adaptation.js +58 -3
- package/dist/expressions/structural-object-adaptation.js.map +1 -1
- package/dist/expressions/structural-property-model.d.ts.map +1 -1
- package/dist/expressions/structural-property-model.js +7 -3
- package/dist/expressions/structural-property-model.js.map +1 -1
- package/dist/expressions/structural-type-shapes.d.ts.map +1 -1
- package/dist/expressions/structural-type-shapes.js +1 -1
- package/dist/expressions/structural-type-shapes.js.map +1 -1
- package/dist/expressions/structural-type-shapes.test.js +2 -1
- package/dist/expressions/structural-type-shapes.test.js.map +1 -1
- package/dist/expressions/type-assertion-emitters.d.ts.map +1 -1
- package/dist/expressions/type-assertion-emitters.js +231 -15
- package/dist/expressions/type-assertion-emitters.js.map +1 -1
- package/dist/fixture-regression-mirrors.test.js +43 -112
- package/dist/fixture-regression-mirrors.test.js.map +1 -1
- package/dist/generated-files.d.ts +0 -1
- package/dist/generated-files.d.ts.map +1 -1
- package/dist/generated-files.js +0 -229
- package/dist/generated-files.js.map +1 -1
- package/dist/generated-files.test.js +53 -1
- package/dist/generated-files.test.js.map +1 -1
- package/dist/golden-tests/runner.d.ts.map +1 -1
- package/dist/golden-tests/runner.js +1 -0
- package/dist/golden-tests/runner.js.map +1 -1
- package/dist/integration-cases/arrow-and-generics-a.test.js +52 -32
- package/dist/integration-cases/arrow-and-generics-a.test.js.map +1 -1
- package/dist/integration-cases/arrow-and-generics-b.test.js +17 -23
- package/dist/integration-cases/arrow-and-generics-b.test.js.map +1 -1
- package/dist/integration-cases/await-and-intrinsics.test.js +12 -10
- package/dist/integration-cases/await-and-intrinsics.test.js.map +1 -1
- package/dist/integration-cases/clr-iterable-overloads.test.js +58 -27
- package/dist/integration-cases/clr-iterable-overloads.test.js.map +1 -1
- package/dist/integration-cases/full-module-and-promises.test.js +21 -19
- package/dist/integration-cases/full-module-and-promises.test.js.map +1 -1
- package/dist/integration-cases/helpers.d.ts.map +1 -1
- package/dist/integration-cases/helpers.js +12 -33
- package/dist/integration-cases/helpers.js.map +1 -1
- package/dist/integration-cases/may14-downstream-contracts.test.d.ts +2 -0
- package/dist/integration-cases/may14-downstream-contracts.test.d.ts.map +1 -0
- package/dist/integration-cases/may14-downstream-contracts.test.js +894 -0
- package/dist/integration-cases/may14-downstream-contracts.test.js.map +1 -0
- package/dist/integration-cases/object-literals-and-channels.test.js +10 -4
- package/dist/integration-cases/object-literals-and-channels.test.js.map +1 -1
- package/dist/integration-cases/regression-coverage-a.test.js +36 -30
- package/dist/integration-cases/regression-coverage-a.test.js.map +1 -1
- package/dist/integration-cases/regression-coverage-b.test.js +95 -111
- package/dist/integration-cases/regression-coverage-b.test.js.map +1 -1
- package/dist/integration-cases/regression-coverage-c.test.js +499 -197
- package/dist/integration-cases/regression-coverage-c.test.js.map +1 -1
- package/dist/integration.test.d.ts +1 -0
- package/dist/integration.test.d.ts.map +1 -1
- package/dist/integration.test.js +1 -0
- package/dist/integration.test.js.map +1 -1
- package/dist/json-aot-generic.test.js +48 -200
- package/dist/json-aot-generic.test.js.map +1 -1
- package/dist/statements/block-emitters/block-and-return.d.ts +1 -1
- package/dist/statements/block-emitters/block-and-return.d.ts.map +1 -1
- package/dist/statements/block-emitters/block-and-return.js +9 -3
- package/dist/statements/block-emitters/block-and-return.js.map +1 -1
- package/dist/statements/classes/members/properties.d.ts.map +1 -1
- package/dist/statements/classes/members/properties.js +2 -3
- package/dist/statements/classes/members/properties.js.map +1 -1
- package/dist/statements/classes/properties.d.ts.map +1 -1
- package/dist/statements/classes/properties.js.map +1 -1
- package/dist/statements/control/conditionals/architecture-invariants.test.d.ts +2 -0
- package/dist/statements/control/conditionals/architecture-invariants.test.d.ts.map +1 -0
- package/dist/statements/control/conditionals/architecture-invariants.test.js +19 -0
- package/dist/statements/control/conditionals/architecture-invariants.test.js.map +1 -0
- package/dist/statements/control/conditionals/branch-context.d.ts +4 -6
- package/dist/statements/control/conditionals/branch-context.d.ts.map +1 -1
- package/dist/statements/control/conditionals/branch-context.js +105 -32
- package/dist/statements/control/conditionals/branch-context.js.map +1 -1
- package/dist/statements/control/conditionals/guard-analysis.d.ts +2 -2
- package/dist/statements/control/conditionals/guard-analysis.d.ts.map +1 -1
- package/dist/statements/control/conditionals/guard-analysis.js +1 -1
- package/dist/statements/control/conditionals/guard-analysis.js.map +1 -1
- package/dist/statements/control/conditionals/guard-detectors-discriminant.d.ts +2 -1
- package/dist/statements/control/conditionals/guard-detectors-discriminant.d.ts.map +1 -1
- package/dist/statements/control/conditionals/guard-detectors-discriminant.js +83 -1
- package/dist/statements/control/conditionals/guard-detectors-discriminant.js.map +1 -1
- package/dist/statements/control/conditionals/guard-detectors-structural.d.ts +2 -7
- package/dist/statements/control/conditionals/guard-detectors-structural.d.ts.map +1 -1
- package/dist/statements/control/conditionals/guard-detectors-structural.js +47 -82
- package/dist/statements/control/conditionals/guard-detectors-structural.js.map +1 -1
- package/dist/statements/control/conditionals/guard-detectors.d.ts +2 -2
- package/dist/statements/control/conditionals/guard-detectors.d.ts.map +1 -1
- package/dist/statements/control/conditionals/guard-detectors.js +2 -2
- package/dist/statements/control/conditionals/guard-detectors.js.map +1 -1
- package/dist/statements/control/conditionals/guard-extraction.d.ts +5 -7
- package/dist/statements/control/conditionals/guard-extraction.d.ts.map +1 -1
- package/dist/statements/control/conditionals/guard-extraction.js +10 -190
- package/dist/statements/control/conditionals/guard-extraction.js.map +1 -1
- package/dist/statements/control/conditionals/guard-types.d.ts +16 -26
- package/dist/statements/control/conditionals/guard-types.d.ts.map +1 -1
- package/dist/statements/control/conditionals/guard-types.js +23 -1
- package/dist/statements/control/conditionals/guard-types.js.map +1 -1
- package/dist/statements/control/conditionals/if-emit-instanceof-guards.d.ts.map +1 -1
- package/dist/statements/control/conditionals/if-emit-instanceof-guards.js +5 -8
- package/dist/statements/control/conditionals/if-emit-instanceof-guards.js.map +1 -1
- package/dist/statements/control/conditionals/if-emit-predicate-guards.d.ts +2 -8
- package/dist/statements/control/conditionals/if-emit-predicate-guards.d.ts.map +1 -1
- package/dist/statements/control/conditionals/if-emit-predicate-guards.js +4 -84
- package/dist/statements/control/conditionals/if-emit-predicate-guards.js.map +1 -1
- package/dist/statements/control/conditionals/if-emit-property-discriminant-guards.d.ts +2 -0
- package/dist/statements/control/conditionals/if-emit-property-discriminant-guards.d.ts.map +1 -1
- package/dist/statements/control/conditionals/if-emit-property-discriminant-guards.js +87 -3
- package/dist/statements/control/conditionals/if-emit-property-discriminant-guards.js.map +1 -1
- package/dist/statements/control/conditionals/if-emit-typeof-array-guards.d.ts.map +1 -1
- package/dist/statements/control/conditionals/if-emit-typeof-array-guards.js +254 -20
- package/dist/statements/control/conditionals/if-emit-typeof-array-guards.js.map +1 -1
- package/dist/statements/control/conditionals/if-emit-union-guards.d.ts +2 -2
- package/dist/statements/control/conditionals/if-emit-union-guards.d.ts.map +1 -1
- package/dist/statements/control/conditionals/if-emit-union-guards.js +2 -2
- package/dist/statements/control/conditionals/if-emit-union-guards.js.map +1 -1
- package/dist/statements/control/conditionals/if-emitter.d.ts.map +1 -1
- package/dist/statements/control/conditionals/if-emitter.js +36 -43
- package/dist/statements/control/conditionals/if-emitter.js.map +1 -1
- package/dist/statements/control/conditionals/ir-branch-narrowings.d.ts +5 -0
- package/dist/statements/control/conditionals/ir-branch-narrowings.d.ts.map +1 -0
- package/dist/statements/control/conditionals/ir-branch-narrowings.js +16 -0
- package/dist/statements/control/conditionals/ir-branch-narrowings.js.map +1 -0
- package/dist/statements/control/loops.d.ts +2 -9
- package/dist/statements/control/loops.d.ts.map +1 -1
- package/dist/statements/control/loops.js +56 -48
- package/dist/statements/control/loops.js.map +1 -1
- package/dist/statements/declarations/classes.d.ts.map +1 -1
- package/dist/statements/declarations/classes.js.map +1 -1
- package/dist/statements/declarations/interfaces.d.ts.map +1 -1
- package/dist/statements/declarations/interfaces.js.map +1 -1
- package/dist/statements/declarations/structs.test.js +5 -4
- package/dist/statements/declarations/structs.test.js.map +1 -1
- package/dist/statements/declarations/type-aliases.js.map +1 -1
- package/dist/statements/declarations/variables.d.ts.map +1 -1
- package/dist/statements/declarations/variables.js +7 -4
- package/dist/statements/declarations/variables.js.map +1 -1
- package/dist/statements/statement-cases/flow-and-void.test.js +3 -3
- package/dist/statements/statement-cases/flow-and-void.test.js.map +1 -1
- package/dist/statements/statement-cases/helpers.d.ts +3 -2
- package/dist/statements/statement-cases/helpers.d.ts.map +1 -1
- package/dist/statements/statement-cases/helpers.js +1 -1
- package/dist/statements/statement-cases/helpers.js.map +1 -1
- package/dist/statements/statement-cases/if-and-instanceof-guards.test.js +21 -21
- package/dist/statements/statement-cases/if-and-instanceof-guards.test.js.map +1 -1
- package/dist/statements/statement-cases/union-guards-basic.test.js +3 -80
- package/dist/statements/statement-cases/union-guards-basic.test.js.map +1 -1
- package/dist/statements/statement-cases/union-guards-nullish-and-object.test.js +0 -196
- package/dist/statements/statement-cases/union-guards-nullish-and-object.test.js.map +1 -1
- package/dist/statements/statement-cases/union-guards-predicate-and-truthy.test.js +15 -15
- package/dist/statements/statement-cases/union-guards-predicate-and-truthy.test.js.map +1 -1
- package/dist/statements/statement-cases/union-guards-remapped-a.test.js +7 -189
- package/dist/statements/statement-cases/union-guards-remapped-a.test.js.map +1 -1
- package/dist/statements/statement-cases/union-guards-remapped-b.test.js +7 -193
- package/dist/statements/statement-cases/union-guards-remapped-b.test.js.map +1 -1
- package/dist/test-ir-strict.d.ts +7 -0
- package/dist/test-ir-strict.d.ts.map +1 -0
- package/dist/test-ir-strict.js +9 -0
- package/dist/test-ir-strict.js.map +1 -0
- package/dist/type-assertion.test.js +5 -4
- package/dist/type-assertion.test.js.map +1 -1
- package/dist/types/emitter.d.ts.map +1 -1
- package/dist/types/emitter.js +7 -1
- package/dist/types/emitter.js.map +1 -1
- package/dist/types/intersections.d.ts +2 -2
- package/dist/types/intersections.d.ts.map +1 -1
- package/dist/types/intersections.js +26 -6
- package/dist/types/intersections.js.map +1 -1
- package/dist/types/parameters.d.ts.map +1 -1
- package/dist/types/parameters.js +30 -5
- package/dist/types/parameters.js.map +1 -1
- package/dist/types/reference-structural-signatures.d.ts.map +1 -1
- package/dist/types/reference-structural-signatures.js +3 -6
- package/dist/types/reference-structural-signatures.js.map +1 -1
- package/dist/types/references-cases/array-and-cross-module.test.js +2 -4
- package/dist/types/references-cases/array-and-cross-module.test.js.map +1 -1
- package/dist/types/references-cases/bindings-and-local.test.js +2 -4
- package/dist/types/references-cases/bindings-and-local.test.js.map +1 -1
- package/dist/types/references-cases/helpers.d.ts +3 -2
- package/dist/types/references-cases/helpers.d.ts.map +1 -1
- package/dist/types/references-cases/helpers.js +2 -1
- package/dist/types/references-cases/helpers.js.map +1 -1
- package/dist/types/references.d.ts.map +1 -1
- package/dist/types/references.js +21 -2
- package/dist/types/references.js.map +1 -1
- package/dist/types/unions-cases/basic-and-ordering.test.js +51 -0
- package/dist/types/unions-cases/basic-and-ordering.test.js.map +1 -1
- package/dist/types/unions.d.ts.map +1 -1
- package/dist/types/unions.js +17 -0
- package/dist/types/unions.js.map +1 -1
- package/dist/types.d.ts +3 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
- package/dist/core/semantic/js-value-types.d.ts +0 -5
- package/dist/core/semantic/js-value-types.d.ts.map +0 -1
- package/dist/core/semantic/js-value-types.js +0 -42
- package/dist/core/semantic/js-value-types.js.map +0 -1
- package/dist/core/semantic/type-resolution-cases/narrow-typeof.test.d.ts +0 -2
- package/dist/core/semantic/type-resolution-cases/narrow-typeof.test.d.ts.map +0 -1
- package/dist/core/semantic/type-resolution-cases/narrow-typeof.test.js +0 -98
- package/dist/core/semantic/type-resolution-cases/narrow-typeof.test.js.map +0 -1
- package/dist/expressions/calls/call-dynamic-import.d.ts +0 -11
- package/dist/expressions/calls/call-dynamic-import.d.ts.map +0 -1
- package/dist/expressions/calls/call-dynamic-import.js +0 -148
- package/dist/expressions/calls/call-dynamic-import.js.map +0 -1
|
@@ -1,32 +1,48 @@
|
|
|
1
|
-
import { isAwaitableIrType } from "@tsonic/frontend";
|
|
2
1
|
import { stableTypeKeyFromAst } from "../format/backend-ast/utils.js";
|
|
3
2
|
import { identifierType } from "../format/backend-ast/builders.js";
|
|
4
|
-
import { collectRuntimeUnionRawMembers, expandRuntimeUnionMembers, } from "./runtime-union-expansion.js";
|
|
5
|
-
import { areIrTypesEquivalent } from "./type-equivalence.js";
|
|
6
|
-
import { getRuntimeUnionMemberSortKey } from "./runtime-union-ordering.js";
|
|
7
3
|
import { resolveStructuralReferenceType } from "./structural-shape-matching.js";
|
|
8
|
-
import { resolveLocalTypeInfo, resolveTypeAlias
|
|
9
|
-
import { matchesSemanticExpectedType } from "./expected-type-matching.js";
|
|
10
|
-
import { isBroadObjectSlotType } from "./broad-object-types.js";
|
|
4
|
+
import { resolveLocalTypeInfo, resolveTypeAlias } from "./type-resolution.js";
|
|
11
5
|
import { findExactRuntimeUnionMemberIndices, findRuntimeUnionAssignableMemberIndices, findRuntimeUnionInstanceofMemberIndices, findRuntimeUnionMemberIndex, findRuntimeUnionMemberIndices, } from "./runtime-union-matching.js";
|
|
12
6
|
import { getOrRegisterRuntimeUnionCarrier } from "./runtime-union-registry.js";
|
|
13
|
-
import {
|
|
7
|
+
import { getContextualTypeVisitKey } from "./deterministic-type-keys.js";
|
|
8
|
+
import { buildRuntimeUnionFrame } from "./runtime-union-frame.js";
|
|
14
9
|
export { findExactRuntimeUnionMemberIndices, findRuntimeUnionAssignableMemberIndices, findRuntimeUnionInstanceofMemberIndices, findRuntimeUnionMemberIndex, findRuntimeUnionMemberIndices, };
|
|
10
|
+
export { buildRuntimeUnionFrame, getCanonicalRuntimeUnionMembers, } from "./runtime-union-frame.js";
|
|
15
11
|
export { getRuntimeUnionReferenceMembers, isRuntimeUnionTypeName, } from "./runtime-union-shared.js";
|
|
16
12
|
export const buildRuntimeUnionLayout = (type, context, emitTypeAst) => {
|
|
17
13
|
const layoutSourceType = type.kind === "referenceType" ? resolveTypeAlias(type, context) : type;
|
|
18
|
-
const
|
|
14
|
+
const layoutKey = layoutSourceType.kind === "unionType" &&
|
|
15
|
+
layoutSourceType.runtimeCarrierFamilyKey
|
|
16
|
+
? `carrier:${layoutSourceType.runtimeCarrierFamilyKey}`
|
|
17
|
+
: `type:${getContextualTypeVisitKey(layoutSourceType, context)}`;
|
|
18
|
+
if (context.activeRuntimeUnionLayoutKeys?.has(layoutKey)) {
|
|
19
|
+
return [undefined, context];
|
|
20
|
+
}
|
|
21
|
+
const activeRuntimeUnionLayoutKeys = new Set(context.activeRuntimeUnionLayoutKeys ?? []);
|
|
22
|
+
activeRuntimeUnionLayoutKeys.add(layoutKey);
|
|
23
|
+
const guardedContext = {
|
|
24
|
+
...context,
|
|
25
|
+
activeRuntimeUnionLayoutKeys,
|
|
26
|
+
};
|
|
27
|
+
const restoreLayoutContext = (nextContext) => nextContext.activeRuntimeUnionLayoutKeys ===
|
|
28
|
+
context.activeRuntimeUnionLayoutKeys
|
|
29
|
+
? nextContext
|
|
30
|
+
: {
|
|
31
|
+
...nextContext,
|
|
32
|
+
activeRuntimeUnionLayoutKeys: context.activeRuntimeUnionLayoutKeys,
|
|
33
|
+
};
|
|
34
|
+
const frame = buildRuntimeUnionFrame(layoutSourceType, guardedContext);
|
|
19
35
|
if (!frame) {
|
|
20
36
|
return [undefined, context];
|
|
21
37
|
}
|
|
22
38
|
const semanticMembers = frame.members;
|
|
23
|
-
const
|
|
24
|
-
layoutSourceType.
|
|
39
|
+
const hasCarrierSlotLayout = layoutSourceType.kind === "unionType" &&
|
|
40
|
+
layoutSourceType.runtimeUnionLayout === "carrierSlotOrder";
|
|
25
41
|
const orderedMembers = [];
|
|
26
|
-
const byAstKey =
|
|
42
|
+
const byAstKey = hasCarrierSlotLayout
|
|
27
43
|
? undefined
|
|
28
44
|
: new Map();
|
|
29
|
-
let currentContext =
|
|
45
|
+
let currentContext = guardedContext;
|
|
30
46
|
for (const member of semanticMembers) {
|
|
31
47
|
const carrierMember = resolveStructuralReferenceType(member, currentContext) ?? member;
|
|
32
48
|
const emissionContext = currentContext.preferResolvedLocalClrIdentity
|
|
@@ -40,7 +56,7 @@ export const buildRuntimeUnionLayout = (type, context, emitTypeAst) => {
|
|
|
40
56
|
...nextContext,
|
|
41
57
|
preferResolvedLocalClrIdentity: currentContext.preferResolvedLocalClrIdentity,
|
|
42
58
|
};
|
|
43
|
-
if (
|
|
59
|
+
if (hasCarrierSlotLayout) {
|
|
44
60
|
orderedMembers.push({ member, typeAst });
|
|
45
61
|
continue;
|
|
46
62
|
}
|
|
@@ -49,11 +65,11 @@ export const buildRuntimeUnionLayout = (type, context, emitTypeAst) => {
|
|
|
49
65
|
byAstKey.set(key, { member, typeAst });
|
|
50
66
|
}
|
|
51
67
|
}
|
|
52
|
-
const ordered =
|
|
68
|
+
const ordered = hasCarrierSlotLayout
|
|
53
69
|
? orderedMembers
|
|
54
70
|
: Array.from(byAstKey?.values() ?? []);
|
|
55
71
|
if (ordered.length < 2) {
|
|
56
|
-
return [undefined, currentContext];
|
|
72
|
+
return [undefined, restoreLayoutContext(currentContext)];
|
|
57
73
|
}
|
|
58
74
|
const carrierMetadata = layoutSourceType.kind === "unionType" &&
|
|
59
75
|
layoutSourceType.runtimeCarrierFamilyKey
|
|
@@ -67,7 +83,8 @@ export const buildRuntimeUnionLayout = (type, context, emitTypeAst) => {
|
|
|
67
83
|
const [sourceAliasMetadata, sourceAliasContext] = carrierMetadata
|
|
68
84
|
? buildSourceAliasCarrierMetadata(type, layoutSourceType, currentContext, emitTypeAst)
|
|
69
85
|
: [undefined, currentContext];
|
|
70
|
-
const
|
|
86
|
+
const layoutEntries = ordered;
|
|
87
|
+
const carrier = getOrRegisterRuntimeUnionCarrier(layoutEntries.map((entry) => entry.typeAst), sourceAliasContext.options.runtimeUnionRegistry, carrierMetadata
|
|
71
88
|
? {
|
|
72
89
|
...carrierMetadata,
|
|
73
90
|
...(sourceAliasMetadata?.typeParameters !== undefined
|
|
@@ -85,15 +102,17 @@ export const buildRuntimeUnionLayout = (type, context, emitTypeAst) => {
|
|
|
85
102
|
: undefined);
|
|
86
103
|
return [
|
|
87
104
|
{
|
|
88
|
-
members:
|
|
89
|
-
memberTypeAsts:
|
|
90
|
-
carrierTypeArgumentAsts:
|
|
91
|
-
|
|
92
|
-
|
|
105
|
+
members: layoutEntries.map((entry) => entry.member),
|
|
106
|
+
memberTypeAsts: layoutEntries.map((entry) => entry.typeAst),
|
|
107
|
+
carrierTypeArgumentAsts: carrier.typeParameters.length === 0
|
|
108
|
+
? []
|
|
109
|
+
: (sourceAliasMetadata?.typeArgumentAsts ??
|
|
110
|
+
layoutEntries.map((entry) => entry.typeAst)),
|
|
111
|
+
runtimeUnionArity: layoutEntries.length,
|
|
93
112
|
carrierName: carrier.name,
|
|
94
113
|
carrierFullName: carrier.fullName,
|
|
95
114
|
},
|
|
96
|
-
sourceAliasContext,
|
|
115
|
+
restoreLayoutContext(sourceAliasContext),
|
|
97
116
|
];
|
|
98
117
|
};
|
|
99
118
|
const buildSourceAliasCarrierMetadata = (requestedType, layoutSourceType, context, emitTypeAst) => {
|
|
@@ -129,7 +148,9 @@ const buildSourceAliasCarrierMetadata = (requestedType, layoutSourceType, contex
|
|
|
129
148
|
targetModulePublicLocalTypes?.has(aliasInfo.name)
|
|
130
149
|
? "public"
|
|
131
150
|
: "internal";
|
|
132
|
-
const aliasOwnerModule = [
|
|
151
|
+
const aliasOwnerModule = [
|
|
152
|
+
...(context.options.moduleMap?.values() ?? []),
|
|
153
|
+
].find((moduleInfo) => moduleInfo.namespace === aliasInfo.namespace &&
|
|
133
154
|
moduleInfo.localTypes?.has(aliasInfo.name));
|
|
134
155
|
const typeParameters = layoutSourceType.runtimeCarrierTypeParameters ??
|
|
135
156
|
aliasInfo.info.typeParameters;
|
|
@@ -177,6 +198,7 @@ const buildSourceAliasCarrierMetadata = (requestedType, layoutSourceType, contex
|
|
|
177
198
|
{
|
|
178
199
|
typeParameters,
|
|
179
200
|
typeArgumentAsts,
|
|
201
|
+
definitionMembers: definitionFrame.members,
|
|
180
202
|
definitionMemberTypeAsts,
|
|
181
203
|
accessModifier,
|
|
182
204
|
},
|
|
@@ -206,125 +228,4 @@ export const emitRuntimeCarrierTypeAst = (type, context, emitTypeAst) => {
|
|
|
206
228
|
const [typeAst, typeContext] = emitTypeAst(type, context);
|
|
207
229
|
return [typeAst, undefined, typeContext];
|
|
208
230
|
};
|
|
209
|
-
export const buildRuntimeUnionFrame = (type, context) => {
|
|
210
|
-
const frameSourceType = type.kind === "referenceType" ? resolveTypeAlias(type, context) : type;
|
|
211
|
-
const members = getCanonicalRuntimeUnionMembers(frameSourceType, context);
|
|
212
|
-
if (!members) {
|
|
213
|
-
return undefined;
|
|
214
|
-
}
|
|
215
|
-
if (frameSourceType.kind === "unionType" &&
|
|
216
|
-
shouldEraseRuntimeUnionToBroadObjectStorage(frameSourceType, members, context)) {
|
|
217
|
-
return undefined;
|
|
218
|
-
}
|
|
219
|
-
return {
|
|
220
|
-
members,
|
|
221
|
-
runtimeUnionArity: members.length,
|
|
222
|
-
};
|
|
223
|
-
};
|
|
224
|
-
const shouldEraseRuntimeUnionToBroadObjectStorage = (sourceType, runtimeMembers, context) => {
|
|
225
|
-
const split = splitRuntimeNullishUnionMembers(sourceType);
|
|
226
|
-
const nonNullishMembers = split?.nonNullishMembers ?? sourceType.types;
|
|
227
|
-
if (nonNullishMembers.length === 1) {
|
|
228
|
-
return isBroadObjectSlotType(nonNullishMembers[0], context);
|
|
229
|
-
}
|
|
230
|
-
if (runtimeMembers.some((member) => isAwaitableIrType(member))) {
|
|
231
|
-
return false;
|
|
232
|
-
}
|
|
233
|
-
return (runtimeMembers.length > 1 &&
|
|
234
|
-
runtimeMembers.some((member) => isBroadObjectSlotType(member, context)));
|
|
235
|
-
};
|
|
236
|
-
export const getCanonicalRuntimeUnionMembers = (type, context) => {
|
|
237
|
-
const canonicalSourceType = type.kind === "referenceType" ? resolveTypeAlias(type, context) : type;
|
|
238
|
-
const preserveRuntimeLayout = canonicalSourceType.kind === "unionType" &&
|
|
239
|
-
canonicalSourceType.preserveRuntimeLayout === true;
|
|
240
|
-
const activeAliases = canonicalSourceType.kind === "unionType" &&
|
|
241
|
-
canonicalSourceType.runtimeCarrierFamilyKey
|
|
242
|
-
? new Set([canonicalSourceType.runtimeCarrierFamilyKey])
|
|
243
|
-
: new Set();
|
|
244
|
-
const semanticMembers = preserveRuntimeLayout
|
|
245
|
-
? collectRuntimeUnionRawMembers(canonicalSourceType, context, activeAliases)
|
|
246
|
-
: expandRuntimeUnionMembers(canonicalSourceType, context, activeAliases);
|
|
247
|
-
if (semanticMembers.length < 2) {
|
|
248
|
-
return undefined;
|
|
249
|
-
}
|
|
250
|
-
if (preserveRuntimeLayout) {
|
|
251
|
-
return semanticMembers;
|
|
252
|
-
}
|
|
253
|
-
const mergeEquivalentRuntimeUnionMembers = (existing, candidate) => {
|
|
254
|
-
if (existing.kind !== "arrayType" || candidate.kind !== "arrayType") {
|
|
255
|
-
return candidate;
|
|
256
|
-
}
|
|
257
|
-
const existingSemanticElementType = existing.storageErasedElementType ?? existing.elementType;
|
|
258
|
-
const candidateSemanticElementType = candidate.storageErasedElementType ?? candidate.elementType;
|
|
259
|
-
const getSemanticArrayOwnerBreadth = (elementType) => {
|
|
260
|
-
const resolved = resolveTypeAlias(elementType, context);
|
|
261
|
-
return resolved.kind === "unionType" ? resolved.types.length : 1;
|
|
262
|
-
};
|
|
263
|
-
const candidateAcceptsExisting = matchesSemanticExpectedType(existingSemanticElementType, candidateSemanticElementType, context);
|
|
264
|
-
const existingAcceptsCandidate = matchesSemanticExpectedType(candidateSemanticElementType, existingSemanticElementType, context);
|
|
265
|
-
const candidateBreadth = getSemanticArrayOwnerBreadth(candidateSemanticElementType);
|
|
266
|
-
const existingBreadth = getSemanticArrayOwnerBreadth(existingSemanticElementType);
|
|
267
|
-
const preferredBase = candidateAcceptsExisting && !existingAcceptsCandidate
|
|
268
|
-
? candidate
|
|
269
|
-
: existingAcceptsCandidate && !candidateAcceptsExisting
|
|
270
|
-
? existing
|
|
271
|
-
: candidateBreadth !== existingBreadth
|
|
272
|
-
? candidateBreadth > existingBreadth
|
|
273
|
-
? candidate
|
|
274
|
-
: existing
|
|
275
|
-
: candidate.storageErasedElementType &&
|
|
276
|
-
!existing.storageErasedElementType
|
|
277
|
-
? candidate
|
|
278
|
-
: existing.storageErasedElementType &&
|
|
279
|
-
!candidate.storageErasedElementType
|
|
280
|
-
? existing
|
|
281
|
-
: (() => {
|
|
282
|
-
const candidateKey = tryContextualTypeIdentityKey(candidateSemanticElementType, context);
|
|
283
|
-
const existingKey = tryContextualTypeIdentityKey(existingSemanticElementType, context);
|
|
284
|
-
return candidateKey &&
|
|
285
|
-
existingKey &&
|
|
286
|
-
candidateKey.localeCompare(existingKey) < 0
|
|
287
|
-
? existing
|
|
288
|
-
: candidate;
|
|
289
|
-
})();
|
|
290
|
-
const preferredSemanticElementType = preferredBase === candidate
|
|
291
|
-
? candidateSemanticElementType
|
|
292
|
-
: existingSemanticElementType;
|
|
293
|
-
return preferredBase.storageErasedElementType ===
|
|
294
|
-
preferredSemanticElementType
|
|
295
|
-
? preferredBase
|
|
296
|
-
: {
|
|
297
|
-
...preferredBase,
|
|
298
|
-
storageErasedElementType: preferredSemanticElementType,
|
|
299
|
-
};
|
|
300
|
-
};
|
|
301
|
-
const deduped = [];
|
|
302
|
-
for (const member of semanticMembers) {
|
|
303
|
-
const existingIndex = deduped.findIndex((existing) => areIrTypesEquivalent(existing, member, context));
|
|
304
|
-
if (existingIndex < 0) {
|
|
305
|
-
deduped.push(member);
|
|
306
|
-
continue;
|
|
307
|
-
}
|
|
308
|
-
const existing = deduped[existingIndex];
|
|
309
|
-
if (existing) {
|
|
310
|
-
deduped[existingIndex] = mergeEquivalentRuntimeUnionMembers(existing, member);
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
return deduped
|
|
314
|
-
.map((member, index) => ({ member, index }))
|
|
315
|
-
.sort((left, right) => {
|
|
316
|
-
const leftKey = getRuntimeUnionMemberSortKey(left.member, context);
|
|
317
|
-
const rightKey = getRuntimeUnionMemberSortKey(right.member, context);
|
|
318
|
-
if (leftKey !== rightKey) {
|
|
319
|
-
return leftKey.localeCompare(rightKey);
|
|
320
|
-
}
|
|
321
|
-
const leftStableKey = tryContextualTypeIdentityKey(left.member, context);
|
|
322
|
-
const rightStableKey = tryContextualTypeIdentityKey(right.member, context);
|
|
323
|
-
if (leftStableKey && rightStableKey && leftStableKey !== rightStableKey) {
|
|
324
|
-
return leftStableKey.localeCompare(rightStableKey);
|
|
325
|
-
}
|
|
326
|
-
return left.index - right.index;
|
|
327
|
-
})
|
|
328
|
-
.map(({ member }) => member);
|
|
329
|
-
};
|
|
330
231
|
//# sourceMappingURL=runtime-unions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-unions.js","sourceRoot":"","sources":["../../../src/core/semantic/runtime-unions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-unions.js","sourceRoot":"","sources":["../../../src/core/semantic/runtime-unions.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { emitTypeAst } from "../../types/emitter.js";
|
|
|
7
7
|
import { createContext } from "../../emitter-types/context.js";
|
|
8
8
|
import { identifierExpression } from "../format/backend-ast/builders.js";
|
|
9
9
|
import { printType } from "../format/backend-ast/printer-precedence.js";
|
|
10
|
+
import { semanticTypeMap, storageCarrierMap, } from "../../types.js";
|
|
10
11
|
import { substituteTypeArgs } from "./type-resolution.js";
|
|
11
12
|
import { createRuntimeUnionRegistry } from "./runtime-union-registry.js";
|
|
12
13
|
const property = (name, type) => ({
|
|
@@ -59,7 +60,9 @@ describe("runtime-unions", () => {
|
|
|
59
60
|
clrName: "Fixture.Channels.repo.Item",
|
|
60
61
|
assemblyName: "@fixture/channels",
|
|
61
62
|
},
|
|
62
|
-
structuralMembers: [
|
|
63
|
+
structuralMembers: [
|
|
64
|
+
property("id", { kind: "primitiveType", name: "int" }),
|
|
65
|
+
],
|
|
63
66
|
};
|
|
64
67
|
const domainItem = {
|
|
65
68
|
kind: "referenceType",
|
|
@@ -71,7 +74,9 @@ describe("runtime-unions", () => {
|
|
|
71
74
|
clrName: "Fixture.Channels.domain.Item",
|
|
72
75
|
assemblyName: "@fixture/channels",
|
|
73
76
|
},
|
|
74
|
-
structuralMembers: [
|
|
77
|
+
structuralMembers: [
|
|
78
|
+
property("id", { kind: "primitiveType", name: "int" }),
|
|
79
|
+
],
|
|
75
80
|
};
|
|
76
81
|
const indices = findExactRuntimeUnionMemberIndices([repoItem], domainItem, createContext({ rootNamespace: "Fixture" }));
|
|
77
82
|
expect(indices).to.deep.equal([]);
|
|
@@ -305,7 +310,7 @@ describe("runtime-unions", () => {
|
|
|
305
310
|
it("preserves explicit duplicate runtime carrier slots when requested", () => {
|
|
306
311
|
const duplicatedCarrier = {
|
|
307
312
|
kind: "unionType",
|
|
308
|
-
|
|
313
|
+
runtimeUnionLayout: "carrierSlotOrder",
|
|
309
314
|
types: [
|
|
310
315
|
{
|
|
311
316
|
kind: "arrayType",
|
|
@@ -438,8 +443,8 @@ describe("runtime-unions", () => {
|
|
|
438
443
|
};
|
|
439
444
|
const context = {
|
|
440
445
|
...createContext({ rootNamespace: "Test" }),
|
|
441
|
-
localSemanticTypes:
|
|
442
|
-
localValueTypes:
|
|
446
|
+
localSemanticTypes: semanticTypeMap([["value", effectiveType]]),
|
|
447
|
+
localValueTypes: storageCarrierMap([["value", sourceCarrier]]),
|
|
443
448
|
};
|
|
444
449
|
const narrowedMembers = resolveNarrowedUnionMembers("value", effectiveType, context);
|
|
445
450
|
expect(narrowedMembers?.members.map((member) => {
|
|
@@ -510,8 +515,8 @@ describe("runtime-unions", () => {
|
|
|
510
515
|
},
|
|
511
516
|
],
|
|
512
517
|
]),
|
|
513
|
-
localSemanticTypes:
|
|
514
|
-
localValueTypes:
|
|
518
|
+
localSemanticTypes: semanticTypeMap([["value", effectiveType]]),
|
|
519
|
+
localValueTypes: storageCarrierMap([["value", carrierReference]]),
|
|
515
520
|
};
|
|
516
521
|
const narrowedMembers = resolveNarrowedUnionMembers("value", effectiveType, context);
|
|
517
522
|
expect(narrowedMembers?.members.map((member) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-unions.test.js","sourceRoot":"","sources":["../../../src/core/semantic/runtime-unions.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-unions.test.js","sourceRoot":"","sources":["../../../src/core/semantic/runtime-unions.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-union-members.d.ts","sourceRoot":"","sources":["../../../src/core/semantic/semantic-union-members.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKrD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,MAAM,EACZ,SAAS,cAAc,KACtB,SAAS,MAAM,EAAE,GAAG,SAkBtB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,GACvC,SAAS,SAAS,MAAM,EAAE,EAC1B,QAAQ,MAAM,EACd,SAAS,cAAc,KACtB,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"semantic-union-members.d.ts","sourceRoot":"","sources":["../../../src/core/semantic/semantic-union-members.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKrD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,MAAM,EACZ,SAAS,cAAc,KACtB,SAAS,MAAM,EAAE,GAAG,SAkBtB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,GACvC,SAAS,SAAS,MAAM,EAAE,EAC1B,QAAQ,MAAM,EACd,SAAS,cAAc,KACtB,MAAM,GAAG,SAuCX,CAAC"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* stable regardless of whether moduleMap / typeAliasIndex are populated.
|
|
19
19
|
*/
|
|
20
20
|
import { stripNullish } from "./type-resolution.js";
|
|
21
|
-
import { getRuntimeUnionReferenceMembers } from "./runtime-
|
|
21
|
+
import { getRuntimeUnionReferenceMembers } from "./runtime-union-shared.js";
|
|
22
22
|
import { areIrTypesEquivalent } from "./type-equivalence.js";
|
|
23
23
|
/**
|
|
24
24
|
* Discover the semantic union members of a type.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-union-members.js","sourceRoot":"","sources":["../../../src/core/semantic/semantic-union-members.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"semantic-union-members.js","sourceRoot":"","sources":["../../../src/core/semantic/semantic-union-members.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-erased-adaptation.d.ts","sourceRoot":"","sources":["../../../src/core/semantic/storage-erased-adaptation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAM1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"storage-erased-adaptation.d.ts","sourceRoot":"","sources":["../../../src/core/semantic/storage-erased-adaptation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAM1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AA2N9D,eAAO,MAAM,0BAA0B,GAAI,MAAM;IAC/C,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC,KAAG,CAAC,mBAAmB,EAAE,cAAc,CAAC,GAAG,SAmH3C,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { astTypeMatchesClrIdentity, sameTypeAstSurface, stripNullableTypeAst, } from "../format/backend-ast/utils.js";
|
|
2
2
|
import { buildRuntimeUnionLayout } from "./runtime-unions.js";
|
|
3
3
|
import { matchesExpectedEmissionType, matchesSemanticExpectedType, requiresValueTypeMaterialization, } from "./expected-type-matching.js";
|
|
4
|
+
import { willCarryAsRuntimeUnion } from "./union-semantics.js";
|
|
4
5
|
import { tryBuildRuntimeReificationPlan } from "./runtime-reification.js";
|
|
5
6
|
import { getArrayLikeElementType, isDefinitelyValueType, resolveTypeAlias, splitRuntimeNullishUnionMembers, stripNullish, } from "./type-resolution.js";
|
|
6
7
|
import { materializeDirectNarrowingAst } from "./materialized-narrowing.js";
|
|
@@ -22,15 +23,7 @@ const requiresRuntimeUnionArrayElementMaterialization = (storageType, expectedTy
|
|
|
22
23
|
targetTypeContext,
|
|
23
24
|
];
|
|
24
25
|
};
|
|
25
|
-
const isObjectTypeAst = (typeAst) =>
|
|
26
|
-
const concreteTypeAst = stripNullableTypeAst(typeAst);
|
|
27
|
-
if (concreteTypeAst.kind === "predefinedType") {
|
|
28
|
-
return concreteTypeAst.keyword === "object";
|
|
29
|
-
}
|
|
30
|
-
const identifierName = getIdentifierTypeName(concreteTypeAst);
|
|
31
|
-
return (identifierName === "System.Object" ||
|
|
32
|
-
identifierName === "global::System.Object");
|
|
33
|
-
};
|
|
26
|
+
const isObjectTypeAst = (typeAst) => astTypeMatchesClrIdentity(typeAst, ["System.Object"]);
|
|
34
27
|
const isBroadStorageType = (type, context) => {
|
|
35
28
|
const resolved = resolveTypeAlias(stripNullish(type), context, {
|
|
36
29
|
preserveObjectTypeAliases: true,
|
|
@@ -153,7 +146,11 @@ export const adaptStorageErasedValueAst = (opts) => {
|
|
|
153
146
|
!needsArrayElementMaterialization) {
|
|
154
147
|
return undefined;
|
|
155
148
|
}
|
|
156
|
-
|
|
149
|
+
const storageMatchesExpectedEmission = matchesExpectedEmissionType(storageType, expectedType, needsPlanContext);
|
|
150
|
+
const expectedRequiresRuntimeUnionMaterialization = willCarryAsRuntimeUnion(expectedType, needsPlanContext) &&
|
|
151
|
+
!willCarryAsRuntimeUnion(storageType, needsPlanContext);
|
|
152
|
+
if (storageMatchesExpectedEmission &&
|
|
153
|
+
!expectedRequiresRuntimeUnionMaterialization &&
|
|
157
154
|
!needsArrayElementMaterialization) {
|
|
158
155
|
return [valueAst, needsPlanContext];
|
|
159
156
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-erased-adaptation.js","sourceRoot":"","sources":["../../../src/core/semantic/storage-erased-adaptation.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"storage-erased-adaptation.js","sourceRoot":"","sources":["../../../src/core/semantic/storage-erased-adaptation.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,+BAA+B,EAC/B,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE,MAAM,+CAA+C,GAAG,CACtD,WAAmB,EACnB,YAAoB,EACpB,OAAuB,EACvB,WAA0B,EACC,EAAE;IAC7B,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACxE,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACzE,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7C,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC,GAAG,uBAAuB,CACjE,iBAAiB,EACjB,OAAO,EACP,WAAW,CACZ,CAAC;IACF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,GAAG,WAAW,CAC3D,iBAAiB,EACjB,mBAAmB,CACpB,CAAC;IACF,MAAM,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,GAAG,WAAW,CAC3D,iBAAiB,EACjB,iBAAiB,CAClB,CAAC;IAEF,OAAO;QACL,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;QAC/D,iBAAiB;KAClB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACtB,OAAmD,EAC1C,EAAE,CAAC,yBAAyB,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;AAEpE,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,OAAuB,EAAW,EAAE;IAC5E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;QAC7D,yBAAyB,EAAE,IAAI;KAChC,CAAC,CAAC;IACH,OAAO,CACL,QAAQ,CAAC,IAAI,KAAK,aAAa;QAC/B,QAAQ,CAAC,IAAI,KAAK,SAAS;QAC3B,QAAQ,CAAC,IAAI,KAAK,YAAY;QAC9B,CAAC,QAAQ,CAAC,IAAI,KAAK,eAAe,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAClE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAC3C,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,OAAO;IACP,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,MAAM;IACN,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,cAAc;IACd,sBAAsB;IACtB,aAAa;IACb,qBAAqB;IACrB,cAAc;IACd,sBAAsB;IACtB,eAAe;IACf,uBAAuB;IACvB,cAAc;IACd,sBAAsB;IACtB,eAAe;IACf,uBAAuB;IACvB,cAAc;IACd,sBAAsB;IACtB,eAAe;IACf,uBAAuB;IACvB,eAAe;IACf,uBAAuB;IACvB,gBAAgB;IAChB,wBAAwB;IACxB,eAAe;IACf,uBAAuB;IACvB,eAAe;IACf,uBAAuB;IACvB,gBAAgB;IAChB,wBAAwB;IACxB,aAAa;IACb,qBAAqB;CACtB,CAAC,CAAC;AAEH,MAAM,4BAA4B,GAAG,CACnC,IAAY,EACZ,OAAuB,EACd,EAAE;IACX,IAAI,+BAA+B,CAAC,IAAI,CAAC,EAAE,iBAAiB,IAAI,KAAK,EAAE,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/D,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACpC,OAAO,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC;IAC5C,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACtC,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC;IAC/D,CAAC;IACD,OAAO,CACL,QAAQ,CAAC,IAAI,KAAK,eAAe;QACjC,CAAC,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC9C,2BAA2B,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CACjE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gCAAgC,GAAG,CACvC,QAA6B,EAC7B,WAAmB,EACnB,YAAoB,EACpB,OAAuB,EACvB,WAA0B,EACyB,EAAE;IACrD,IACE,CAAC,4BAA4B,CAAC,WAAW,EAAE,OAAO,CAAC;QACnD,CAAC,4BAA4B,CAAC,YAAY,EAAE,OAAO,CAAC,EACpD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,GAAG,WAAW,CACtD,WAAW,EACX,OAAO,CACR,CAAC;IACF,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,GAAG,WAAW,CACxD,YAAY,EACZ,kBAAkB,CACnB,CAAC;IACF,IACE,kBAAkB,CAChB,oBAAoB,CAAC,cAAc,CAAC,EACpC,oBAAoB,CAAC,eAAe,CAAC,CACtC,EACD,CAAC;QACD,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACL;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,eAAe;YACrB,UAAU,EAAE,+CAA+C,CACzD,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,mBAAmB,CACpB;SACF;QACD,mBAAmB;KACpB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,+CAA+C,GAAG,CACtD,QAA6B,EAC7B,WAAmB,EACnB,YAAoB,EACpB,OAAuB,EACF,EAAE;IACvB,IACE,QAAQ,CAAC,IAAI,KAAK,gBAAgB;QAClC,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,CAAC,qBAAqB,CAAC,YAAY,CAAC;QACpC,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,EACxC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,QAAQ,CAAC,UAAU,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAQ1C,EAAqD,EAAE;IACtD,MAAM,EACJ,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,OAAO,EACP,WAAW,EACX,iBAAiB,GAAG,IAAI,GACzB,GAAG,IAAI,CAAC;IAET,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC;QACnD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,gCAAgC,EAAE,gBAAgB,CAAC,GACxD,+CAA+C,CAC7C,WAAW,EACX,YAAY,EACZ,OAAO,EACP,WAAW,CACZ,CAAC;IACJ,IACE,CAAC,2BAA2B,CAC1B,YAAY,EACZ,YAAY,EACZ,gBAAgB,CACjB;QACD,CAAC,gCAAgC,EACjC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,8BAA8B,GAAG,2BAA2B,CAChE,WAAW,EACX,YAAY,EACZ,gBAAgB,CACjB,CAAC;IACF,MAAM,2CAA2C,GAC/C,uBAAuB,CAAC,YAAY,EAAE,gBAAgB,CAAC;QACvD,CAAC,uBAAuB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC1D,IACE,8BAA8B;QAC9B,CAAC,2CAA2C;QAC5C,CAAC,gCAAgC,EACjC,CAAC;QACD,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IACtC,CAAC;IAED,IACE,gCAAgC,CAC9B,WAAW,EACX,YAAY,EACZ,gBAAgB,CACjB,EACD,CAAC;QACD,MAAM,YAAY,GAAG,6BAA6B,CAChD,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,gBAAgB,CACjB,CAAC;QACF,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,MAAM,mBAAmB,GAAG,gCAAgC,CAC1D,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,WAAW,CACZ,CAAC;IACF,IAAI,mBAAmB,EAAE,CAAC;QACxB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,MAAM,IAAI,GAAG,8BAA8B,CACzC,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,WAAW,CACZ,CAAC;IACF,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,GAAG,WAAW,CACxD,YAAY,EACZ,OAAO,CACR,CAAC;IACF,IACE,QAAQ,CAAC,IAAI,KAAK,gBAAgB;QAClC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,EAClD,CAAC;QACD,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACL;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,eAAe;YACrB,UAAU,EAAE,+CAA+C,CACzD,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,mBAAmB,CACpB;SACF;QACD,mBAAmB;KACpB,CAAC;AACJ,CAAC,CAAC"}
|