@tsonic/emitter 0.0.67 → 0.0.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/array.test.js +67 -3
- package/dist/array.test.js.map +1 -1
- package/dist/core/format/backend-ast/index.d.ts +1 -1
- package/dist/core/format/backend-ast/index.d.ts.map +1 -1
- package/dist/core/format/backend-ast/index.js.map +1 -1
- package/dist/core/format/backend-ast/printer.d.ts.map +1 -1
- package/dist/core/format/backend-ast/printer.js +5 -1
- package/dist/core/format/backend-ast/printer.js.map +1 -1
- package/dist/core/format/backend-ast/types.d.ts +6 -1
- package/dist/core/format/backend-ast/types.d.ts.map +1 -1
- package/dist/core/format/module-emitter/orchestrator.d.ts.map +1 -1
- package/dist/core/format/module-emitter/orchestrator.js +7 -0
- package/dist/core/format/module-emitter/orchestrator.js.map +1 -1
- package/dist/core/module-emitter.test.js +125 -0
- package/dist/core/module-emitter.test.js.map +1 -1
- package/dist/core/semantic/imports.d.ts.map +1 -1
- package/dist/core/semantic/imports.js +62 -4
- package/dist/core/semantic/imports.js.map +1 -1
- package/dist/core/semantic/imports.test.js +186 -0
- package/dist/core/semantic/imports.test.js.map +1 -1
- package/dist/core/semantic/module-map.d.ts.map +1 -1
- package/dist/core/semantic/module-map.js +6 -0
- package/dist/core/semantic/module-map.js.map +1 -1
- package/dist/core/semantic/module-map.test.js +52 -1
- package/dist/core/semantic/module-map.test.js.map +1 -1
- package/dist/core/semantic/mutable-storage.d.ts +10 -0
- package/dist/core/semantic/mutable-storage.d.ts.map +1 -0
- package/dist/core/semantic/mutable-storage.js +479 -0
- package/dist/core/semantic/mutable-storage.js.map +1 -0
- package/dist/core/semantic/type-resolution.d.ts.map +1 -1
- package/dist/core/semantic/type-resolution.js +14 -5
- package/dist/core/semantic/type-resolution.js.map +1 -1
- package/dist/core/semantic/type-resolution.test.js +2 -0
- package/dist/core/semantic/type-resolution.test.js.map +1 -1
- package/dist/core/semantic/unsafe.d.ts.map +1 -1
- package/dist/core/semantic/unsafe.js +4 -0
- package/dist/core/semantic/unsafe.js.map +1 -1
- package/dist/emitter-types/core.d.ts +10 -0
- package/dist/emitter-types/core.d.ts.map +1 -1
- package/dist/expression-emitter.d.ts.map +1 -1
- package/dist/expression-emitter.js +73 -3
- package/dist/expression-emitter.js.map +1 -1
- package/dist/expressions/access.d.ts +2 -2
- package/dist/expressions/access.d.ts.map +1 -1
- package/dist/expressions/access.js +16 -2
- package/dist/expressions/access.js.map +1 -1
- package/dist/expressions/calls/call-emitter.d.ts.map +1 -1
- package/dist/expressions/calls/call-emitter.js +1350 -122
- package/dist/expressions/calls/call-emitter.js.map +1 -1
- package/dist/expressions/collections.d.ts +3 -0
- package/dist/expressions/collections.d.ts.map +1 -1
- package/dist/expressions/collections.js +126 -43
- package/dist/expressions/collections.js.map +1 -1
- package/dist/expressions/functions.d.ts.map +1 -1
- package/dist/expressions/functions.js +126 -50
- package/dist/expressions/functions.js.map +1 -1
- package/dist/expressions/index.test.js +447 -0
- package/dist/expressions/index.test.js.map +1 -1
- package/dist/expressions/operators/assignment-emitter.d.ts.map +1 -1
- package/dist/expressions/operators/assignment-emitter.js +5 -1
- package/dist/expressions/operators/assignment-emitter.js.map +1 -1
- package/dist/expressions/parentheses.d.ts.map +1 -1
- package/dist/expressions/parentheses.js +4 -0
- package/dist/expressions/parentheses.js.map +1 -1
- package/dist/integration.test.js +343 -0
- package/dist/integration.test.js.map +1 -1
- package/dist/json-aot-generic.test.js +114 -0
- package/dist/json-aot-generic.test.js.map +1 -1
- package/dist/patterns.d.ts.map +1 -1
- package/dist/patterns.js +194 -0
- package/dist/patterns.js.map +1 -1
- package/dist/patterns.test.js +79 -0
- package/dist/patterns.test.js.map +1 -1
- package/dist/statements/classes/members/properties.d.ts.map +1 -1
- package/dist/statements/classes/members/properties.js +10 -3
- package/dist/statements/classes/members/properties.js.map +1 -1
- package/dist/statements/classes/members/static-readonly-properties.test.js +74 -1
- package/dist/statements/classes/members/static-readonly-properties.test.js.map +1 -1
- package/dist/statements/classes/properties.d.ts.map +1 -1
- package/dist/statements/classes/properties.js +4 -2
- package/dist/statements/classes/properties.js.map +1 -1
- package/dist/statements/control/conditionals/if-emitter.d.ts.map +1 -1
- package/dist/statements/control/conditionals/if-emitter.js +137 -0
- package/dist/statements/control/conditionals/if-emitter.js.map +1 -1
- package/dist/statements/control/loops.d.ts.map +1 -1
- package/dist/statements/control/loops.js +65 -3
- package/dist/statements/control/loops.js.map +1 -1
- package/dist/statements/declarations/classes.d.ts.map +1 -1
- package/dist/statements/declarations/classes.js +4 -1
- package/dist/statements/declarations/classes.js.map +1 -1
- package/dist/statements/declarations/interfaces-mutable-storage.test.d.ts +2 -0
- package/dist/statements/declarations/interfaces-mutable-storage.test.d.ts.map +1 -0
- package/dist/statements/declarations/interfaces-mutable-storage.test.js +84 -0
- package/dist/statements/declarations/interfaces-mutable-storage.test.js.map +1 -0
- package/dist/statements/declarations/interfaces.d.ts.map +1 -1
- package/dist/statements/declarations/interfaces.js +4 -1
- package/dist/statements/declarations/interfaces.js.map +1 -1
- package/dist/statements/declarations/variables.d.ts.map +1 -1
- package/dist/statements/declarations/variables.js +89 -2
- package/dist/statements/declarations/variables.js.map +1 -1
- package/dist/types/functions.d.ts.map +1 -1
- package/dist/types/functions.js +3 -1
- package/dist/types/functions.js.map +1 -1
- package/dist/types/references.d.ts.map +1 -1
- package/dist/types/references.js +19 -16
- package/dist/types/references.js.map +1 -1
- package/dist/types/references.test.js +17 -0
- package/dist/types/references.test.js.map +1 -1
- package/dist/types/unions.d.ts.map +1 -1
- package/dist/types/unions.js +41 -16
- package/dist/types/unions.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classes.js","sourceRoot":"","sources":["../../../src/statements/declarations/classes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"classes.js","sourceRoot":"","sources":["../../../src/statements/declarations/classes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAkB,MAAM,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAQxD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAAwD,EACxD,OAAuB,EACgC,EAAE;IACzD,MAAM,WAAW,GAAG;QAClB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAC;IAEF,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE/C,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;IACjD,MAAM,aAAa,GAAG,iBAAiB;QACrC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CACjB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB;YAC7B,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC;YACnC,CAAC,CAAC,QAAQ,CACb;QACH,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,eAAe,GAA6B,iBAAiB;QACjE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CACjB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,wBAAwB;YACnC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB;gBAC9B,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC;gBACjC,CAAC,CAAC,CAAC,QAAQ,CAAC,CACjB;QACH,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IAEjB,MAAM,uBAAuB,GAA6B,CAAC,GAAG,EAAE;QAC9D,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,wBAAwB,CAC3C,CAAC;QACF,IAAI,UAAU;YAAE,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,eAAe;YAAE,OAAO,EAAE,CAAC;QAC5E,IAAI,CAAC,OAAO,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAEnC,MAAM,QAAQ,GACZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,EAAE,CAAC;QAEtD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,wBAAwB,CAC3C,CAAC;QACF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEtC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC;QACzD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;QAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxD,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;gBACzB,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChC,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtD,GAAG,CAAC;gBACJ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;aACjE,CAAC,CAAC,CAAC;YAEJ,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1C,MAAM,IAAI,GACR,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBAClE,OAAO,EAAE,IAAI,EAAE,YAAqB,EAAE,IAAI,EAAE,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE,wBAAiC;gBACvC,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,QAAQ;gBACjD,UAAU,EAAE,eAAe;gBAC3B,IAAI,EAAE;oBACJ,IAAI,EAAE,gBAAyB;oBAC/B,UAAU,EAAE;wBACV;4BACE,IAAI,EAAE,qBAA8B;4BACpC,UAAU,EAAE;gCACV,IAAI,EAAE,MAAe;gCACrB,MAAM,EAAE,EAAE,IAAI,EAAE,YAAqB,EAAE,IAAI,EAAE,OAAO,EAAE;gCACtD,SAAS,EAAE,SAAS;gCACpB,UAAU,EAAE,KAAK;6BAClB;yBACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,iBAAiB,GACrB,uBAAuB,CAAC,MAAM,GAAG,CAAC;QAChC,CAAC,CAAC,CAAC,GAAG,uBAAuB,EAAE,GAAG,eAAe,CAAC;QAClD,CAAC,CAAC,eAAe,CAAC;IAEtB,MAAM,uBAAuB,GAC3B,cAAc,CAAC,MAAM,GAAG,CAAC;QACzB,CAAC,IAAI,CAAC,QAAQ;QACd,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC;IAEtE,MAAM,qBAAqB,GACzB,uBAAuB;QACrB,CAAC,CAAC;YACE;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,aAAa,EAAE,QAAQ;gBACvB,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,EAAE,EAAE;aACzB;YACzB,GAAG,iBAAiB;SACrB;QACH,CAAC,CAAC,iBAAiB,CAAC;IAExB,wDAAwD;IACxD,MAAM,aAAa,GAA6B,qBAAqB,CAAC,GAAG,CACvE,CAAC,MAAM,EAAiB,EAAE;QACxB,IAAI,MAAM,CAAC,IAAI,KAAK,wBAAwB;YAAE,OAAO,MAAM,CAAC;QAC5D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QAE/C,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QACzC,OAAO;YACL,GAAG,MAAM;YACT,UAAU,EAAE,CAAC,GAAG,cAAc,EAAE,GAAG,QAAQ,CAAC;SAC7C,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,uCAAuC;IACvC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS;QACtC,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KACrD,CAAC,CAAC;IAEH,IAAI,cAAc,GAAmB;QACnC,GAAG,OAAO;QACV,cAAc,EAAE,eAAe;KAChC,CAAC;IAEF,mBAAmB;IACnB,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;IAC3E,MAAM,aAAa,GACjB,IAAI,CAAC,UAAU,IAAI,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IAE9D,MAAM,SAAS,GAAa,CAAC,aAAa,CAAC,CAAC;IAC5C,IAAI,WAAW;QAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE1C,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3D,kBAAkB;IAClB,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;IACjD,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACxC,sBAAsB,CAAC,GAAG,CACxB,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAChD,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YAC1C,sBAAsB,CAAC,GAAG,CACxB,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CACnD,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,CAAC,aAAa,EAAE,cAAc,EAAE,gBAAgB,CAAC,GACrD,qBAAqB,CACnB,IAAI,CAAC,cAAc,EACnB,cAAc,EACd,sBAAsB,CACvB,CAAC;IACJ,cAAc,GAAG,gBAAgB,CAAC;IAElC,8BAA8B;IAC9B,IAAI,QAAmC,CAAC;IACxC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAAG,WAAW,CACjD,IAAI,CAAC,UAAU,EACf,cAAc,CACf,CAAC;QACF,cAAc,GAAG,UAAU,CAAC;QAC5B,QAAQ,GAAG,iBAAiB,CAAC;IAC/B,CAAC;IAED,iCAAiC;IACjC,MAAM,qBAAqB,GAAoB,EAAE,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe;YAAE,SAAS;QAE5C,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,sBAAsB,GAC1B,SAAS,EAAE,IAAI,KAAK,WAAW;YAC/B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;QAE9D,MAAM,oBAAoB,GAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM;YAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,UAAU,GAAG,oBAAoB;aACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;aAC5C,IAAI,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAE5D,MAAM,cAAc,GAAG,UAAU,EAAE,IAAI,KAAK,WAAW,CAAC;QAExD,IAAI,CAAC,sBAAsB,IAAI,CAAC,cAAc;YAAE,SAAS;QAEzD,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACpE,cAAc,GAAG,UAAU,CAAC;QAC5B,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,aAAa;IACb,MAAM,WAAW,GAAG;QAClB,GAAG,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC;QAC1D,iBAAiB,EAAE,IAAI,CAAC,IAAI;KAC7B,CAAC;IACF,MAAM,WAAW,GAAmB;QAClC,GAAG,WAAW;QACd,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;KAClD,CAAC;IAEF,MAAM,UAAU,GAAsB,EAAE,CAAC;IACzC,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACrE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,cAAc,GAAG,UAAU,CAAC;IAC9B,CAAC;IAED,MAAM,qBAAqB,GAAG,UAAU,CAAC,IAAI,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC5E,CAAC;IACF,MAAM,qBAAqB,GAAuB;QAChD,IAAI,EAAE;YACJ,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,sEAAsE;SAC7E;KACF,CAAC;IACF,MAAM,0BAA0B,GAAG,CAAC,GAAG,EAAE;QACvC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,qBAAqB;YAAE,OAAO,UAAU,CAAC;QAC/D,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1C,IAAI,CAAC,CAAC,IAAI,KAAK,wBAAwB;gBAAE,OAAO,CAAC,CAAC;YAClD,MAAM,eAAe,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC9C,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB;oBAAE,OAAO,KAAK,CAAC;gBACnD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzB,OAAO,CACL,IAAI;oBACF,sEAAsE;oBACxE,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAC/C,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,IAAI,eAAe;gBAAE,OAAO,CAAC,CAAC;YAC9B,OAAO;gBACL,GAAG,CAAC;gBACJ,UAAU,EAAE,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC;aACrD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,wBAAwB,CAC3C,CAAC;QACF,IAAI,iBAAiB;YAAE,OAAO,cAAc,CAAC;QAE7C,MAAM,eAAe,GAAoB;YACvC,IAAI,EAAE,wBAAwB;YAC9B,UAAU,EAAE,CAAC,qBAAqB,CAAC;YACnC,SAAS,EAAE,CAAC,QAAQ,CAAC;YACrB,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE,EAAE;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,EAAE,EAAE;SACjD,CAAC;QACF,OAAO,CAAC,eAAe,EAAE,GAAG,cAAc,CAAC,CAAC;IAC9C,CAAC,CAAC,EAAE,CAAC;IAEL,aAAa;IACb,MAAM,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAEzD,sCAAsC;IACtC,MAAM,QAAQ,GAA6B,IAAI,CAAC,QAAQ;QACtD,CAAC,CAAC;YACE,IAAI,EAAE,mBAAmB;YACzB,UAAU,EAAE,KAAK;YACjB,SAAS;YACT,IAAI,EAAE,gBAAgB;YACtB,cAAc,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;YACpE,UAAU,EAAE,qBAAqB;YACjC,OAAO,EAAE,0BAA0B;YACnC,WAAW,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;SACpE;QACH,CAAC,CAAC;YACE,IAAI,EAAE,kBAAkB;YACxB,UAAU,EAAE,KAAK;YACjB,SAAS;YACT,IAAI,EAAE,gBAAgB;YACtB,cAAc,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;YACpE,QAAQ;YACR,UAAU,EAAE,qBAAqB;YACjC,OAAO,EAAE,0BAA0B;YACnC,WAAW,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;SACpE,CAAC;IAEN,0DAA0D;IAC1D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,eAAe,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,WAAW;YAAE,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEhD,MAAM,oBAAoB,GAAG,aAAa,CACxC,MAAM,CAAC,OAAO,CAAC,EACf,gBAAgB,CACjB,CAAC;QACF,MAAM,oBAAoB,GAAmB;YAC3C,GAAG,oBAAoB;YACvB,aAAa,EAAE,SAAS;SACzB,CAAC;QAEF,MAAM,gBAAgB,GAAsB,EAAE,CAAC;QAC/C,IAAI,gBAAgB,GAAG,oBAAoB,CAAC;QAC5C,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAC1E,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjC,gBAAgB,GAAG,UAAU,CAAC;QAChC,CAAC;QAED,MAAM,aAAa,GAA6B;YAC9C,IAAI,EAAE,kBAAkB;YACxB,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,eAAe;YAC1B,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,gBAAgB;SAC1B,CAAC;QAEF,OAAO,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces-mutable-storage.test.d.ts","sourceRoot":"","sources":["../../../src/statements/declarations/interfaces-mutable-storage.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { describe, it } from "mocha";
|
|
2
|
+
import { expect } from "chai";
|
|
3
|
+
import { emitInterfaceDeclaration } from "./interfaces.js";
|
|
4
|
+
import { printTypeDeclaration } from "../../core/format/backend-ast/printer.js";
|
|
5
|
+
const defaultOptions = {
|
|
6
|
+
rootNamespace: "Test",
|
|
7
|
+
indent: 2,
|
|
8
|
+
};
|
|
9
|
+
const createContext = (patch = {}) => ({
|
|
10
|
+
indentLevel: 0,
|
|
11
|
+
options: defaultOptions,
|
|
12
|
+
isStatic: false,
|
|
13
|
+
isAsync: false,
|
|
14
|
+
usings: new Set(),
|
|
15
|
+
...patch,
|
|
16
|
+
});
|
|
17
|
+
describe("Interface mutable storage emission", () => {
|
|
18
|
+
it("uses a setter for readonly array properties when the slot is mutated", () => {
|
|
19
|
+
const context = createContext({
|
|
20
|
+
declaringTypeName: "ResultBag",
|
|
21
|
+
mutablePropertySlots: new Set(["ResultBag::items"]),
|
|
22
|
+
});
|
|
23
|
+
const stmt = {
|
|
24
|
+
kind: "interfaceDeclaration",
|
|
25
|
+
name: "ResultBag",
|
|
26
|
+
members: [
|
|
27
|
+
{
|
|
28
|
+
kind: "propertySignature",
|
|
29
|
+
name: "items",
|
|
30
|
+
type: {
|
|
31
|
+
kind: "arrayType",
|
|
32
|
+
elementType: { kind: "primitiveType", name: "string" },
|
|
33
|
+
},
|
|
34
|
+
isOptional: false,
|
|
35
|
+
isReadonly: true,
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
extends: [],
|
|
39
|
+
isExported: true,
|
|
40
|
+
isStruct: false,
|
|
41
|
+
};
|
|
42
|
+
const [decls] = emitInterfaceDeclaration(stmt, context);
|
|
43
|
+
const code = printTypeDeclaration(decls[0], "");
|
|
44
|
+
expect(code).to.include("public class ResultBag");
|
|
45
|
+
expect(code).to.include("public required string[] items { get; set; }");
|
|
46
|
+
expect(code).to.not.include("init");
|
|
47
|
+
});
|
|
48
|
+
it("keeps readonly interface members getter-only when no mutable slot is needed", () => {
|
|
49
|
+
const context = createContext({
|
|
50
|
+
declaringTypeName: "ResultBag",
|
|
51
|
+
});
|
|
52
|
+
const stmt = {
|
|
53
|
+
kind: "interfaceDeclaration",
|
|
54
|
+
name: "ResultBag",
|
|
55
|
+
members: [
|
|
56
|
+
{
|
|
57
|
+
kind: "propertySignature",
|
|
58
|
+
name: "items",
|
|
59
|
+
type: {
|
|
60
|
+
kind: "arrayType",
|
|
61
|
+
elementType: { kind: "primitiveType", name: "string" },
|
|
62
|
+
},
|
|
63
|
+
isOptional: false,
|
|
64
|
+
isReadonly: true,
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
kind: "methodSignature",
|
|
68
|
+
name: "count",
|
|
69
|
+
parameters: [],
|
|
70
|
+
returnType: { kind: "primitiveType", name: "int" },
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
extends: [],
|
|
74
|
+
isExported: true,
|
|
75
|
+
isStruct: false,
|
|
76
|
+
};
|
|
77
|
+
const [decls] = emitInterfaceDeclaration(stmt, context);
|
|
78
|
+
const code = printTypeDeclaration(decls[0], "");
|
|
79
|
+
expect(code).to.include("public interface ResultBag");
|
|
80
|
+
expect(code).to.include("string[] items { get; }");
|
|
81
|
+
expect(code).to.not.include("set;");
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
//# sourceMappingURL=interfaces-mutable-storage.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces-mutable-storage.test.js","sourceRoot":"","sources":["../../../src/statements/declarations/interfaces-mutable-storage.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/statements/declarations/interfaces.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/statements/declarations/interfaces.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAYhD,OAAO,KAAK,EACV,wBAAwB,EAGzB,MAAM,wCAAwC,CAAC;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GACnC,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,sBAAsB,CAAA;CAAE,CAAC,EAC5D,SAAS,cAAc,KACtB,CAAC,SAAS,wBAAwB,EAAE,EAAE,cAAc,CA+NtD,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { emitTypeAst, emitTypeParametersAst } from "../../type-emitter.js";
|
|
|
5
5
|
import { extractInlineObjectTypes, emitExtractedType, emitInterfaceMemberAsProperty, emitParameters, } from "../classes.js";
|
|
6
6
|
import { escapeCSharpIdentifier } from "../../emitter-types/index.js";
|
|
7
7
|
import { statementUsesPointer } from "../../core/semantic/unsafe.js";
|
|
8
|
+
import { isMutablePropertySlot } from "../../core/semantic/mutable-storage.js";
|
|
8
9
|
import { emitCSharpName } from "../../naming-policy.js";
|
|
9
10
|
/**
|
|
10
11
|
* Emit an interface declaration as CSharpTypeDeclarationAst[].
|
|
@@ -30,6 +31,7 @@ export const emitInterfaceDeclaration = (stmt, context) => {
|
|
|
30
31
|
let currentContext = {
|
|
31
32
|
...context,
|
|
32
33
|
typeParameters: ifaceTypeParams,
|
|
34
|
+
declaringTypeName: stmt.name,
|
|
33
35
|
};
|
|
34
36
|
// Extract inline object types
|
|
35
37
|
const extractedTypes = extractInlineObjectTypes(stmt.members, currentContext);
|
|
@@ -94,6 +96,7 @@ export const emitInterfaceDeclaration = (stmt, context) => {
|
|
|
94
96
|
const typeAst = member.isOptional
|
|
95
97
|
? { kind: "nullableType", underlyingType: baseTypeAst }
|
|
96
98
|
: baseTypeAst;
|
|
99
|
+
const needsMutableStorage = isMutablePropertySlot(stmt.name, member.name, currentContext);
|
|
97
100
|
members.push({
|
|
98
101
|
kind: "propertyDeclaration",
|
|
99
102
|
attributes: [],
|
|
@@ -101,7 +104,7 @@ export const emitInterfaceDeclaration = (stmt, context) => {
|
|
|
101
104
|
type: typeAst,
|
|
102
105
|
name: emitCSharpName(member.name, "properties", context),
|
|
103
106
|
hasGetter: true,
|
|
104
|
-
hasSetter: !member.isReadonly,
|
|
107
|
+
hasSetter: !member.isReadonly || needsMutableStorage,
|
|
105
108
|
isAutoProperty: true,
|
|
106
109
|
});
|
|
107
110
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/statements/declarations/interfaces.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,6BAA6B,EAC7B,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAOxD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,IAA4D,EAC5D,OAAuB,EACgC,EAAE;IACzD,MAAM,WAAW,GAAG;QAClB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAC;IAEF,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CACpC,CAAC;IAEF,uCAAuC;IACvC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS;QACtC,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KACrD,CAAC,CAAC;IAEH,+CAA+C;IAC/C,IAAI,cAAc,GAAmB;QACnC,GAAG,OAAO;QACV,cAAc,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/statements/declarations/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../src/statements/declarations/variables.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAIL,WAAW,EAIZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAiC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../src/statements/declarations/variables.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAIL,WAAW,EAIZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAiC,MAAM,gBAAgB,CAAC;AAoB/E,OAAO,KAAK,EACV,kBAAkB,EAGlB,eAAe,EAEhB,MAAM,wCAAwC,CAAC;AAgpBhD;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAAC,EAC3D,SAAS,cAAc,KACtB,CAAC,SAAS,eAAe,EAAE,EAAE,cAAc,CA8G7C,CAAC;AAsIF;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,GACrC,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAAC,EAC3D,SAAS,cAAc,KACtB,CAAC,SAAS,kBAAkB,EAAE,EAAE,cAAc,CAwIhD,CAAC"}
|
|
@@ -7,6 +7,7 @@ import { emitExpressionAst } from "../../expression-emitter.js";
|
|
|
7
7
|
import { emitBlockStatementAst } from "../../statements/blocks.js";
|
|
8
8
|
import { emitTypeAst } from "../../type-emitter.js";
|
|
9
9
|
import { escapeCSharpIdentifier } from "../../emitter-types/index.js";
|
|
10
|
+
import { resolveBehavioralObjectLiteralType } from "../../expressions/collections.js";
|
|
10
11
|
import { lowerPatternAst, lowerPatternToStaticMembersAst, } from "../../patterns.js";
|
|
11
12
|
import { allocateLocalName, registerLocalName, } from "../../core/format/local-names.js";
|
|
12
13
|
import { resolveTypeAlias, stripNullish, } from "../../core/semantic/type-resolution.js";
|
|
@@ -208,11 +209,24 @@ const resolveStaticFieldType = (decl, context) => {
|
|
|
208
209
|
return [{ kind: "identifierType", name: "object" }, context];
|
|
209
210
|
}
|
|
210
211
|
// Infer from initializer's inferred type
|
|
212
|
+
if (init?.kind === "object") {
|
|
213
|
+
const behavioralType = resolveBehavioralObjectLiteralType(init, context);
|
|
214
|
+
if (behavioralType) {
|
|
215
|
+
return emitTypeAst(behavioralType, context);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
211
218
|
if (init?.inferredType && canEmitTypeExplicitly(init.inferredType)) {
|
|
212
219
|
return emitTypeAst(init.inferredType, context);
|
|
213
220
|
}
|
|
214
221
|
return [{ kind: "identifierType", name: "object" }, context];
|
|
215
222
|
};
|
|
223
|
+
const shouldEmitReadonlyStaticField = (stmt, decl, context) => {
|
|
224
|
+
if (stmt.declarationKind !== "const")
|
|
225
|
+
return false;
|
|
226
|
+
if (decl.name.kind !== "identifierPattern")
|
|
227
|
+
return true;
|
|
228
|
+
return !(decl.name.name && context.mutableModuleBindings?.has(decl.name.name));
|
|
229
|
+
};
|
|
216
230
|
/**
|
|
217
231
|
* Validate that an arrow function's type parameters are in scope.
|
|
218
232
|
* Throws ICE if an out-of-scope type parameter is found.
|
|
@@ -409,7 +423,7 @@ const emitStaticArrowFieldMembers = (stmt, decl, context) => {
|
|
|
409
423
|
const fieldModifiers = [
|
|
410
424
|
stmt.isExported ? "public" : "internal",
|
|
411
425
|
"static",
|
|
412
|
-
...(stmt
|
|
426
|
+
...(shouldEmitReadonlyStaticField(stmt, decl, context) ? ["readonly"] : []),
|
|
413
427
|
];
|
|
414
428
|
members.push({
|
|
415
429
|
kind: "fieldDeclaration",
|
|
@@ -539,7 +553,9 @@ export const emitVariableDeclaration = (stmt, context) => {
|
|
|
539
553
|
const modifiers = [
|
|
540
554
|
stmt.isExported ? "public" : "internal",
|
|
541
555
|
"static",
|
|
542
|
-
...(stmt
|
|
556
|
+
...(shouldEmitReadonlyStaticField(stmt, decl, currentContext)
|
|
557
|
+
? ["readonly"]
|
|
558
|
+
: []),
|
|
543
559
|
];
|
|
544
560
|
// Emit initializer
|
|
545
561
|
let initializerAst;
|
|
@@ -626,6 +642,33 @@ const resolveLocalTypeAst = (decl, context) => {
|
|
|
626
642
|
}
|
|
627
643
|
return [{ kind: "identifierType", name: "object?" }, context];
|
|
628
644
|
}
|
|
645
|
+
if (!decl.type &&
|
|
646
|
+
(decl.initializer?.kind === "arrowFunction" ||
|
|
647
|
+
decl.initializer?.kind === "functionExpression")) {
|
|
648
|
+
const functionInitializer = decl.initializer;
|
|
649
|
+
const functionType = functionInitializer.inferredType?.kind === "functionType"
|
|
650
|
+
? functionInitializer.inferredType
|
|
651
|
+
: functionInitializer.parameters &&
|
|
652
|
+
functionInitializer.parameters.every((param) => !!param.type) &&
|
|
653
|
+
(functionInitializer.returnType ??
|
|
654
|
+
(functionInitializer.body &&
|
|
655
|
+
functionInitializer.body.kind !== "blockStatement"
|
|
656
|
+
? functionInitializer.body.inferredType
|
|
657
|
+
: undefined))
|
|
658
|
+
? {
|
|
659
|
+
kind: "functionType",
|
|
660
|
+
parameters: functionInitializer.parameters,
|
|
661
|
+
returnType: functionInitializer.returnType ??
|
|
662
|
+
(functionInitializer.body &&
|
|
663
|
+
functionInitializer.body.kind !== "blockStatement"
|
|
664
|
+
? functionInitializer.body.inferredType
|
|
665
|
+
: undefined),
|
|
666
|
+
}
|
|
667
|
+
: undefined;
|
|
668
|
+
if (functionType) {
|
|
669
|
+
return emitTypeAst(functionType, context);
|
|
670
|
+
}
|
|
671
|
+
}
|
|
629
672
|
// Types that need explicit declaration (byte, sbyte, short, ushort)
|
|
630
673
|
if (decl.type &&
|
|
631
674
|
decl.initializer?.kind !== "stackalloc" &&
|
|
@@ -679,6 +722,44 @@ export const emitVariableDeclarationAst = (stmt, context) => {
|
|
|
679
722
|
const alloc = allocateLocalName(originalName, currentContext);
|
|
680
723
|
const localName = alloc.emittedName;
|
|
681
724
|
currentContext = alloc.context;
|
|
725
|
+
const needsTwoPhaseFunctionInit = decl.initializer?.kind === "arrowFunction" ||
|
|
726
|
+
decl.initializer?.kind === "functionExpression";
|
|
727
|
+
if (needsTwoPhaseFunctionInit && typeAst.kind !== "varType") {
|
|
728
|
+
statements.push({
|
|
729
|
+
kind: "localDeclarationStatement",
|
|
730
|
+
modifiers: [],
|
|
731
|
+
type: typeAst,
|
|
732
|
+
declarators: [
|
|
733
|
+
{
|
|
734
|
+
name: localName,
|
|
735
|
+
initializer: {
|
|
736
|
+
kind: "defaultExpression",
|
|
737
|
+
type: typeAst,
|
|
738
|
+
},
|
|
739
|
+
},
|
|
740
|
+
],
|
|
741
|
+
});
|
|
742
|
+
currentContext = registerLocalName(originalName, localName, currentContext);
|
|
743
|
+
const expectedInitializerType = decl.type ??
|
|
744
|
+
(decl.initializer.inferredType?.kind === "functionType"
|
|
745
|
+
? decl.initializer.inferredType
|
|
746
|
+
: undefined);
|
|
747
|
+
const [exprAst, newContext] = emitExpressionAst(decl.initializer, currentContext, expectedInitializerType);
|
|
748
|
+
currentContext = newContext;
|
|
749
|
+
statements.push({
|
|
750
|
+
kind: "expressionStatement",
|
|
751
|
+
expression: {
|
|
752
|
+
kind: "assignmentExpression",
|
|
753
|
+
left: {
|
|
754
|
+
kind: "identifierExpression",
|
|
755
|
+
identifier: localName,
|
|
756
|
+
},
|
|
757
|
+
operatorToken: "=",
|
|
758
|
+
right: exprAst,
|
|
759
|
+
},
|
|
760
|
+
});
|
|
761
|
+
continue;
|
|
762
|
+
}
|
|
682
763
|
// Emit initializer (after allocation, before registration - C# scoping)
|
|
683
764
|
let initAst = undefined;
|
|
684
765
|
if (decl.initializer) {
|
|
@@ -686,6 +767,12 @@ export const emitVariableDeclarationAst = (stmt, context) => {
|
|
|
686
767
|
currentContext = newContext;
|
|
687
768
|
initAst = exprAst;
|
|
688
769
|
}
|
|
770
|
+
else if (typeAst.kind !== "varType") {
|
|
771
|
+
initAst = {
|
|
772
|
+
kind: "defaultExpression",
|
|
773
|
+
type: typeAst,
|
|
774
|
+
};
|
|
775
|
+
}
|
|
689
776
|
// Register local name after initializer emission
|
|
690
777
|
currentContext = registerLocalName(originalName, localName, currentContext);
|
|
691
778
|
statements.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/statements/declarations/variables.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/statements/declarations/variables.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/types/functions.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;AAEzE;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,OAAO,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,EAC/C,SAAS,cAAc,KACtB,CAAC,aAAa,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/types/functions.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;AAEzE;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,OAAO,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,EAC/C,SAAS,cAAc,KACtB,CAAC,aAAa,EAAE,cAAc,CA8DhC,CAAC"}
|
package/dist/types/functions.js
CHANGED
|
@@ -12,7 +12,9 @@ export const emitFunctionType = (type, context) => {
|
|
|
12
12
|
for (const param of type.parameters) {
|
|
13
13
|
const paramType = param.type ?? { kind: "anyType" };
|
|
14
14
|
const [typeAst, newContext] = emitTypeAst(paramType, currentContext);
|
|
15
|
-
paramTypeAsts.push(typeAst
|
|
15
|
+
paramTypeAsts.push((param.isOptional || param.initializer) && typeAst.kind !== "nullableType"
|
|
16
|
+
? { kind: "nullableType", underlyingType: typeAst }
|
|
17
|
+
: typeAst);
|
|
16
18
|
currentContext = newContext;
|
|
17
19
|
}
|
|
18
20
|
const returnTypeNode = type.returnType ?? { kind: "voidType" };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/types/functions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAA+C,EAC/C,OAAuB,EACU,EAAE;IACnC,6DAA6D;IAC7D,MAAM,aAAa,GAAoB,EAAE,CAAC;IAC1C,IAAI,cAAc,GAAG,OAAO,CAAC;IAE7B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,SAAkB,EAAE,CAAC;QAC7D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACrE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/types/functions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAA+C,EAC/C,OAAuB,EACU,EAAE;IACnC,6DAA6D;IAC7D,MAAM,aAAa,GAAoB,EAAE,CAAC;IAC1C,IAAI,cAAc,GAAG,OAAO,CAAC;IAE7B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,SAAkB,EAAE,CAAC;QAC7D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACrE,aAAa,CAAC,IAAI,CAChB,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc;YACxE,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE;YACnD,CAAC,CAAC,OAAO,CACZ,CAAC;QACF,cAAc,GAAG,UAAU,CAAC;IAC9B,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,EAAE,UAAmB,EAAE,CAAC;IACxE,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,WAAW,CAC7C,cAAc,EACd,cAAc,CACf,CAAC;IAEF,oEAAoE;IACpE,MAAM,YAAY,GAChB,aAAa,CAAC,IAAI,KAAK,gBAAgB,IAAI,aAAa,CAAC,OAAO,KAAK,MAAM,CAAC;IAE9E,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;gBACL,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,uBAAuB,EAAE;gBACzD,UAAU;aACX,CAAC;QACJ,CAAC;QACD,OAAO;YACL;gBACE,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,uBAAuB;gBAC7B,aAAa,EAAE,aAAa;aAC7B;YACD,UAAU;SACX,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL;gBACE,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,qBAAqB;gBAC3B,aAAa,EAAE,CAAC,aAAa,CAAC;aAC/B;YACD,UAAU;SACX,CAAC;IACJ,CAAC;IAED,OAAO;QACL;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,qBAAqB;YAC3B,aAAa,EAAE,CAAC,GAAG,aAAa,EAAE,aAAa,CAAC;SACjD;QACD,UAAU;KACX,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../src/types/references.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAO7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../src/types/references.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAO7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAsLzE;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,OAAO,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,EAChD,SAAS,cAAc,KACtB,CAAC,aAAa,EAAE,cAAc,CA+WhC,CAAC"}
|
package/dist/types/references.js
CHANGED
|
@@ -67,20 +67,7 @@ const clrTypeNameToCSharp = (clr) => {
|
|
|
67
67
|
return hasGlobal ? `${prefix}${sanitized}` : sanitized;
|
|
68
68
|
};
|
|
69
69
|
const resolveImportedTypeClrName = (typeName, context) => {
|
|
70
|
-
const candidates =
|
|
71
|
-
// tsbindgen class-like instance aliases often flow through IR as Foo$instance.
|
|
72
|
-
// Import bindings are keyed by the surface name (typically Foo), so try
|
|
73
|
-
// deterministic canonicalizations to preserve import-origin identity.
|
|
74
|
-
if (typeName.endsWith("$instance")) {
|
|
75
|
-
const base = typeName.slice(0, -"$instance".length);
|
|
76
|
-
if (base.length > 0) {
|
|
77
|
-
candidates.push(base);
|
|
78
|
-
const unsuffixed = base.replace(/_\d+$/, "");
|
|
79
|
-
if (unsuffixed !== base && unsuffixed.length > 0) {
|
|
80
|
-
candidates.push(unsuffixed);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
70
|
+
const candidates = getReferenceLookupCandidates(typeName);
|
|
84
71
|
for (const candidate of candidates) {
|
|
85
72
|
const binding = context.importBindings?.get(candidate);
|
|
86
73
|
if (!binding || binding.kind !== "type")
|
|
@@ -89,6 +76,20 @@ const resolveImportedTypeClrName = (typeName, context) => {
|
|
|
89
76
|
}
|
|
90
77
|
return undefined;
|
|
91
78
|
};
|
|
79
|
+
const getReferenceLookupCandidates = (typeName) => {
|
|
80
|
+
const candidates = new Set([typeName]);
|
|
81
|
+
if (typeName.endsWith("$instance")) {
|
|
82
|
+
const base = typeName.slice(0, -"$instance".length);
|
|
83
|
+
if (base.length > 0) {
|
|
84
|
+
candidates.add(base);
|
|
85
|
+
const unsuffixed = base.replace(/_\d+$/, "");
|
|
86
|
+
if (unsuffixed.length > 0) {
|
|
87
|
+
candidates.add(unsuffixed);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return Array.from(candidates);
|
|
92
|
+
};
|
|
92
93
|
const resolveCanonicalLocalTypeTarget = (typeName, context) => {
|
|
93
94
|
const namespace = context.moduleNamespace ?? context.options.rootNamespace;
|
|
94
95
|
const key = `${namespace}::${typeName}`;
|
|
@@ -418,8 +419,10 @@ export const emitReferenceType = (type, context) => {
|
|
|
418
419
|
// Resolve external types via binding registry (must be fully qualified)
|
|
419
420
|
// This handles types from contextual inference (e.g., Action from Parallel.invoke)
|
|
420
421
|
// IMPORTANT: This is checked AFTER localTypes to ensure local types take precedence
|
|
421
|
-
const
|
|
422
|
-
|
|
422
|
+
for (const candidate of getReferenceLookupCandidates(name)) {
|
|
423
|
+
const regBinding = context.bindingsRegistry?.get(candidate);
|
|
424
|
+
if (!regBinding)
|
|
425
|
+
continue;
|
|
423
426
|
const qualified = toGlobalClr(clrTypeNameToCSharp(regBinding.name));
|
|
424
427
|
if (typeArguments && typeArguments.length > 0) {
|
|
425
428
|
const [typeArgAsts, newContext] = emitTypeArgAsts(typeArguments, context);
|