@tsonic/emitter 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/adapter-generator.d.ts +5 -15
- package/dist/adapter-generator.d.ts.map +1 -1
- package/dist/adapter-generator.js +60 -53
- package/dist/adapter-generator.js.map +1 -1
- package/dist/contracts/backend-adapter.d.ts +36 -0
- package/dist/contracts/backend-adapter.d.ts.map +1 -0
- package/dist/contracts/backend-adapter.js +9 -0
- package/dist/contracts/backend-adapter.js.map +1 -0
- package/dist/contracts/emitter-contract.d.ts +54 -0
- package/dist/contracts/emitter-contract.d.ts.map +1 -0
- package/dist/contracts/emitter-contract.js +8 -0
- package/dist/contracts/emitter-contract.js.map +1 -0
- package/dist/contracts/import-classifier.d.ts +36 -0
- package/dist/contracts/import-classifier.d.ts.map +1 -0
- package/dist/contracts/import-classifier.js +9 -0
- package/dist/contracts/import-classifier.js.map +1 -0
- package/dist/core/{attributes.d.ts → format/attributes.d.ts} +9 -14
- package/dist/core/format/attributes.d.ts.map +1 -0
- package/dist/core/format/attributes.js +190 -0
- package/dist/core/format/attributes.js.map +1 -0
- package/dist/core/format/attributes.test.d.ts.map +1 -0
- package/dist/core/{attributes.test.js → format/attributes.test.js} +70 -32
- package/dist/core/format/attributes.test.js.map +1 -0
- package/dist/core/format/backend-ast/index.d.ts +7 -0
- package/dist/core/format/backend-ast/index.d.ts.map +1 -0
- package/dist/core/format/backend-ast/index.js +6 -0
- package/dist/core/format/backend-ast/index.js.map +1 -0
- package/dist/core/format/backend-ast/printer.d.ts +33 -0
- package/dist/core/format/backend-ast/printer.d.ts.map +1 -0
- package/dist/core/format/backend-ast/printer.js +1151 -0
- package/dist/core/format/backend-ast/printer.js.map +1 -0
- package/dist/core/format/backend-ast/types.d.ts +504 -0
- package/dist/core/format/backend-ast/types.d.ts.map +1 -0
- package/dist/core/format/backend-ast/types.js +13 -0
- package/dist/core/format/backend-ast/types.js.map +1 -0
- package/dist/core/format/backend-ast/utils.d.ts +26 -0
- package/dist/core/format/backend-ast/utils.d.ts.map +1 -0
- package/dist/core/format/backend-ast/utils.js +65 -0
- package/dist/core/format/backend-ast/utils.js.map +1 -0
- package/dist/core/{exports.d.ts → format/exports.d.ts} +2 -2
- package/dist/core/format/exports.d.ts.map +1 -0
- package/dist/core/format/exports.js +22 -0
- package/dist/core/format/exports.js.map +1 -0
- package/dist/core/format/index.d.ts +9 -0
- package/dist/core/format/index.d.ts.map +1 -0
- package/dist/core/format/index.js +9 -0
- package/dist/core/format/index.js.map +1 -0
- package/dist/core/{local-names.d.ts → format/local-names.d.ts} +1 -1
- package/dist/core/format/local-names.d.ts.map +1 -0
- package/dist/core/{local-names.js → format/local-names.js} +1 -1
- package/dist/core/format/local-names.js.map +1 -0
- package/dist/core/format/module-emitter/assembly.d.ts +27 -0
- package/dist/core/format/module-emitter/assembly.d.ts.map +1 -0
- package/dist/core/format/module-emitter/assembly.js +44 -0
- package/dist/core/format/module-emitter/assembly.js.map +1 -0
- package/dist/core/{module-emitter → format/module-emitter}/header.d.ts +1 -1
- package/dist/core/format/module-emitter/header.d.ts.map +1 -0
- package/dist/core/{module-emitter → format/module-emitter}/header.js +1 -1
- package/dist/core/format/module-emitter/header.js.map +1 -0
- package/dist/core/format/module-emitter/index.d.ts.map +1 -0
- package/dist/core/format/module-emitter/index.js.map +1 -0
- package/dist/core/format/module-emitter/namespace.d.ts +21 -0
- package/dist/core/format/module-emitter/namespace.d.ts.map +1 -0
- package/dist/core/format/module-emitter/namespace.js +58 -0
- package/dist/core/format/module-emitter/namespace.js.map +1 -0
- package/dist/core/{module-emitter → format/module-emitter}/orchestrator.d.ts +1 -1
- package/dist/core/format/module-emitter/orchestrator.d.ts.map +1 -0
- package/dist/core/{module-emitter → format/module-emitter}/orchestrator.js +19 -19
- package/dist/core/format/module-emitter/orchestrator.js.map +1 -0
- package/dist/core/format/module-emitter/separation.d.ts.map +1 -0
- package/dist/core/format/module-emitter/separation.js.map +1 -0
- package/dist/core/{module-emitter → format/module-emitter}/static-container.d.ts +8 -3
- package/dist/core/format/module-emitter/static-container.d.ts.map +1 -0
- package/dist/core/format/module-emitter/static-container.js +202 -0
- package/dist/core/format/module-emitter/static-container.js.map +1 -0
- package/dist/core/format/module-emitter.d.ts.map +1 -0
- package/dist/core/format/module-emitter.js.map +1 -0
- package/dist/core/{options.d.ts → format/options.d.ts} +1 -1
- package/dist/core/format/options.d.ts.map +1 -0
- package/dist/core/format/options.js.map +1 -0
- package/dist/core/index.d.ts +2 -7
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -7
- package/dist/core/index.js.map +1 -1
- package/dist/core/semantic/boolean-context.d.ts +44 -0
- package/dist/core/semantic/boolean-context.d.ts.map +1 -0
- package/dist/core/semantic/boolean-context.js +717 -0
- package/dist/core/semantic/boolean-context.js.map +1 -0
- package/dist/core/semantic/boolean-context.test.d.ts.map +1 -0
- package/dist/core/{boolean-context.test.js → semantic/boolean-context.test.js} +86 -109
- package/dist/core/semantic/boolean-context.test.js.map +1 -0
- package/dist/core/{imports.d.ts → semantic/imports.d.ts} +1 -5
- package/dist/core/semantic/imports.d.ts.map +1 -0
- package/dist/core/{imports.js → semantic/imports.js} +56 -74
- package/dist/core/semantic/imports.js.map +1 -0
- package/dist/core/semantic/imports.test.d.ts.map +1 -0
- package/dist/core/semantic/imports.test.js +229 -0
- package/dist/core/semantic/imports.test.js.map +1 -0
- package/dist/core/semantic/index.d.ts +15 -0
- package/dist/core/semantic/index.d.ts.map +1 -0
- package/dist/core/semantic/index.js +15 -0
- package/dist/core/semantic/index.js.map +1 -0
- package/dist/core/{local-types.d.ts → semantic/local-types.d.ts} +1 -1
- package/dist/core/semantic/local-types.d.ts.map +1 -0
- package/dist/core/semantic/local-types.js.map +1 -0
- package/dist/core/{module-map.d.ts → semantic/module-map.d.ts} +1 -1
- package/dist/core/semantic/module-map.d.ts.map +1 -0
- package/dist/core/semantic/module-map.js.map +1 -0
- package/dist/core/semantic/module-map.test.d.ts.map +1 -0
- package/dist/core/semantic/module-map.test.js.map +1 -0
- package/dist/core/semantic/naming-collisions.d.ts.map +1 -0
- package/dist/core/{naming-collisions.js → semantic/naming-collisions.js} +1 -1
- package/dist/core/semantic/naming-collisions.js.map +1 -0
- package/dist/core/{type-alias-index.d.ts → semantic/type-alias-index.d.ts} +1 -1
- package/dist/core/semantic/type-alias-index.d.ts.map +1 -0
- package/dist/core/semantic/type-alias-index.js.map +1 -0
- package/dist/core/semantic/type-compatibility.d.ts.map +1 -0
- package/dist/core/semantic/type-compatibility.js.map +1 -0
- package/dist/core/{type-member-index.d.ts → semantic/type-member-index.d.ts} +1 -1
- package/dist/core/semantic/type-member-index.d.ts.map +1 -0
- package/dist/core/semantic/type-member-index.js.map +1 -0
- package/dist/core/semantic/type-params.d.ts.map +1 -0
- package/dist/core/semantic/type-params.js.map +1 -0
- package/dist/core/{type-resolution.d.ts → semantic/type-resolution.d.ts} +3 -6
- package/dist/core/semantic/type-resolution.d.ts.map +1 -0
- package/dist/core/{type-resolution.js → semantic/type-resolution.js} +15 -25
- package/dist/core/semantic/type-resolution.js.map +1 -0
- package/dist/core/semantic/type-resolution.test.d.ts.map +1 -0
- package/dist/core/{type-resolution.test.js → semantic/type-resolution.test.js} +11 -19
- package/dist/core/semantic/type-resolution.test.js.map +1 -0
- package/dist/core/semantic/unsafe.d.ts.map +1 -0
- package/dist/core/semantic/unsafe.js.map +1 -0
- package/dist/emitter-types/core.d.ts +6 -12
- package/dist/emitter-types/core.d.ts.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.map +1 -1
- package/dist/emitter.d.ts +1 -1
- package/dist/emitter.d.ts.map +1 -1
- package/dist/emitter.js +9 -8
- package/dist/emitter.js.map +1 -1
- package/dist/expression-emitter.d.ts +10 -5
- package/dist/expression-emitter.d.ts.map +1 -1
- package/dist/expression-emitter.js +333 -117
- package/dist/expression-emitter.js.map +1 -1
- package/dist/expressions/access.d.ts +4 -3
- package/dist/expressions/access.d.ts.map +1 -1
- package/dist/expressions/access.js +252 -102
- package/dist/expressions/access.js.map +1 -1
- package/dist/expressions/calls/call-analysis.d.ts +86 -0
- package/dist/expressions/calls/call-analysis.d.ts.map +1 -0
- package/dist/expressions/calls/call-analysis.js +284 -0
- package/dist/expressions/calls/call-analysis.js.map +1 -0
- package/dist/expressions/calls/call-emitter.d.ts +13 -0
- package/dist/expressions/calls/call-emitter.d.ts.map +1 -0
- package/dist/expressions/calls/call-emitter.js +1048 -0
- package/dist/expressions/calls/call-emitter.js.map +1 -0
- package/dist/expressions/calls/new-emitter.d.ts +13 -0
- package/dist/expressions/calls/new-emitter.d.ts.map +1 -0
- package/dist/expressions/calls/new-emitter.js +641 -0
- package/dist/expressions/calls/new-emitter.js.map +1 -0
- package/dist/expressions/calls.d.ts +2 -14
- package/dist/expressions/calls.d.ts.map +1 -1
- package/dist/expressions/calls.js +2 -909
- package/dist/expressions/calls.js.map +1 -1
- package/dist/expressions/collections.d.ts +6 -16
- package/dist/expressions/collections.d.ts.map +1 -1
- package/dist/expressions/collections.js +318 -217
- package/dist/expressions/collections.js.map +1 -1
- package/dist/expressions/functions.d.ts +6 -5
- package/dist/expressions/functions.d.ts.map +1 -1
- package/dist/expressions/functions.js +57 -62
- package/dist/expressions/functions.js.map +1 -1
- package/dist/expressions/identifiers.d.ts +11 -6
- package/dist/expressions/identifiers.d.ts.map +1 -1
- package/dist/expressions/identifiers.js +76 -25
- package/dist/expressions/identifiers.js.map +1 -1
- package/dist/expressions/index.d.ts +1 -1
- package/dist/expressions/index.d.ts.map +1 -1
- package/dist/expressions/index.js +1 -1
- package/dist/expressions/index.js.map +1 -1
- package/dist/expressions/index.test.js +605 -0
- package/dist/expressions/index.test.js.map +1 -1
- package/dist/expressions/literals.d.ts +4 -3
- package/dist/expressions/literals.d.ts.map +1 -1
- package/dist/expressions/literals.js +25 -17
- package/dist/expressions/literals.js.map +1 -1
- package/dist/expressions/literals.test.js +18 -18
- package/dist/expressions/literals.test.js.map +1 -1
- package/dist/expressions/operators/assignment-emitter.d.ts +16 -0
- package/dist/expressions/operators/assignment-emitter.d.ts.map +1 -0
- package/dist/expressions/operators/assignment-emitter.js +118 -0
- package/dist/expressions/operators/assignment-emitter.js.map +1 -0
- package/dist/expressions/operators/binary-emitter.d.ts +33 -0
- package/dist/expressions/operators/binary-emitter.d.ts.map +1 -0
- package/dist/expressions/operators/binary-emitter.js +398 -0
- package/dist/expressions/operators/binary-emitter.js.map +1 -0
- package/dist/expressions/operators/conditional-emitter.d.ts +17 -0
- package/dist/expressions/operators/conditional-emitter.d.ts.map +1 -0
- package/dist/expressions/operators/conditional-emitter.js +306 -0
- package/dist/expressions/operators/conditional-emitter.js.map +1 -0
- package/dist/expressions/operators/helpers.d.ts +37 -0
- package/dist/expressions/operators/helpers.d.ts.map +1 -0
- package/dist/expressions/operators/helpers.js +136 -0
- package/dist/expressions/operators/helpers.js.map +1 -0
- package/dist/expressions/operators/logical-emitter.d.ts +23 -0
- package/dist/expressions/operators/logical-emitter.d.ts.map +1 -0
- package/dist/expressions/operators/logical-emitter.js +73 -0
- package/dist/expressions/operators/logical-emitter.js.map +1 -0
- package/dist/expressions/operators/unary-emitter.d.ts +30 -0
- package/dist/expressions/operators/unary-emitter.d.ts.map +1 -0
- package/dist/expressions/operators/unary-emitter.js +244 -0
- package/dist/expressions/operators/unary-emitter.js.map +1 -0
- package/dist/expressions/operators.d.ts +5 -81
- package/dist/expressions/operators.d.ts.map +1 -1
- package/dist/expressions/operators.js +5 -949
- package/dist/expressions/operators.js.map +1 -1
- package/dist/expressions/other.d.ts +15 -11
- package/dist/expressions/other.d.ts.map +1 -1
- package/dist/expressions/other.js +51 -36
- package/dist/expressions/other.js.map +1 -1
- package/dist/expressions/precedence.test.js +1 -1
- package/dist/expressions/precedence.test.js.map +1 -1
- package/dist/generator-exchange.d.ts +10 -3
- package/dist/generator-exchange.d.ts.map +1 -1
- package/dist/generator-exchange.js +57 -54
- package/dist/generator-exchange.js.map +1 -1
- package/dist/generator-wrapper.d.ts +17 -65
- package/dist/generator-wrapper.d.ts.map +1 -1
- package/dist/generator-wrapper.js +396 -220
- package/dist/generator-wrapper.js.map +1 -1
- package/dist/generator-wrapper.test.js +22 -14
- package/dist/generator-wrapper.test.js.map +1 -1
- package/dist/integration.test.js +169 -1
- package/dist/integration.test.js.map +1 -1
- package/dist/patterns.d.ts +18 -88
- package/dist/patterns.d.ts.map +1 -1
- package/dist/patterns.js +540 -304
- package/dist/patterns.js.map +1 -1
- package/dist/patterns.test.js +5 -4
- package/dist/patterns.test.js.map +1 -1
- package/dist/specialization/generation.d.ts +7 -3
- package/dist/specialization/generation.d.ts.map +1 -1
- package/dist/specialization/generation.js +31 -15
- package/dist/specialization/generation.js.map +1 -1
- package/dist/specialization/type-aliases.test.js +47 -2
- package/dist/specialization/type-aliases.test.js.map +1 -1
- package/dist/statement-emitter.d.ts +15 -4
- package/dist/statement-emitter.d.ts.map +1 -1
- package/dist/statement-emitter.js +54 -47
- package/dist/statement-emitter.js.map +1 -1
- package/dist/statements/blocks.d.ts +24 -16
- package/dist/statements/blocks.d.ts.map +1 -1
- package/dist/statements/blocks.js +242 -65
- package/dist/statements/blocks.js.map +1 -1
- package/dist/statements/classes/index.d.ts +1 -1
- package/dist/statements/classes/index.d.ts.map +1 -1
- package/dist/statements/classes/index.js +1 -1
- package/dist/statements/classes/index.js.map +1 -1
- package/dist/statements/classes/inline-types.d.ts +4 -3
- package/dist/statements/classes/inline-types.d.ts.map +1 -1
- package/dist/statements/classes/inline-types.js +21 -21
- package/dist/statements/classes/inline-types.js.map +1 -1
- package/dist/statements/classes/members/constructors.d.ts +4 -3
- package/dist/statements/classes/members/constructors.d.ts.map +1 -1
- package/dist/statements/classes/members/constructors.js +57 -58
- package/dist/statements/classes/members/constructors.js.map +1 -1
- package/dist/statements/classes/members/methods.d.ts +4 -3
- package/dist/statements/classes/members/methods.d.ts.map +1 -1
- package/dist/statements/classes/members/methods.js +106 -101
- package/dist/statements/classes/members/methods.js.map +1 -1
- package/dist/statements/classes/members/orchestrator.d.ts +4 -3
- package/dist/statements/classes/members/orchestrator.d.ts.map +1 -1
- package/dist/statements/classes/members/orchestrator.js +2 -2
- package/dist/statements/classes/members/orchestrator.js.map +1 -1
- package/dist/statements/classes/members/properties.d.ts +4 -3
- package/dist/statements/classes/members/properties.d.ts.map +1 -1
- package/dist/statements/classes/members/properties.js +105 -88
- package/dist/statements/classes/members/properties.js.map +1 -1
- package/dist/statements/classes/members/shadowing.test.js +7 -2
- package/dist/statements/classes/members/shadowing.test.js.map +1 -1
- package/dist/statements/classes/members/static-readonly-properties.test.js +4 -1
- package/dist/statements/classes/members/static-readonly-properties.test.js.map +1 -1
- package/dist/statements/classes/parameters.d.ts +8 -10
- package/dist/statements/classes/parameters.d.ts.map +1 -1
- package/dist/statements/classes/parameters.js +30 -26
- package/dist/statements/classes/parameters.js.map +1 -1
- package/dist/statements/classes/properties.d.ts +4 -3
- package/dist/statements/classes/properties.d.ts.map +1 -1
- package/dist/statements/classes/properties.js +76 -50
- package/dist/statements/classes/properties.js.map +1 -1
- package/dist/statements/classes.d.ts +1 -1
- package/dist/statements/classes.d.ts.map +1 -1
- package/dist/statements/classes.js +1 -1
- package/dist/statements/classes.js.map +1 -1
- package/dist/statements/control/conditionals/guard-analysis.d.ts +169 -0
- package/dist/statements/control/conditionals/guard-analysis.d.ts.map +1 -0
- package/dist/statements/control/conditionals/guard-analysis.js +591 -0
- package/dist/statements/control/conditionals/guard-analysis.js.map +1 -0
- package/dist/statements/control/conditionals/if-emitter.d.ts +14 -0
- package/dist/statements/control/conditionals/if-emitter.d.ts.map +1 -0
- package/dist/statements/control/conditionals/if-emitter.js +725 -0
- package/dist/statements/control/conditionals/if-emitter.js.map +1 -0
- package/dist/statements/control/conditionals/switch-emitter.d.ts +13 -0
- package/dist/statements/control/conditionals/switch-emitter.d.ts.map +1 -0
- package/dist/statements/control/conditionals/switch-emitter.js +60 -0
- package/dist/statements/control/conditionals/switch-emitter.js.map +1 -0
- package/dist/statements/control/conditionals.d.ts +3 -15
- package/dist/statements/control/conditionals.d.ts.map +1 -1
- package/dist/statements/control/conditionals.js +3 -1152
- package/dist/statements/control/conditionals.js.map +1 -1
- package/dist/statements/control/exceptions.d.ts +8 -6
- package/dist/statements/control/exceptions.d.ts.map +1 -1
- package/dist/statements/control/exceptions.js +35 -23
- package/dist/statements/control/exceptions.js.map +1 -1
- package/dist/statements/control/index.d.ts +3 -3
- package/dist/statements/control/index.d.ts.map +1 -1
- package/dist/statements/control/index.js +3 -3
- package/dist/statements/control/index.js.map +1 -1
- package/dist/statements/control/loops.d.ts +14 -12
- package/dist/statements/control/loops.d.ts.map +1 -1
- package/dist/statements/control/loops.js +147 -82
- package/dist/statements/control/loops.js.map +1 -1
- package/dist/statements/control.d.ts +1 -1
- package/dist/statements/control.d.ts.map +1 -1
- package/dist/statements/control.js +1 -1
- package/dist/statements/control.js.map +1 -1
- package/dist/statements/declarations/classes.d.ts +7 -3
- package/dist/statements/declarations/classes.d.ts.map +1 -1
- package/dist/statements/declarations/classes.js +107 -83
- package/dist/statements/declarations/classes.js.map +1 -1
- package/dist/statements/declarations/enums.d.ts +4 -3
- package/dist/statements/declarations/enums.d.ts.map +1 -1
- package/dist/statements/declarations/enums.js +16 -15
- package/dist/statements/declarations/enums.js.map +1 -1
- package/dist/statements/declarations/functions.d.ts +18 -2
- package/dist/statements/declarations/functions.d.ts.map +1 -1
- package/dist/statements/declarations/functions.js +633 -162
- package/dist/statements/declarations/functions.js.map +1 -1
- package/dist/statements/declarations/index.d.ts +2 -2
- package/dist/statements/declarations/index.d.ts.map +1 -1
- package/dist/statements/declarations/index.js +2 -2
- package/dist/statements/declarations/index.js.map +1 -1
- package/dist/statements/declarations/interfaces.d.ts +7 -3
- package/dist/statements/declarations/interfaces.d.ts.map +1 -1
- package/dist/statements/declarations/interfaces.js +138 -105
- package/dist/statements/declarations/interfaces.js.map +1 -1
- package/dist/statements/declarations/type-aliases.d.ts +7 -3
- package/dist/statements/declarations/type-aliases.d.ts.map +1 -1
- package/dist/statements/declarations/type-aliases.js +122 -82
- package/dist/statements/declarations/type-aliases.js.map +1 -1
- package/dist/statements/declarations/variables.d.ts +12 -2
- package/dist/statements/declarations/variables.d.ts.map +1 -1
- package/dist/statements/declarations/variables.js +541 -428
- package/dist/statements/declarations/variables.js.map +1 -1
- package/dist/statements/declarations.d.ts +1 -1
- package/dist/statements/declarations.d.ts.map +1 -1
- package/dist/statements/declarations.js +1 -1
- package/dist/statements/declarations.js.map +1 -1
- package/dist/statements/index.d.ts +3 -3
- package/dist/statements/index.d.ts.map +1 -1
- package/dist/statements/index.js +5 -5
- package/dist/statements/index.js.map +1 -1
- package/dist/statements/index.test.js +307 -0
- package/dist/statements/index.test.js.map +1 -1
- package/dist/type-emitter.d.ts +1 -1
- package/dist/type-emitter.d.ts.map +1 -1
- package/dist/type-emitter.js +1 -1
- package/dist/type-emitter.js.map +1 -1
- package/dist/types/arrays.d.ts +3 -2
- package/dist/types/arrays.d.ts.map +1 -1
- package/dist/types/arrays.js +7 -5
- package/dist/types/arrays.js.map +1 -1
- package/dist/types/dictionaries.d.ts +6 -3
- package/dist/types/dictionaries.d.ts.map +1 -1
- package/dist/types/dictionaries.js +22 -10
- package/dist/types/dictionaries.js.map +1 -1
- package/dist/types/emitter.d.ts +8 -2
- package/dist/types/emitter.d.ts.map +1 -1
- package/dist/types/emitter.js +20 -6
- package/dist/types/emitter.js.map +1 -1
- package/dist/types/functions.d.ts +3 -2
- package/dist/types/functions.d.ts.map +1 -1
- package/dist/types/functions.js +36 -13
- package/dist/types/functions.js.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -2
- package/dist/types/index.js.map +1 -1
- package/dist/types/index.test.js +137 -0
- package/dist/types/index.test.js.map +1 -1
- package/dist/types/intersections.d.ts +3 -2
- package/dist/types/intersections.d.ts.map +1 -1
- package/dist/types/intersections.js +2 -2
- package/dist/types/intersections.js.map +1 -1
- package/dist/types/literals.d.ts +9 -2
- package/dist/types/literals.d.ts.map +1 -1
- package/dist/types/literals.js +11 -5
- package/dist/types/literals.js.map +1 -1
- package/dist/types/objects.d.ts +3 -2
- package/dist/types/objects.d.ts.map +1 -1
- package/dist/types/objects.js +1 -1
- package/dist/types/objects.js.map +1 -1
- package/dist/types/parameters.d.ts +6 -5
- package/dist/types/parameters.d.ts.map +1 -1
- package/dist/types/parameters.js +88 -29
- package/dist/types/parameters.js.map +1 -1
- package/dist/types/parameters.test.js +9 -4
- package/dist/types/parameters.test.js.map +1 -1
- package/dist/types/primitives.d.ts +5 -4
- package/dist/types/primitives.d.ts.map +1 -1
- package/dist/types/primitives.js +14 -13
- package/dist/types/primitives.js.map +1 -1
- package/dist/types/references.d.ts +3 -2
- package/dist/types/references.d.ts.map +1 -1
- package/dist/types/references.js +135 -111
- package/dist/types/references.js.map +1 -1
- package/dist/types/tuples.d.ts +3 -2
- package/dist/types/tuples.d.ts.map +1 -1
- package/dist/types/tuples.js +25 -11
- package/dist/types/tuples.js.map +1 -1
- package/dist/types/unions.d.ts +3 -2
- package/dist/types/unions.d.ts.map +1 -1
- package/dist/types/unions.js +36 -21
- package/dist/types/unions.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
- package/dist/core/attributes.d.ts.map +0 -1
- package/dist/core/attributes.js +0 -141
- package/dist/core/attributes.js.map +0 -1
- package/dist/core/attributes.test.d.ts.map +0 -1
- package/dist/core/attributes.test.js.map +0 -1
- package/dist/core/boolean-context.d.ts +0 -42
- package/dist/core/boolean-context.d.ts.map +0 -1
- package/dist/core/boolean-context.js +0 -442
- package/dist/core/boolean-context.js.map +0 -1
- package/dist/core/boolean-context.test.d.ts.map +0 -1
- package/dist/core/boolean-context.test.js.map +0 -1
- package/dist/core/exports.d.ts.map +0 -1
- package/dist/core/exports.js +0 -28
- package/dist/core/exports.js.map +0 -1
- package/dist/core/imports.d.ts.map +0 -1
- package/dist/core/imports.js.map +0 -1
- package/dist/core/imports.test.d.ts.map +0 -1
- package/dist/core/imports.test.js +0 -79
- package/dist/core/imports.test.js.map +0 -1
- package/dist/core/local-names.d.ts.map +0 -1
- package/dist/core/local-names.js.map +0 -1
- package/dist/core/local-types.d.ts.map +0 -1
- package/dist/core/local-types.js.map +0 -1
- package/dist/core/module-emitter/assembly.d.ts +0 -24
- package/dist/core/module-emitter/assembly.d.ts.map +0 -1
- package/dist/core/module-emitter/assembly.js +0 -69
- package/dist/core/module-emitter/assembly.js.map +0 -1
- package/dist/core/module-emitter/header.d.ts.map +0 -1
- package/dist/core/module-emitter/header.js.map +0 -1
- package/dist/core/module-emitter/index.d.ts.map +0 -1
- package/dist/core/module-emitter/index.js.map +0 -1
- package/dist/core/module-emitter/namespace.d.ts +0 -14
- package/dist/core/module-emitter/namespace.d.ts.map +0 -1
- package/dist/core/module-emitter/namespace.js +0 -26
- package/dist/core/module-emitter/namespace.js.map +0 -1
- package/dist/core/module-emitter/orchestrator.d.ts.map +0 -1
- package/dist/core/module-emitter/orchestrator.js.map +0 -1
- package/dist/core/module-emitter/separation.d.ts.map +0 -1
- package/dist/core/module-emitter/separation.js.map +0 -1
- package/dist/core/module-emitter/static-container.d.ts.map +0 -1
- package/dist/core/module-emitter/static-container.js +0 -139
- package/dist/core/module-emitter/static-container.js.map +0 -1
- package/dist/core/module-emitter.d.ts.map +0 -1
- package/dist/core/module-emitter.js.map +0 -1
- package/dist/core/module-map.d.ts.map +0 -1
- package/dist/core/module-map.js.map +0 -1
- package/dist/core/module-map.test.d.ts.map +0 -1
- package/dist/core/module-map.test.js.map +0 -1
- package/dist/core/naming-collisions.d.ts.map +0 -1
- package/dist/core/naming-collisions.js.map +0 -1
- package/dist/core/options.d.ts.map +0 -1
- package/dist/core/options.js.map +0 -1
- package/dist/core/type-alias-index.d.ts.map +0 -1
- package/dist/core/type-alias-index.js.map +0 -1
- package/dist/core/type-compatibility.d.ts.map +0 -1
- package/dist/core/type-compatibility.js.map +0 -1
- package/dist/core/type-member-index.d.ts.map +0 -1
- package/dist/core/type-member-index.js.map +0 -1
- package/dist/core/type-params.d.ts.map +0 -1
- package/dist/core/type-params.js.map +0 -1
- package/dist/core/type-resolution.d.ts.map +0 -1
- package/dist/core/type-resolution.js.map +0 -1
- package/dist/core/type-resolution.test.d.ts.map +0 -1
- package/dist/core/type-resolution.test.js.map +0 -1
- package/dist/core/unsafe.d.ts.map +0 -1
- package/dist/core/unsafe.js.map +0 -1
- /package/dist/core/{attributes.test.d.ts → format/attributes.test.d.ts} +0 -0
- /package/dist/core/{module-emitter → format/module-emitter}/index.d.ts +0 -0
- /package/dist/core/{module-emitter → format/module-emitter}/index.js +0 -0
- /package/dist/core/{module-emitter → format/module-emitter}/separation.d.ts +0 -0
- /package/dist/core/{module-emitter → format/module-emitter}/separation.js +0 -0
- /package/dist/core/{module-emitter.d.ts → format/module-emitter.d.ts} +0 -0
- /package/dist/core/{module-emitter.js → format/module-emitter.js} +0 -0
- /package/dist/core/{options.js → format/options.js} +0 -0
- /package/dist/core/{boolean-context.test.d.ts → semantic/boolean-context.test.d.ts} +0 -0
- /package/dist/core/{imports.test.d.ts → semantic/imports.test.d.ts} +0 -0
- /package/dist/core/{local-types.js → semantic/local-types.js} +0 -0
- /package/dist/core/{module-map.js → semantic/module-map.js} +0 -0
- /package/dist/core/{module-map.test.d.ts → semantic/module-map.test.d.ts} +0 -0
- /package/dist/core/{module-map.test.js → semantic/module-map.test.js} +0 -0
- /package/dist/core/{naming-collisions.d.ts → semantic/naming-collisions.d.ts} +0 -0
- /package/dist/core/{type-alias-index.js → semantic/type-alias-index.js} +0 -0
- /package/dist/core/{type-compatibility.d.ts → semantic/type-compatibility.d.ts} +0 -0
- /package/dist/core/{type-compatibility.js → semantic/type-compatibility.js} +0 -0
- /package/dist/core/{type-member-index.js → semantic/type-member-index.js} +0 -0
- /package/dist/core/{type-params.d.ts → semantic/type-params.d.ts} +0 -0
- /package/dist/core/{type-params.js → semantic/type-params.js} +0 -0
- /package/dist/core/{type-resolution.test.d.ts → semantic/type-resolution.test.d.ts} +0 -0
- /package/dist/core/{unsafe.d.ts → semantic/unsafe.d.ts} +0 -0
- /package/dist/core/{unsafe.js → semantic/unsafe.js} +0 -0
package/dist/types/references.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* All types are emitted with global:: prefix for unambiguous resolution.
|
|
5
5
|
*/
|
|
6
6
|
import { escapeCSharpIdentifier } from "../emitter-types/index.js";
|
|
7
|
-
import {
|
|
8
|
-
import { substituteTypeArgs } from "../core/type-resolution.js";
|
|
7
|
+
import { emitTypeAst } from "./emitter.js";
|
|
8
|
+
import { substituteTypeArgs } from "../core/semantic/type-resolution.js";
|
|
9
9
|
/**
|
|
10
10
|
* C# primitive type names that can be emitted directly without qualification.
|
|
11
11
|
* These correspond to the types defined in @tsonic/core package.
|
|
@@ -45,25 +45,6 @@ const toGlobalClr = (clr) => {
|
|
|
45
45
|
const trimmed = clr.trim();
|
|
46
46
|
return trimmed.startsWith("global::") ? trimmed : `global::${trimmed}`;
|
|
47
47
|
};
|
|
48
|
-
/**
|
|
49
|
-
* Extract CLR name from a binding object.
|
|
50
|
-
* Handles both tsbindgen format (clrName) and internal format (name).
|
|
51
|
-
*/
|
|
52
|
-
const getBindingClrName = (b) => {
|
|
53
|
-
if (!b || typeof b !== "object")
|
|
54
|
-
return undefined;
|
|
55
|
-
// Legacy/duck-typed support: { clrName: "System.Action", ... }
|
|
56
|
-
const maybeClrName = b.clrName;
|
|
57
|
-
if (typeof maybeClrName === "string" && maybeClrName.length > 0) {
|
|
58
|
-
return maybeClrName;
|
|
59
|
-
}
|
|
60
|
-
// internal TypeBinding: { name: "System.Console", alias: "Console", ... }
|
|
61
|
-
const maybeName = b.name;
|
|
62
|
-
if (typeof maybeName === "string" && maybeName.length > 0) {
|
|
63
|
-
return maybeName;
|
|
64
|
-
}
|
|
65
|
-
return undefined;
|
|
66
|
-
};
|
|
67
48
|
/**
|
|
68
49
|
* Convert CLR metadata type names into C#-emittable type names.
|
|
69
50
|
*
|
|
@@ -116,7 +97,13 @@ const resolveCanonicalLocalTypeTarget = (typeName, context) => {
|
|
|
116
97
|
const key = `${namespace}::${typeName}`;
|
|
117
98
|
return context.options.canonicalLocalTypeTargets?.get(key);
|
|
118
99
|
};
|
|
119
|
-
|
|
100
|
+
/**
|
|
101
|
+
* Normalize a generic type argument AST: void → object.
|
|
102
|
+
* C# generic type arguments cannot be void, so we substitute object.
|
|
103
|
+
*/
|
|
104
|
+
const normalizeGenericTypeArgAst = (ast) => ast.kind === "predefinedType" && ast.keyword === "void"
|
|
105
|
+
? { kind: "predefinedType", keyword: "object" }
|
|
106
|
+
: ast;
|
|
120
107
|
/**
|
|
121
108
|
* Check if a type name indicates an unsupported support type.
|
|
122
109
|
*
|
|
@@ -138,7 +125,26 @@ const checkUnsupportedSupportType = (typeName) => {
|
|
|
138
125
|
return undefined;
|
|
139
126
|
};
|
|
140
127
|
/**
|
|
141
|
-
* Emit
|
|
128
|
+
* Emit type arguments as CSharpTypeAst[], with void→object normalization.
|
|
129
|
+
*/
|
|
130
|
+
const emitTypeArgAsts = (typeArguments, context) => {
|
|
131
|
+
const typeArgAsts = [];
|
|
132
|
+
let currentContext = context;
|
|
133
|
+
for (const typeArg of typeArguments) {
|
|
134
|
+
const [paramAst, newContext] = emitTypeAst(typeArg, currentContext);
|
|
135
|
+
typeArgAsts.push(normalizeGenericTypeArgAst(paramAst));
|
|
136
|
+
currentContext = newContext;
|
|
137
|
+
}
|
|
138
|
+
return [typeArgAsts, currentContext];
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Build an identifierType with optional type arguments.
|
|
142
|
+
*/
|
|
143
|
+
const identifierTypeWithArgs = (name, typeArgAsts) => typeArgAsts && typeArgAsts.length > 0
|
|
144
|
+
? { kind: "identifierType", name, typeArguments: typeArgAsts }
|
|
145
|
+
: { kind: "identifierType", name };
|
|
146
|
+
/**
|
|
147
|
+
* Emit reference types as CSharpTypeAst
|
|
142
148
|
*/
|
|
143
149
|
export const emitReferenceType = (type, context) => {
|
|
144
150
|
const { name, typeArguments, resolvedClrType, typeId } = type;
|
|
@@ -164,7 +170,7 @@ export const emitReferenceType = (type, context) => {
|
|
|
164
170
|
const underlyingType = typeArguments && typeArguments.length > 0
|
|
165
171
|
? substituteTypeArgs(typeInfo.type, typeInfo.typeParameters, typeArguments)
|
|
166
172
|
: typeInfo.type;
|
|
167
|
-
return
|
|
173
|
+
return emitTypeAst(underlyingType, context);
|
|
168
174
|
}
|
|
169
175
|
// For `objectType` aliases - fall through and emit the alias name; it will be
|
|
170
176
|
// rewritten to `__Alias` in the local-type handling below.
|
|
@@ -175,16 +181,16 @@ export const emitReferenceType = (type, context) => {
|
|
|
175
181
|
? resolvedClrType
|
|
176
182
|
: toGlobalClr(resolvedClrType);
|
|
177
183
|
if (typeArguments && typeArguments.length > 0) {
|
|
178
|
-
const
|
|
179
|
-
|
|
180
|
-
for (const typeArg of typeArguments) {
|
|
181
|
-
const [paramType, newContext] = emitType(typeArg, currentContext);
|
|
182
|
-
typeParams.push(normalizeGenericTypeArgument(paramType));
|
|
183
|
-
currentContext = newContext;
|
|
184
|
-
}
|
|
185
|
-
return [`${qualifiedClr}<${typeParams.join(", ")}>`, currentContext];
|
|
184
|
+
const [typeArgAsts, newContext] = emitTypeArgAsts(typeArguments, context);
|
|
185
|
+
return [identifierTypeWithArgs(qualifiedClr, typeArgAsts), newContext];
|
|
186
186
|
}
|
|
187
|
-
|
|
187
|
+
// For primitives, emit as predefinedType; for others, identifierType
|
|
188
|
+
return [
|
|
189
|
+
CSHARP_PRIMITIVES.has(resolvedClrType)
|
|
190
|
+
? { kind: "predefinedType", keyword: resolvedClrType }
|
|
191
|
+
: { kind: "identifierType", name: qualifiedClr },
|
|
192
|
+
context,
|
|
193
|
+
];
|
|
188
194
|
}
|
|
189
195
|
// Check if this type is imported - use pre-computed CLR name directly.
|
|
190
196
|
// This includes canonicalization for tsbindgen instance aliases (Foo$instance)
|
|
@@ -192,16 +198,10 @@ export const emitReferenceType = (type, context) => {
|
|
|
192
198
|
const qualifiedName = resolveImportedTypeClrName(name, context);
|
|
193
199
|
if (qualifiedName) {
|
|
194
200
|
if (typeArguments && typeArguments.length > 0) {
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
for (const typeArg of typeArguments) {
|
|
198
|
-
const [paramType, newContext] = emitType(typeArg, currentContext);
|
|
199
|
-
typeParams.push(normalizeGenericTypeArgument(paramType));
|
|
200
|
-
currentContext = newContext;
|
|
201
|
-
}
|
|
202
|
-
return [`${qualifiedName}<${typeParams.join(", ")}>`, currentContext];
|
|
201
|
+
const [typeArgAsts, newContext] = emitTypeArgAsts(typeArguments, context);
|
|
202
|
+
return [identifierTypeWithArgs(qualifiedName, typeArgAsts), newContext];
|
|
203
203
|
}
|
|
204
|
-
return [qualifiedName, context];
|
|
204
|
+
return [{ kind: "identifierType", name: qualifiedName }, context];
|
|
205
205
|
}
|
|
206
206
|
// Check for unsupported support types
|
|
207
207
|
const unsupportedError = checkUnsupportedSupportType(name);
|
|
@@ -214,25 +214,61 @@ export const emitReferenceType = (type, context) => {
|
|
|
214
214
|
if (name === "Array" && typeArguments && typeArguments.length > 0) {
|
|
215
215
|
const firstArg = typeArguments[0];
|
|
216
216
|
if (!firstArg) {
|
|
217
|
-
return [
|
|
217
|
+
return [
|
|
218
|
+
{
|
|
219
|
+
kind: "arrayType",
|
|
220
|
+
elementType: { kind: "predefinedType", keyword: "object" },
|
|
221
|
+
rank: 1,
|
|
222
|
+
},
|
|
223
|
+
context,
|
|
224
|
+
];
|
|
218
225
|
}
|
|
219
|
-
const [
|
|
220
|
-
return [
|
|
226
|
+
const [elementTypeAst, newContext] = emitTypeAst(firstArg, context);
|
|
227
|
+
return [
|
|
228
|
+
{ kind: "arrayType", elementType: elementTypeAst, rank: 1 },
|
|
229
|
+
newContext,
|
|
230
|
+
];
|
|
221
231
|
}
|
|
222
232
|
if (name === "Promise" && typeArguments && typeArguments.length > 0) {
|
|
223
233
|
const firstArg = typeArguments[0];
|
|
224
234
|
if (!firstArg) {
|
|
225
|
-
return [
|
|
235
|
+
return [
|
|
236
|
+
{
|
|
237
|
+
kind: "identifierType",
|
|
238
|
+
name: "global::System.Threading.Tasks.Task",
|
|
239
|
+
},
|
|
240
|
+
context,
|
|
241
|
+
];
|
|
226
242
|
}
|
|
227
|
-
const [
|
|
243
|
+
const [elementTypeAst, newContext] = emitTypeAst(firstArg, context);
|
|
228
244
|
// Promise<void> should map to Task (not Task<void>)
|
|
229
|
-
if (
|
|
230
|
-
|
|
245
|
+
if (elementTypeAst.kind === "predefinedType" &&
|
|
246
|
+
elementTypeAst.keyword === "void") {
|
|
247
|
+
return [
|
|
248
|
+
{
|
|
249
|
+
kind: "identifierType",
|
|
250
|
+
name: "global::System.Threading.Tasks.Task",
|
|
251
|
+
},
|
|
252
|
+
newContext,
|
|
253
|
+
];
|
|
231
254
|
}
|
|
232
|
-
return [
|
|
255
|
+
return [
|
|
256
|
+
{
|
|
257
|
+
kind: "identifierType",
|
|
258
|
+
name: "global::System.Threading.Tasks.Task",
|
|
259
|
+
typeArguments: [elementTypeAst],
|
|
260
|
+
},
|
|
261
|
+
newContext,
|
|
262
|
+
];
|
|
233
263
|
}
|
|
234
264
|
if (name === "Promise") {
|
|
235
|
-
return [
|
|
265
|
+
return [
|
|
266
|
+
{
|
|
267
|
+
kind: "identifierType",
|
|
268
|
+
name: "global::System.Threading.Tasks.Task",
|
|
269
|
+
},
|
|
270
|
+
context,
|
|
271
|
+
];
|
|
236
272
|
}
|
|
237
273
|
// Map core Span<T> to System.Span<T>.
|
|
238
274
|
// This is used by stackalloc<T>(n) and other span-based APIs.
|
|
@@ -244,8 +280,15 @@ export const emitReferenceType = (type, context) => {
|
|
|
244
280
|
if (!inner) {
|
|
245
281
|
throw new Error("ICE: Span<T> missing type argument");
|
|
246
282
|
}
|
|
247
|
-
const [
|
|
248
|
-
return [
|
|
283
|
+
const [innerTypeAst, newContext] = emitTypeAst(inner, context);
|
|
284
|
+
return [
|
|
285
|
+
{
|
|
286
|
+
kind: "identifierType",
|
|
287
|
+
name: "global::System.Span",
|
|
288
|
+
typeArguments: [innerTypeAst],
|
|
289
|
+
},
|
|
290
|
+
newContext,
|
|
291
|
+
];
|
|
249
292
|
}
|
|
250
293
|
// Map core ptr<T> to C# unsafe pointer type: T*
|
|
251
294
|
if (name === "ptr") {
|
|
@@ -256,37 +299,38 @@ export const emitReferenceType = (type, context) => {
|
|
|
256
299
|
if (!inner) {
|
|
257
300
|
throw new Error("ICE: ptr<T> missing type argument");
|
|
258
301
|
}
|
|
259
|
-
const [
|
|
260
|
-
return [
|
|
302
|
+
const [innerTypeAst, newContext] = emitTypeAst(inner, context);
|
|
303
|
+
return [{ kind: "pointerType", elementType: innerTypeAst }, newContext];
|
|
261
304
|
}
|
|
262
305
|
// NOTE: Map and Set must be explicitly imported (not ambient)
|
|
263
306
|
// Map PromiseLike to Task
|
|
264
307
|
if (name === "PromiseLike") {
|
|
265
308
|
// PromiseLike is in both globals packages - safe to map unconditionally
|
|
266
|
-
return [
|
|
309
|
+
return [
|
|
310
|
+
{
|
|
311
|
+
kind: "identifierType",
|
|
312
|
+
name: "global::System.Threading.Tasks.Task",
|
|
313
|
+
},
|
|
314
|
+
context,
|
|
315
|
+
];
|
|
267
316
|
}
|
|
268
317
|
// C# primitive types can be emitted directly
|
|
269
318
|
if (CSHARP_PRIMITIVES.has(name)) {
|
|
270
|
-
return [name, context];
|
|
319
|
+
return [{ kind: "predefinedType", keyword: name }, context];
|
|
271
320
|
}
|
|
272
321
|
// Type parameters in scope can be emitted directly
|
|
273
322
|
if (context.typeParameters?.has(name)) {
|
|
274
|
-
|
|
323
|
+
const mappedName = context.typeParameterNameMap?.get(name) ?? name;
|
|
324
|
+
return [{ kind: "identifierType", name: mappedName }, context];
|
|
275
325
|
}
|
|
276
326
|
const canonicalLocalTarget = resolveCanonicalLocalTypeTarget(name, context);
|
|
277
327
|
if (canonicalLocalTarget) {
|
|
278
328
|
const qualified = toGlobalClr(canonicalLocalTarget);
|
|
279
329
|
if (typeArguments && typeArguments.length > 0) {
|
|
280
|
-
const
|
|
281
|
-
|
|
282
|
-
for (const typeArg of typeArguments) {
|
|
283
|
-
const [paramType, newContext] = emitType(typeArg, currentContext);
|
|
284
|
-
typeParams.push(normalizeGenericTypeArgument(paramType));
|
|
285
|
-
currentContext = newContext;
|
|
286
|
-
}
|
|
287
|
-
return [`${qualified}<${typeParams.join(", ")}>`, currentContext];
|
|
330
|
+
const [typeArgAsts, newContext] = emitTypeArgAsts(typeArguments, context);
|
|
331
|
+
return [identifierTypeWithArgs(qualified, typeArgAsts), newContext];
|
|
288
332
|
}
|
|
289
|
-
return [qualified, context];
|
|
333
|
+
return [{ kind: "identifierType", name: qualified }, context];
|
|
290
334
|
}
|
|
291
335
|
// IMPORTANT: Check local types BEFORE binding registry.
|
|
292
336
|
// Local types take precedence over .NET types with the same name.
|
|
@@ -302,16 +346,9 @@ export const emitReferenceType = (type, context) => {
|
|
|
302
346
|
csharpName = `${csharpName}__Alias`;
|
|
303
347
|
}
|
|
304
348
|
if (typeArguments && typeArguments.length > 0) {
|
|
305
|
-
const
|
|
306
|
-
let currentContext = context;
|
|
307
|
-
for (const typeArg of typeArguments) {
|
|
308
|
-
const [paramType, newContext] = emitType(typeArg, currentContext);
|
|
309
|
-
typeParams.push(normalizeGenericTypeArgument(paramType));
|
|
310
|
-
currentContext = newContext;
|
|
311
|
-
}
|
|
312
|
-
const generic = `${csharpName}<${typeParams.join(", ")}>`;
|
|
349
|
+
const [typeArgAsts, newContext] = emitTypeArgAsts(typeArguments, context);
|
|
313
350
|
if (!context.qualifyLocalTypes) {
|
|
314
|
-
return [
|
|
351
|
+
return [identifierTypeWithArgs(csharpName, typeArgAsts), newContext];
|
|
315
352
|
}
|
|
316
353
|
const moduleNamespace = context.moduleNamespace ?? context.options.rootNamespace;
|
|
317
354
|
const container = context.moduleStaticClassName;
|
|
@@ -322,10 +359,13 @@ export const emitReferenceType = (type, context) => {
|
|
|
322
359
|
const qualifiedPrefix = isNestedInStaticContainer && container
|
|
323
360
|
? `${moduleNamespace}.${container}`
|
|
324
361
|
: moduleNamespace;
|
|
325
|
-
return [
|
|
362
|
+
return [
|
|
363
|
+
identifierTypeWithArgs(`global::${qualifiedPrefix}.${csharpName}`, typeArgAsts),
|
|
364
|
+
newContext,
|
|
365
|
+
];
|
|
326
366
|
}
|
|
327
367
|
if (!context.qualifyLocalTypes) {
|
|
328
|
-
return [csharpName, context];
|
|
368
|
+
return [{ kind: "identifierType", name: csharpName }, context];
|
|
329
369
|
}
|
|
330
370
|
const moduleNamespace = context.moduleNamespace ?? context.options.rootNamespace;
|
|
331
371
|
const container = context.moduleStaticClassName;
|
|
@@ -334,7 +374,13 @@ export const emitReferenceType = (type, context) => {
|
|
|
334
374
|
const qualifiedPrefix = isNestedInStaticContainer && container
|
|
335
375
|
? `${moduleNamespace}.${container}`
|
|
336
376
|
: moduleNamespace;
|
|
337
|
-
return [
|
|
377
|
+
return [
|
|
378
|
+
{
|
|
379
|
+
kind: "identifierType",
|
|
380
|
+
name: `global::${qualifiedPrefix}.${csharpName}`,
|
|
381
|
+
},
|
|
382
|
+
context,
|
|
383
|
+
];
|
|
338
384
|
}
|
|
339
385
|
// Canonical nominal identity from the UnifiedUniverse.
|
|
340
386
|
// When present, this is the authoritative source for CLR emission and
|
|
@@ -342,38 +388,22 @@ export const emitReferenceType = (type, context) => {
|
|
|
342
388
|
if (typeId) {
|
|
343
389
|
const qualified = toGlobalClr(clrTypeNameToCSharp(typeId.clrName));
|
|
344
390
|
if (typeArguments && typeArguments.length > 0) {
|
|
345
|
-
const
|
|
346
|
-
|
|
347
|
-
for (const typeArg of typeArguments) {
|
|
348
|
-
const [paramType, newContext] = emitType(typeArg, currentContext);
|
|
349
|
-
typeParams.push(normalizeGenericTypeArgument(paramType));
|
|
350
|
-
currentContext = newContext;
|
|
351
|
-
}
|
|
352
|
-
return [`${qualified}<${typeParams.join(", ")}>`, currentContext];
|
|
391
|
+
const [typeArgAsts, newContext] = emitTypeArgAsts(typeArguments, context);
|
|
392
|
+
return [identifierTypeWithArgs(qualified, typeArgAsts), newContext];
|
|
353
393
|
}
|
|
354
|
-
return [qualified, context];
|
|
394
|
+
return [{ kind: "identifierType", name: qualified }, context];
|
|
355
395
|
}
|
|
356
396
|
// Resolve external types via binding registry (must be fully qualified)
|
|
357
397
|
// This handles types from contextual inference (e.g., Action from Parallel.invoke)
|
|
358
398
|
// IMPORTANT: This is checked AFTER localTypes to ensure local types take precedence
|
|
359
399
|
const regBinding = context.bindingsRegistry?.get(name);
|
|
360
400
|
if (regBinding) {
|
|
361
|
-
const
|
|
362
|
-
if (!clr) {
|
|
363
|
-
throw new Error(`ICE: Binding for '${name}' has no CLR name`);
|
|
364
|
-
}
|
|
365
|
-
const qualified = toGlobalClr(clrTypeNameToCSharp(clr));
|
|
401
|
+
const qualified = toGlobalClr(clrTypeNameToCSharp(regBinding.name));
|
|
366
402
|
if (typeArguments && typeArguments.length > 0) {
|
|
367
|
-
const
|
|
368
|
-
|
|
369
|
-
for (const typeArg of typeArguments) {
|
|
370
|
-
const [paramType, newContext] = emitType(typeArg, currentContext);
|
|
371
|
-
typeParams.push(normalizeGenericTypeArgument(paramType));
|
|
372
|
-
currentContext = newContext;
|
|
373
|
-
}
|
|
374
|
-
return [`${qualified}<${typeParams.join(", ")}>`, currentContext];
|
|
403
|
+
const [typeArgAsts, newContext] = emitTypeArgAsts(typeArguments, context);
|
|
404
|
+
return [identifierTypeWithArgs(qualified, typeArgAsts), newContext];
|
|
375
405
|
}
|
|
376
|
-
return [qualified, context];
|
|
406
|
+
return [{ kind: "identifierType", name: qualified }, context];
|
|
377
407
|
}
|
|
378
408
|
// Synthetic cross-module types (e.g. compiler-generated anonymous types) are
|
|
379
409
|
// declared in separate `__tsonic/*` modules. These do not appear in a given
|
|
@@ -383,16 +413,10 @@ export const emitReferenceType = (type, context) => {
|
|
|
383
413
|
if (syntheticNs) {
|
|
384
414
|
const qualified = toGlobalClr(`${syntheticNs}.${escapeCSharpIdentifier(name)}`);
|
|
385
415
|
if (typeArguments && typeArguments.length > 0) {
|
|
386
|
-
const
|
|
387
|
-
|
|
388
|
-
for (const typeArg of typeArguments) {
|
|
389
|
-
const [paramType, newContext] = emitType(typeArg, currentContext);
|
|
390
|
-
typeParams.push(normalizeGenericTypeArgument(paramType));
|
|
391
|
-
currentContext = newContext;
|
|
392
|
-
}
|
|
393
|
-
return [`${qualified}<${typeParams.join(", ")}>`, currentContext];
|
|
416
|
+
const [typeArgAsts, newContext] = emitTypeArgAsts(typeArguments, context);
|
|
417
|
+
return [identifierTypeWithArgs(qualified, typeArgAsts), newContext];
|
|
394
418
|
}
|
|
395
|
-
return [qualified, context];
|
|
419
|
+
return [{ kind: "identifierType", name: qualified }, context];
|
|
396
420
|
}
|
|
397
421
|
// Hard failure: unresolved external reference type
|
|
398
422
|
// This should never happen if the IR soundness gate is working correctly
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../src/types/references.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../src/types/references.ts"],"names":[],"mappings":"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"}
|
package/dist/types/tuples.d.ts
CHANGED
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { IrType } from "@tsonic/frontend";
|
|
9
9
|
import { EmitterContext } from "../types.js";
|
|
10
|
+
import type { CSharpTypeAst } from "../core/format/backend-ast/types.js";
|
|
10
11
|
/**
|
|
11
|
-
* Emit tuple types as
|
|
12
|
+
* Emit tuple types as CSharpTypeAst (identifierType nodes for ValueTuple<>)
|
|
12
13
|
*
|
|
13
14
|
* TypeScript: [string, number, boolean]
|
|
14
15
|
* C#: global::System.ValueTuple<string, double, bool>
|
|
@@ -19,5 +20,5 @@ import { EmitterContext } from "../types.js";
|
|
|
19
20
|
*/
|
|
20
21
|
export declare const emitTupleType: (type: Extract<IrType, {
|
|
21
22
|
kind: "tupleType";
|
|
22
|
-
}>, context: EmitterContext) => [
|
|
23
|
+
}>, context: EmitterContext) => [CSharpTypeAst, EmitterContext];
|
|
23
24
|
//# sourceMappingURL=tuples.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuples.d.ts","sourceRoot":"","sources":["../../src/types/tuples.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"tuples.d.ts","sourceRoot":"","sources":["../../src/types/tuples.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAmBzE;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,OAAO,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,EAC5C,SAAS,cAAc,KACtB,CAAC,aAAa,EAAE,cAAc,CA4ChC,CAAC"}
|
package/dist/types/tuples.js
CHANGED
|
@@ -5,22 +5,22 @@
|
|
|
5
5
|
* For tuples with more than 7 elements, .NET requires nesting:
|
|
6
6
|
* ValueTuple<T1..T7, ValueTuple<T8..>> (recursive for 15+, 22+, etc.)
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
8
|
+
import { emitTypeAst } from "./emitter.js";
|
|
9
9
|
/**
|
|
10
|
-
* Helper to emit a list of tuple element types, threading context through.
|
|
10
|
+
* Helper to emit a list of tuple element types as CSharpTypeAst, threading context through.
|
|
11
11
|
*/
|
|
12
12
|
const emitTupleElems = (elems, context) => {
|
|
13
13
|
const out = [];
|
|
14
14
|
let ctx = context;
|
|
15
15
|
for (const t of elems) {
|
|
16
|
-
const [
|
|
17
|
-
out.push(
|
|
16
|
+
const [ast, next] = emitTypeAst(t, ctx);
|
|
17
|
+
out.push(ast);
|
|
18
18
|
ctx = next;
|
|
19
19
|
}
|
|
20
20
|
return [out, ctx];
|
|
21
21
|
};
|
|
22
22
|
/**
|
|
23
|
-
* Emit tuple types as
|
|
23
|
+
* Emit tuple types as CSharpTypeAst (identifierType nodes for ValueTuple<>)
|
|
24
24
|
*
|
|
25
25
|
* TypeScript: [string, number, boolean]
|
|
26
26
|
* C#: global::System.ValueTuple<string, double, bool>
|
|
@@ -33,21 +33,35 @@ export const emitTupleType = (type, context) => {
|
|
|
33
33
|
const elems = type.elementTypes;
|
|
34
34
|
// Empty tuple type [] → ValueTuple (non-generic)
|
|
35
35
|
if (elems.length === 0) {
|
|
36
|
-
return [
|
|
36
|
+
return [
|
|
37
|
+
{ kind: "identifierType", name: "global::System.ValueTuple" },
|
|
38
|
+
context,
|
|
39
|
+
];
|
|
37
40
|
}
|
|
38
41
|
// 1-7 elements: direct ValueTuple<T1, ..., Tn>
|
|
39
42
|
if (elems.length <= 7) {
|
|
40
|
-
const [
|
|
41
|
-
return [
|
|
43
|
+
const [typeAsts, ctx] = emitTupleElems(elems, context);
|
|
44
|
+
return [
|
|
45
|
+
{
|
|
46
|
+
kind: "identifierType",
|
|
47
|
+
name: "global::System.ValueTuple",
|
|
48
|
+
typeArguments: typeAsts,
|
|
49
|
+
},
|
|
50
|
+
ctx,
|
|
51
|
+
];
|
|
42
52
|
}
|
|
43
53
|
// 8+ elements: nest as ValueTuple<T1..T7, ValueTuple<T8..>>
|
|
44
54
|
const first7 = elems.slice(0, 7);
|
|
45
55
|
const rest = elems.slice(7);
|
|
46
|
-
const [
|
|
56
|
+
const [first7TypeAsts, ctxAfterFirst7] = emitTupleElems(first7, context);
|
|
47
57
|
// Recursively emit rest as nested tuple (handles 15+, 22+, etc.)
|
|
48
|
-
const [
|
|
58
|
+
const [restTypeAst, ctxAfterRest] = emitTupleType({ kind: "tupleType", elementTypes: rest }, ctxAfterFirst7);
|
|
49
59
|
return [
|
|
50
|
-
|
|
60
|
+
{
|
|
61
|
+
kind: "identifierType",
|
|
62
|
+
name: "global::System.ValueTuple",
|
|
63
|
+
typeArguments: [...first7TypeAsts, restTypeAst],
|
|
64
|
+
},
|
|
51
65
|
ctxAfterRest,
|
|
52
66
|
];
|
|
53
67
|
};
|
package/dist/types/tuples.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuples.js","sourceRoot":"","sources":["../../src/types/tuples.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tuples.js","sourceRoot":"","sources":["../../src/types/tuples.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C;;GAEG;AACH,MAAM,cAAc,GAAG,CACrB,KAAwB,EACxB,OAAuB,EACY,EAAE;IACrC,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,IAAI,GAAG,GAAG,OAAO,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACxC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACpB,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAA4C,EAC5C,OAAuB,EACU,EAAE;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;IAEhC,iDAAiD;IACjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,2BAA2B,EAAE;YAC7D,OAAO;SACR,CAAC;IACJ,CAAC;IAED,+CAA+C;IAC/C,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvD,OAAO;YACL;gBACE,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,2BAA2B;gBACjC,aAAa,EAAE,QAAQ;aACxB;YACD,GAAG;SACJ,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE5B,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzE,iEAAiE;IACjE,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,aAAa,CAC/C,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,EACzC,cAAc,CACf,CAAC;IAEF,OAAO;QACL;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,2BAA2B;YACjC,aAAa,EAAE,CAAC,GAAG,cAAc,EAAE,WAAW,CAAC;SAChD;QACD,YAAY;KACb,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/types/unions.d.ts
CHANGED
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { IrType } from "@tsonic/frontend";
|
|
5
5
|
import { EmitterContext } from "../types.js";
|
|
6
|
+
import type { CSharpTypeAst } from "../core/format/backend-ast/types.js";
|
|
6
7
|
/**
|
|
7
|
-
* Emit union types as nullable (T?), Union<T1, T2>, or object
|
|
8
|
+
* Emit union types as CSharpTypeAst: nullable (T?), Union<T1, T2>, or object
|
|
8
9
|
*/
|
|
9
10
|
export declare const emitUnionType: (type: Extract<IrType, {
|
|
10
11
|
kind: "unionType";
|
|
11
|
-
}>, context: EmitterContext) => [
|
|
12
|
+
}>, context: EmitterContext) => [CSharpTypeAst, EmitterContext];
|
|
12
13
|
//# sourceMappingURL=unions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unions.d.ts","sourceRoot":"","sources":["../../src/types/unions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"unions.d.ts","sourceRoot":"","sources":["../../src/types/unions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAQzE;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,OAAO,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,EAC5C,SAAS,cAAc,KACtB,CAAC,aAAa,EAAE,cAAc,CAoHhC,CAAC"}
|