semantifold 0.3.0 → 0.5.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/README.md +61 -15
- package/build/index.d.ts +52 -2
- package/build/index.d.ts.map +1 -1
- package/build/index.js +60 -8
- package/build/src/artifact-path.d.ts +23 -1
- package/build/src/artifact-path.d.ts.map +1 -1
- package/build/src/artifact-path.js +45 -3
- package/build/src/artifacts.d.ts.map +1 -1
- package/build/src/artifacts.js +66 -1
- package/build/src/backends/android.d.ts +49 -0
- package/build/src/backends/android.d.ts.map +1 -0
- package/build/src/backends/android.js +1274 -0
- package/build/src/backends/c-validation.d.ts.map +1 -1
- package/build/src/backends/c-validation.js +7 -3
- package/build/src/backends/cpp-validation.d.ts.map +1 -1
- package/build/src/backends/cpp-validation.js +7 -3
- package/build/src/backends/csharp.js +7 -1
- package/build/src/backends/dart-runtime.d.ts +2 -0
- package/build/src/backends/dart-runtime.d.ts.map +1 -0
- package/build/src/backends/dart-runtime.js +41 -0
- package/build/src/backends/dart.d.ts +20 -0
- package/build/src/backends/dart.d.ts.map +1 -0
- package/build/src/backends/dart.js +321 -0
- package/build/src/backends/effects.d.ts +60 -0
- package/build/src/backends/effects.d.ts.map +1 -0
- package/build/src/backends/effects.js +746 -0
- package/build/src/backends/go.js +18 -4
- package/build/src/backends/identifiers.d.ts +36 -4
- package/build/src/backends/identifiers.d.ts.map +1 -1
- package/build/src/backends/identifiers.js +160 -10
- package/build/src/backends/index.d.ts.map +1 -1
- package/build/src/backends/index.js +27 -4
- package/build/src/backends/ios.d.ts +68 -0
- package/build/src/backends/ios.d.ts.map +1 -0
- package/build/src/backends/ios.js +1503 -0
- package/build/src/backends/java.d.ts.map +1 -1
- package/build/src/backends/java.js +429 -36
- package/build/src/backends/javascript.d.ts +6 -0
- package/build/src/backends/javascript.d.ts.map +1 -1
- package/build/src/backends/javascript.js +380 -24
- package/build/src/backends/kotlin-runtime.d.ts +3 -0
- package/build/src/backends/kotlin-runtime.d.ts.map +1 -0
- package/build/src/backends/kotlin-runtime.js +29 -0
- package/build/src/backends/kotlin.d.ts +33 -0
- package/build/src/backends/kotlin.d.ts.map +1 -0
- package/build/src/backends/kotlin.js +138 -0
- package/build/src/backends/native-validation.d.ts +2 -2
- package/build/src/backends/native-validation.d.ts.map +1 -1
- package/build/src/backends/native-validation.js +2 -2
- package/build/src/backends/ordered-expressions.d.ts.map +1 -1
- package/build/src/backends/ordered-expressions.js +39 -7
- package/build/src/backends/php-stdlib-support.d.ts +19 -0
- package/build/src/backends/php-stdlib-support.d.ts.map +1 -0
- package/build/src/backends/php-stdlib-support.js +227 -0
- package/build/src/backends/php.d.ts.map +1 -1
- package/build/src/backends/php.js +448 -33
- package/build/src/backends/program.d.ts +83 -0
- package/build/src/backends/program.d.ts.map +1 -0
- package/build/src/backends/program.js +1309 -0
- package/build/src/backends/python.js +7 -1
- package/build/src/backends/ruby.d.ts.map +1 -1
- package/build/src/backends/ruby.js +310 -24
- package/build/src/backends/rust-runtime.d.ts +7 -0
- package/build/src/backends/rust-runtime.d.ts.map +1 -0
- package/build/src/backends/rust-runtime.js +32 -0
- package/build/src/backends/rust-validation.d.ts +9 -0
- package/build/src/backends/rust-validation.d.ts.map +1 -0
- package/build/src/backends/rust-validation.js +78 -0
- package/build/src/backends/rust.d.ts +24 -0
- package/build/src/backends/rust.d.ts.map +1 -0
- package/build/src/backends/rust.js +344 -0
- package/build/src/backends/scalars.d.ts +14 -6
- package/build/src/backends/scalars.d.ts.map +1 -1
- package/build/src/backends/scalars.js +167 -17
- package/build/src/backends/shared.d.ts +23 -4
- package/build/src/backends/shared.d.ts.map +1 -1
- package/build/src/backends/shared.js +2174 -62
- package/build/src/backends/stdlib-support.d.ts +14 -0
- package/build/src/backends/stdlib-support.d.ts.map +1 -0
- package/build/src/backends/stdlib-support.js +237 -0
- package/build/src/backends/swift-runtime.d.ts +3 -0
- package/build/src/backends/swift-runtime.d.ts.map +1 -0
- package/build/src/backends/swift-runtime.js +14 -0
- package/build/src/backends/swift.d.ts +8 -0
- package/build/src/backends/swift.d.ts.map +1 -0
- package/build/src/backends/swift.js +127 -0
- package/build/src/backends/typescript.d.ts.map +1 -1
- package/build/src/backends/typescript.js +344 -24
- package/build/src/backends/wasm.d.ts +43 -0
- package/build/src/backends/wasm.d.ts.map +1 -0
- package/build/src/backends/wasm.js +2164 -0
- package/build/src/backends/writer.d.ts +255 -4
- package/build/src/backends/writer.d.ts.map +1 -1
- package/build/src/backends/writer.js +491 -3
- package/build/src/diagnostic.d.ts +4 -3
- package/build/src/diagnostic.d.ts.map +1 -1
- package/build/src/diagnostic.js +5 -3
- package/build/src/frontends/c.d.ts.map +1 -1
- package/build/src/frontends/c.js +5 -3
- package/build/src/frontends/cpp.d.ts.map +1 -1
- package/build/src/frontends/cpp.js +5 -3
- package/build/src/frontends/csharp.d.ts.map +1 -1
- package/build/src/frontends/csharp.js +7 -3
- package/build/src/frontends/dart.d.ts +10 -0
- package/build/src/frontends/dart.d.ts.map +1 -0
- package/build/src/frontends/dart.js +913 -0
- package/build/src/frontends/index.d.ts +3 -1
- package/build/src/frontends/index.d.ts.map +1 -1
- package/build/src/frontends/index.js +15 -5
- package/build/src/frontends/java.d.ts +110 -1
- package/build/src/frontends/java.d.ts.map +1 -1
- package/build/src/frontends/java.js +1725 -70
- package/build/src/frontends/javascript-typescript.d.ts +69 -1
- package/build/src/frontends/javascript-typescript.d.ts.map +1 -1
- package/build/src/frontends/javascript-typescript.js +1825 -93
- package/build/src/frontends/kotlin.d.ts +10 -0
- package/build/src/frontends/kotlin.d.ts.map +1 -0
- package/build/src/frontends/kotlin.js +685 -0
- package/build/src/frontends/php.d.ts +118 -1
- package/build/src/frontends/php.d.ts.map +1 -1
- package/build/src/frontends/php.js +1583 -76
- package/build/src/frontends/program.d.ts +74 -0
- package/build/src/frontends/program.d.ts.map +1 -0
- package/build/src/frontends/program.js +989 -0
- package/build/src/frontends/ruby.d.ts +68 -1
- package/build/src/frontends/ruby.d.ts.map +1 -1
- package/build/src/frontends/ruby.js +1446 -101
- package/build/src/frontends/rust-parser.d.ts +11 -0
- package/build/src/frontends/rust-parser.d.ts.map +1 -0
- package/build/src/frontends/rust-parser.js +15 -0
- package/build/src/frontends/rust.d.ts +14 -0
- package/build/src/frontends/rust.d.ts.map +1 -0
- package/build/src/frontends/rust.js +715 -0
- package/build/src/frontends/scalars.d.ts +10 -0
- package/build/src/frontends/scalars.d.ts.map +1 -1
- package/build/src/frontends/scalars.js +28 -2
- package/build/src/frontends/swift.d.ts +10 -0
- package/build/src/frontends/swift.d.ts.map +1 -0
- package/build/src/frontends/swift.js +860 -0
- package/build/src/frontends/types.d.ts +186 -0
- package/build/src/frontends/types.d.ts.map +1 -0
- package/build/src/frontends/types.js +634 -0
- package/build/src/language-registry.d.ts +46 -4
- package/build/src/language-registry.d.ts.map +1 -1
- package/build/src/language-registry.js +177 -13
- package/build/src/mapping.d.ts +2 -2
- package/build/src/mapping.d.ts.map +1 -1
- package/build/src/mapping.js +31 -10
- package/build/src/semantic/capabilities.d.ts +66 -0
- package/build/src/semantic/capabilities.d.ts.map +1 -0
- package/build/src/semantic/capabilities.js +649 -0
- package/build/src/semantic/effects.d.ts +26 -0
- package/build/src/semantic/effects.d.ts.map +1 -0
- package/build/src/semantic/effects.js +764 -0
- package/build/src/semantic/generics.d.ts +23 -0
- package/build/src/semantic/generics.d.ts.map +1 -0
- package/build/src/semantic/generics.js +61 -0
- package/build/src/semantic/lifetime.d.ts +37 -0
- package/build/src/semantic/lifetime.d.ts.map +1 -0
- package/build/src/semantic/lifetime.js +527 -0
- package/build/src/semantic/provenance.d.ts +9 -2
- package/build/src/semantic/provenance.d.ts.map +1 -1
- package/build/src/semantic/provenance.js +462 -20
- package/build/src/semantic/scalars.d.ts +11 -0
- package/build/src/semantic/scalars.d.ts.map +1 -1
- package/build/src/semantic/scalars.js +16 -1
- package/build/src/semantic/stdlib.d.ts +254 -0
- package/build/src/semantic/stdlib.d.ts.map +1 -0
- package/build/src/semantic/stdlib.js +880 -0
- package/build/src/semantic/types.d.ts +3108 -178
- package/build/src/semantic/types.d.ts.map +1 -1
- package/build/src/semantic/types.js +730 -15
- package/build/src/semantic/validate.d.ts +85 -5
- package/build/src/semantic/validate.d.ts.map +1 -1
- package/build/src/semantic/validate.js +2576 -98
- package/build/src/stdlib-facades.d.ts +304 -0
- package/build/src/stdlib-facades.d.ts.map +1 -0
- package/build/src/stdlib-facades.js +1167 -0
- package/build/src/stdlib-negotiation.d.ts +69 -0
- package/build/src/stdlib-negotiation.d.ts.map +1 -0
- package/build/src/stdlib-negotiation.js +403 -0
- package/build/src/stdlib-providers.d.ts +72 -0
- package/build/src/stdlib-providers.d.ts.map +1 -0
- package/build/src/stdlib-providers.js +339 -0
- package/build/src/toolchains.d.ts +55 -1
- package/build/src/toolchains.d.ts.map +1 -1
- package/build/src/toolchains.js +15 -4
- package/docs/android.md +79 -0
- package/docs/architecture.md +47 -13
- package/docs/dart.md +60 -0
- package/docs/goals.md +3 -3
- package/docs/ios.md +121 -0
- package/docs/kotlin.md +42 -0
- package/docs/language-support.md +238 -26
- package/docs/multi-file-modules.md +52 -0
- package/docs/parser-qualification.md +121 -8
- package/docs/plans/2026-09-05-standard-library-portability.md +10 -10
- package/docs/rust.md +88 -0
- package/docs/source-maps.md +17 -7
- package/docs/specification.md +5 -0
- package/docs/standard-library-portability.md +39 -8
- package/docs/swift.md +44 -0
- package/docs/testing.md +381 -4
- package/docs/webassembly.md +52 -0
- package/index.js +66 -8
- package/node_modules/semantifold-tree-sitter-legacy-internal/README.md +2 -2
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/LICENSE +21 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/README.md +45 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/binding.gyp +30 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/bindings/node/binding.cc +20 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/bindings/node/binding_test.js +9 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/bindings/node/index.d.ts +28 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/bindings/node/index.js +11 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/grammar.js +1630 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/package.json +64 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/prebuilds/darwin-arm64/tree-sitter-rust.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/prebuilds/darwin-x64/tree-sitter-rust.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/prebuilds/linux-arm64/tree-sitter-rust.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/prebuilds/linux-x64/tree-sitter-rust.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/prebuilds/win32-arm64/tree-sitter-rust.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/prebuilds/win32-x64/tree-sitter-rust.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/queries/highlights.scm +159 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/queries/injections.scm +9 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/queries/tags.scm +60 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/grammar.json +9405 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/node-types.json +5399 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/parser.c +192569 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/scanner.c +393 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/tree_sitter/alloc.h +54 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/tree_sitter/array.h +290 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/tree_sitter/parser.h +266 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/tree-sitter-rust.wasm +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/tree-sitter.json +53 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/package.json +3 -2
- package/node_modules/semantifold-tree-sitter-legacy-internal/src/c.js +5 -4
- package/package.json +5 -2
- package/src/artifact-path.js +47 -2
- package/src/artifacts.js +67 -0
- package/src/backends/android.js +1370 -0
- package/src/backends/c-validation.js +6 -1
- package/src/backends/cpp-validation.js +6 -1
- package/src/backends/csharp.js +3 -0
- package/src/backends/dart-runtime.js +41 -0
- package/src/backends/dart.js +326 -0
- package/src/backends/effects.js +705 -0
- package/src/backends/go.js +14 -2
- package/src/backends/identifiers.js +166 -9
- package/src/backends/index.js +27 -2
- package/src/backends/ios.js +1612 -0
- package/src/backends/java.js +454 -36
- package/src/backends/javascript.js +389 -23
- package/src/backends/kotlin-runtime.js +29 -0
- package/src/backends/kotlin.js +144 -0
- package/src/backends/native-validation.js +1 -1
- package/src/backends/ordered-expressions.js +40 -6
- package/src/backends/php-stdlib-support.js +239 -0
- package/src/backends/php.js +469 -32
- package/src/backends/program.js +1408 -0
- package/src/backends/python.js +3 -0
- package/src/backends/ruby.js +326 -23
- package/src/backends/rust-runtime.js +34 -0
- package/src/backends/rust-validation.js +75 -0
- package/src/backends/rust.js +335 -0
- package/src/backends/scalars.js +141 -16
- package/src/backends/shared.js +2314 -115
- package/src/backends/stdlib-support.js +234 -0
- package/src/backends/swift-runtime.js +14 -0
- package/src/backends/swift.js +132 -0
- package/src/backends/typescript.js +349 -23
- package/src/backends/wasm.js +2208 -0
- package/src/backends/writer.js +545 -2
- package/src/diagnostic.js +4 -2
- package/src/frontends/c.js +4 -2
- package/src/frontends/cpp.js +4 -2
- package/src/frontends/csharp.js +4 -2
- package/src/frontends/dart.js +963 -0
- package/src/frontends/index.js +14 -4
- package/src/frontends/java.js +1977 -69
- package/src/frontends/javascript-typescript.js +2046 -102
- package/src/frontends/kotlin.js +713 -0
- package/src/frontends/php.js +1725 -79
- package/src/frontends/program.js +1062 -0
- package/src/frontends/ruby.js +1624 -98
- package/src/frontends/rust-parser.js +18 -0
- package/src/frontends/rust.js +714 -0
- package/src/frontends/scalars.js +31 -1
- package/src/frontends/swift.js +893 -0
- package/src/frontends/types.js +750 -0
- package/src/language-registry.js +182 -12
- package/src/mapping.js +33 -9
- package/src/semantic/capabilities.js +671 -0
- package/src/semantic/effects.js +737 -0
- package/src/semantic/generics.js +58 -0
- package/src/semantic/lifetime.js +517 -0
- package/src/semantic/provenance.js +412 -19
- package/src/semantic/scalars.js +17 -0
- package/src/semantic/stdlib.js +921 -0
- package/src/semantic/types.js +810 -14
- package/src/semantic/validate.js +2934 -209
- package/src/stdlib-facades.js +1211 -0
- package/src/stdlib-negotiation.js +446 -0
- package/src/stdlib-providers.js +377 -0
- package/src/toolchains.js +16 -3
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves the value presented to list iteration after canonical optional unwrap.
|
|
3
|
+
* Semantic validation remains responsible for requiring the matching presence proof.
|
|
4
|
+
* @param {import("../semantic/types.js").SemanticFunctionReturnType | import("../semantic/types.js").ErrorType | undefined} type - Parser-resolved operand type.
|
|
5
|
+
* @returns {import("../semantic/types.js").SemanticFunctionReturnType | import("../semantic/types.js").ErrorType | undefined} Iterated value type.
|
|
6
|
+
*/
|
|
7
|
+
export declare function iterationOperandType(type: import("../semantic/types.js").SemanticFunctionReturnType | import("../semantic/types.js").ErrorType | undefined): import("../semantic/types.js").SemanticFunctionReturnType | import("../semantic/types.js").ErrorType | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* Copies a resolved list element type for one parser-owned iteration binding.
|
|
10
|
+
* The binding location is its own deterministic derived type anchor.
|
|
11
|
+
* @param {import("../semantic/types.js").SemanticValueType} type - Resolved element type.
|
|
12
|
+
* @param {import("../semantic/types.js").SourceLocation} location - Binding token location.
|
|
13
|
+
* @returns {import("../semantic/types.js").SemanticValueType} Detached semantic type.
|
|
14
|
+
*/
|
|
15
|
+
export declare function iterationBindingType(type: import("../semantic/types.js").SemanticValueType, location: import("../semantic/types.js").SourceLocation): import("../semantic/types.js").SemanticValueType;
|
|
16
|
+
/**
|
|
17
|
+
* Builds one recursive semantic list type with parser-owned constituent ranges.
|
|
18
|
+
* @param {import("../semantic/types.js").SemanticValueType} elementType - Element type.
|
|
19
|
+
* @param {import("../semantic/types.js").SourceLocation} location - Complete type-expression range.
|
|
20
|
+
* @param {import("../semantic/types.js").SourceLocation} elementLocation - Element type-expression range.
|
|
21
|
+
* @returns {import("../semantic/types.js").ListType} List type.
|
|
22
|
+
*/
|
|
23
|
+
export declare function listType(elementType: import("../semantic/types.js").SemanticValueType, location: import("../semantic/types.js").SourceLocation, elementLocation: import("../semantic/types.js").SourceLocation): import("../semantic/types.js").ListType;
|
|
24
|
+
/**
|
|
25
|
+
* Builds one recursive semantic map type with parser-owned constituent ranges.
|
|
26
|
+
* @param {import("../semantic/types.js").TypeReference} keyType - Key type.
|
|
27
|
+
* @param {import("../semantic/types.js").SemanticValueType} valueType - Value type.
|
|
28
|
+
* @param {import("../semantic/types.js").SourceLocation} location - Complete type-expression range.
|
|
29
|
+
* @param {import("../semantic/types.js").SourceLocation} keyLocation - Key type-expression range.
|
|
30
|
+
* @param {import("../semantic/types.js").SourceLocation} valueLocation - Value type-expression range.
|
|
31
|
+
* @returns {import("../semantic/types.js").MapType} Map type.
|
|
32
|
+
*/
|
|
33
|
+
export declare function mapType(keyType: import("../semantic/types.js").TypeReference, valueType: import("../semantic/types.js").SemanticValueType, location: import("../semantic/types.js").SourceLocation, keyLocation: import("../semantic/types.js").SourceLocation, valueLocation: import("../semantic/types.js").SourceLocation): import("../semantic/types.js").MapType;
|
|
34
|
+
/**
|
|
35
|
+
* Builds one insertion-ordered recursive semantic map type.
|
|
36
|
+
* @param {import("../semantic/types.js").TypeReference} keyType - Key type.
|
|
37
|
+
* @param {import("../semantic/types.js").SemanticValueType} valueType - Value type.
|
|
38
|
+
* @param {import("../semantic/types.js").SourceLocation} location - Complete type range.
|
|
39
|
+
* @param {import("../semantic/types.js").SourceLocation} keyLocation - Key range.
|
|
40
|
+
* @param {import("../semantic/types.js").SourceLocation} valueLocation - Value range.
|
|
41
|
+
* @returns {import("../semantic/types.js").OrderedMapType} Ordered-map type.
|
|
42
|
+
*/
|
|
43
|
+
export declare function orderedMapType(keyType: import("../semantic/types.js").TypeReference, valueType: import("../semantic/types.js").SemanticValueType, location: import("../semantic/types.js").SourceLocation, keyLocation: import("../semantic/types.js").SourceLocation, valueLocation: import("../semantic/types.js").SourceLocation): import("../semantic/types.js").OrderedMapType;
|
|
44
|
+
/**
|
|
45
|
+
* Promotes one parser-proven ordinary map annotation into the distinct ordered-map capability.
|
|
46
|
+
* @param {import("../semantic/types.js").MapType} type - Parsed homogeneous map type.
|
|
47
|
+
* @param {import("../semantic/types.js").SourceLocation} fallbackLocation - Owning declaration location.
|
|
48
|
+
* @returns {import("../semantic/types.js").OrderedMapType} Ordered counterpart with the same parser ranges.
|
|
49
|
+
*/
|
|
50
|
+
export declare function orderedMapTypeFromMap(type: import("../semantic/types.js").MapType, fallbackLocation: import("../semantic/types.js").SourceLocation): import("../semantic/types.js").OrderedMapType;
|
|
51
|
+
/**
|
|
52
|
+
* Builds one recursive semantic optional type with parser-owned constituent ranges.
|
|
53
|
+
* @param {import("../semantic/types.js").SemanticValueType} valueType - Present-value type.
|
|
54
|
+
* @param {import("../semantic/types.js").SourceLocation} location - Complete type-expression range.
|
|
55
|
+
* @param {import("../semantic/types.js").SourceLocation} valueLocation - Present-value type range.
|
|
56
|
+
* @returns {import("../semantic/types.js").OptionalType} Optional type.
|
|
57
|
+
*/
|
|
58
|
+
export declare function optionalType(valueType: import("../semantic/types.js").SemanticValueType, location: import("../semantic/types.js").SourceLocation, valueLocation: import("../semantic/types.js").SourceLocation): import("../semantic/types.js").OptionalType;
|
|
59
|
+
/**
|
|
60
|
+
* Builds one nominal semantic record type with a parser-owned name range.
|
|
61
|
+
* @param {string} declarationId - Stable declaration identity.
|
|
62
|
+
* @param {import("../semantic/types.js").SourceLocation} location - Record type-name range.
|
|
63
|
+
* @param {import("../semantic/types.js").SemanticValueType[]} [arguments_] - Exact generic arguments.
|
|
64
|
+
* @returns {import("../semantic/types.js").RecordType} Record type.
|
|
65
|
+
*/
|
|
66
|
+
export declare function recordType(declarationId: string, location: import("../semantic/types.js").SourceLocation, arguments_?: import("../semantic/types.js").SemanticValueType[]): import("../semantic/types.js").RecordType;
|
|
67
|
+
/**
|
|
68
|
+
* Builds one nominal reference-class type with a parser-owned name range.
|
|
69
|
+
* @param {string} declarationId - Stable class identity.
|
|
70
|
+
* @param {import("../semantic/types.js").SourceLocation} location - Class type-name range.
|
|
71
|
+
* @returns {import("../semantic/types.js").ReferenceType} Reference type.
|
|
72
|
+
*/
|
|
73
|
+
export declare function referenceType(declarationId: string, location: import("../semantic/types.js").SourceLocation): import("../semantic/types.js").ReferenceType;
|
|
74
|
+
/**
|
|
75
|
+
* Builds one compiler-owned resource type with a parser-owned name range.
|
|
76
|
+
* @param {string} resourceId - Stable capability resource identity.
|
|
77
|
+
* @param {import("../semantic/types.js").SourceLocation} location - Resource type-name range.
|
|
78
|
+
* @returns {import("../semantic/types.js").OwnedResourceType} Owned resource type.
|
|
79
|
+
*/
|
|
80
|
+
export declare function ownedResourceType(resourceId: string, location: import("../semantic/types.js").SourceLocation): import("../semantic/types.js").OwnedResourceType;
|
|
81
|
+
/**
|
|
82
|
+
* Builds one linear owned-reference type with a parser-owned name range.
|
|
83
|
+
* @param {string} declarationId - Stable owned class identity.
|
|
84
|
+
* @param {import("../semantic/types.js").SourceLocation} location - Class type-name range.
|
|
85
|
+
* @returns {import("../semantic/types.js").OwnedReferenceType} Owned reference type.
|
|
86
|
+
*/
|
|
87
|
+
export declare function ownedReferenceType(declarationId: string, location: import("../semantic/types.js").SourceLocation): import("../semantic/types.js").OwnedReferenceType;
|
|
88
|
+
/**
|
|
89
|
+
* Builds parser-context signatures for compiler-authorized operations without exposing a source declaration.
|
|
90
|
+
* @param {readonly import("../semantic/types.js").EffectCapabilityDeclaration[]} capabilities - Authorized declarations.
|
|
91
|
+
* @param {import("../semantic/types.js").SourceLocation} location - Synthetic parser-context anchor.
|
|
92
|
+
* @returns {Map<string, {location: import("../semantic/types.js").SourceLocation, nameLocation: import("../semantic/types.js").SourceLocation, name: string, parameters: import("../semantic/types.js").Parameter[], returnType: import("../semantic/types.js").SemanticFunctionReturnType, typeParameters?: import("../semantic/types.js").TypeParameter[]}>} Signatures by source spelling.
|
|
93
|
+
*/
|
|
94
|
+
export declare function capabilityFunctionSignatures(capabilities: readonly import("../semantic/types.js").EffectCapabilityDeclaration[], location: import("../semantic/types.js").SourceLocation): Map<string, {
|
|
95
|
+
location: import("../semantic/types.js").SourceLocation;
|
|
96
|
+
nameLocation: import("../semantic/types.js").SourceLocation;
|
|
97
|
+
name: string;
|
|
98
|
+
parameters: import("../semantic/types.js").Parameter[];
|
|
99
|
+
returnType: import("../semantic/types.js").SemanticFunctionReturnType;
|
|
100
|
+
typeParameters?: import("../semantic/types.js").TypeParameter[];
|
|
101
|
+
}>;
|
|
102
|
+
/**
|
|
103
|
+
* Builds one declaration-scoped type-variable reference.
|
|
104
|
+
* @param {string} parameterId - Stable type-parameter identity.
|
|
105
|
+
* @param {import("../semantic/types.js").SourceLocation} location - Exact reference range.
|
|
106
|
+
* @returns {import("../semantic/types.js").TypeVariableReference} Type-variable reference.
|
|
107
|
+
*/
|
|
108
|
+
export declare function typeVariable(parameterId: string, location: import("../semantic/types.js").SourceLocation): import("../semantic/types.js").TypeVariableReference;
|
|
109
|
+
/**
|
|
110
|
+
* Compares semantic type expressions while ignoring parser-owned locations.
|
|
111
|
+
* @param {import("../semantic/types.js").SemanticValueType} left - Left type.
|
|
112
|
+
* @param {import("../semantic/types.js").SemanticValueType} right - Right type.
|
|
113
|
+
* @returns {boolean} Whether the semantic structures are identical.
|
|
114
|
+
*/
|
|
115
|
+
export declare function sameValueType(left: import("../semantic/types.js").SemanticValueType, right: import("../semantic/types.js").SemanticValueType): boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Resolves one generic record field against a complete application for parser
|
|
118
|
+
* contextual conversion. Invalid/raw applications remain unchanged so the
|
|
119
|
+
* semantic validator owns their stable diagnostic.
|
|
120
|
+
* @param {import("../semantic/types.js").RecordDeclaration} declaration - Resolved record declaration.
|
|
121
|
+
* @param {import("../semantic/types.js").SemanticValueType[] | undefined} arguments_ - Parsed application arguments.
|
|
122
|
+
* @param {number} index - Constructor field index.
|
|
123
|
+
* @returns {import("../semantic/types.js").SemanticValueType | undefined} Closed field type when available.
|
|
124
|
+
*/
|
|
125
|
+
export declare function instantiatedRecordFieldType(declaration: import("../semantic/types.js").RecordDeclaration, arguments_: import("../semantic/types.js").SemanticValueType[] | undefined, index: number): import("../semantic/types.js").SemanticValueType | undefined;
|
|
126
|
+
/**
|
|
127
|
+
* Applies parser-known generic-call argument evidence to its declared return.
|
|
128
|
+
* An unresolved variable remains open: this is conservative context discovery
|
|
129
|
+
* only, while semantic validation still performs authoritative inference.
|
|
130
|
+
* @param {{parameters: import("../semantic/types.js").Parameter[], returnType: import("../semantic/types.js").SemanticFunctionReturnType}} signature - Declared signature.
|
|
131
|
+
* @param {(import("../semantic/types.js").SemanticFunctionReturnType | import("../semantic/types.js").ErrorType | undefined)[]} arguments_ - Parser-known argument types.
|
|
132
|
+
* @returns {import("../semantic/types.js").SemanticFunctionReturnType | undefined} Known result with available substitutions.
|
|
133
|
+
*/
|
|
134
|
+
export declare function knownCallReturnType(signature: {
|
|
135
|
+
parameters: import("../semantic/types.js").Parameter[];
|
|
136
|
+
returnType: import("../semantic/types.js").SemanticFunctionReturnType;
|
|
137
|
+
}, arguments_: (import("../semantic/types.js").SemanticFunctionReturnType | import("../semantic/types.js").ErrorType | undefined)[]): import("../semantic/types.js").SemanticFunctionReturnType | undefined;
|
|
138
|
+
/**
|
|
139
|
+
* Applies conservative parser-known call evidence to every parameter context.
|
|
140
|
+
* Unresolved variables remain open for the language frontend to handle only in
|
|
141
|
+
* a matching lexical type-parameter scope.
|
|
142
|
+
* @param {{parameters: import("../semantic/types.js").Parameter[]}} signature - Declared signature.
|
|
143
|
+
* @param {(import("../semantic/types.js").SemanticFunctionReturnType | import("../semantic/types.js").ErrorType | undefined)[]} arguments_ - Parser-known argument types.
|
|
144
|
+
* @returns {import("../semantic/types.js").SemanticValueType[] | undefined} Substituted parameter contexts.
|
|
145
|
+
*/
|
|
146
|
+
export declare function knownCallParameterTypes(signature: {
|
|
147
|
+
parameters: import("../semantic/types.js").Parameter[];
|
|
148
|
+
}, arguments_: (import("../semantic/types.js").SemanticFunctionReturnType | import("../semantic/types.js").ErrorType | undefined)[]): import("../semantic/types.js").SemanticValueType[] | undefined;
|
|
149
|
+
/**
|
|
150
|
+
* Preserves an optional binding when a generic formal needs its wrapped type as
|
|
151
|
+
* argument-only inference evidence. The semantic validator remains the sole
|
|
152
|
+
* authority for unification and presence-proof checks.
|
|
153
|
+
* @param {{parameters: import("../semantic/types.js").Parameter[], typeParameters?: import("../semantic/types.js").TypeParameter[]} | undefined} signature - Known direct-call signature.
|
|
154
|
+
* @param {number} index - Argument index.
|
|
155
|
+
* @returns {boolean} Whether frontend conversion must retain optionality.
|
|
156
|
+
*/
|
|
157
|
+
export declare function preservesGenericOptionalEvidence(signature: {
|
|
158
|
+
parameters: import("../semantic/types.js").Parameter[];
|
|
159
|
+
typeParameters?: import("../semantic/types.js").TypeParameter[];
|
|
160
|
+
} | undefined, index: number): boolean;
|
|
161
|
+
/**
|
|
162
|
+
* Converts one parser/comment-parser-owned bounded type expression. This parser
|
|
163
|
+
* recognizes only Task 006's concrete scalar/list/map grammar; it never scans
|
|
164
|
+
* source outside the already-associated type token.
|
|
165
|
+
* @param {object} input - Documented type input.
|
|
166
|
+
* @param {"javascript" | "php" | "ruby"} input.language - Comment profile.
|
|
167
|
+
* @param {import("../semantic/types.js").SourceLocation} input.location - Exact type token range.
|
|
168
|
+
* @param {import("../semantic/types.js").SourceLocation} input.ownerLocation - Owning declaration range.
|
|
169
|
+
* @param {Map<string, import("../semantic/types.js").RecordDeclaration | import("../semantic/types.js").ClassDeclaration | import("../semantic/types.js").EffectResourceDeclaration>} [input.records] - Available nominal declarations by source name.
|
|
170
|
+
* @param {Map<string, import("../semantic/types.js").TypeParameter>} [input.typeParameters] - Declaration-scoped parameters by name.
|
|
171
|
+
* @param {string} input.source - Complete parser input for exact subranges.
|
|
172
|
+
* @param {string | undefined} input.sourceType - Exact comment-parser/Prism-owned type token.
|
|
173
|
+
* @param {string} input.subject - Diagnostic subject.
|
|
174
|
+
* @returns {import("../semantic/types.js").SemanticValueType} Semantic value type.
|
|
175
|
+
*/
|
|
176
|
+
export declare function documentedValueType({ language, location, ownerLocation, records, source, sourceType, subject, typeParameters }: {
|
|
177
|
+
language: "javascript" | "php" | "ruby";
|
|
178
|
+
location: import("../semantic/types.js").SourceLocation;
|
|
179
|
+
ownerLocation: import("../semantic/types.js").SourceLocation;
|
|
180
|
+
records?: Map<string, import("../semantic/types.js").RecordDeclaration | import("../semantic/types.js").ClassDeclaration | import("../semantic/types.js").EffectResourceDeclaration>;
|
|
181
|
+
typeParameters?: Map<string, import("../semantic/types.js").TypeParameter>;
|
|
182
|
+
source: string;
|
|
183
|
+
sourceType: string | undefined;
|
|
184
|
+
subject: string;
|
|
185
|
+
}): import("../semantic/types.js").SemanticValueType;
|
|
186
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/frontends/types.js"],"names":[],"mappings":"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"}
|