@tsonic/frontend 0.0.72 → 0.0.74
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/core-intrinsics/provenance.d.ts +11 -0
- package/dist/core-intrinsics/provenance.d.ts.map +1 -0
- package/dist/core-intrinsics/provenance.js +98 -0
- package/dist/core-intrinsics/provenance.js.map +1 -0
- package/dist/ir/binding/binding-factory.d.ts.map +1 -1
- package/dist/ir/binding/binding-factory.js +42 -6
- package/dist/ir/binding/binding-factory.js.map +1 -1
- package/dist/ir/binding-resolution.test.js.map +1 -1
- package/dist/ir/builder/imports.d.ts.map +1 -1
- package/dist/ir/builder/imports.js +48 -8
- package/dist/ir/builder/imports.js.map +1 -1
- package/dist/ir/builder.test.js +774 -12
- package/dist/ir/builder.test.js.map +1 -1
- package/dist/ir/converters/expressions/access/access-converter.d.ts.map +1 -1
- package/dist/ir/converters/expressions/access/access-converter.js +34 -1
- package/dist/ir/converters/expressions/access/access-converter.js.map +1 -1
- package/dist/ir/converters/expressions/access/member-resolution.d.ts.map +1 -1
- package/dist/ir/converters/expressions/access/member-resolution.js +24 -0
- package/dist/ir/converters/expressions/access/member-resolution.js.map +1 -1
- package/dist/ir/converters/expressions/calls/call-converter.d.ts.map +1 -1
- package/dist/ir/converters/expressions/calls/call-converter.js +14 -13
- package/dist/ir/converters/expressions/calls/call-converter.js.map +1 -1
- package/dist/ir/converters/expressions/calls/call-site-analysis.d.ts +1 -1
- package/dist/ir/converters/expressions/calls/call-site-analysis.d.ts.map +1 -1
- package/dist/ir/converters/expressions/calls/call-site-analysis.js +6 -30
- package/dist/ir/converters/expressions/calls/call-site-analysis.js.map +1 -1
- package/dist/ir/converters/expressions/collections.d.ts.map +1 -1
- package/dist/ir/converters/expressions/collections.js +17 -7
- package/dist/ir/converters/expressions/collections.js.map +1 -1
- package/dist/ir/converters/expressions/dynamic-import.d.ts.map +1 -1
- package/dist/ir/converters/expressions/dynamic-import.js.map +1 -1
- package/dist/ir/converters/flow-narrowing.d.ts +1 -0
- package/dist/ir/converters/flow-narrowing.d.ts.map +1 -1
- package/dist/ir/converters/flow-narrowing.js +225 -0
- package/dist/ir/converters/flow-narrowing.js.map +1 -1
- package/dist/ir/converters/statements/control/blocks.d.ts.map +1 -1
- package/dist/ir/converters/statements/control/blocks.js +48 -0
- package/dist/ir/converters/statements/control/blocks.js.map +1 -1
- package/dist/ir/program-context.d.ts.map +1 -1
- package/dist/ir/program-context.js +32 -2
- package/dist/ir/program-context.js.map +1 -1
- package/dist/ir/program-context.test.d.ts +2 -0
- package/dist/ir/program-context.test.d.ts.map +1 -0
- package/dist/ir/program-context.test.js +76 -0
- package/dist/ir/program-context.test.js.map +1 -0
- package/dist/ir/type-system/internal/type-converter/orchestrator.d.ts.map +1 -1
- package/dist/ir/type-system/internal/type-converter/orchestrator.js +256 -12
- package/dist/ir/type-system/internal/type-converter/orchestrator.js.map +1 -1
- package/dist/ir/type-system/internal/type-converter/orchestrator.test.js +19 -0
- package/dist/ir/type-system/internal/type-converter/orchestrator.test.js.map +1 -1
- package/dist/ir/type-system/internal/type-converter/references.d.ts.map +1 -1
- package/dist/ir/type-system/internal/type-converter/references.js +94 -3
- package/dist/ir/type-system/internal/type-converter/references.js.map +1 -1
- package/dist/ir/type-system/internal/type-converter/utility-types.d.ts.map +1 -1
- package/dist/ir/type-system/internal/type-converter/utility-types.js +9 -3
- package/dist/ir/type-system/internal/type-converter/utility-types.js.map +1 -1
- package/dist/ir/type-system/internal/type-converter/utility-types.test.js +19 -0
- package/dist/ir/type-system/internal/type-converter/utility-types.test.js.map +1 -1
- package/dist/ir/type-system/internal/universe/clr-catalog.d.ts.map +1 -1
- package/dist/ir/type-system/internal/universe/clr-catalog.js +20 -1
- package/dist/ir/type-system/internal/universe/clr-catalog.js.map +1 -1
- package/dist/ir/type-system/internal/universe/clr-catalog.test.js +43 -0
- package/dist/ir/type-system/internal/universe/clr-catalog.test.js.map +1 -1
- package/dist/ir/type-system/internal/universe/clr-entry-converter.d.ts.map +1 -1
- package/dist/ir/type-system/internal/universe/clr-entry-converter.js +44 -2
- package/dist/ir/type-system/internal/universe/clr-entry-converter.js.map +1 -1
- package/dist/ir/type-system/internal/universe/types.d.ts +10 -1
- package/dist/ir/type-system/internal/universe/types.d.ts.map +1 -1
- package/dist/ir/type-system/internal/universe/types.js.map +1 -1
- package/dist/ir/type-system/type-system-call-resolution.d.ts +1 -0
- package/dist/ir/type-system/type-system-call-resolution.d.ts.map +1 -1
- package/dist/ir/type-system/type-system-call-resolution.js +49 -22
- package/dist/ir/type-system/type-system-call-resolution.js.map +1 -1
- package/dist/ir/type-system/type-system-inference.d.ts.map +1 -1
- package/dist/ir/type-system/type-system-inference.js +39 -5
- package/dist/ir/type-system/type-system-inference.js.map +1 -1
- package/dist/ir/type-system/type-system-utilities.d.ts.map +1 -1
- package/dist/ir/type-system/type-system-utilities.js +6 -22
- package/dist/ir/type-system/type-system-utilities.js.map +1 -1
- package/dist/ir/type-system/type-system.d.ts +16 -0
- package/dist/ir/type-system/type-system.d.ts.map +1 -1
- package/dist/ir/type-system/type-system.js +3 -1
- package/dist/ir/type-system/type-system.js.map +1 -1
- package/dist/ir/types/index.d.ts +1 -1
- package/dist/ir/types/index.d.ts.map +1 -1
- package/dist/ir/types/index.js +1 -1
- package/dist/ir/types/index.js.map +1 -1
- package/dist/ir/types/type-ops.d.ts +2 -0
- package/dist/ir/types/type-ops.d.ts.map +1 -1
- package/dist/ir/types/type-ops.js +34 -12
- package/dist/ir/types/type-ops.js.map +1 -1
- package/dist/ir/types/type-ops.test.js +44 -1
- package/dist/ir/types/type-ops.test.js.map +1 -1
- package/dist/ir/types.d.ts +1 -1
- package/dist/ir/types.d.ts.map +1 -1
- package/dist/ir/types.js +1 -1
- package/dist/ir/types.js.map +1 -1
- package/dist/ir/validation/numeric-proof-pass.d.ts.map +1 -1
- package/dist/ir/validation/numeric-proof-pass.js +8 -7
- package/dist/ir/validation/numeric-proof-pass.js.map +1 -1
- package/dist/program/binding-registry.d.ts +2 -0
- package/dist/program/binding-registry.d.ts.map +1 -1
- package/dist/program/binding-registry.js +54 -12
- package/dist/program/binding-registry.js.map +1 -1
- package/dist/program/binding-types.d.ts +21 -1
- package/dist/program/binding-types.d.ts.map +1 -1
- package/dist/program/binding-types.js +80 -4
- package/dist/program/binding-types.js.map +1 -1
- package/dist/program/bindings.test.js +146 -2
- package/dist/program/bindings.test.js.map +1 -1
- package/dist/program/clr-bindings-discovery.d.ts.map +1 -1
- package/dist/program/clr-bindings-discovery.js +9 -3
- package/dist/program/clr-bindings-discovery.js.map +1 -1
- package/dist/program/clr-bindings-discovery.test.js +107 -0
- package/dist/program/clr-bindings-discovery.test.js.map +1 -1
- package/dist/program/creation.d.ts.map +1 -1
- package/dist/program/creation.js +22 -3
- package/dist/program/creation.js.map +1 -1
- package/dist/program/creation.test.js +34 -0
- package/dist/program/creation.test.js.map +1 -1
- package/dist/program/package-roots.js +4 -4
- package/dist/program/package-roots.js.map +1 -1
- package/dist/program/package-roots.test.d.ts +2 -0
- package/dist/program/package-roots.test.d.ts.map +1 -0
- package/dist/program/package-roots.test.js +42 -0
- package/dist/program/package-roots.test.js.map +1 -0
- package/dist/program.d.ts +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +1 -1
- package/dist/program.js.map +1 -1
- package/dist/resolver/dynamic-import.test.js +20 -11
- package/dist/resolver/dynamic-import.test.js.map +1 -1
- package/dist/resolver/import-resolution.d.ts.map +1 -1
- package/dist/resolver/import-resolution.js +2 -2
- package/dist/resolver/import-resolution.js.map +1 -1
- package/dist/resolver/source-package-resolution.d.ts +1 -0
- package/dist/resolver/source-package-resolution.d.ts.map +1 -1
- package/dist/resolver/source-package-resolution.js +6 -1
- package/dist/resolver/source-package-resolution.js.map +1 -1
- package/dist/resolver/source-package-resolution.test.js +7 -1
- package/dist/resolver/source-package-resolution.test.js.map +1 -1
- package/dist/resolver.test.js +37 -0
- package/dist/resolver.test.js.map +1 -1
- package/dist/surface/profiles.d.ts.map +1 -1
- package/dist/surface/profiles.js +12 -0
- package/dist/surface/profiles.js.map +1 -1
- package/dist/surface/profiles.test.js +43 -1
- package/dist/surface/profiles.test.js.map +1 -1
- package/dist/validation/core-intrinsics.d.ts.map +1 -1
- package/dist/validation/core-intrinsics.js +1 -115
- package/dist/validation/core-intrinsics.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-ops.js","sourceRoot":"","sources":["../../../src/ir/types/type-ops.ts"],"names":[],"mappings":"AAGA,MAAM,YAAY,GAAG,CACnB,IASC,EACO,EAAE;IACV,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,eAAe;YAClB,OAAO,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,KAAK,aAAa;YAChB,OAAO,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,KAAK,mBAAmB;YACtB,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3B,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC;QACf,KAAK,aAAa;YAChB,OAAO,SAAS,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,MAAM,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAkB,EAAU,EAAE;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,OAAO,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;AACjF,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,MAAyB,EAAU,EAAE;IAC/D,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACxC,OAAO,QAAQ,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IACzH,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU;QAClC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC;QACpC,CAAC,CAAC,MAAM,CAAC;IACX,OAAO,UAAU,MAAM,CAAC,IAAI,IAAI,cAAc,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAwB,EAAqB,EAAE;IACxE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC9B,eAAe,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CACrD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,IAAgD,EACxC,EAAE,CACV,IAAI,CAAC,MAAM,EAAE,QAAQ;IACnB,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;IAC9B,CAAC,CAAC,IAAI,CAAC,eAAe;QACpB,CAAC,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE;QAC/B,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;AAE5B,MAAM,
|
|
1
|
+
{"version":3,"file":"type-ops.js","sourceRoot":"","sources":["../../../src/ir/types/type-ops.ts"],"names":[],"mappings":"AAGA,MAAM,YAAY,GAAG,CACnB,IASC,EACO,EAAE;IACV,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,eAAe;YAClB,OAAO,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,KAAK,aAAa;YAChB,OAAO,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,KAAK,mBAAmB;YACtB,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3B,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC;QACf,KAAK,aAAa;YAChB,OAAO,SAAS,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,MAAM,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAkB,EAAU,EAAE;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,OAAO,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;AACjF,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,MAAyB,EAAU,EAAE;IAC/D,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACxC,OAAO,QAAQ,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IACzH,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU;QAClC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC;QACpC,CAAC,CAAC,MAAM,CAAC;IACX,OAAO,UAAU,MAAM,CAAC,IAAI,IAAI,cAAc,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAwB,EAAqB,EAAE;IACxE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC9B,eAAe,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CACrD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,IAAgD,EACxC,EAAE,CACV,IAAI,CAAC,MAAM,EAAE,QAAQ;IACnB,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;IAC9B,CAAC,CAAC,IAAI,CAAC,eAAe;QACpB,CAAC,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE;QAC/B,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;AAE5B,MAAM,gCAAgC,GAAG,CACvC,IAAgD,EACV,EAAE;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC;IAC3D,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7E,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,CAAC;IAE1D,MAAM,aAAa,GACjB,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,aAAa,CAAC;IAC3D,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IAED,MAAM,UAAU,GACd,UAAU,KAAK,MAAM;QACrB,UAAU,KAAK,WAAW;QAC1B,UAAU,KAAK,QAAQ;QACvB,UAAU,KAAK,QAAQ;QACvB,UAAU,KAAK,aAAa;QAC5B,UAAU,KAAK,aAAa;QAC5B,OAAO,KAAK,6BAA6B;QACzC,OAAO,KAAK,kCAAkC;QAC9C,OAAO,CAAC,UAAU,CAAC,+BAA+B,CAAC;QACnD,OAAO,CAAC,UAAU,CAAC,oCAAoC,CAAC,CAAC;IAC3D,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAW,EAAE,CACzD,IAAI,CAAC,IAAI,KAAK,eAAe;IAC7B,gCAAgC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;AAEvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAsB,EAAE;IACnE,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe;QAAE,OAAO,SAAS,CAAC;IAEpD,MAAM,WAAW,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IACnC,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAsB,EAAE;IACzE,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,OAAO,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAU,EAAE;IACtD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,eAAe,CAAC;QACrB,KAAK,aAAa,CAAC;QACnB,KAAK,mBAAmB,CAAC;QACzB,KAAK,SAAS,CAAC;QACf,KAAK,aAAa,CAAC;QACnB,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAE5B,KAAK,WAAW;YACd,OAAO,OAAO,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAEpD,KAAK,WAAW;YACd,OAAO,SAAS,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAErE,KAAK,gBAAgB;YACnB,OAAO,QAAQ,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAErF,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChD,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnC,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB;gBACpC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;qBACxB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACb,kBAAkB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAC3D;qBACA,GAAG,CAAC,kBAAkB,CAAC;qBACvB,IAAI,CAAC,GAAG,CAAC;gBACd,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;QAC3E,CAAC;QAED,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,MAAM,MAAM,KAAK,UAAU,EAAE,CAAC;QACvC,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;iBAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACb,kBAAkB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAC3D;iBACA,GAAG,CAAC,kBAAkB,CAAC;iBACvB,IAAI,CAAC,GAAG,CAAC,CAAC;YACb,OAAO,OAAO,OAAO,EAAE,CAAC;QAC1B,CAAC;QAED,KAAK,WAAW;YACd,OAAO,SAAS,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAEjF,KAAK,kBAAkB;YACrB,OAAO,SAAS,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACnF,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,KAAa,EAAW,EAAE,CACnE,eAAe,CAAC,IAAI,CAAC,KAAK,eAAe,CAAC,KAAK,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAwB,EAAU,EAAE;IACtE,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,CAAC,IAAY,EAAQ,EAAE;QAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChC,aAAa,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;YACD,OAAO;QACT,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAClD,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, it } from "mocha";
|
|
2
2
|
import { expect } from "chai";
|
|
3
|
-
import { irTypesEqual, normalizedUnionType, stableIrTypeKey, unwrapAsyncWrapperType, } from "./type-ops.js";
|
|
3
|
+
import { getAwaitedIrType, isAwaitableIrType, irTypesEqual, normalizedUnionType, stableIrTypeKey, unwrapAsyncWrapperType, } from "./type-ops.js";
|
|
4
4
|
const stringType = { kind: "primitiveType", name: "string" };
|
|
5
5
|
const numberType = { kind: "primitiveType", name: "number" };
|
|
6
6
|
const booleanType = { kind: "primitiveType", name: "boolean" };
|
|
@@ -69,5 +69,48 @@ describe("type-ops", () => {
|
|
|
69
69
|
expect(unwrapAsyncWrapperType(valueTaskType)).to.deep.equal(payload);
|
|
70
70
|
expect(unwrapAsyncWrapperType(plainType)).to.equal(undefined);
|
|
71
71
|
});
|
|
72
|
+
it("treats non-generic Task and ValueTask as awaitable void wrappers", () => {
|
|
73
|
+
const taskType = {
|
|
74
|
+
kind: "referenceType",
|
|
75
|
+
name: "Task",
|
|
76
|
+
resolvedClrType: "System.Threading.Tasks.Task",
|
|
77
|
+
typeArguments: [],
|
|
78
|
+
};
|
|
79
|
+
const valueTaskType = {
|
|
80
|
+
kind: "referenceType",
|
|
81
|
+
name: "ValueTask",
|
|
82
|
+
resolvedClrType: "System.Threading.Tasks.ValueTask",
|
|
83
|
+
typeArguments: [],
|
|
84
|
+
};
|
|
85
|
+
expect(isAwaitableIrType(taskType)).to.equal(true);
|
|
86
|
+
expect(isAwaitableIrType(valueTaskType)).to.equal(true);
|
|
87
|
+
expect(getAwaitedIrType(taskType)).to.deep.equal({ kind: "voidType" });
|
|
88
|
+
expect(getAwaitedIrType(valueTaskType)).to.deep.equal({
|
|
89
|
+
kind: "voidType",
|
|
90
|
+
});
|
|
91
|
+
expect(unwrapAsyncWrapperType(taskType)).to.equal(undefined);
|
|
92
|
+
expect(unwrapAsyncWrapperType(valueTaskType)).to.equal(undefined);
|
|
93
|
+
});
|
|
94
|
+
it("unwraps fully-qualified Task and ValueTask wrappers using type arguments", () => {
|
|
95
|
+
const payload = { kind: "primitiveType", name: "string" };
|
|
96
|
+
const taskType = {
|
|
97
|
+
kind: "referenceType",
|
|
98
|
+
name: "System.Threading.Tasks.Task",
|
|
99
|
+
resolvedClrType: "global::System.Threading.Tasks.Task",
|
|
100
|
+
typeArguments: [payload],
|
|
101
|
+
};
|
|
102
|
+
const valueTaskType = {
|
|
103
|
+
kind: "referenceType",
|
|
104
|
+
name: "System.Threading.Tasks.ValueTask",
|
|
105
|
+
resolvedClrType: "global::System.Threading.Tasks.ValueTask",
|
|
106
|
+
typeArguments: [payload],
|
|
107
|
+
};
|
|
108
|
+
expect(isAwaitableIrType(taskType)).to.equal(true);
|
|
109
|
+
expect(isAwaitableIrType(valueTaskType)).to.equal(true);
|
|
110
|
+
expect(getAwaitedIrType(taskType)).to.deep.equal(payload);
|
|
111
|
+
expect(getAwaitedIrType(valueTaskType)).to.deep.equal(payload);
|
|
112
|
+
expect(unwrapAsyncWrapperType(taskType)).to.deep.equal(payload);
|
|
113
|
+
expect(unwrapAsyncWrapperType(valueTaskType)).to.deep.equal(payload);
|
|
114
|
+
});
|
|
72
115
|
});
|
|
73
116
|
//# sourceMappingURL=type-ops.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-ops.test.js","sourceRoot":"","sources":["../../../src/ir/types/type-ops.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"type-ops.test.js","sourceRoot":"","sources":["../../../src/ir/types/type-ops.test.ts"],"names":[],"mappings":"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"}
|
package/dist/ir/types.d.ts
CHANGED
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export type { IrModule, IrImport, IrImportSpecifier, IrExport, IrStatement, IrVariableDeclaration, IrVariableDeclarator, IrFunctionDeclaration, IrClassDeclaration, IrClassMember, IrMethodDeclaration, IrPropertyDeclaration, IrConstructorDeclaration, IrInterfaceDeclaration, IrEnumDeclaration, IrEnumMember, IrTypeAliasDeclaration, IrExpressionStatement, IrReturnStatement, IrIfStatement, IrWhileStatement, IrForStatement, IrForOfStatement, IrForInStatement, IrSwitchStatement, IrSwitchCase, IrThrowStatement, IrTryStatement, IrCatchClause, IrBlockStatement, IrBreakStatement, IrContinueStatement, IrEmptyStatement, IrYieldStatement, IrGeneratorReturnStatement, IrExpression, IrLiteralExpression, IrIdentifierExpression, IrArrayExpression, IrObjectExpression, IrObjectProperty, IrFunctionExpression, IrArrowFunctionExpression, IrMemberExpression, IrCallExpression, IrNewExpression, IrThisExpression, IrUpdateExpression, IrUnaryExpression, IrBinaryExpression, IrLogicalExpression, IrConditionalExpression, IrAssignmentExpression, IrTemplateLiteralExpression, IrSpreadExpression, IrAwaitExpression, IrYieldExpression, IrNumericNarrowingExpression, IrTypeAssertionExpression, IrAsInterfaceExpression, IrTryCastExpression, IrStackAllocExpression, IrDefaultOfExpression, IrNameOfExpression, IrSizeOfExpression, NumericProof, ProofSource, ComputedAccessKind, IrType, IrPrimitiveType, IrReferenceType, IrArrayType, IrTupleType, IrFunctionType, IrObjectType, IrDictionaryType, IrUnionType, IrIntersectionType, IrLiteralType, IrAnyType, IrUnknownType, IrVoidType, IrNeverType, IrAttributeTarget, IrAttribute, IrAttributePrimitiveArg, IrAttributeArg, IrPattern, IrIdentifierPattern, IrArrayPattern, IrObjectPattern, IrObjectPatternProperty, IrTypeParameter, IrParameter, IrInterfaceMember, IrPropertySignature, IrMethodSignature, IrAccessibility, IrBinaryOperator, IrAssignmentOperator, NumericKind, } from "./types/index.js";
|
|
6
6
|
export { isStatement, isExpression } from "./types/guards.js";
|
|
7
|
-
export { TSONIC_TO_NUMERIC_KIND, NUMERIC_KIND_TO_CSHARP, NUMERIC_RANGES, isIntegerKind, isSignedKind, getBinaryResultKind, literalFitsInKind, isWideningConversion, isValidIntegerLexeme, parseBigIntFromRaw, bigIntFitsInKind, inferNumericKindFromRaw, } from "./types/index.js";
|
|
7
|
+
export { TSONIC_TO_NUMERIC_KIND, NUMERIC_KIND_TO_CSHARP, NUMERIC_RANGES, getAwaitedIrType, isIntegerKind, isAwaitableIrType, isSignedKind, getBinaryResultKind, literalFitsInKind, isWideningConversion, isValidIntegerLexeme, parseBigIntFromRaw, bigIntFitsInKind, inferNumericKindFromRaw, } from "./types/index.js";
|
|
8
8
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/ir/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ir/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAEV,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EAER,WAAW,EACX,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,EAE1B,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,kBAAkB,EAElB,MAAM,EACN,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,WAAW,EAEX,iBAAiB,EACjB,WAAW,EACX,uBAAuB,EACvB,cAAc,EAEd,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EAEpB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EAEpB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ir/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAEV,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EAER,WAAW,EACX,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,EAE1B,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,kBAAkB,EAElB,MAAM,EACN,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,WAAW,EAEX,iBAAiB,EACjB,WAAW,EACX,uBAAuB,EACvB,cAAc,EAEd,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EAEpB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EAEpB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC"}
|
package/dist/ir/types.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// Re-export type guards
|
|
6
6
|
export { isStatement, isExpression } from "./types/guards.js";
|
|
7
7
|
// Re-export numeric utilities
|
|
8
|
-
export { TSONIC_TO_NUMERIC_KIND, NUMERIC_KIND_TO_CSHARP, NUMERIC_RANGES, isIntegerKind, isSignedKind, getBinaryResultKind, literalFitsInKind, isWideningConversion,
|
|
8
|
+
export { TSONIC_TO_NUMERIC_KIND, NUMERIC_KIND_TO_CSHARP, NUMERIC_RANGES, getAwaitedIrType, isIntegerKind, isAwaitableIrType, isSignedKind, getBinaryResultKind, literalFitsInKind, isWideningConversion,
|
|
9
9
|
// Numeric helpers (literal type inference)
|
|
10
10
|
isValidIntegerLexeme, parseBigIntFromRaw, bigIntFitsInKind, inferNumericKindFromRaw, } from "./types/index.js";
|
|
11
11
|
//# sourceMappingURL=types.js.map
|
package/dist/ir/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ir/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkHH,wBAAwB;AACxB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE9D,8BAA8B;AAC9B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB;AACpB,2CAA2C;AAC3C,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ir/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkHH,wBAAwB;AACxB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE9D,8BAA8B;AAC9B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB;AACpB,2CAA2C;AAC3C,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numeric-proof-pass.d.ts","sourceRoot":"","sources":["../../../src/ir/validation/numeric-proof-pass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,UAAU,EAGX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,QAAQ,EAeT,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;CAC7C,CAAC;
|
|
1
|
+
{"version":3,"file":"numeric-proof-pass.d.ts","sourceRoot":"","sources":["../../../src/ir/validation/numeric-proof-pass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,UAAU,EAGX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,QAAQ,EAeT,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;CAC7C,CAAC;AA6/CF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,SAAS,QAAQ,EAAE,KAC3B;IACD,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;CAgB7C,CAAC"}
|
|
@@ -84,19 +84,19 @@ const extractInt32BoundFact = (expr) => {
|
|
|
84
84
|
if (expr.kind !== "binary") {
|
|
85
85
|
return undefined;
|
|
86
86
|
}
|
|
87
|
-
const
|
|
88
|
-
|
|
87
|
+
const leftBound = extractIntegerLiteralBound(expr.right);
|
|
88
|
+
const rightBound = extractIntegerLiteralBound(expr.left);
|
|
89
|
+
const directIdentifier = isIdentifierExpr(expr.left) && leftBound !== undefined
|
|
89
90
|
? {
|
|
90
91
|
name: expr.left.name,
|
|
91
|
-
bound:
|
|
92
|
+
bound: leftBound,
|
|
92
93
|
operator: expr.operator,
|
|
93
94
|
reversed: false,
|
|
94
95
|
}
|
|
95
|
-
: isIdentifierExpr(expr.right) &&
|
|
96
|
-
extractIntegerLiteralBound(expr.left) !== undefined
|
|
96
|
+
: isIdentifierExpr(expr.right) && rightBound !== undefined
|
|
97
97
|
? {
|
|
98
98
|
name: expr.right.name,
|
|
99
|
-
bound:
|
|
99
|
+
bound: rightBound,
|
|
100
100
|
operator: expr.operator,
|
|
101
101
|
reversed: true,
|
|
102
102
|
}
|
|
@@ -1030,7 +1030,7 @@ const processStatement = (stmt, ctx) => {
|
|
|
1030
1030
|
? processExpression(stmt.expression, ctx)
|
|
1031
1031
|
: undefined,
|
|
1032
1032
|
};
|
|
1033
|
-
case "ifStatement":
|
|
1033
|
+
case "ifStatement": {
|
|
1034
1034
|
const processedCondition = processExpression(stmt.condition, ctx);
|
|
1035
1035
|
const thenCtx = withInt32ProofsFromTruthyCondition(cloneProofContext(ctx), processedCondition);
|
|
1036
1036
|
return {
|
|
@@ -1041,6 +1041,7 @@ const processStatement = (stmt, ctx) => {
|
|
|
1041
1041
|
? processStatement(stmt.elseStatement, ctx)
|
|
1042
1042
|
: undefined,
|
|
1043
1043
|
};
|
|
1044
|
+
}
|
|
1044
1045
|
case "whileStatement":
|
|
1045
1046
|
return {
|
|
1046
1047
|
...stmt,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numeric-proof-pass.js","sourceRoot":"","sources":["../../../src/ir/validation/numeric-proof-pass.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"numeric-proof-pass.js","sourceRoot":"","sources":["../../../src/ir/validation/numeric-proof-pass.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ export declare class BindingRegistry {
|
|
|
14
14
|
private readonly simpleBindingsLowercase;
|
|
15
15
|
private readonly namespaces;
|
|
16
16
|
private readonly types;
|
|
17
|
+
private readonly typeLookupAliasMap;
|
|
17
18
|
private readonly members;
|
|
18
19
|
private readonly memberOverloads;
|
|
19
20
|
private readonly clrMemberOverloads;
|
|
@@ -121,6 +122,7 @@ export declare class BindingRegistry {
|
|
|
121
122
|
* Clear all loaded bindings
|
|
122
123
|
*/
|
|
123
124
|
clear(): void;
|
|
125
|
+
private resolveLookupAlias;
|
|
124
126
|
private resolveSimpleBindingAlias;
|
|
125
127
|
}
|
|
126
128
|
//# sourceMappingURL=binding-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding-registry.d.ts","sourceRoot":"","sources":["../../src/program/binding-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAEV,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAM5B,eAAO,MAAM,oCAAoC,GAC/C,YAAY,uBAAuB,KAClC,OAOF,CAAC;AAEF;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IAGxD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA8C;IAC7E,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAGpC;IAGJ,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuC;IAClE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsC;IACtE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsC;IACzE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAG7B;IACJ,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAElD;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAG7B;IAEJ,OAAO,CAAC,4BAA4B;IAWpC,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,mBAAmB;IAM3B;;;;;OAKG;IACH,sBAAsB,CACpB,sBAAsB,EAAE,MAAM,EAC9B,YAAY,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,MAAM,GACzB,aAAa,GAAG,SAAS;IAY5B;;;;;OAKG;IACH,2BAA2B,CACzB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,MAAM,GACzB,aAAa,GAAG,SAAS;IAiJ5B,OAAO,CAAC,2BAA2B;IA4BnC;;;OAGG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"binding-registry.d.ts","sourceRoot":"","sources":["../../src/program/binding-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ export class BindingRegistry {
|
|
|
24
24
|
// Hierarchical format: namespace/type/member bindings
|
|
25
25
|
this.namespaces = new Map();
|
|
26
26
|
this.types = new Map(); // Flat lookup by TS name
|
|
27
|
+
this.typeLookupAliasMap = new Map(); // CLR FQN or qualified TS alias -> canonical TS alias
|
|
27
28
|
this.members = new Map(); // Flat lookup by "type.member"
|
|
28
29
|
this.memberOverloads = new Map(); // Overload-aware lookup by "type.member"
|
|
29
30
|
this.clrMemberOverloads = new Map(); // Overload-aware lookup by CLR target key
|
|
@@ -275,6 +276,12 @@ export class BindingRegistry {
|
|
|
275
276
|
}
|
|
276
277
|
else if (isTsbindgenBindingFile(manifest)) {
|
|
277
278
|
// tsbindgen format: convert to internal format
|
|
279
|
+
const namespaceTypes = [];
|
|
280
|
+
const derivedAliasCounts = new Map();
|
|
281
|
+
for (const tsbType of manifest.types) {
|
|
282
|
+
const derivedAlias = tsbindgenClrTypeNameToTsTypeName(tsbType.clrName);
|
|
283
|
+
derivedAliasCounts.set(derivedAlias, (derivedAliasCounts.get(derivedAlias) ?? 0) + 1);
|
|
284
|
+
}
|
|
278
285
|
for (const tsbType of manifest.types) {
|
|
279
286
|
// Create members from methods, properties, and fields
|
|
280
287
|
const members = [];
|
|
@@ -285,6 +292,7 @@ export class BindingRegistry {
|
|
|
285
292
|
// No naming policy: TS member names are the CLR names as authored.
|
|
286
293
|
alias: method.clrName,
|
|
287
294
|
signature: method.normalizedSignature,
|
|
295
|
+
semanticSignature: method.semanticSignature,
|
|
288
296
|
parameterCount: method.parameterCount,
|
|
289
297
|
binding: {
|
|
290
298
|
assembly: method.declaringAssemblyName,
|
|
@@ -323,6 +331,9 @@ export class BindingRegistry {
|
|
|
323
331
|
for (const prop of tsbType.properties) {
|
|
324
332
|
members.push({
|
|
325
333
|
kind: "property",
|
|
334
|
+
signature: prop.normalizedSignature,
|
|
335
|
+
semanticType: prop.semanticType,
|
|
336
|
+
semanticOptional: prop.semanticOptional,
|
|
326
337
|
name: prop.clrName,
|
|
327
338
|
alias: prop.clrName,
|
|
328
339
|
binding: {
|
|
@@ -336,6 +347,9 @@ export class BindingRegistry {
|
|
|
336
347
|
// Fields are treated as properties for binding purposes
|
|
337
348
|
members.push({
|
|
338
349
|
kind: "property",
|
|
350
|
+
signature: field.normalizedSignature,
|
|
351
|
+
semanticType: field.semanticType,
|
|
352
|
+
semanticOptional: field.semanticOptional,
|
|
339
353
|
name: field.clrName,
|
|
340
354
|
alias: field.clrName,
|
|
341
355
|
binding: {
|
|
@@ -345,7 +359,9 @@ export class BindingRegistry {
|
|
|
345
359
|
},
|
|
346
360
|
});
|
|
347
361
|
}
|
|
348
|
-
const
|
|
362
|
+
const derivedAlias = tsbindgenClrTypeNameToTsTypeName(tsbType.clrName);
|
|
363
|
+
const tsAlias = tsbType.alias ?? derivedAlias;
|
|
364
|
+
const uniqueDerivedAlias = (derivedAliasCounts.get(derivedAlias) ?? 0) === 1;
|
|
349
365
|
// Record CLR inheritance relationships (base type + interfaces) so extension-method
|
|
350
366
|
// binding lookup can follow the CLR graph deterministically.
|
|
351
367
|
const baseAlias = tsbType.baseType?.clrName
|
|
@@ -380,13 +396,22 @@ export class BindingRegistry {
|
|
|
380
396
|
members,
|
|
381
397
|
};
|
|
382
398
|
this.clrTypeNames.add(tsbType.clrName);
|
|
399
|
+
this.typeLookupAliasMap.set(tsbType.clrName, typeBinding.alias);
|
|
400
|
+
if (!typeBinding.alias.includes(".")) {
|
|
401
|
+
this.typeLookupAliasMap.set(`${manifest.namespace}.${typeBinding.alias}`, typeBinding.alias);
|
|
402
|
+
}
|
|
403
|
+
namespaceTypes.push(typeBinding);
|
|
383
404
|
// Index the type by its TS name.
|
|
384
405
|
this.types.set(typeBinding.alias, typeBinding);
|
|
406
|
+
if (uniqueDerivedAlias && derivedAlias !== typeBinding.alias) {
|
|
407
|
+
this.types.set(derivedAlias, typeBinding);
|
|
408
|
+
this.typeLookupAliasMap.set(derivedAlias, typeBinding.alias);
|
|
409
|
+
}
|
|
385
410
|
// Also index by simple name if ts alias has arity suffix (e.g., "List_1" -> also index as "List")
|
|
386
411
|
// This is needed because TS exports both List_1 and List as aliases, and TS code uses List<T>
|
|
387
412
|
// IMPORTANT: Only set if not already present - non-generic versions should take precedence
|
|
388
413
|
// (e.g., Action should resolve to System.Action, not System.Action`9)
|
|
389
|
-
const arityMatch =
|
|
414
|
+
const arityMatch = derivedAlias.match(/^(.+)_(\d+)$/);
|
|
390
415
|
const simpleAlias = arityMatch ? arityMatch[1] : null;
|
|
391
416
|
if (simpleAlias &&
|
|
392
417
|
simpleAlias !== typeBinding.alias &&
|
|
@@ -395,10 +420,16 @@ export class BindingRegistry {
|
|
|
395
420
|
}
|
|
396
421
|
// Index members for direct lookup.
|
|
397
422
|
for (const member of members) {
|
|
398
|
-
// Key by TS
|
|
423
|
+
// Key by canonical TS alias.
|
|
399
424
|
const tsKey = `${typeBinding.alias}.${member.alias}`;
|
|
400
425
|
this.members.set(tsKey, member);
|
|
401
426
|
addMemberOverload(tsKey, member);
|
|
427
|
+
// Also key by the derived/simple alias when it is uniquely owned.
|
|
428
|
+
if (uniqueDerivedAlias && derivedAlias !== typeBinding.alias) {
|
|
429
|
+
const derivedKey = `${derivedAlias}.${member.alias}`;
|
|
430
|
+
this.members.set(derivedKey, member);
|
|
431
|
+
addMemberOverload(derivedKey, member);
|
|
432
|
+
}
|
|
402
433
|
// Also key by simple alias if applicable (e.g., "List.Add")
|
|
403
434
|
if (simpleAlias) {
|
|
404
435
|
const simpleKey = `${simpleAlias}.${member.alias}`;
|
|
@@ -419,6 +450,11 @@ export class BindingRegistry {
|
|
|
419
450
|
}
|
|
420
451
|
this.tsbindgenExports.set(manifest.namespace, nsExports);
|
|
421
452
|
}
|
|
453
|
+
this.namespaces.set(manifest.namespace, {
|
|
454
|
+
name: manifest.namespace,
|
|
455
|
+
alias: manifest.namespace,
|
|
456
|
+
types: namespaceTypes,
|
|
457
|
+
});
|
|
422
458
|
}
|
|
423
459
|
else {
|
|
424
460
|
// Simple format: global/module bindings
|
|
@@ -445,7 +481,7 @@ export class BindingRegistry {
|
|
|
445
481
|
* Look up a type binding by TS alias
|
|
446
482
|
*/
|
|
447
483
|
getType(tsAlias) {
|
|
448
|
-
return this.types.get(tsAlias);
|
|
484
|
+
return this.types.get(this.resolveLookupAlias(tsAlias));
|
|
449
485
|
}
|
|
450
486
|
/**
|
|
451
487
|
* Check whether a CLR type name exists in loaded bindings.
|
|
@@ -457,18 +493,19 @@ export class BindingRegistry {
|
|
|
457
493
|
* Look up a member binding by TS type alias and member alias
|
|
458
494
|
*/
|
|
459
495
|
getMember(typeAlias, memberAlias) {
|
|
460
|
-
const
|
|
496
|
+
const normalizedTypeAlias = this.resolveLookupAlias(typeAlias);
|
|
497
|
+
const key = `${normalizedTypeAlias}.${memberAlias}`;
|
|
461
498
|
const direct = this.members.get(key);
|
|
462
499
|
if (direct)
|
|
463
500
|
return direct;
|
|
464
501
|
// tsbindgen encodes protected CLR members on a synthetic `${TypeName}$protected` class.
|
|
465
502
|
// Those members are still declared on the real CLR type, so bindings must resolve
|
|
466
503
|
// through the owning type alias.
|
|
467
|
-
if (
|
|
468
|
-
const ownerAlias =
|
|
504
|
+
if (normalizedTypeAlias.endsWith("$protected")) {
|
|
505
|
+
const ownerAlias = normalizedTypeAlias.slice(0, -"$protected".length);
|
|
469
506
|
return this.members.get(`${ownerAlias}.${memberAlias}`);
|
|
470
507
|
}
|
|
471
|
-
const mappedAlias = this.resolveSimpleBindingAlias(
|
|
508
|
+
const mappedAlias = this.resolveSimpleBindingAlias(normalizedTypeAlias);
|
|
472
509
|
if (mappedAlias) {
|
|
473
510
|
const mapped = this.members.get(`${mappedAlias}.${memberAlias}`);
|
|
474
511
|
if (mapped)
|
|
@@ -490,19 +527,20 @@ export class BindingRegistry {
|
|
|
490
527
|
* preserves overload sets so the call converter can select the correct one.
|
|
491
528
|
*/
|
|
492
529
|
getMemberOverloads(typeAlias, memberAlias) {
|
|
493
|
-
const
|
|
530
|
+
const normalizedTypeAlias = this.resolveLookupAlias(typeAlias);
|
|
531
|
+
const key = `${normalizedTypeAlias}.${memberAlias}`;
|
|
494
532
|
const direct = this.memberOverloads.get(key);
|
|
495
533
|
if (direct && direct.length > 0)
|
|
496
534
|
return direct;
|
|
497
535
|
// See getMember(): map `${TypeName}$protected` to `${TypeName}` for CLR binding lookup.
|
|
498
|
-
if (
|
|
499
|
-
const ownerAlias =
|
|
536
|
+
if (normalizedTypeAlias.endsWith("$protected")) {
|
|
537
|
+
const ownerAlias = normalizedTypeAlias.slice(0, -"$protected".length);
|
|
500
538
|
const ownerKey = `${ownerAlias}.${memberAlias}`;
|
|
501
539
|
const owner = this.memberOverloads.get(ownerKey);
|
|
502
540
|
if (owner && owner.length > 0)
|
|
503
541
|
return owner;
|
|
504
542
|
}
|
|
505
|
-
const mappedAlias = this.resolveSimpleBindingAlias(
|
|
543
|
+
const mappedAlias = this.resolveSimpleBindingAlias(normalizedTypeAlias);
|
|
506
544
|
if (mappedAlias) {
|
|
507
545
|
const mappedKey = `${mappedAlias}.${memberAlias}`;
|
|
508
546
|
const mapped = this.memberOverloads.get(mappedKey);
|
|
@@ -588,6 +626,7 @@ export class BindingRegistry {
|
|
|
588
626
|
this.simpleBindingsLowercase.clear();
|
|
589
627
|
this.namespaces.clear();
|
|
590
628
|
this.types.clear();
|
|
629
|
+
this.typeLookupAliasMap.clear();
|
|
591
630
|
this.members.clear();
|
|
592
631
|
this.memberOverloads.clear();
|
|
593
632
|
this.clrMemberOverloads.clear();
|
|
@@ -596,6 +635,9 @@ export class BindingRegistry {
|
|
|
596
635
|
this.tsSupertypes.clear();
|
|
597
636
|
this.clrTypeNames.clear();
|
|
598
637
|
}
|
|
638
|
+
resolveLookupAlias(typeAlias) {
|
|
639
|
+
return this.typeLookupAliasMap.get(typeAlias) ?? typeAlias;
|
|
640
|
+
}
|
|
599
641
|
resolveSimpleBindingAlias(typeAlias) {
|
|
600
642
|
const descriptor = this.simpleBindings.get(typeAlias) ??
|
|
601
643
|
this.simpleBindingsLowercase.get(typeAlias.toLowerCase());
|