@virune/compiler 1.1.0-rc.0
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/LICENSE +201 -0
- package/NOTICE +2 -0
- package/dist/src/analysis/control-flow.d.ts +9 -0
- package/dist/src/analysis/control-flow.d.ts.map +1 -0
- package/dist/src/analysis/control-flow.js +47 -0
- package/dist/src/analysis/control-flow.js.map +1 -0
- package/dist/src/ast/nodes.d.ts +495 -0
- package/dist/src/ast/nodes.d.ts.map +1 -0
- package/dist/src/ast/nodes.js +2 -0
- package/dist/src/ast/nodes.js.map +1 -0
- package/dist/src/binder/symbols.d.ts +36 -0
- package/dist/src/binder/symbols.d.ts.map +1 -0
- package/dist/src/binder/symbols.js +30 -0
- package/dist/src/binder/symbols.js.map +1 -0
- package/dist/src/checker/builtin-members.d.ts +4 -0
- package/dist/src/checker/builtin-members.d.ts.map +1 -0
- package/dist/src/checker/builtin-members.js +175 -0
- package/dist/src/checker/builtin-members.js.map +1 -0
- package/dist/src/checker/checker.d.ts +148 -0
- package/dist/src/checker/checker.d.ts.map +1 -0
- package/dist/src/checker/checker.js +2985 -0
- package/dist/src/checker/checker.js.map +1 -0
- package/dist/src/checker/effect-registry.d.ts +14 -0
- package/dist/src/checker/effect-registry.d.ts.map +1 -0
- package/dist/src/checker/effect-registry.js +11 -0
- package/dist/src/checker/effect-registry.js.map +1 -0
- package/dist/src/checker/type-operations.d.ts +27 -0
- package/dist/src/checker/type-operations.d.ts.map +1 -0
- package/dist/src/checker/type-operations.js +268 -0
- package/dist/src/checker/type-operations.js.map +1 -0
- package/dist/src/codegen/emitter.d.ts +83 -0
- package/dist/src/codegen/emitter.d.ts.map +1 -0
- package/dist/src/codegen/emitter.js +1029 -0
- package/dist/src/codegen/emitter.js.map +1 -0
- package/dist/src/codegen/helpers.d.ts +7 -0
- package/dist/src/codegen/helpers.d.ts.map +1 -0
- package/dist/src/codegen/helpers.js +48 -0
- package/dist/src/codegen/helpers.js.map +1 -0
- package/dist/src/codegen/runtime-imports.d.ts +6 -0
- package/dist/src/codegen/runtime-imports.d.ts.map +1 -0
- package/dist/src/codegen/runtime-imports.js +45 -0
- package/dist/src/codegen/runtime-imports.js.map +1 -0
- package/dist/src/codegen/writer.d.ts +14 -0
- package/dist/src/codegen/writer.d.ts.map +1 -0
- package/dist/src/codegen/writer.js +56 -0
- package/dist/src/codegen/writer.js.map +1 -0
- package/dist/src/compiler.d.ts +24 -0
- package/dist/src/compiler.d.ts.map +1 -0
- package/dist/src/compiler.js +97 -0
- package/dist/src/compiler.js.map +1 -0
- package/dist/src/diagnostics/codes.d.ts +18 -0
- package/dist/src/diagnostics/codes.d.ts.map +1 -0
- package/dist/src/diagnostics/codes.js +43 -0
- package/dist/src/diagnostics/codes.js.map +1 -0
- package/dist/src/diagnostics/diagnostic.d.ts +41 -0
- package/dist/src/diagnostics/diagnostic.d.ts.map +1 -0
- package/dist/src/diagnostics/diagnostic.js +50 -0
- package/dist/src/diagnostics/diagnostic.js.map +1 -0
- package/dist/src/diagnostics/render.d.ts +44 -0
- package/dist/src/diagnostics/render.d.ts.map +1 -0
- package/dist/src/diagnostics/render.js +44 -0
- package/dist/src/diagnostics/render.js.map +1 -0
- package/dist/src/experimental-api.d.ts +19 -0
- package/dist/src/experimental-api.d.ts.map +1 -0
- package/dist/src/experimental-api.js +17 -0
- package/dist/src/experimental-api.js.map +1 -0
- package/dist/src/hir/lower.d.ts +6 -0
- package/dist/src/hir/lower.d.ts.map +1 -0
- package/dist/src/hir/lower.js +124 -0
- package/dist/src/hir/lower.js.map +1 -0
- package/dist/src/hir/nodes.d.ts +12 -0
- package/dist/src/hir/nodes.d.ts.map +1 -0
- package/dist/src/hir/nodes.js +2 -0
- package/dist/src/hir/nodes.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/interop/checked-api.d.ts +21 -0
- package/dist/src/interop/checked-api.d.ts.map +1 -0
- package/dist/src/interop/checked-api.js +46 -0
- package/dist/src/interop/checked-api.js.map +1 -0
- package/dist/src/interop/decision.d.ts +24 -0
- package/dist/src/interop/decision.d.ts.map +1 -0
- package/dist/src/interop/decision.js +96 -0
- package/dist/src/interop/decision.js.map +1 -0
- package/dist/src/interop/frontend-component-emission.d.ts +17 -0
- package/dist/src/interop/frontend-component-emission.d.ts.map +1 -0
- package/dist/src/interop/frontend-component-emission.js +271 -0
- package/dist/src/interop/frontend-component-emission.js.map +1 -0
- package/dist/src/interop/jsx-view-validation.d.ts +20 -0
- package/dist/src/interop/jsx-view-validation.d.ts.map +1 -0
- package/dist/src/interop/jsx-view-validation.js +847 -0
- package/dist/src/interop/jsx-view-validation.js.map +1 -0
- package/dist/src/interop/operation-api.d.ts +32 -0
- package/dist/src/interop/operation-api.d.ts.map +1 -0
- package/dist/src/interop/operation-api.js +61 -0
- package/dist/src/interop/operation-api.js.map +1 -0
- package/dist/src/interop/operation.d.ts +136 -0
- package/dist/src/interop/operation.d.ts.map +1 -0
- package/dist/src/interop/operation.js +575 -0
- package/dist/src/interop/operation.js.map +1 -0
- package/dist/src/interop/repetition-host-locator.d.ts +25 -0
- package/dist/src/interop/repetition-host-locator.d.ts.map +1 -0
- package/dist/src/interop/repetition-host-locator.js +61 -0
- package/dist/src/interop/repetition-host-locator.js.map +1 -0
- package/dist/src/interop/repetition-host-usage-validation.d.ts +11 -0
- package/dist/src/interop/repetition-host-usage-validation.d.ts.map +1 -0
- package/dist/src/interop/repetition-host-usage-validation.js +89 -0
- package/dist/src/interop/repetition-host-usage-validation.js.map +1 -0
- package/dist/src/interop/types.d.ts +365 -0
- package/dist/src/interop/types.d.ts.map +1 -0
- package/dist/src/interop/types.js +2 -0
- package/dist/src/interop/types.js.map +1 -0
- package/dist/src/mir/lower.d.ts +4 -0
- package/dist/src/mir/lower.d.ts.map +1 -0
- package/dist/src/mir/lower.js +131 -0
- package/dist/src/mir/lower.js.map +1 -0
- package/dist/src/mir/nodes.d.ts +36 -0
- package/dist/src/mir/nodes.d.ts.map +1 -0
- package/dist/src/mir/nodes.js +2 -0
- package/dist/src/mir/nodes.js.map +1 -0
- package/dist/src/project/incremental.d.ts +9 -0
- package/dist/src/project/incremental.d.ts.map +1 -0
- package/dist/src/project/incremental.js +15 -0
- package/dist/src/project/incremental.js.map +1 -0
- package/dist/src/project/project.d.ts +98 -0
- package/dist/src/project/project.d.ts.map +1 -0
- package/dist/src/project/project.js +884 -0
- package/dist/src/project/project.js.map +1 -0
- package/dist/src/public-api.d.ts +45 -0
- package/dist/src/public-api.d.ts.map +1 -0
- package/dist/src/public-api.js +37 -0
- package/dist/src/public-api.js.map +1 -0
- package/dist/src/reference/evaluator.d.ts +13 -0
- package/dist/src/reference/evaluator.d.ts.map +1 -0
- package/dist/src/reference/evaluator.js +304 -0
- package/dist/src/reference/evaluator.js.map +1 -0
- package/dist/src/selfhost/bootstrap-artifact-normalizer.d.ts +65 -0
- package/dist/src/selfhost/bootstrap-artifact-normalizer.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-artifact-normalizer.js +226 -0
- package/dist/src/selfhost/bootstrap-artifact-normalizer.js.map +1 -0
- package/dist/src/selfhost/bootstrap-artifact-snapshot.d.ts +23 -0
- package/dist/src/selfhost/bootstrap-artifact-snapshot.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-artifact-snapshot.js +122 -0
- package/dist/src/selfhost/bootstrap-artifact-snapshot.js.map +1 -0
- package/dist/src/selfhost/bootstrap-compiler-selection.d.ts +36 -0
- package/dist/src/selfhost/bootstrap-compiler-selection.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-compiler-selection.js +52 -0
- package/dist/src/selfhost/bootstrap-compiler-selection.js.map +1 -0
- package/dist/src/selfhost/bootstrap-execution-probe.d.ts +42 -0
- package/dist/src/selfhost/bootstrap-execution-probe.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-execution-probe.js +115 -0
- package/dist/src/selfhost/bootstrap-execution-probe.js.map +1 -0
- package/dist/src/selfhost/bootstrap-rollback-decision.d.ts +40 -0
- package/dist/src/selfhost/bootstrap-rollback-decision.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-rollback-decision.js +144 -0
- package/dist/src/selfhost/bootstrap-rollback-decision.js.map +1 -0
- package/dist/src/selfhost/bootstrap-shadow-history.d.ts +49 -0
- package/dist/src/selfhost/bootstrap-shadow-history.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-shadow-history.js +348 -0
- package/dist/src/selfhost/bootstrap-shadow-history.js.map +1 -0
- package/dist/src/selfhost/bootstrap-shadow-report.d.ts +43 -0
- package/dist/src/selfhost/bootstrap-shadow-report.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-shadow-report.js +94 -0
- package/dist/src/selfhost/bootstrap-shadow-report.js.map +1 -0
- package/dist/src/selfhost/bootstrap-stage-executor.d.ts +53 -0
- package/dist/src/selfhost/bootstrap-stage-executor.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-stage-executor.js +159 -0
- package/dist/src/selfhost/bootstrap-stage-executor.js.map +1 -0
- package/dist/src/selfhost/bootstrap-stage-loader.d.ts +14 -0
- package/dist/src/selfhost/bootstrap-stage-loader.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-stage-loader.js +112 -0
- package/dist/src/selfhost/bootstrap-stage-loader.js.map +1 -0
- package/dist/src/selfhost/bootstrap-stage-pipeline.d.ts +8 -0
- package/dist/src/selfhost/bootstrap-stage-pipeline.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-stage-pipeline.js +85 -0
- package/dist/src/selfhost/bootstrap-stage-pipeline.js.map +1 -0
- package/dist/src/selfhost/bootstrap-stage-runner.d.ts +47 -0
- package/dist/src/selfhost/bootstrap-stage-runner.d.ts.map +1 -0
- package/dist/src/selfhost/bootstrap-stage-runner.js +106 -0
- package/dist/src/selfhost/bootstrap-stage-runner.js.map +1 -0
- package/dist/src/selfhost/clean-bootstrap-evidence.d.ts +83 -0
- package/dist/src/selfhost/clean-bootstrap-evidence.d.ts.map +1 -0
- package/dist/src/selfhost/clean-bootstrap-evidence.js +233 -0
- package/dist/src/selfhost/clean-bootstrap-evidence.js.map +1 -0
- package/dist/src/selfhost/compiler-facade.d.ts +33 -0
- package/dist/src/selfhost/compiler-facade.d.ts.map +1 -0
- package/dist/src/selfhost/compiler-facade.js +65 -0
- package/dist/src/selfhost/compiler-facade.js.map +1 -0
- package/dist/src/selfhost/contract.d.ts +151 -0
- package/dist/src/selfhost/contract.d.ts.map +1 -0
- package/dist/src/selfhost/contract.js +335 -0
- package/dist/src/selfhost/contract.js.map +1 -0
- package/dist/src/selfhost/differential-artifacts.d.ts +8 -0
- package/dist/src/selfhost/differential-artifacts.d.ts.map +1 -0
- package/dist/src/selfhost/differential-artifacts.js +50 -0
- package/dist/src/selfhost/differential-artifacts.js.map +1 -0
- package/dist/src/selfhost/differential-harness.d.ts +91 -0
- package/dist/src/selfhost/differential-harness.d.ts.map +1 -0
- package/dist/src/selfhost/differential-harness.js +246 -0
- package/dist/src/selfhost/differential-harness.js.map +1 -0
- package/dist/src/selfhost/full-language-inventory-runner.d.ts +49 -0
- package/dist/src/selfhost/full-language-inventory-runner.d.ts.map +1 -0
- package/dist/src/selfhost/full-language-inventory-runner.js +225 -0
- package/dist/src/selfhost/full-language-inventory-runner.js.map +1 -0
- package/dist/src/selfhost/full-language-inventory.d.ts +42 -0
- package/dist/src/selfhost/full-language-inventory.d.ts.map +1 -0
- package/dist/src/selfhost/full-language-inventory.js +163 -0
- package/dist/src/selfhost/full-language-inventory.js.map +1 -0
- package/dist/src/selfhost/interop-resolution-witness.d.ts +35 -0
- package/dist/src/selfhost/interop-resolution-witness.d.ts.map +1 -0
- package/dist/src/selfhost/interop-resolution-witness.js +186 -0
- package/dist/src/selfhost/interop-resolution-witness.js.map +1 -0
- package/dist/src/selfhost/kernel-model-host-adapter.d.ts +28 -0
- package/dist/src/selfhost/kernel-model-host-adapter.d.ts.map +1 -0
- package/dist/src/selfhost/kernel-model-host-adapter.js +36 -0
- package/dist/src/selfhost/kernel-model-host-adapter.js.map +1 -0
- package/dist/src/selfhost/legacy-adapter.d.ts +8 -0
- package/dist/src/selfhost/legacy-adapter.d.ts.map +1 -0
- package/dist/src/selfhost/legacy-adapter.js +186 -0
- package/dist/src/selfhost/legacy-adapter.js.map +1 -0
- package/dist/src/selfhost/module-graph.d.ts +57 -0
- package/dist/src/selfhost/module-graph.d.ts.map +1 -0
- package/dist/src/selfhost/module-graph.js +267 -0
- package/dist/src/selfhost/module-graph.js.map +1 -0
- package/dist/src/selfhost/mvp-adapter.d.ts +19 -0
- package/dist/src/selfhost/mvp-adapter.d.ts.map +1 -0
- package/dist/src/selfhost/mvp-adapter.js +186 -0
- package/dist/src/selfhost/mvp-adapter.js.map +1 -0
- package/dist/src/selfhost/node-executor.d.ts +6 -0
- package/dist/src/selfhost/node-executor.d.ts.map +1 -0
- package/dist/src/selfhost/node-executor.js +138 -0
- package/dist/src/selfhost/node-executor.js.map +1 -0
- package/dist/src/selfhost/project-compiler-adapter.d.ts +77 -0
- package/dist/src/selfhost/project-compiler-adapter.d.ts.map +1 -0
- package/dist/src/selfhost/project-compiler-adapter.js +358 -0
- package/dist/src/selfhost/project-compiler-adapter.js.map +1 -0
- package/dist/src/selfhost/project-differential-adapter.d.ts +15 -0
- package/dist/src/selfhost/project-differential-adapter.d.ts.map +1 -0
- package/dist/src/selfhost/project-differential-adapter.js +65 -0
- package/dist/src/selfhost/project-differential-adapter.js.map +1 -0
- package/dist/src/selfhost/promotion-evidence.d.ts +62 -0
- package/dist/src/selfhost/promotion-evidence.d.ts.map +1 -0
- package/dist/src/selfhost/promotion-evidence.js +332 -0
- package/dist/src/selfhost/promotion-evidence.js.map +1 -0
- package/dist/src/selfhost/promotion-policy-replay-v2.d.ts +54 -0
- package/dist/src/selfhost/promotion-policy-replay-v2.d.ts.map +1 -0
- package/dist/src/selfhost/promotion-policy-replay-v2.js +343 -0
- package/dist/src/selfhost/promotion-policy-replay-v2.js.map +1 -0
- package/dist/src/selfhost/promotion-shadow-history-v2.d.ts +55 -0
- package/dist/src/selfhost/promotion-shadow-history-v2.d.ts.map +1 -0
- package/dist/src/selfhost/promotion-shadow-history-v2.js +227 -0
- package/dist/src/selfhost/promotion-shadow-history-v2.js.map +1 -0
- package/dist/src/selfhost/promotion-subject.d.ts +34 -0
- package/dist/src/selfhost/promotion-subject.d.ts.map +1 -0
- package/dist/src/selfhost/promotion-subject.js +141 -0
- package/dist/src/selfhost/promotion-subject.js.map +1 -0
- package/dist/src/selfhost/source-manifest.d.ts +31 -0
- package/dist/src/selfhost/source-manifest.d.ts.map +1 -0
- package/dist/src/selfhost/source-manifest.js +194 -0
- package/dist/src/selfhost/source-manifest.js.map +1 -0
- package/dist/src/selfhost/stage-compiler-facade.d.ts +25 -0
- package/dist/src/selfhost/stage-compiler-facade.d.ts.map +1 -0
- package/dist/src/selfhost/stage-compiler-facade.js +100 -0
- package/dist/src/selfhost/stage-compiler-facade.js.map +1 -0
- package/dist/src/semantic-evidence/snapshot.d.ts +114 -0
- package/dist/src/semantic-evidence/snapshot.d.ts.map +1 -0
- package/dist/src/semantic-evidence/snapshot.js +336 -0
- package/dist/src/semantic-evidence/snapshot.js.map +1 -0
- package/dist/src/source.d.ts +25 -0
- package/dist/src/source.d.ts.map +1 -0
- package/dist/src/source.js +10 -0
- package/dist/src/source.js.map +1 -0
- package/dist/src/syntax/cst-to-ast.d.ts +108 -0
- package/dist/src/syntax/cst-to-ast.d.ts.map +1 -0
- package/dist/src/syntax/cst-to-ast.js +383 -0
- package/dist/src/syntax/cst-to-ast.js.map +1 -0
- package/dist/src/syntax/documentation.d.ts +11 -0
- package/dist/src/syntax/documentation.d.ts.map +1 -0
- package/dist/src/syntax/documentation.js +261 -0
- package/dist/src/syntax/documentation.js.map +1 -0
- package/dist/src/syntax/parser.d.ts +114 -0
- package/dist/src/syntax/parser.d.ts.map +1 -0
- package/dist/src/syntax/parser.js +970 -0
- package/dist/src/syntax/parser.js.map +1 -0
- package/dist/src/syntax/syntax-metadata.d.ts +8 -0
- package/dist/src/syntax/syntax-metadata.d.ts.map +1 -0
- package/dist/src/syntax/syntax-metadata.js +14 -0
- package/dist/src/syntax/syntax-metadata.js.map +1 -0
- package/dist/src/syntax/tokens.d.ts +96 -0
- package/dist/src/syntax/tokens.d.ts.map +1 -0
- package/dist/src/syntax/tokens.js +260 -0
- package/dist/src/syntax/tokens.js.map +1 -0
- package/dist/src/types/types.d.ts +97 -0
- package/dist/src/types/types.d.ts.map +1 -0
- package/dist/src/types/types.js +105 -0
- package/dist/src/types/types.js.map +1 -0
- package/package.json +47 -0
- package/schema/diagnostics-v1.schema.json +75 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type * as A from '../ast/nodes.js';
|
|
2
|
+
import type { SourceSpan } from '../source.js';
|
|
3
|
+
export interface RepetitionHostSourceModule {
|
|
4
|
+
readonly path: string;
|
|
5
|
+
readonly ast: A.ModuleNode;
|
|
6
|
+
}
|
|
7
|
+
export interface RepetitionHostLocator {
|
|
8
|
+
readonly module: string;
|
|
9
|
+
readonly exportName: string;
|
|
10
|
+
readonly protocolVersion: 1;
|
|
11
|
+
readonly declarationFile: string;
|
|
12
|
+
readonly span: SourceSpan;
|
|
13
|
+
}
|
|
14
|
+
export type RepetitionHostLocatorResolution = {
|
|
15
|
+
readonly status: 'none';
|
|
16
|
+
} | {
|
|
17
|
+
readonly status: 'ready';
|
|
18
|
+
readonly locator: RepetitionHostLocator;
|
|
19
|
+
} | {
|
|
20
|
+
readonly status: 'ambiguous';
|
|
21
|
+
readonly locators: readonly RepetitionHostLocator[];
|
|
22
|
+
};
|
|
23
|
+
export declare function discoverRepetitionHostLocator(modules: readonly RepetitionHostSourceModule[]): RepetitionHostLocatorResolution;
|
|
24
|
+
export declare function collectIdentityViewRepetitions(module: A.ModuleNode): readonly A.ViewRepetition[];
|
|
25
|
+
//# sourceMappingURL=repetition-host-locator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repetition-host-locator.d.ts","sourceRoot":"","sources":["../../../src/interop/repetition-host-locator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC1B;AAED,MAAM,MAAM,+BAA+B,GACxC;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAA;CAAE,GACrE;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAA;CAAE,CAAC;AAqBzF,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,SAAS,0BAA0B,EAAE,GAAG,+BAA+B,CAW7H;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,cAAc,EAAE,CAIhG"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
function locatorFromDeclaration(declaration, declarationFile) {
|
|
2
|
+
if (declaration.kind !== 'ExternDeclaration' || declaration.unsafe)
|
|
3
|
+
return undefined;
|
|
4
|
+
const attributes = declaration.attributes.filter(item => item.name === 'repetitionHost');
|
|
5
|
+
if (attributes.length !== 1)
|
|
6
|
+
return undefined;
|
|
7
|
+
const attribute = attributes[0];
|
|
8
|
+
if (attribute.arguments.length !== 2)
|
|
9
|
+
return undefined;
|
|
10
|
+
const exportName = attribute.arguments[0];
|
|
11
|
+
const version = attribute.arguments[1];
|
|
12
|
+
if (exportName?.kind !== 'LiteralExpression' || exportName.literalKind !== 'String')
|
|
13
|
+
return undefined;
|
|
14
|
+
if (version?.kind !== 'LiteralExpression' || version.literalKind !== 'Int' || version.value !== 1)
|
|
15
|
+
return undefined;
|
|
16
|
+
return {
|
|
17
|
+
module: declaration.module,
|
|
18
|
+
exportName: String(exportName.value),
|
|
19
|
+
protocolVersion: 1,
|
|
20
|
+
declarationFile,
|
|
21
|
+
span: attribute.span,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export function discoverRepetitionHostLocator(modules) {
|
|
25
|
+
const locators = [];
|
|
26
|
+
for (const module of modules) {
|
|
27
|
+
for (const declaration of module.ast.declarations) {
|
|
28
|
+
const locator = locatorFromDeclaration(declaration, module.path);
|
|
29
|
+
if (locator !== undefined)
|
|
30
|
+
locators.push(locator);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (locators.length === 0)
|
|
34
|
+
return { status: 'none' };
|
|
35
|
+
if (locators.length === 1)
|
|
36
|
+
return { status: 'ready', locator: locators[0] };
|
|
37
|
+
return { status: 'ambiguous', locators };
|
|
38
|
+
}
|
|
39
|
+
export function collectIdentityViewRepetitions(module) {
|
|
40
|
+
const repetitions = [];
|
|
41
|
+
collectIdentityViewRepetitionsFromValue(module, repetitions);
|
|
42
|
+
return repetitions;
|
|
43
|
+
}
|
|
44
|
+
function collectIdentityViewRepetitionsFromValue(value, repetitions) {
|
|
45
|
+
if (Array.isArray(value)) {
|
|
46
|
+
for (const item of value)
|
|
47
|
+
collectIdentityViewRepetitionsFromValue(item, repetitions);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (value === null || typeof value !== 'object')
|
|
51
|
+
return;
|
|
52
|
+
const node = value;
|
|
53
|
+
if (node.kind === 'ViewRepetition')
|
|
54
|
+
repetitions.push(node);
|
|
55
|
+
for (const [key, child] of Object.entries(node)) {
|
|
56
|
+
if (key === 'span' || key === 'checkedEvidence' || key === 'documentation')
|
|
57
|
+
continue;
|
|
58
|
+
collectIdentityViewRepetitionsFromValue(child, repetitions);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=repetition-host-locator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repetition-host-locator.js","sourceRoot":"","sources":["../../../src/interop/repetition-host-locator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { JsInteropProvider, JsImportRequest } from './types.js';
|
|
2
|
+
interface RepetitionHostTypeScriptUsageOptions {
|
|
3
|
+
readonly containingFile: string;
|
|
4
|
+
readonly platform: JsImportRequest['platform'];
|
|
5
|
+
readonly moduleSpecifier: string;
|
|
6
|
+
readonly exportName: string;
|
|
7
|
+
readonly jsInteropProvider?: JsInteropProvider;
|
|
8
|
+
}
|
|
9
|
+
export declare function validateRepetitionHostTypeScriptUsage(options: RepetitionHostTypeScriptUsageOptions): boolean;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=repetition-host-usage-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repetition-host-usage-validation.d.ts","sourceRoot":"","sources":["../../../src/interop/repetition-host-usage-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAErE,UAAU,oCAAoC;IAC7C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IAC/C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CAC/C;AAED,wBAAgB,qCAAqC,CAAC,OAAO,EAAE,oCAAoC,GAAG,OAAO,CAqF5G"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
export function validateRepetitionHostTypeScriptUsage(options) {
|
|
2
|
+
const provider = options.jsInteropProvider;
|
|
3
|
+
const resolver = provider?.resolveJsxUsage;
|
|
4
|
+
if (provider === undefined || resolver === undefined)
|
|
5
|
+
return false;
|
|
6
|
+
const moduleSpecifier = JSON.stringify(options.moduleSpecifier);
|
|
7
|
+
const exportName = JSON.stringify(options.exportName);
|
|
8
|
+
const sourceText = [
|
|
9
|
+
`import * as __viruneRepetitionHostModule from ${moduleSpecifier};`,
|
|
10
|
+
`const __viruneRepetitionHost = __viruneRepetitionHostModule[${exportName}];`,
|
|
11
|
+
'type __ViruneIsNever<T> = [T] extends [never] ? true : false;',
|
|
12
|
+
'type __ViruneIsAny<T> = 0 extends (1 & T) ? true : false;',
|
|
13
|
+
'type __ViruneIsUnknown<T> = __ViruneIsAny<T> extends true ? false : unknown extends T ? ([keyof T] extends [never] ? true : false) : false;',
|
|
14
|
+
'type __ViruneSafe<T> = __ViruneIsNever<T> extends true ? never : __ViruneIsAny<T> extends true ? never : __ViruneIsUnknown<T> extends true ? never : true;',
|
|
15
|
+
'function __viruneRequireSafe<T>(_proof: __ViruneSafe<T>): void {}',
|
|
16
|
+
'declare function __ViruneProbeComponent(): never;',
|
|
17
|
+
'__viruneRequireSafe<typeof __viruneRepetitionHost>(true);',
|
|
18
|
+
'type __ViruneHostParameters = Parameters<typeof __viruneRepetitionHost>;',
|
|
19
|
+
'__viruneRequireSafe<__ViruneHostParameters[0]>(true);',
|
|
20
|
+
'__viruneRequireSafe<__ViruneHostParameters[1]>(true);',
|
|
21
|
+
'type __ViruneBodyResult = __ViruneHostParameters[1] extends (...args: never[]) => infer TResult ? TResult : never;',
|
|
22
|
+
'__viruneRequireSafe<__ViruneBodyResult>(true);',
|
|
23
|
+
'const __viruneBodyResultProbe: __ViruneBodyResult = <__ViruneProbeComponent />;',
|
|
24
|
+
'void __viruneBodyResultProbe;',
|
|
25
|
+
'type __ViruneSnapshotResult = __ViruneHostParameters[0] extends (...args: never[]) => infer TResult ? TResult : never;',
|
|
26
|
+
'__viruneRequireSafe<__ViruneSnapshotResult>(true);',
|
|
27
|
+
'type __ViruneSnapshotEntry = __ViruneSnapshotResult extends readonly (infer TEntry)[] ? TEntry : never;',
|
|
28
|
+
'type __ViruneSnapshotId = __ViruneSnapshotEntry extends { id: infer TId } ? TId : never;',
|
|
29
|
+
'type __ViruneSnapshotIndex = __ViruneSnapshotEntry extends { index: infer TIndex } ? TIndex : never;',
|
|
30
|
+
'__viruneRequireSafe<__ViruneSnapshotId>(true);',
|
|
31
|
+
'__viruneRequireSafe<__ViruneSnapshotIndex>(true);',
|
|
32
|
+
'declare const __viruneSnapshotId: __ViruneSnapshotId;',
|
|
33
|
+
'declare const __viruneSnapshotIndex: __ViruneSnapshotIndex;',
|
|
34
|
+
'declare const __viruneStringIdentity: string;',
|
|
35
|
+
'declare const __viruneNumberIndex: number;',
|
|
36
|
+
'const __viruneSnapshotIdAsString: string = __viruneSnapshotId;',
|
|
37
|
+
'const __viruneStringAsSnapshotId: __ViruneSnapshotId = __viruneStringIdentity;',
|
|
38
|
+
'const __viruneSnapshotIndexAsNumber: number = __viruneSnapshotIndex;',
|
|
39
|
+
'const __viruneNumberAsSnapshotIndex: __ViruneSnapshotIndex = __viruneNumberIndex;',
|
|
40
|
+
'void __viruneSnapshotIdAsString; void __viruneStringAsSnapshotId; void __viruneSnapshotIndexAsNumber; void __viruneNumberAsSnapshotIndex;',
|
|
41
|
+
'function __viruneRequireGenericHost<T>(__viruneValue: T, __viruneIndex: number, __viruneSnapshotIdentity: string): void {',
|
|
42
|
+
' const __viruneSnapshot: readonly { id: string; index: number; value: T }[] = [{ id: __viruneSnapshotIdentity, index: __viruneIndex, value: __viruneValue }];',
|
|
43
|
+
' const __viruneGenericResult = __viruneRepetitionHost(',
|
|
44
|
+
' () => __viruneSnapshot,',
|
|
45
|
+
' (__viruneReadValue, __viruneReadIndex, __viruneGroupIdentity) => {',
|
|
46
|
+
' const __viruneRoundTripValue: T = __viruneReadValue();',
|
|
47
|
+
' const __viruneValueRoundTrip: ReturnType<typeof __viruneReadValue> = __viruneValue;',
|
|
48
|
+
' const __viruneRoundTripIndex: number = __viruneReadIndex();',
|
|
49
|
+
' const __viruneIndexRoundTrip: ReturnType<typeof __viruneReadIndex> = __viruneIndex;',
|
|
50
|
+
' const __viruneRoundTripId: string = __viruneGroupIdentity;',
|
|
51
|
+
' const __viruneIdRoundTrip: typeof __viruneGroupIdentity = __viruneSnapshotIdentity;',
|
|
52
|
+
' void __viruneRoundTripValue; void __viruneValueRoundTrip; void __viruneRoundTripIndex; void __viruneIndexRoundTrip; void __viruneRoundTripId; void __viruneIdRoundTrip;',
|
|
53
|
+
' return <__ViruneProbeComponent />;',
|
|
54
|
+
' },',
|
|
55
|
+
' );',
|
|
56
|
+
' void __viruneGenericResult;',
|
|
57
|
+
'}',
|
|
58
|
+
'__viruneRequireGenericHost({ marker: "virune-generic-probe" }, 0, "s:virune-generic-probe");',
|
|
59
|
+
'const __viruneRepetitionHostResult = __viruneRepetitionHost(',
|
|
60
|
+
' () => [{ id: "s:virune-probe", index: 0, value: { marker: "virune-probe" } }],',
|
|
61
|
+
' (__viruneReadValue, __viruneReadIndex, __viruneIdentity) => {',
|
|
62
|
+
' __viruneRequireSafe<typeof __viruneReadValue>(true);',
|
|
63
|
+
' __viruneRequireSafe<ReturnType<typeof __viruneReadValue>>(true);',
|
|
64
|
+
' __viruneRequireSafe<typeof __viruneReadIndex>(true);',
|
|
65
|
+
' __viruneRequireSafe<ReturnType<typeof __viruneReadIndex>>(true);',
|
|
66
|
+
' __viruneRequireSafe<typeof __viruneIdentity>(true);',
|
|
67
|
+
' const __viruneMarker: string = __viruneReadValue().marker;',
|
|
68
|
+
' const __viruneIndex: number = __viruneReadIndex();',
|
|
69
|
+
' const __viruneId: string = __viruneIdentity;',
|
|
70
|
+
' void __viruneMarker; void __viruneIndex; void __viruneId;',
|
|
71
|
+
' return <__ViruneProbeComponent />;',
|
|
72
|
+
' },',
|
|
73
|
+
');',
|
|
74
|
+
'__viruneRequireSafe<typeof __viruneRepetitionHostResult>(true);',
|
|
75
|
+
'const __viruneHostResultAsBody: __ViruneBodyResult = __viruneRepetitionHostResult;',
|
|
76
|
+
'void __viruneHostResultAsBody; void __viruneRepetitionHostResult;',
|
|
77
|
+
].join('\n');
|
|
78
|
+
try {
|
|
79
|
+
return resolver.call(provider, {
|
|
80
|
+
containingFile: options.containingFile,
|
|
81
|
+
platform: options.platform,
|
|
82
|
+
sourceText,
|
|
83
|
+
})?.accepted === true;
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=repetition-host-usage-validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repetition-host-usage-validation.js","sourceRoot":"","sources":["../../../src/interop/repetition-host-usage-validation.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,qCAAqC,CAAC,OAA6C;IAClG,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAC3C,MAAM,QAAQ,GAAG,QAAQ,EAAE,eAAe,CAAC;IAC3C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACnE,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG;QAClB,iDAAiD,eAAe,GAAG;QACnE,+DAA+D,UAAU,IAAI;QAC7E,+DAA+D;QAC/D,2DAA2D;QAC3D,6IAA6I;QAC7I,4JAA4J;QAC5J,mEAAmE;QACnE,mDAAmD;QACnD,2DAA2D;QAC3D,0EAA0E;QAC1E,uDAAuD;QACvD,uDAAuD;QACvD,oHAAoH;QACpH,gDAAgD;QAChD,iFAAiF;QACjF,+BAA+B;QAC/B,wHAAwH;QACxH,oDAAoD;QACpD,yGAAyG;QACzG,0FAA0F;QAC1F,sGAAsG;QACtG,gDAAgD;QAChD,mDAAmD;QACnD,uDAAuD;QACvD,6DAA6D;QAC7D,+CAA+C;QAC/C,4CAA4C;QAC5C,gEAAgE;QAChE,gFAAgF;QAChF,sEAAsE;QACtE,mFAAmF;QACnF,2IAA2I;QAC3I,2HAA2H;QAC3H,gKAAgK;QAChK,yDAAyD;QACzD,6BAA6B;QAC7B,wEAAwE;QACxE,8DAA8D;QAC9D,2FAA2F;QAC3F,mEAAmE;QACnE,2FAA2F;QAC3F,kEAAkE;QAClE,2FAA2F;QAC3F,+KAA+K;QAC/K,0CAA0C;QAC1C,QAAQ;QACR,MAAM;QACN,+BAA+B;QAC/B,GAAG;QACH,8FAA8F;QAC9F,8DAA8D;QAC9D,kFAAkF;QAClF,iEAAiE;QACjE,0DAA0D;QAC1D,sEAAsE;QACtE,0DAA0D;QAC1D,sEAAsE;QACtE,yDAAyD;QACzD,gEAAgE;QAChE,wDAAwD;QACxD,kDAAkD;QAClD,+DAA+D;QAC/D,wCAAwC;QACxC,MAAM;QACN,IAAI;QACJ,iEAAiE;QACjE,oFAAoF;QACpF,mEAAmE;KACnE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,IAAI,CAAC;QACJ,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU;SACV,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
import type { NodeId, SourceSpan, TypeId } from '../source.js';
|
|
2
|
+
export type ForeignPrimitiveKind = 'boolean' | 'string' | 'number' | 'bigint' | 'void' | 'undefined' | 'null';
|
|
3
|
+
export type NativeCallablePrimitiveKind = 'Bool' | 'Int' | 'Float' | 'BigInt' | 'String' | 'Unit';
|
|
4
|
+
export type ContextualCallablePrimitiveKind = 'boolean' | 'string' | 'number' | 'bigint' | 'undefined';
|
|
5
|
+
export type CanonicalForeignTypeIdentity = 'ecmascript:Promise';
|
|
6
|
+
/** Opaque reference whose lifetime is limited to one provider generation. */
|
|
7
|
+
export interface ForeignTypeRef {
|
|
8
|
+
readonly providerId: string;
|
|
9
|
+
readonly generation: number;
|
|
10
|
+
readonly id: string;
|
|
11
|
+
}
|
|
12
|
+
/** Ephemeral editor metadata. Providers must not serialize this into stable semantic evidence. */
|
|
13
|
+
export interface ForeignTypeNavigation {
|
|
14
|
+
readonly declarationPath: string;
|
|
15
|
+
}
|
|
16
|
+
export interface ForeignTypeSnapshot {
|
|
17
|
+
readonly ref: ForeignTypeRef;
|
|
18
|
+
readonly display: string;
|
|
19
|
+
readonly category: 'primitive' | 'literal' | 'object' | 'function' | 'constructor' | 'promise' | 'array' | 'tuple' | 'union' | 'unknown' | 'any';
|
|
20
|
+
readonly primitive?: ForeignPrimitiveKind;
|
|
21
|
+
readonly mustUse?: boolean;
|
|
22
|
+
readonly canonicalIdentity?: CanonicalForeignTypeIdentity;
|
|
23
|
+
readonly origin?: ForeignOrigin;
|
|
24
|
+
readonly navigation?: ForeignTypeNavigation;
|
|
25
|
+
}
|
|
26
|
+
export interface ForeignOrigin {
|
|
27
|
+
readonly moduleSpecifier: string;
|
|
28
|
+
readonly packageName?: string;
|
|
29
|
+
readonly packageVersion?: string;
|
|
30
|
+
readonly declarationPath?: string;
|
|
31
|
+
readonly exportName?: string;
|
|
32
|
+
}
|
|
33
|
+
export type JsImportKind = 'named' | 'default' | 'namespace' | 'side-effect' | 'type-only';
|
|
34
|
+
export interface JsImportRequest {
|
|
35
|
+
readonly containingFile: string;
|
|
36
|
+
readonly moduleSpecifier: string;
|
|
37
|
+
readonly kind: JsImportKind;
|
|
38
|
+
readonly importedName?: string;
|
|
39
|
+
readonly platform: 'node' | 'browser' | 'neutral';
|
|
40
|
+
}
|
|
41
|
+
export interface JsImportResolution {
|
|
42
|
+
readonly type?: ForeignTypeSnapshot;
|
|
43
|
+
readonly runtime: RuntimeImportPlan;
|
|
44
|
+
readonly witness: ModuleResolutionWitness;
|
|
45
|
+
}
|
|
46
|
+
export type RuntimeImportPlan = {
|
|
47
|
+
readonly kind: 'named';
|
|
48
|
+
readonly importedName: string;
|
|
49
|
+
} | {
|
|
50
|
+
readonly kind: 'default';
|
|
51
|
+
} | {
|
|
52
|
+
readonly kind: 'namespace';
|
|
53
|
+
} | {
|
|
54
|
+
readonly kind: 'side-effect';
|
|
55
|
+
} | {
|
|
56
|
+
readonly kind: 'type-only';
|
|
57
|
+
};
|
|
58
|
+
export interface ModuleResolutionWitness {
|
|
59
|
+
readonly moduleSpecifier: string;
|
|
60
|
+
/** Runtime package selected by the target loader. */
|
|
61
|
+
readonly packageName?: string;
|
|
62
|
+
readonly packageVersion?: string;
|
|
63
|
+
/** Declaration package when types are supplied separately, for example @types/lodash. */
|
|
64
|
+
readonly declarationPackageName?: string;
|
|
65
|
+
readonly declarationPackageVersion?: string;
|
|
66
|
+
readonly declarationEntry?: string;
|
|
67
|
+
readonly runtimeEntry?: string;
|
|
68
|
+
readonly runtimeFormat?: 'esm' | 'commonjs' | 'builtin' | 'bundler' | 'unknown';
|
|
69
|
+
readonly conditions: readonly string[];
|
|
70
|
+
readonly platform: 'node' | 'browser' | 'neutral';
|
|
71
|
+
readonly providerVersion: string;
|
|
72
|
+
readonly declarationGraphHash?: string;
|
|
73
|
+
readonly packageJsonHash?: string;
|
|
74
|
+
readonly declarationPackageJsonHash?: string;
|
|
75
|
+
}
|
|
76
|
+
export type InteropLiteralValue = {
|
|
77
|
+
readonly kind: 'String';
|
|
78
|
+
readonly value: string;
|
|
79
|
+
} | {
|
|
80
|
+
readonly kind: 'Bool';
|
|
81
|
+
readonly value: boolean;
|
|
82
|
+
} | {
|
|
83
|
+
readonly kind: 'Int' | 'Float';
|
|
84
|
+
readonly value: number;
|
|
85
|
+
} | {
|
|
86
|
+
readonly kind: 'BigInt';
|
|
87
|
+
readonly value: string;
|
|
88
|
+
};
|
|
89
|
+
/** Provider-facing native callable template. Compiler-owned effects and provenance are intentionally excluded. */
|
|
90
|
+
export interface NativeCallableTypeTemplate {
|
|
91
|
+
readonly parameters: readonly (NativeCallablePrimitiveKind | {
|
|
92
|
+
readonly kind: 'foreign';
|
|
93
|
+
readonly type: ForeignTypeRef;
|
|
94
|
+
})[];
|
|
95
|
+
readonly result: NativeCallablePrimitiveKind | {
|
|
96
|
+
readonly kind: 'foreign';
|
|
97
|
+
readonly type: ForeignTypeRef;
|
|
98
|
+
} | {
|
|
99
|
+
readonly kind: 'callable';
|
|
100
|
+
readonly callable: {
|
|
101
|
+
readonly parameters: readonly NativeCallablePrimitiveKind[];
|
|
102
|
+
readonly result: NativeCallablePrimitiveKind;
|
|
103
|
+
readonly async: false;
|
|
104
|
+
};
|
|
105
|
+
} | 'Never';
|
|
106
|
+
readonly async: boolean;
|
|
107
|
+
}
|
|
108
|
+
export interface InteropObjectEntryUsage {
|
|
109
|
+
readonly property: string;
|
|
110
|
+
readonly value: InteropArgumentType;
|
|
111
|
+
}
|
|
112
|
+
export interface InteropObjectUsage {
|
|
113
|
+
readonly entries: readonly InteropObjectEntryUsage[];
|
|
114
|
+
}
|
|
115
|
+
export interface InteropJsxPropertyUsage {
|
|
116
|
+
readonly property: string;
|
|
117
|
+
readonly value: InteropArgumentType;
|
|
118
|
+
}
|
|
119
|
+
export interface InteropJsxCallbackUsage {
|
|
120
|
+
readonly properties: readonly InteropJsxPropertyUsage[];
|
|
121
|
+
readonly callbackIndex: number;
|
|
122
|
+
readonly parameterCount: number;
|
|
123
|
+
readonly async: boolean;
|
|
124
|
+
}
|
|
125
|
+
export interface ForeignJsxCallbackResolution {
|
|
126
|
+
readonly parameters: readonly ForeignTypeSnapshot[];
|
|
127
|
+
}
|
|
128
|
+
export type InteropArgumentType = {
|
|
129
|
+
readonly kind: 'foreign';
|
|
130
|
+
readonly type: ForeignTypeRef;
|
|
131
|
+
} | {
|
|
132
|
+
readonly kind: 'native-primitive';
|
|
133
|
+
readonly primitive: NativeCallablePrimitiveKind;
|
|
134
|
+
readonly literal?: InteropLiteralValue;
|
|
135
|
+
} | {
|
|
136
|
+
readonly kind: 'native-callable';
|
|
137
|
+
readonly callable: NativeCallableTypeTemplate;
|
|
138
|
+
} | {
|
|
139
|
+
readonly kind: 'contextual-callable';
|
|
140
|
+
readonly parameterCount: number;
|
|
141
|
+
readonly async: boolean;
|
|
142
|
+
} | {
|
|
143
|
+
readonly kind: 'contextual-object';
|
|
144
|
+
readonly object: InteropObjectUsage;
|
|
145
|
+
} | {
|
|
146
|
+
readonly kind: 'unknown';
|
|
147
|
+
};
|
|
148
|
+
export type InteropCallTarget = {
|
|
149
|
+
readonly kind: 'value';
|
|
150
|
+
} | {
|
|
151
|
+
readonly kind: 'member';
|
|
152
|
+
readonly receiver: ForeignTypeRef;
|
|
153
|
+
readonly property: string;
|
|
154
|
+
} | {
|
|
155
|
+
readonly kind: 'indexed-member';
|
|
156
|
+
readonly receiver: ForeignTypeRef;
|
|
157
|
+
readonly index: InteropArgumentType;
|
|
158
|
+
};
|
|
159
|
+
export interface InteropCallUsage {
|
|
160
|
+
readonly target: InteropCallTarget;
|
|
161
|
+
readonly arguments: readonly InteropArgumentType[];
|
|
162
|
+
}
|
|
163
|
+
export interface InteropIndexUsage {
|
|
164
|
+
readonly index: InteropArgumentType;
|
|
165
|
+
}
|
|
166
|
+
export type InteropWriteUsage = {
|
|
167
|
+
readonly kind: 'property';
|
|
168
|
+
readonly property: string;
|
|
169
|
+
readonly value: InteropArgumentType;
|
|
170
|
+
} | {
|
|
171
|
+
readonly kind: 'index';
|
|
172
|
+
readonly index: InteropArgumentType;
|
|
173
|
+
readonly value: InteropArgumentType;
|
|
174
|
+
};
|
|
175
|
+
export type ContextualCallableResult = {
|
|
176
|
+
readonly kind: 'void';
|
|
177
|
+
} | {
|
|
178
|
+
readonly kind: 'value';
|
|
179
|
+
readonly value: ContextualCallablePrimitiveKind;
|
|
180
|
+
} | {
|
|
181
|
+
readonly kind: 'promise';
|
|
182
|
+
readonly value: ContextualCallablePrimitiveKind | 'void';
|
|
183
|
+
} | {
|
|
184
|
+
readonly kind: 'callable';
|
|
185
|
+
readonly callable: {
|
|
186
|
+
readonly parameters: readonly ContextualCallablePrimitiveKind[];
|
|
187
|
+
readonly result: {
|
|
188
|
+
readonly kind: 'void';
|
|
189
|
+
} | {
|
|
190
|
+
readonly kind: 'value';
|
|
191
|
+
readonly value: ContextualCallablePrimitiveKind;
|
|
192
|
+
};
|
|
193
|
+
};
|
|
194
|
+
} | {
|
|
195
|
+
readonly kind: 'external';
|
|
196
|
+
} | {
|
|
197
|
+
readonly kind: 'deferred';
|
|
198
|
+
};
|
|
199
|
+
/** Selected TypeScript callback facts for one native-callable argument or contextual object entry. */
|
|
200
|
+
export interface InteropCallableArgumentResolution {
|
|
201
|
+
readonly index: number;
|
|
202
|
+
readonly target: {
|
|
203
|
+
readonly parameters: readonly (ContextualCallablePrimitiveKind | ForeignTypeSnapshot)[];
|
|
204
|
+
readonly result: ContextualCallableResult;
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
export interface ForeignObjectEntryResolution {
|
|
208
|
+
readonly index: number;
|
|
209
|
+
readonly property: string;
|
|
210
|
+
readonly callable?: InteropCallableArgumentResolution['target'];
|
|
211
|
+
readonly object?: ForeignObjectResolution;
|
|
212
|
+
}
|
|
213
|
+
/** Whole-object contextual proof from one fixed provider snapshot. Entries retain source order. */
|
|
214
|
+
export interface ForeignObjectResolution {
|
|
215
|
+
readonly result: ForeignTypeSnapshot;
|
|
216
|
+
readonly entries: readonly ForeignObjectEntryResolution[];
|
|
217
|
+
}
|
|
218
|
+
export interface InteropObjectArgumentResolution {
|
|
219
|
+
readonly index: number;
|
|
220
|
+
readonly object: ForeignObjectResolution;
|
|
221
|
+
}
|
|
222
|
+
export interface ForeignCallResolution {
|
|
223
|
+
readonly result: ForeignTypeSnapshot;
|
|
224
|
+
readonly parameterCount: number;
|
|
225
|
+
readonly optionalParameterCount: number;
|
|
226
|
+
readonly minimumArgumentCount?: number;
|
|
227
|
+
readonly rest: boolean;
|
|
228
|
+
readonly mayReject: boolean;
|
|
229
|
+
readonly receiverMode: 'none' | 'preserve-this';
|
|
230
|
+
readonly callableArguments?: readonly InteropCallableArgumentResolution[];
|
|
231
|
+
readonly contextualCallableArguments?: readonly InteropCallableArgumentResolution[];
|
|
232
|
+
readonly objectArguments?: readonly InteropObjectArgumentResolution[];
|
|
233
|
+
}
|
|
234
|
+
export interface ForeignIndexResolution {
|
|
235
|
+
readonly result: ForeignTypeSnapshot;
|
|
236
|
+
}
|
|
237
|
+
export interface ForeignWriteResolution {
|
|
238
|
+
readonly accepted: true;
|
|
239
|
+
readonly objectValue?: ForeignObjectResolution;
|
|
240
|
+
}
|
|
241
|
+
export interface JsInteropProvider {
|
|
242
|
+
readonly id: string;
|
|
243
|
+
readonly version: string;
|
|
244
|
+
readonly generation: number;
|
|
245
|
+
resolveImport(request: JsImportRequest): JsImportResolution;
|
|
246
|
+
getProperty(type: ForeignTypeRef, name: string): ForeignTypeSnapshot | undefined;
|
|
247
|
+
/** Whole-usage resolver. When implemented, callers must not fall back to resolveCall after it returns undefined. */
|
|
248
|
+
resolveCallUsage?(type: ForeignTypeRef, usage: InteropCallUsage): ForeignCallResolution | undefined;
|
|
249
|
+
/** Whole-usage construct resolver. A call-like source is constructable only when call usage is not also valid. */
|
|
250
|
+
resolveConstructUsage?(type: ForeignTypeRef, usage: InteropCallUsage): ForeignCallResolution | undefined;
|
|
251
|
+
/** Whole-usage index resolver. Unknown/unsupported receiver or key evidence must return undefined. */
|
|
252
|
+
resolveIndexUsage?(type: ForeignTypeRef, usage: InteropIndexUsage): ForeignIndexResolution | undefined;
|
|
253
|
+
/** Declared element resolver for a proven Array or ReadonlyArray repetition source. */
|
|
254
|
+
resolveArrayElement?(type: ForeignTypeRef): ForeignTypeSnapshot | undefined;
|
|
255
|
+
/** Whole-usage writable-facet resolver. Unknown/readonly/inaccessible evidence must return undefined. */
|
|
256
|
+
resolveWriteUsage?(type: ForeignTypeRef, usage: InteropWriteUsage): ForeignWriteResolution | undefined;
|
|
257
|
+
/** Contextual object resolver for an already-known External expected type. */
|
|
258
|
+
resolveObjectUsage?(type: ForeignTypeRef, usage: InteropObjectUsage): ForeignObjectResolution | undefined;
|
|
259
|
+
/** Contextual callback parameter resolver for one actual External JSX property usage. */
|
|
260
|
+
resolveJsxCallbackUsage?(type: ForeignTypeRef, usage: InteropJsxCallbackUsage): ForeignJsxCallbackResolution | undefined;
|
|
261
|
+
/** Whole generated TSX usage resolver. Any syntactic, semantic, or JSX-environment uncertainty must fail closed. */
|
|
262
|
+
resolveJsxUsage?(usage: {
|
|
263
|
+
readonly containingFile: string;
|
|
264
|
+
readonly platform: JsImportRequest['platform'];
|
|
265
|
+
readonly sourceText: string;
|
|
266
|
+
}): {
|
|
267
|
+
readonly accepted: true;
|
|
268
|
+
} | undefined;
|
|
269
|
+
resolveCall(type: ForeignTypeRef, argumentsList: readonly InteropArgumentType[]): ForeignCallResolution | undefined;
|
|
270
|
+
resolveConstruct(type: ForeignTypeRef, argumentsList: readonly InteropArgumentType[]): ForeignCallResolution | undefined;
|
|
271
|
+
getAwaitedType(type: ForeignTypeRef): ForeignTypeSnapshot | undefined;
|
|
272
|
+
display(type: ForeignTypeRef): string;
|
|
273
|
+
}
|
|
274
|
+
export type PrimitiveBridgeKind = 'string' | 'bool' | 'float' | 'bigint' | 'unit' | 'unknown';
|
|
275
|
+
export interface PrimitiveBridgePlan {
|
|
276
|
+
readonly kind: 'primitive';
|
|
277
|
+
readonly bridge: PrimitiveBridgeKind;
|
|
278
|
+
readonly targetType: TypeId;
|
|
279
|
+
}
|
|
280
|
+
/** Stable compiler-owned description of one generated native-to-JavaScript callable boundary. */
|
|
281
|
+
interface NativeCallableBoundaryDescriptorV1 {
|
|
282
|
+
readonly version: 'virune-callable-shim/v1';
|
|
283
|
+
readonly parameters: readonly NativeCallablePrimitiveKind[];
|
|
284
|
+
readonly result: NativeCallablePrimitiveKind;
|
|
285
|
+
readonly async: boolean;
|
|
286
|
+
readonly effects: readonly string[];
|
|
287
|
+
readonly contextMode: 'root-argument';
|
|
288
|
+
}
|
|
289
|
+
interface NativeCallableBoundaryDescriptorV2 {
|
|
290
|
+
readonly version: 'virune-callable-shim/v2';
|
|
291
|
+
readonly parameters: readonly 'External'[];
|
|
292
|
+
readonly result: 'External' | 'Never';
|
|
293
|
+
readonly async: boolean;
|
|
294
|
+
readonly effects: readonly string[];
|
|
295
|
+
readonly contextMode: 'root-argument';
|
|
296
|
+
}
|
|
297
|
+
interface NativeCallableBoundaryDescriptorV3 {
|
|
298
|
+
readonly version: 'virune-callable-shim/v3';
|
|
299
|
+
readonly parameters: readonly NativeCallablePrimitiveKind[];
|
|
300
|
+
readonly result: NativeCallableBoundaryDescriptorV1;
|
|
301
|
+
readonly async: false;
|
|
302
|
+
readonly effects: readonly string[];
|
|
303
|
+
readonly contextMode: 'root-argument';
|
|
304
|
+
}
|
|
305
|
+
export type NativeCallableBoundaryDescriptor = NativeCallableBoundaryDescriptorV1 | NativeCallableBoundaryDescriptorV2 | NativeCallableBoundaryDescriptorV3;
|
|
306
|
+
/** Ordering evidence for a callable projection performed while evaluating a JavaScript call argument. */
|
|
307
|
+
export interface CallableProjectionEvidence {
|
|
308
|
+
readonly callNodeId: NodeId;
|
|
309
|
+
readonly argumentIndex: number;
|
|
310
|
+
readonly nodeId: NodeId;
|
|
311
|
+
readonly span: SourceSpan;
|
|
312
|
+
readonly beforeUsageIndex: number;
|
|
313
|
+
readonly descriptor: NativeCallableBoundaryDescriptor;
|
|
314
|
+
}
|
|
315
|
+
/** Ordering evidence for a callable projection performed while evaluating a contextual External object entry. */
|
|
316
|
+
export interface ObjectCallableProjectionEvidence {
|
|
317
|
+
readonly objectNodeId: NodeId;
|
|
318
|
+
readonly entryIndex: number;
|
|
319
|
+
readonly property: string;
|
|
320
|
+
readonly beforeUsageIndex: number;
|
|
321
|
+
readonly descriptor: NativeCallableBoundaryDescriptor;
|
|
322
|
+
}
|
|
323
|
+
export interface ForeignUsage {
|
|
324
|
+
readonly kind: 'import' | 'property' | 'index' | 'write-property' | 'write-index' | 'object' | 'call' | 'construct' | 'await' | 'bridge';
|
|
325
|
+
readonly nodeId: NodeId;
|
|
326
|
+
readonly span: SourceSpan;
|
|
327
|
+
readonly foreignType: ForeignTypeSnapshot;
|
|
328
|
+
readonly runtimeImport?: RuntimeImportPlan;
|
|
329
|
+
readonly moduleWitness?: ModuleResolutionWitness;
|
|
330
|
+
readonly receiverMode?: 'none' | 'preserve-this';
|
|
331
|
+
readonly mayReject?: boolean;
|
|
332
|
+
readonly property?: string;
|
|
333
|
+
readonly bridge?: PrimitiveBridgePlan;
|
|
334
|
+
}
|
|
335
|
+
export interface StableForeignTypeSnapshot {
|
|
336
|
+
readonly display: string;
|
|
337
|
+
readonly category: ForeignTypeSnapshot['category'];
|
|
338
|
+
readonly primitive?: ForeignPrimitiveKind;
|
|
339
|
+
readonly mustUse?: boolean;
|
|
340
|
+
readonly canonicalIdentity?: CanonicalForeignTypeIdentity;
|
|
341
|
+
readonly origin?: ForeignOrigin;
|
|
342
|
+
}
|
|
343
|
+
export interface ForeignUsageIR {
|
|
344
|
+
readonly kind: ForeignUsage['kind'];
|
|
345
|
+
readonly nodeId: NodeId;
|
|
346
|
+
readonly span: SourceSpan;
|
|
347
|
+
readonly foreignType: StableForeignTypeSnapshot;
|
|
348
|
+
readonly runtimeImport?: RuntimeImportPlan;
|
|
349
|
+
readonly moduleWitness?: ModuleResolutionWitness;
|
|
350
|
+
readonly receiverMode?: 'none' | 'preserve-this';
|
|
351
|
+
readonly mayReject?: boolean;
|
|
352
|
+
readonly property?: string;
|
|
353
|
+
readonly bridge?: PrimitiveBridgePlan;
|
|
354
|
+
}
|
|
355
|
+
export interface InteropSemanticModel {
|
|
356
|
+
readonly usages: readonly ForeignUsage[];
|
|
357
|
+
/** Serializable provider-independent records consumed by downstream tools. */
|
|
358
|
+
readonly usageIR: readonly ForeignUsageIR[];
|
|
359
|
+
readonly callableProjections?: readonly CallableProjectionEvidence[];
|
|
360
|
+
readonly objectCallableProjections?: readonly ObjectCallableProjectionEvidence[];
|
|
361
|
+
readonly moduleWitnesses: readonly ModuleResolutionWitness[];
|
|
362
|
+
readonly requiresJavaScriptInitialization: boolean;
|
|
363
|
+
}
|
|
364
|
+
export {};
|
|
365
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/interop/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/interop/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lower.d.ts","sourceRoot":"","sources":["../../../src/mir/lower.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAA6B,WAAW,EAAiC,MAAM,YAAY,CAAC;AAiIxG,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC,mBAAmB,GAAG,WAAW,GAAG,SAAS,CAE9F"}
|