@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"printer.js","sourceRoot":"","sources":["../../../../src/core/format/backend-ast/printer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,504 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backend C# AST type definitions
|
|
3
|
+
*
|
|
4
|
+
* Structured AST nodes for deterministic C# code generation.
|
|
5
|
+
* These types follow Roslyn syntax node semantics with camelCase TypeScript naming.
|
|
6
|
+
*
|
|
7
|
+
* Pipeline: IR -> typed CSharpAst -> deterministic printer -> C# text
|
|
8
|
+
*
|
|
9
|
+
* INVARIANT: No `rawType` or `rawExpression` nodes exist. Every construct
|
|
10
|
+
* must be represented by an explicit, strongly-typed AST node.
|
|
11
|
+
*/
|
|
12
|
+
export type CSharpPredefinedTypeAst = {
|
|
13
|
+
readonly kind: "predefinedType";
|
|
14
|
+
/** C# keyword: "int", "string", "bool", "double", "void", "object", "char", "decimal", "float", "long", etc. */
|
|
15
|
+
readonly keyword: string;
|
|
16
|
+
};
|
|
17
|
+
export type CSharpIdentifierTypeAst = {
|
|
18
|
+
readonly kind: "identifierType";
|
|
19
|
+
/** Type name, potentially fully-qualified (e.g. "global::System.Collections.Generic.List") */
|
|
20
|
+
readonly name: string;
|
|
21
|
+
readonly typeArguments?: readonly CSharpTypeAst[];
|
|
22
|
+
};
|
|
23
|
+
export type CSharpNullableTypeAst = {
|
|
24
|
+
readonly kind: "nullableType";
|
|
25
|
+
readonly underlyingType: CSharpTypeAst;
|
|
26
|
+
};
|
|
27
|
+
export type CSharpArrayTypeAst = {
|
|
28
|
+
readonly kind: "arrayType";
|
|
29
|
+
readonly elementType: CSharpTypeAst;
|
|
30
|
+
/** Array rank: 1 for T[], 2 for T[,], etc. */
|
|
31
|
+
readonly rank: number;
|
|
32
|
+
};
|
|
33
|
+
export type CSharpPointerTypeAst = {
|
|
34
|
+
readonly kind: "pointerType";
|
|
35
|
+
readonly elementType: CSharpTypeAst;
|
|
36
|
+
};
|
|
37
|
+
export type CSharpTupleElementAst = {
|
|
38
|
+
readonly type: CSharpTypeAst;
|
|
39
|
+
readonly name?: string;
|
|
40
|
+
};
|
|
41
|
+
export type CSharpTupleTypeAst = {
|
|
42
|
+
readonly kind: "tupleType";
|
|
43
|
+
readonly elements: readonly CSharpTupleElementAst[];
|
|
44
|
+
};
|
|
45
|
+
export type CSharpVarTypeAst = {
|
|
46
|
+
readonly kind: "varType";
|
|
47
|
+
};
|
|
48
|
+
export type CSharpTypeAst = CSharpPredefinedTypeAst | CSharpIdentifierTypeAst | CSharpNullableTypeAst | CSharpArrayTypeAst | CSharpPointerTypeAst | CSharpTupleTypeAst | CSharpVarTypeAst;
|
|
49
|
+
export type CSharpLiteralExpressionAst = {
|
|
50
|
+
readonly kind: "literalExpression";
|
|
51
|
+
/** The literal token text: "null", "default", "true", "false", "42", "3.14", `"hello"`, `'c'` */
|
|
52
|
+
readonly text: string;
|
|
53
|
+
};
|
|
54
|
+
export type CSharpIdentifierExpressionAst = {
|
|
55
|
+
readonly kind: "identifierExpression";
|
|
56
|
+
readonly identifier: string;
|
|
57
|
+
};
|
|
58
|
+
export type CSharpParenthesizedExpressionAst = {
|
|
59
|
+
readonly kind: "parenthesizedExpression";
|
|
60
|
+
readonly expression: CSharpExpressionAst;
|
|
61
|
+
};
|
|
62
|
+
export type CSharpMemberAccessExpressionAst = {
|
|
63
|
+
readonly kind: "memberAccessExpression";
|
|
64
|
+
readonly expression: CSharpExpressionAst;
|
|
65
|
+
readonly memberName: string;
|
|
66
|
+
};
|
|
67
|
+
export type CSharpConditionalMemberAccessExpressionAst = {
|
|
68
|
+
readonly kind: "conditionalMemberAccessExpression";
|
|
69
|
+
readonly expression: CSharpExpressionAst;
|
|
70
|
+
readonly memberName: string;
|
|
71
|
+
};
|
|
72
|
+
export type CSharpElementAccessExpressionAst = {
|
|
73
|
+
readonly kind: "elementAccessExpression";
|
|
74
|
+
readonly expression: CSharpExpressionAst;
|
|
75
|
+
readonly arguments: readonly CSharpExpressionAst[];
|
|
76
|
+
};
|
|
77
|
+
export type CSharpConditionalElementAccessExpressionAst = {
|
|
78
|
+
readonly kind: "conditionalElementAccessExpression";
|
|
79
|
+
readonly expression: CSharpExpressionAst;
|
|
80
|
+
readonly arguments: readonly CSharpExpressionAst[];
|
|
81
|
+
};
|
|
82
|
+
export type CSharpInvocationExpressionAst = {
|
|
83
|
+
readonly kind: "invocationExpression";
|
|
84
|
+
readonly expression: CSharpExpressionAst;
|
|
85
|
+
readonly arguments: readonly CSharpExpressionAst[];
|
|
86
|
+
readonly typeArguments?: readonly CSharpTypeAst[];
|
|
87
|
+
};
|
|
88
|
+
export type CSharpObjectCreationExpressionAst = {
|
|
89
|
+
readonly kind: "objectCreationExpression";
|
|
90
|
+
readonly type: CSharpTypeAst;
|
|
91
|
+
readonly arguments: readonly CSharpExpressionAst[];
|
|
92
|
+
/** Object/collection initializer entries */
|
|
93
|
+
readonly initializer?: readonly CSharpExpressionAst[];
|
|
94
|
+
};
|
|
95
|
+
export type CSharpArrayCreationExpressionAst = {
|
|
96
|
+
readonly kind: "arrayCreationExpression";
|
|
97
|
+
readonly elementType: CSharpTypeAst;
|
|
98
|
+
readonly sizeExpression?: CSharpExpressionAst;
|
|
99
|
+
readonly initializer?: readonly CSharpExpressionAst[];
|
|
100
|
+
};
|
|
101
|
+
export type CSharpStackAllocArrayCreationExpressionAst = {
|
|
102
|
+
readonly kind: "stackAllocArrayCreationExpression";
|
|
103
|
+
readonly elementType: CSharpTypeAst;
|
|
104
|
+
readonly sizeExpression: CSharpExpressionAst;
|
|
105
|
+
};
|
|
106
|
+
export type CSharpAssignmentExpressionAst = {
|
|
107
|
+
readonly kind: "assignmentExpression";
|
|
108
|
+
/** "=", "+=", "-=", "*=", "/=", "%=", "&=", "|=", "^=", "<<=", ">>=", "??=" */
|
|
109
|
+
readonly operatorToken: string;
|
|
110
|
+
readonly left: CSharpExpressionAst;
|
|
111
|
+
readonly right: CSharpExpressionAst;
|
|
112
|
+
};
|
|
113
|
+
export type CSharpBinaryExpressionAst = {
|
|
114
|
+
readonly kind: "binaryExpression";
|
|
115
|
+
/** "+", "-", "*", "/", "%", "==", "!=", "<", ">", "<=", ">=", "&&", "||", "??", "&", "|", "^", "<<", ">>" */
|
|
116
|
+
readonly operatorToken: string;
|
|
117
|
+
readonly left: CSharpExpressionAst;
|
|
118
|
+
readonly right: CSharpExpressionAst;
|
|
119
|
+
};
|
|
120
|
+
export type CSharpPrefixUnaryExpressionAst = {
|
|
121
|
+
readonly kind: "prefixUnaryExpression";
|
|
122
|
+
/** "++", "--", "!", "-", "~", "+" */
|
|
123
|
+
readonly operatorToken: string;
|
|
124
|
+
readonly operand: CSharpExpressionAst;
|
|
125
|
+
};
|
|
126
|
+
export type CSharpPostfixUnaryExpressionAst = {
|
|
127
|
+
readonly kind: "postfixUnaryExpression";
|
|
128
|
+
/** "++", "--" */
|
|
129
|
+
readonly operatorToken: string;
|
|
130
|
+
readonly operand: CSharpExpressionAst;
|
|
131
|
+
};
|
|
132
|
+
export type CSharpConditionalExpressionAst = {
|
|
133
|
+
readonly kind: "conditionalExpression";
|
|
134
|
+
readonly condition: CSharpExpressionAst;
|
|
135
|
+
readonly whenTrue: CSharpExpressionAst;
|
|
136
|
+
readonly whenFalse: CSharpExpressionAst;
|
|
137
|
+
};
|
|
138
|
+
export type CSharpCastExpressionAst = {
|
|
139
|
+
readonly kind: "castExpression";
|
|
140
|
+
readonly type: CSharpTypeAst;
|
|
141
|
+
readonly expression: CSharpExpressionAst;
|
|
142
|
+
};
|
|
143
|
+
export type CSharpAsExpressionAst = {
|
|
144
|
+
readonly kind: "asExpression";
|
|
145
|
+
readonly expression: CSharpExpressionAst;
|
|
146
|
+
readonly type: CSharpTypeAst;
|
|
147
|
+
};
|
|
148
|
+
export type CSharpIsExpressionAst = {
|
|
149
|
+
readonly kind: "isExpression";
|
|
150
|
+
readonly expression: CSharpExpressionAst;
|
|
151
|
+
readonly pattern: CSharpPatternAst;
|
|
152
|
+
};
|
|
153
|
+
export type CSharpDefaultExpressionAst = {
|
|
154
|
+
readonly kind: "defaultExpression";
|
|
155
|
+
/** When undefined, emits untyped "default". When present, emits "default(T)". */
|
|
156
|
+
readonly type?: CSharpTypeAst;
|
|
157
|
+
};
|
|
158
|
+
export type CSharpAwaitExpressionAst = {
|
|
159
|
+
readonly kind: "awaitExpression";
|
|
160
|
+
readonly expression: CSharpExpressionAst;
|
|
161
|
+
};
|
|
162
|
+
export type CSharpLambdaParameterAst = {
|
|
163
|
+
readonly name: string;
|
|
164
|
+
readonly type?: CSharpTypeAst;
|
|
165
|
+
/** "ref", "out", "in" */
|
|
166
|
+
readonly modifier?: string;
|
|
167
|
+
};
|
|
168
|
+
export type CSharpLambdaExpressionAst = {
|
|
169
|
+
readonly kind: "lambdaExpression";
|
|
170
|
+
readonly isAsync: boolean;
|
|
171
|
+
readonly parameters: readonly CSharpLambdaParameterAst[];
|
|
172
|
+
readonly body: CSharpExpressionAst | CSharpBlockStatementAst;
|
|
173
|
+
/** Indent hint for block bodies (expressions don't track indentation) */
|
|
174
|
+
readonly bodyIndent?: string;
|
|
175
|
+
};
|
|
176
|
+
export type CSharpInterpolatedStringPartText = {
|
|
177
|
+
readonly kind: "text";
|
|
178
|
+
readonly text: string;
|
|
179
|
+
};
|
|
180
|
+
export type CSharpInterpolatedStringPartInterpolation = {
|
|
181
|
+
readonly kind: "interpolation";
|
|
182
|
+
readonly expression: CSharpExpressionAst;
|
|
183
|
+
readonly formatClause?: string;
|
|
184
|
+
};
|
|
185
|
+
export type CSharpInterpolatedStringPart = CSharpInterpolatedStringPartText | CSharpInterpolatedStringPartInterpolation;
|
|
186
|
+
export type CSharpInterpolatedStringExpressionAst = {
|
|
187
|
+
readonly kind: "interpolatedStringExpression";
|
|
188
|
+
readonly parts: readonly CSharpInterpolatedStringPart[];
|
|
189
|
+
};
|
|
190
|
+
export type CSharpThrowExpressionAst = {
|
|
191
|
+
readonly kind: "throwExpression";
|
|
192
|
+
readonly expression: CSharpExpressionAst;
|
|
193
|
+
};
|
|
194
|
+
export type CSharpSuppressNullableWarningExpressionAst = {
|
|
195
|
+
readonly kind: "suppressNullableWarningExpression";
|
|
196
|
+
readonly expression: CSharpExpressionAst;
|
|
197
|
+
};
|
|
198
|
+
export type CSharpTypeofExpressionAst = {
|
|
199
|
+
readonly kind: "typeofExpression";
|
|
200
|
+
readonly type: CSharpTypeAst;
|
|
201
|
+
};
|
|
202
|
+
export type CSharpArgumentModifierExpressionAst = {
|
|
203
|
+
readonly kind: "argumentModifierExpression";
|
|
204
|
+
/** "ref", "out", "in", "params" */
|
|
205
|
+
readonly modifier: string;
|
|
206
|
+
readonly expression: CSharpExpressionAst;
|
|
207
|
+
};
|
|
208
|
+
export type CSharpTupleExpressionAst = {
|
|
209
|
+
readonly kind: "tupleExpression";
|
|
210
|
+
readonly elements: readonly CSharpExpressionAst[];
|
|
211
|
+
};
|
|
212
|
+
export type CSharpSwitchExpressionArmAst = {
|
|
213
|
+
readonly pattern: CSharpPatternAst;
|
|
214
|
+
readonly whenClause?: CSharpExpressionAst;
|
|
215
|
+
readonly expression: CSharpExpressionAst;
|
|
216
|
+
};
|
|
217
|
+
export type CSharpSwitchExpressionAst = {
|
|
218
|
+
readonly kind: "switchExpression";
|
|
219
|
+
readonly governingExpression: CSharpExpressionAst;
|
|
220
|
+
readonly arms: readonly CSharpSwitchExpressionArmAst[];
|
|
221
|
+
};
|
|
222
|
+
export type CSharpExpressionAst = CSharpLiteralExpressionAst | CSharpIdentifierExpressionAst | CSharpParenthesizedExpressionAst | CSharpMemberAccessExpressionAst | CSharpConditionalMemberAccessExpressionAst | CSharpElementAccessExpressionAst | CSharpConditionalElementAccessExpressionAst | CSharpInvocationExpressionAst | CSharpObjectCreationExpressionAst | CSharpArrayCreationExpressionAst | CSharpStackAllocArrayCreationExpressionAst | CSharpAssignmentExpressionAst | CSharpBinaryExpressionAst | CSharpPrefixUnaryExpressionAst | CSharpPostfixUnaryExpressionAst | CSharpConditionalExpressionAst | CSharpCastExpressionAst | CSharpAsExpressionAst | CSharpIsExpressionAst | CSharpDefaultExpressionAst | CSharpAwaitExpressionAst | CSharpLambdaExpressionAst | CSharpInterpolatedStringExpressionAst | CSharpThrowExpressionAst | CSharpSuppressNullableWarningExpressionAst | CSharpTypeofExpressionAst | CSharpSwitchExpressionAst | CSharpArgumentModifierExpressionAst | CSharpTupleExpressionAst;
|
|
223
|
+
export type CSharpTypePatternAst = {
|
|
224
|
+
readonly kind: "typePattern";
|
|
225
|
+
readonly type: CSharpTypeAst;
|
|
226
|
+
};
|
|
227
|
+
export type CSharpDeclarationPatternAst = {
|
|
228
|
+
readonly kind: "declarationPattern";
|
|
229
|
+
readonly type: CSharpTypeAst;
|
|
230
|
+
readonly designation: string;
|
|
231
|
+
};
|
|
232
|
+
export type CSharpVarPatternAst = {
|
|
233
|
+
readonly kind: "varPattern";
|
|
234
|
+
readonly designation: string;
|
|
235
|
+
};
|
|
236
|
+
export type CSharpConstantPatternAst = {
|
|
237
|
+
readonly kind: "constantPattern";
|
|
238
|
+
readonly expression: CSharpExpressionAst;
|
|
239
|
+
};
|
|
240
|
+
export type CSharpDiscardPatternAst = {
|
|
241
|
+
readonly kind: "discardPattern";
|
|
242
|
+
};
|
|
243
|
+
export type CSharpNegatedPatternAst = {
|
|
244
|
+
readonly kind: "negatedPattern";
|
|
245
|
+
readonly pattern: CSharpPatternAst;
|
|
246
|
+
};
|
|
247
|
+
export type CSharpPatternAst = CSharpTypePatternAst | CSharpDeclarationPatternAst | CSharpVarPatternAst | CSharpConstantPatternAst | CSharpDiscardPatternAst | CSharpNegatedPatternAst;
|
|
248
|
+
export type CSharpBlockStatementAst = {
|
|
249
|
+
readonly kind: "blockStatement";
|
|
250
|
+
readonly statements: readonly CSharpStatementAst[];
|
|
251
|
+
};
|
|
252
|
+
export type CSharpVariableDeclaratorAst = {
|
|
253
|
+
readonly name: string;
|
|
254
|
+
readonly initializer?: CSharpExpressionAst;
|
|
255
|
+
};
|
|
256
|
+
export type CSharpLocalDeclarationStatementAst = {
|
|
257
|
+
readonly kind: "localDeclarationStatement";
|
|
258
|
+
/** Modifiers like "private", "static", "readonly" (for static field patterns) */
|
|
259
|
+
readonly modifiers: readonly string[];
|
|
260
|
+
readonly type: CSharpTypeAst;
|
|
261
|
+
readonly declarators: readonly CSharpVariableDeclaratorAst[];
|
|
262
|
+
};
|
|
263
|
+
export type CSharpParameterAst = {
|
|
264
|
+
readonly name: string;
|
|
265
|
+
readonly type: CSharpTypeAst;
|
|
266
|
+
readonly defaultValue?: CSharpExpressionAst;
|
|
267
|
+
/** "ref", "out", "in", "params", "this" */
|
|
268
|
+
readonly modifiers?: readonly string[];
|
|
269
|
+
readonly attributes?: readonly CSharpAttributeAst[];
|
|
270
|
+
};
|
|
271
|
+
export type CSharpLocalFunctionStatementAst = {
|
|
272
|
+
readonly kind: "localFunctionStatement";
|
|
273
|
+
readonly modifiers: readonly string[];
|
|
274
|
+
readonly returnType: CSharpTypeAst;
|
|
275
|
+
readonly name: string;
|
|
276
|
+
readonly typeParameters?: readonly string[];
|
|
277
|
+
readonly parameters: readonly CSharpParameterAst[];
|
|
278
|
+
readonly body: CSharpBlockStatementAst;
|
|
279
|
+
};
|
|
280
|
+
export type CSharpExpressionStatementAst = {
|
|
281
|
+
readonly kind: "expressionStatement";
|
|
282
|
+
readonly expression: CSharpExpressionAst;
|
|
283
|
+
};
|
|
284
|
+
export type CSharpIfStatementAst = {
|
|
285
|
+
readonly kind: "ifStatement";
|
|
286
|
+
readonly condition: CSharpExpressionAst;
|
|
287
|
+
readonly thenStatement: CSharpStatementAst;
|
|
288
|
+
readonly elseStatement?: CSharpStatementAst;
|
|
289
|
+
};
|
|
290
|
+
export type CSharpWhileStatementAst = {
|
|
291
|
+
readonly kind: "whileStatement";
|
|
292
|
+
readonly condition: CSharpExpressionAst;
|
|
293
|
+
readonly body: CSharpStatementAst;
|
|
294
|
+
};
|
|
295
|
+
export type CSharpForStatementAst = {
|
|
296
|
+
readonly kind: "forStatement";
|
|
297
|
+
readonly declaration?: CSharpLocalDeclarationStatementAst;
|
|
298
|
+
readonly initializers?: readonly CSharpExpressionAst[];
|
|
299
|
+
readonly condition?: CSharpExpressionAst;
|
|
300
|
+
readonly incrementors: readonly CSharpExpressionAst[];
|
|
301
|
+
readonly body: CSharpStatementAst;
|
|
302
|
+
};
|
|
303
|
+
export type CSharpForeachStatementAst = {
|
|
304
|
+
readonly kind: "foreachStatement";
|
|
305
|
+
readonly isAwait: boolean;
|
|
306
|
+
readonly type: CSharpTypeAst;
|
|
307
|
+
readonly identifier: string;
|
|
308
|
+
readonly expression: CSharpExpressionAst;
|
|
309
|
+
readonly body: CSharpStatementAst;
|
|
310
|
+
};
|
|
311
|
+
export type CSharpCaseSwitchLabelAst = {
|
|
312
|
+
readonly kind: "caseSwitchLabel";
|
|
313
|
+
readonly value: CSharpExpressionAst;
|
|
314
|
+
};
|
|
315
|
+
export type CSharpCasePatternSwitchLabelAst = {
|
|
316
|
+
readonly kind: "casePatternSwitchLabel";
|
|
317
|
+
readonly pattern: CSharpPatternAst;
|
|
318
|
+
readonly whenClause?: CSharpExpressionAst;
|
|
319
|
+
};
|
|
320
|
+
export type CSharpDefaultSwitchLabelAst = {
|
|
321
|
+
readonly kind: "defaultSwitchLabel";
|
|
322
|
+
};
|
|
323
|
+
export type CSharpSwitchLabelAst = CSharpCaseSwitchLabelAst | CSharpCasePatternSwitchLabelAst | CSharpDefaultSwitchLabelAst;
|
|
324
|
+
export type CSharpSwitchSectionAst = {
|
|
325
|
+
readonly labels: readonly CSharpSwitchLabelAst[];
|
|
326
|
+
readonly statements: readonly CSharpStatementAst[];
|
|
327
|
+
};
|
|
328
|
+
export type CSharpSwitchStatementAst = {
|
|
329
|
+
readonly kind: "switchStatement";
|
|
330
|
+
readonly expression: CSharpExpressionAst;
|
|
331
|
+
readonly sections: readonly CSharpSwitchSectionAst[];
|
|
332
|
+
};
|
|
333
|
+
export type CSharpCatchClauseAst = {
|
|
334
|
+
readonly type?: CSharpTypeAst;
|
|
335
|
+
readonly identifier?: string;
|
|
336
|
+
readonly filter?: CSharpExpressionAst;
|
|
337
|
+
readonly body: CSharpBlockStatementAst;
|
|
338
|
+
};
|
|
339
|
+
export type CSharpTryStatementAst = {
|
|
340
|
+
readonly kind: "tryStatement";
|
|
341
|
+
readonly body: CSharpBlockStatementAst;
|
|
342
|
+
readonly catches: readonly CSharpCatchClauseAst[];
|
|
343
|
+
readonly finallyBody?: CSharpBlockStatementAst;
|
|
344
|
+
};
|
|
345
|
+
export type CSharpThrowStatementAst = {
|
|
346
|
+
readonly kind: "throwStatement";
|
|
347
|
+
readonly expression?: CSharpExpressionAst;
|
|
348
|
+
};
|
|
349
|
+
export type CSharpReturnStatementAst = {
|
|
350
|
+
readonly kind: "returnStatement";
|
|
351
|
+
readonly expression?: CSharpExpressionAst;
|
|
352
|
+
};
|
|
353
|
+
export type CSharpBreakStatementAst = {
|
|
354
|
+
readonly kind: "breakStatement";
|
|
355
|
+
};
|
|
356
|
+
export type CSharpContinueStatementAst = {
|
|
357
|
+
readonly kind: "continueStatement";
|
|
358
|
+
};
|
|
359
|
+
export type CSharpEmptyStatementAst = {
|
|
360
|
+
readonly kind: "emptyStatement";
|
|
361
|
+
};
|
|
362
|
+
export type CSharpYieldStatementAst = {
|
|
363
|
+
readonly kind: "yieldStatement";
|
|
364
|
+
/** true = "yield break;", false = "yield return expr;" */
|
|
365
|
+
readonly isBreak: boolean;
|
|
366
|
+
readonly expression?: CSharpExpressionAst;
|
|
367
|
+
};
|
|
368
|
+
export type CSharpStatementAst = CSharpBlockStatementAst | CSharpLocalDeclarationStatementAst | CSharpLocalFunctionStatementAst | CSharpExpressionStatementAst | CSharpIfStatementAst | CSharpWhileStatementAst | CSharpForStatementAst | CSharpForeachStatementAst | CSharpSwitchStatementAst | CSharpTryStatementAst | CSharpThrowStatementAst | CSharpReturnStatementAst | CSharpBreakStatementAst | CSharpContinueStatementAst | CSharpEmptyStatementAst | CSharpYieldStatementAst;
|
|
369
|
+
export type CSharpAttributeAst = {
|
|
370
|
+
readonly type: CSharpTypeAst;
|
|
371
|
+
readonly arguments?: readonly CSharpExpressionAst[];
|
|
372
|
+
/** Attribute target specifier, e.g. "return", "assembly", "field" */
|
|
373
|
+
readonly target?: string;
|
|
374
|
+
};
|
|
375
|
+
export type CSharpFieldDeclarationAst = {
|
|
376
|
+
readonly kind: "fieldDeclaration";
|
|
377
|
+
readonly attributes: readonly CSharpAttributeAst[];
|
|
378
|
+
readonly modifiers: readonly string[];
|
|
379
|
+
readonly type: CSharpTypeAst;
|
|
380
|
+
readonly name: string;
|
|
381
|
+
readonly initializer?: CSharpExpressionAst;
|
|
382
|
+
};
|
|
383
|
+
export type CSharpPropertyDeclarationAst = {
|
|
384
|
+
readonly kind: "propertyDeclaration";
|
|
385
|
+
readonly attributes: readonly CSharpAttributeAst[];
|
|
386
|
+
readonly modifiers: readonly string[];
|
|
387
|
+
readonly type: CSharpTypeAst;
|
|
388
|
+
readonly name: string;
|
|
389
|
+
readonly hasGetter: boolean;
|
|
390
|
+
readonly hasSetter: boolean;
|
|
391
|
+
/** C# 9 init-only setter (`{ get; init; }`) */
|
|
392
|
+
readonly hasInit?: boolean;
|
|
393
|
+
readonly initializer?: CSharpExpressionAst;
|
|
394
|
+
readonly isAutoProperty: boolean;
|
|
395
|
+
/** Explicit getter body (when isAutoProperty is false) */
|
|
396
|
+
readonly getterBody?: CSharpBlockStatementAst;
|
|
397
|
+
/** Explicit setter body (when isAutoProperty is false) */
|
|
398
|
+
readonly setterBody?: CSharpBlockStatementAst;
|
|
399
|
+
};
|
|
400
|
+
export type CSharpMethodDeclarationAst = {
|
|
401
|
+
readonly kind: "methodDeclaration";
|
|
402
|
+
readonly attributes: readonly CSharpAttributeAst[];
|
|
403
|
+
readonly modifiers: readonly string[];
|
|
404
|
+
readonly returnType: CSharpTypeAst;
|
|
405
|
+
readonly name: string;
|
|
406
|
+
readonly typeParameters?: readonly CSharpTypeParameterAst[];
|
|
407
|
+
readonly parameters: readonly CSharpParameterAst[];
|
|
408
|
+
readonly body?: CSharpBlockStatementAst;
|
|
409
|
+
readonly expressionBody?: CSharpExpressionAst;
|
|
410
|
+
readonly constraints?: readonly CSharpTypeParameterConstraintAst[];
|
|
411
|
+
};
|
|
412
|
+
export type CSharpConstructorDeclarationAst = {
|
|
413
|
+
readonly kind: "constructorDeclaration";
|
|
414
|
+
readonly attributes: readonly CSharpAttributeAst[];
|
|
415
|
+
readonly modifiers: readonly string[];
|
|
416
|
+
readonly name: string;
|
|
417
|
+
readonly parameters: readonly CSharpParameterAst[];
|
|
418
|
+
readonly baseArguments?: readonly CSharpExpressionAst[];
|
|
419
|
+
readonly body: CSharpBlockStatementAst;
|
|
420
|
+
};
|
|
421
|
+
export type CSharpEnumMemberAst = {
|
|
422
|
+
readonly name: string;
|
|
423
|
+
readonly value?: CSharpExpressionAst;
|
|
424
|
+
};
|
|
425
|
+
export type CSharpTypeParameterAst = {
|
|
426
|
+
readonly name: string;
|
|
427
|
+
};
|
|
428
|
+
export type CSharpTypeParameterConstraintNodeAst = {
|
|
429
|
+
readonly kind: "typeConstraint";
|
|
430
|
+
readonly type: CSharpTypeAst;
|
|
431
|
+
} | {
|
|
432
|
+
readonly kind: "classConstraint";
|
|
433
|
+
} | {
|
|
434
|
+
readonly kind: "structConstraint";
|
|
435
|
+
} | {
|
|
436
|
+
readonly kind: "constructorConstraint";
|
|
437
|
+
};
|
|
438
|
+
export type CSharpTypeParameterConstraintAst = {
|
|
439
|
+
readonly typeParameter: string;
|
|
440
|
+
readonly constraints: readonly CSharpTypeParameterConstraintNodeAst[];
|
|
441
|
+
};
|
|
442
|
+
export type CSharpDelegateDeclarationAst = {
|
|
443
|
+
readonly kind: "delegateDeclaration";
|
|
444
|
+
readonly modifiers: readonly string[];
|
|
445
|
+
readonly returnType: CSharpTypeAst;
|
|
446
|
+
readonly name: string;
|
|
447
|
+
readonly parameters: readonly CSharpParameterAst[];
|
|
448
|
+
};
|
|
449
|
+
export type CSharpMemberAst = CSharpFieldDeclarationAst | CSharpPropertyDeclarationAst | CSharpMethodDeclarationAst | CSharpConstructorDeclarationAst | CSharpDelegateDeclarationAst;
|
|
450
|
+
export type CSharpClassDeclarationAst = {
|
|
451
|
+
readonly kind: "classDeclaration";
|
|
452
|
+
readonly attributes: readonly CSharpAttributeAst[];
|
|
453
|
+
readonly modifiers: readonly string[];
|
|
454
|
+
readonly name: string;
|
|
455
|
+
readonly typeParameters?: readonly CSharpTypeParameterAst[];
|
|
456
|
+
readonly baseType?: CSharpTypeAst;
|
|
457
|
+
readonly interfaces: readonly CSharpTypeAst[];
|
|
458
|
+
readonly members: readonly CSharpMemberAst[];
|
|
459
|
+
readonly constraints?: readonly CSharpTypeParameterConstraintAst[];
|
|
460
|
+
};
|
|
461
|
+
export type CSharpStructDeclarationAst = {
|
|
462
|
+
readonly kind: "structDeclaration";
|
|
463
|
+
readonly attributes: readonly CSharpAttributeAst[];
|
|
464
|
+
readonly modifiers: readonly string[];
|
|
465
|
+
readonly name: string;
|
|
466
|
+
readonly typeParameters?: readonly CSharpTypeParameterAst[];
|
|
467
|
+
readonly interfaces: readonly CSharpTypeAst[];
|
|
468
|
+
readonly members: readonly CSharpMemberAst[];
|
|
469
|
+
readonly constraints?: readonly CSharpTypeParameterConstraintAst[];
|
|
470
|
+
};
|
|
471
|
+
export type CSharpInterfaceDeclarationAst = {
|
|
472
|
+
readonly kind: "interfaceDeclaration";
|
|
473
|
+
readonly attributes: readonly CSharpAttributeAst[];
|
|
474
|
+
readonly modifiers: readonly string[];
|
|
475
|
+
readonly name: string;
|
|
476
|
+
readonly typeParameters?: readonly CSharpTypeParameterAst[];
|
|
477
|
+
readonly interfaces: readonly CSharpTypeAst[];
|
|
478
|
+
readonly members: readonly CSharpMemberAst[];
|
|
479
|
+
readonly constraints?: readonly CSharpTypeParameterConstraintAst[];
|
|
480
|
+
};
|
|
481
|
+
export type CSharpEnumDeclarationAst = {
|
|
482
|
+
readonly kind: "enumDeclaration";
|
|
483
|
+
readonly attributes: readonly CSharpAttributeAst[];
|
|
484
|
+
readonly modifiers: readonly string[];
|
|
485
|
+
readonly name: string;
|
|
486
|
+
readonly members: readonly CSharpEnumMemberAst[];
|
|
487
|
+
};
|
|
488
|
+
export type CSharpTypeDeclarationAst = CSharpClassDeclarationAst | CSharpStructDeclarationAst | CSharpInterfaceDeclarationAst | CSharpEnumDeclarationAst;
|
|
489
|
+
export type CSharpUsingDirectiveAst = {
|
|
490
|
+
readonly kind: "usingDirective";
|
|
491
|
+
readonly namespace: string;
|
|
492
|
+
};
|
|
493
|
+
export type CSharpNamespaceDeclarationAst = {
|
|
494
|
+
readonly kind: "namespaceDeclaration";
|
|
495
|
+
readonly name: string;
|
|
496
|
+
readonly members: readonly CSharpTypeDeclarationAst[];
|
|
497
|
+
};
|
|
498
|
+
export type CSharpCompilationUnitAst = {
|
|
499
|
+
readonly kind: "compilationUnit";
|
|
500
|
+
readonly header?: string;
|
|
501
|
+
readonly usings: readonly CSharpUsingDirectiveAst[];
|
|
502
|
+
readonly members: readonly (CSharpNamespaceDeclarationAst | CSharpTypeDeclarationAst)[];
|
|
503
|
+
};
|
|
504
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/format/backend-ast/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,gHAAgH;IAChH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,8FAA8F;IAC9F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,aAAa,GACrB,uBAAuB,GACvB,uBAAuB,GACvB,qBAAqB,GACrB,kBAAkB,GAClB,oBAAoB,GACpB,kBAAkB,GAClB,gBAAgB,CAAC;AAMrB,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,iGAAiG;IACjG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,0CAA0C,GAAG;IACvD,QAAQ,CAAC,IAAI,EAAE,mCAAmC,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,2CAA2C,GAAG;IACxD,QAAQ,CAAC,IAAI,EAAE,oCAAoC,CAAC;IACpD,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD,4CAA4C;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,0CAA0C,GAAG;IACvD,QAAQ,CAAC,IAAI,EAAE,mCAAmC,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,6GAA6G;IAC7G,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,qCAAqC;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,iBAAiB;IACjB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,iFAAiF;IACjF,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAC9B,yBAAyB;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACzD,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,uBAAuB,CAAC;IAC7D,yEAAyE;IACzE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,yCAAyC,GAAG;IACtD,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GACpC,gCAAgC,GAChC,yCAAyC,CAAC;AAE9C,MAAM,MAAM,qCAAqC,GAAG;IAClD,QAAQ,CAAC,IAAI,EAAE,8BAA8B,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,SAAS,4BAA4B,EAAE,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,0CAA0C,GAAG;IACvD,QAAQ,CAAC,IAAI,EAAE,mCAAmC,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;IAC5C,mCAAmC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,SAAS,4BAA4B,EAAE,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B,0BAA0B,GAC1B,6BAA6B,GAC7B,gCAAgC,GAChC,+BAA+B,GAC/B,0CAA0C,GAC1C,gCAAgC,GAChC,2CAA2C,GAC3C,6BAA6B,GAC7B,iCAAiC,GACjC,gCAAgC,GAChC,0CAA0C,GAC1C,6BAA6B,GAC7B,yBAAyB,GACzB,8BAA8B,GAC9B,+BAA+B,GAC/B,8BAA8B,GAC9B,uBAAuB,GACvB,qBAAqB,GACrB,qBAAqB,GACrB,0BAA0B,GAC1B,wBAAwB,GACxB,yBAAyB,GACzB,qCAAqC,GACrC,wBAAwB,GACxB,0CAA0C,GAC1C,yBAAyB,GACzB,yBAAyB,GACzB,mCAAmC,GACnC,wBAAwB,CAAC;AAM7B,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB,oBAAoB,GACpB,2BAA2B,GAC3B,mBAAmB,GACnB,wBAAwB,GACxB,uBAAuB,GACvB,uBAAuB,CAAC;AAM5B,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC;IAC3C,iFAAiF;IACjF,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,SAAS,2BAA2B,EAAE,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAC5C,2CAA2C;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,kCAAkC,CAAC;IAC1D,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC5B,wBAAwB,GACxB,+BAA+B,GAC/B,2BAA2B,CAAC;AAEhC,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,sBAAsB,EAAE,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAClD,QAAQ,CAAC,WAAW,CAAC,EAAE,uBAAuB,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B,uBAAuB,GACvB,kCAAkC,GAClC,+BAA+B,GAC/B,4BAA4B,GAC5B,oBAAoB,GACpB,uBAAuB,GACvB,qBAAqB,GACrB,yBAAyB,GACzB,wBAAwB,GACxB,qBAAqB,GACrB,uBAAuB,GACvB,wBAAwB,GACxB,uBAAuB,GACvB,0BAA0B,GAC1B,uBAAuB,GACvB,uBAAuB,CAAC;AAM5B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACpD,qEAAqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAC3C,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,uBAAuB,CAAC;IAC9C,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,uBAAuB,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC5D,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,gCAAgC,EAAE,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACxD,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAC5C;IACE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;CAClC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CACnC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;CACxC,CAAC;AAEN,MAAM,MAAM,gCAAgC,GAAG;IAC7C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,SAAS,oCAAoC,EAAE,CAAC;CACvE,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,eAAe,GACvB,yBAAyB,GACzB,4BAA4B,GAC5B,0BAA0B,GAC1B,+BAA+B,GAC/B,4BAA4B,CAAC;AAEjC,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,gCAAgC,EAAE,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC5D,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,gCAAgC,EAAE,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC5D,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,gCAAgC,EAAE,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC,yBAAyB,GACzB,0BAA0B,GAC1B,6BAA6B,GAC7B,wBAAwB,CAAC;AAM7B,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,wBAAwB,EAAE,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACpD,QAAQ,CAAC,OAAO,EAAE,SAAS,CACvB,6BAA6B,GAC7B,wBAAwB,CAC3B,EAAE,CAAC;CACL,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backend C# AST type definitions
|
|
3
|
+
*
|
|
4
|
+
* Structured AST nodes for deterministic C# code generation.
|
|
5
|
+
* These types follow Roslyn syntax node semantics with camelCase TypeScript naming.
|
|
6
|
+
*
|
|
7
|
+
* Pipeline: IR -> typed CSharpAst -> deterministic printer -> C# text
|
|
8
|
+
*
|
|
9
|
+
* INVARIANT: No `rawType` or `rawExpression` nodes exist. Every construct
|
|
10
|
+
* must be represented by an explicit, strongly-typed AST node.
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/format/backend-ast/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
|