semantifold 0.3.0 → 0.4.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.
Files changed (297) hide show
  1. package/README.md +58 -15
  2. package/build/index.d.ts +48 -2
  3. package/build/index.d.ts.map +1 -1
  4. package/build/index.js +57 -8
  5. package/build/src/artifact-path.d.ts +23 -1
  6. package/build/src/artifact-path.d.ts.map +1 -1
  7. package/build/src/artifact-path.js +45 -3
  8. package/build/src/artifacts.d.ts.map +1 -1
  9. package/build/src/artifacts.js +66 -1
  10. package/build/src/backends/c-validation.d.ts.map +1 -1
  11. package/build/src/backends/c-validation.js +7 -3
  12. package/build/src/backends/cpp-validation.d.ts.map +1 -1
  13. package/build/src/backends/cpp-validation.js +7 -3
  14. package/build/src/backends/csharp.js +7 -1
  15. package/build/src/backends/dart-runtime.d.ts +2 -0
  16. package/build/src/backends/dart-runtime.d.ts.map +1 -0
  17. package/build/src/backends/dart-runtime.js +41 -0
  18. package/build/src/backends/dart.d.ts +20 -0
  19. package/build/src/backends/dart.d.ts.map +1 -0
  20. package/build/src/backends/dart.js +321 -0
  21. package/build/src/backends/effects.d.ts +60 -0
  22. package/build/src/backends/effects.d.ts.map +1 -0
  23. package/build/src/backends/effects.js +746 -0
  24. package/build/src/backends/go.js +18 -4
  25. package/build/src/backends/identifiers.d.ts +36 -4
  26. package/build/src/backends/identifiers.d.ts.map +1 -1
  27. package/build/src/backends/identifiers.js +154 -10
  28. package/build/src/backends/index.d.ts.map +1 -1
  29. package/build/src/backends/index.js +27 -4
  30. package/build/src/backends/ios.d.ts +68 -0
  31. package/build/src/backends/ios.d.ts.map +1 -0
  32. package/build/src/backends/ios.js +1503 -0
  33. package/build/src/backends/java.d.ts.map +1 -1
  34. package/build/src/backends/java.js +429 -36
  35. package/build/src/backends/javascript.d.ts +6 -0
  36. package/build/src/backends/javascript.d.ts.map +1 -1
  37. package/build/src/backends/javascript.js +380 -24
  38. package/build/src/backends/kotlin-runtime.d.ts +3 -0
  39. package/build/src/backends/kotlin-runtime.d.ts.map +1 -0
  40. package/build/src/backends/kotlin-runtime.js +29 -0
  41. package/build/src/backends/kotlin.d.ts +23 -0
  42. package/build/src/backends/kotlin.d.ts.map +1 -0
  43. package/build/src/backends/kotlin.js +136 -0
  44. package/build/src/backends/native-validation.d.ts +2 -2
  45. package/build/src/backends/native-validation.d.ts.map +1 -1
  46. package/build/src/backends/native-validation.js +2 -2
  47. package/build/src/backends/ordered-expressions.d.ts.map +1 -1
  48. package/build/src/backends/ordered-expressions.js +39 -7
  49. package/build/src/backends/php-stdlib-support.d.ts +19 -0
  50. package/build/src/backends/php-stdlib-support.d.ts.map +1 -0
  51. package/build/src/backends/php-stdlib-support.js +227 -0
  52. package/build/src/backends/php.d.ts.map +1 -1
  53. package/build/src/backends/php.js +448 -33
  54. package/build/src/backends/program.d.ts +81 -0
  55. package/build/src/backends/program.d.ts.map +1 -0
  56. package/build/src/backends/program.js +1308 -0
  57. package/build/src/backends/python.js +7 -1
  58. package/build/src/backends/ruby.d.ts.map +1 -1
  59. package/build/src/backends/ruby.js +310 -24
  60. package/build/src/backends/rust-runtime.d.ts +7 -0
  61. package/build/src/backends/rust-runtime.d.ts.map +1 -0
  62. package/build/src/backends/rust-runtime.js +32 -0
  63. package/build/src/backends/rust-validation.d.ts +9 -0
  64. package/build/src/backends/rust-validation.d.ts.map +1 -0
  65. package/build/src/backends/rust-validation.js +78 -0
  66. package/build/src/backends/rust.d.ts +24 -0
  67. package/build/src/backends/rust.d.ts.map +1 -0
  68. package/build/src/backends/rust.js +344 -0
  69. package/build/src/backends/scalars.d.ts +14 -6
  70. package/build/src/backends/scalars.d.ts.map +1 -1
  71. package/build/src/backends/scalars.js +167 -17
  72. package/build/src/backends/shared.d.ts +23 -4
  73. package/build/src/backends/shared.d.ts.map +1 -1
  74. package/build/src/backends/shared.js +2158 -62
  75. package/build/src/backends/stdlib-support.d.ts +14 -0
  76. package/build/src/backends/stdlib-support.d.ts.map +1 -0
  77. package/build/src/backends/stdlib-support.js +237 -0
  78. package/build/src/backends/swift-runtime.d.ts +3 -0
  79. package/build/src/backends/swift-runtime.d.ts.map +1 -0
  80. package/build/src/backends/swift-runtime.js +14 -0
  81. package/build/src/backends/swift.d.ts +8 -0
  82. package/build/src/backends/swift.d.ts.map +1 -0
  83. package/build/src/backends/swift.js +127 -0
  84. package/build/src/backends/typescript.d.ts.map +1 -1
  85. package/build/src/backends/typescript.js +344 -24
  86. package/build/src/backends/wasm.d.ts +43 -0
  87. package/build/src/backends/wasm.d.ts.map +1 -0
  88. package/build/src/backends/wasm.js +2164 -0
  89. package/build/src/backends/writer.d.ts +235 -4
  90. package/build/src/backends/writer.d.ts.map +1 -1
  91. package/build/src/backends/writer.js +468 -3
  92. package/build/src/diagnostic.d.ts +4 -3
  93. package/build/src/diagnostic.d.ts.map +1 -1
  94. package/build/src/diagnostic.js +5 -3
  95. package/build/src/frontends/c.d.ts.map +1 -1
  96. package/build/src/frontends/c.js +5 -3
  97. package/build/src/frontends/cpp.d.ts.map +1 -1
  98. package/build/src/frontends/cpp.js +5 -3
  99. package/build/src/frontends/csharp.d.ts.map +1 -1
  100. package/build/src/frontends/csharp.js +7 -3
  101. package/build/src/frontends/dart.d.ts +10 -0
  102. package/build/src/frontends/dart.d.ts.map +1 -0
  103. package/build/src/frontends/dart.js +913 -0
  104. package/build/src/frontends/index.d.ts +3 -1
  105. package/build/src/frontends/index.d.ts.map +1 -1
  106. package/build/src/frontends/index.js +15 -5
  107. package/build/src/frontends/java.d.ts +110 -1
  108. package/build/src/frontends/java.d.ts.map +1 -1
  109. package/build/src/frontends/java.js +1725 -70
  110. package/build/src/frontends/javascript-typescript.d.ts +69 -1
  111. package/build/src/frontends/javascript-typescript.d.ts.map +1 -1
  112. package/build/src/frontends/javascript-typescript.js +1825 -93
  113. package/build/src/frontends/kotlin.d.ts +10 -0
  114. package/build/src/frontends/kotlin.d.ts.map +1 -0
  115. package/build/src/frontends/kotlin.js +685 -0
  116. package/build/src/frontends/php.d.ts +118 -1
  117. package/build/src/frontends/php.d.ts.map +1 -1
  118. package/build/src/frontends/php.js +1583 -76
  119. package/build/src/frontends/program.d.ts +74 -0
  120. package/build/src/frontends/program.d.ts.map +1 -0
  121. package/build/src/frontends/program.js +989 -0
  122. package/build/src/frontends/ruby.d.ts +68 -1
  123. package/build/src/frontends/ruby.d.ts.map +1 -1
  124. package/build/src/frontends/ruby.js +1446 -101
  125. package/build/src/frontends/rust-parser.d.ts +11 -0
  126. package/build/src/frontends/rust-parser.d.ts.map +1 -0
  127. package/build/src/frontends/rust-parser.js +15 -0
  128. package/build/src/frontends/rust.d.ts +14 -0
  129. package/build/src/frontends/rust.d.ts.map +1 -0
  130. package/build/src/frontends/rust.js +715 -0
  131. package/build/src/frontends/scalars.d.ts +10 -0
  132. package/build/src/frontends/scalars.d.ts.map +1 -1
  133. package/build/src/frontends/scalars.js +28 -2
  134. package/build/src/frontends/swift.d.ts +10 -0
  135. package/build/src/frontends/swift.d.ts.map +1 -0
  136. package/build/src/frontends/swift.js +860 -0
  137. package/build/src/frontends/types.d.ts +186 -0
  138. package/build/src/frontends/types.d.ts.map +1 -0
  139. package/build/src/frontends/types.js +634 -0
  140. package/build/src/language-registry.d.ts +46 -4
  141. package/build/src/language-registry.d.ts.map +1 -1
  142. package/build/src/language-registry.js +167 -13
  143. package/build/src/mapping.d.ts +2 -2
  144. package/build/src/mapping.d.ts.map +1 -1
  145. package/build/src/mapping.js +31 -10
  146. package/build/src/semantic/capabilities.d.ts +66 -0
  147. package/build/src/semantic/capabilities.d.ts.map +1 -0
  148. package/build/src/semantic/capabilities.js +649 -0
  149. package/build/src/semantic/effects.d.ts +26 -0
  150. package/build/src/semantic/effects.d.ts.map +1 -0
  151. package/build/src/semantic/effects.js +764 -0
  152. package/build/src/semantic/generics.d.ts +23 -0
  153. package/build/src/semantic/generics.d.ts.map +1 -0
  154. package/build/src/semantic/generics.js +61 -0
  155. package/build/src/semantic/lifetime.d.ts +37 -0
  156. package/build/src/semantic/lifetime.d.ts.map +1 -0
  157. package/build/src/semantic/lifetime.js +527 -0
  158. package/build/src/semantic/provenance.d.ts +9 -2
  159. package/build/src/semantic/provenance.d.ts.map +1 -1
  160. package/build/src/semantic/provenance.js +462 -20
  161. package/build/src/semantic/scalars.d.ts +11 -0
  162. package/build/src/semantic/scalars.d.ts.map +1 -1
  163. package/build/src/semantic/scalars.js +16 -1
  164. package/build/src/semantic/stdlib.d.ts +254 -0
  165. package/build/src/semantic/stdlib.d.ts.map +1 -0
  166. package/build/src/semantic/stdlib.js +880 -0
  167. package/build/src/semantic/types.d.ts +2952 -202
  168. package/build/src/semantic/types.d.ts.map +1 -1
  169. package/build/src/semantic/types.js +688 -15
  170. package/build/src/semantic/validate.d.ts +85 -5
  171. package/build/src/semantic/validate.d.ts.map +1 -1
  172. package/build/src/semantic/validate.js +2576 -98
  173. package/build/src/stdlib-facades.d.ts +304 -0
  174. package/build/src/stdlib-facades.d.ts.map +1 -0
  175. package/build/src/stdlib-facades.js +1167 -0
  176. package/build/src/stdlib-negotiation.d.ts +69 -0
  177. package/build/src/stdlib-negotiation.d.ts.map +1 -0
  178. package/build/src/stdlib-negotiation.js +403 -0
  179. package/build/src/stdlib-providers.d.ts +72 -0
  180. package/build/src/stdlib-providers.d.ts.map +1 -0
  181. package/build/src/stdlib-providers.js +339 -0
  182. package/build/src/toolchains.d.ts +55 -1
  183. package/build/src/toolchains.d.ts.map +1 -1
  184. package/build/src/toolchains.js +15 -4
  185. package/docs/architecture.md +45 -13
  186. package/docs/dart.md +60 -0
  187. package/docs/goals.md +3 -3
  188. package/docs/ios.md +121 -0
  189. package/docs/kotlin.md +42 -0
  190. package/docs/language-support.md +231 -26
  191. package/docs/multi-file-modules.md +52 -0
  192. package/docs/parser-qualification.md +121 -8
  193. package/docs/plans/2026-09-05-standard-library-portability.md +10 -10
  194. package/docs/rust.md +88 -0
  195. package/docs/source-maps.md +15 -7
  196. package/docs/standard-library-portability.md +39 -8
  197. package/docs/swift.md +44 -0
  198. package/docs/testing.md +366 -4
  199. package/docs/webassembly.md +52 -0
  200. package/index.js +63 -8
  201. package/node_modules/semantifold-tree-sitter-legacy-internal/README.md +2 -2
  202. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/LICENSE +21 -0
  203. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/README.md +45 -0
  204. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/binding.gyp +30 -0
  205. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/bindings/node/binding.cc +20 -0
  206. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/bindings/node/binding_test.js +9 -0
  207. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/bindings/node/index.d.ts +28 -0
  208. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/bindings/node/index.js +11 -0
  209. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/grammar.js +1630 -0
  210. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/package.json +64 -0
  211. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/prebuilds/darwin-arm64/tree-sitter-rust.node +0 -0
  212. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/prebuilds/darwin-x64/tree-sitter-rust.node +0 -0
  213. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/prebuilds/linux-arm64/tree-sitter-rust.node +0 -0
  214. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/prebuilds/linux-x64/tree-sitter-rust.node +0 -0
  215. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/prebuilds/win32-arm64/tree-sitter-rust.node +0 -0
  216. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/prebuilds/win32-x64/tree-sitter-rust.node +0 -0
  217. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/queries/highlights.scm +159 -0
  218. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/queries/injections.scm +9 -0
  219. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/queries/tags.scm +60 -0
  220. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/grammar.json +9405 -0
  221. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/node-types.json +5399 -0
  222. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/parser.c +192569 -0
  223. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/scanner.c +393 -0
  224. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/tree_sitter/alloc.h +54 -0
  225. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/tree_sitter/array.h +290 -0
  226. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/src/tree_sitter/parser.h +266 -0
  227. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/tree-sitter-rust.wasm +0 -0
  228. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-rust/tree-sitter.json +53 -0
  229. package/node_modules/semantifold-tree-sitter-legacy-internal/package.json +3 -2
  230. package/node_modules/semantifold-tree-sitter-legacy-internal/src/c.js +5 -4
  231. package/package.json +5 -2
  232. package/src/artifact-path.js +47 -2
  233. package/src/artifacts.js +67 -0
  234. package/src/backends/c-validation.js +6 -1
  235. package/src/backends/cpp-validation.js +6 -1
  236. package/src/backends/csharp.js +3 -0
  237. package/src/backends/dart-runtime.js +41 -0
  238. package/src/backends/dart.js +326 -0
  239. package/src/backends/effects.js +705 -0
  240. package/src/backends/go.js +14 -2
  241. package/src/backends/identifiers.js +160 -9
  242. package/src/backends/index.js +27 -2
  243. package/src/backends/ios.js +1612 -0
  244. package/src/backends/java.js +454 -36
  245. package/src/backends/javascript.js +389 -23
  246. package/src/backends/kotlin-runtime.js +29 -0
  247. package/src/backends/kotlin.js +141 -0
  248. package/src/backends/native-validation.js +1 -1
  249. package/src/backends/ordered-expressions.js +40 -6
  250. package/src/backends/php-stdlib-support.js +239 -0
  251. package/src/backends/php.js +469 -32
  252. package/src/backends/program.js +1407 -0
  253. package/src/backends/python.js +3 -0
  254. package/src/backends/ruby.js +326 -23
  255. package/src/backends/rust-runtime.js +34 -0
  256. package/src/backends/rust-validation.js +75 -0
  257. package/src/backends/rust.js +335 -0
  258. package/src/backends/scalars.js +141 -16
  259. package/src/backends/shared.js +2304 -124
  260. package/src/backends/stdlib-support.js +234 -0
  261. package/src/backends/swift-runtime.js +14 -0
  262. package/src/backends/swift.js +132 -0
  263. package/src/backends/typescript.js +349 -23
  264. package/src/backends/wasm.js +2208 -0
  265. package/src/backends/writer.js +520 -2
  266. package/src/diagnostic.js +4 -2
  267. package/src/frontends/c.js +4 -2
  268. package/src/frontends/cpp.js +4 -2
  269. package/src/frontends/csharp.js +4 -2
  270. package/src/frontends/dart.js +963 -0
  271. package/src/frontends/index.js +14 -4
  272. package/src/frontends/java.js +1977 -69
  273. package/src/frontends/javascript-typescript.js +2046 -102
  274. package/src/frontends/kotlin.js +713 -0
  275. package/src/frontends/php.js +1725 -79
  276. package/src/frontends/program.js +1062 -0
  277. package/src/frontends/ruby.js +1624 -98
  278. package/src/frontends/rust-parser.js +18 -0
  279. package/src/frontends/rust.js +714 -0
  280. package/src/frontends/scalars.js +31 -1
  281. package/src/frontends/swift.js +893 -0
  282. package/src/frontends/types.js +750 -0
  283. package/src/language-registry.js +172 -12
  284. package/src/mapping.js +33 -9
  285. package/src/semantic/capabilities.js +671 -0
  286. package/src/semantic/effects.js +737 -0
  287. package/src/semantic/generics.js +58 -0
  288. package/src/semantic/lifetime.js +517 -0
  289. package/src/semantic/provenance.js +412 -19
  290. package/src/semantic/scalars.js +17 -0
  291. package/src/semantic/stdlib.js +921 -0
  292. package/src/semantic/types.js +765 -14
  293. package/src/semantic/validate.js +2934 -209
  294. package/src/stdlib-facades.js +1211 -0
  295. package/src/stdlib-negotiation.js +446 -0
  296. package/src/stdlib-providers.js +377 -0
  297. package/src/toolchains.js +16 -3
@@ -1,3 +1,6 @@
1
+ export type RecordRegistry = Map<string, import("./types.js").RecordDeclaration>;
2
+ export type ClassRegistry = Map<string, import("./types.js").ClassDeclaration>;
3
+ export type ErrorRegistry = Map<string, import("./types.js").ErrorDeclaration>;
1
4
  export type Binding = {
2
5
  /**
3
6
  * - Whether assignment is allowed.
@@ -6,7 +9,11 @@ export type Binding = {
6
9
  /**
7
10
  * - Binding type.
8
11
  */
9
- type: import("./types.js").SemanticTypeName;
12
+ type: import("./types.js").SemanticBindingType;
13
+ /**
14
+ * - Current statically known immutable value.
15
+ */
16
+ knownValue: import("./types.js").Expression | undefined;
10
17
  };
11
18
  export type Scope = {
12
19
  /**
@@ -17,27 +24,63 @@ export type Scope = {
17
24
  * - Names declared later in this scope.
18
25
  */
19
26
  pending: Set<string>;
27
+ /**
28
+ * - Optional bindings proven present on this path.
29
+ */
30
+ presenceProofs: Set<Binding>;
20
31
  /**
21
32
  * - Enclosing lexical scope.
22
33
  */
23
34
  parent: Scope | undefined;
35
+ /**
36
+ * - Type parameters visible throughout the enclosing declaration.
37
+ */
38
+ typeParameters: Set<string>;
24
39
  /**
25
40
  * - All names used by the enclosing function or entry point.
26
41
  */
27
42
  usedNames: Set<string>;
43
+ /**
44
+ * - Declaring class for receiver-private access.
45
+ */
46
+ currentClass: import("./types.js").ClassDeclaration | undefined;
47
+ };
48
+ export type LoopFlowContext = {
49
+ /**
50
+ * - Nearest active loop.
51
+ */
52
+ nearest?: import("./types.js").ForEachStatement | import("./types.js").ForEachMapStatement | import("./types.js").WhileStatement;
53
+ /**
54
+ * - Enclosing function or entry-point identity.
55
+ */
56
+ owner: object;
57
+ /**
58
+ * - Loop owner by module-local loop identity.
59
+ */
60
+ owners: Map<string, object>;
28
61
  };
29
62
  export type SemanticFail = (code: string, detail: string, location: import("./types.js").SourceLocation) => never;
30
63
  /**
31
64
  * @typedef Binding
32
65
  * @property {boolean} mutable - Whether assignment is allowed.
33
- * @property {import("./types.js").SemanticTypeName} type - Binding type.
66
+ * @property {import("./types.js").SemanticBindingType} type - Binding type.
67
+ * @property {import("./types.js").Expression | undefined} knownValue - Current statically known immutable value.
34
68
  */
35
69
  /**
36
70
  * @typedef Scope
37
71
  * @property {Map<string, Binding>} bindings - Bindings declared directly in this scope.
38
72
  * @property {Set<string>} pending - Names declared later in this scope.
73
+ * @property {Set<Binding>} presenceProofs - Optional bindings proven present on this path.
39
74
  * @property {Scope | undefined} parent - Enclosing lexical scope.
75
+ * @property {Set<string>} typeParameters - Type parameters visible throughout the enclosing declaration.
40
76
  * @property {Set<string>} usedNames - All names used by the enclosing function or entry point.
77
+ * @property {import("./types.js").ClassDeclaration | undefined} currentClass - Declaring class for receiver-private access.
78
+ */
79
+ /**
80
+ * @typedef LoopFlowContext
81
+ * @property {import("./types.js").ForEachStatement | import("./types.js").ForEachMapStatement | import("./types.js").WhileStatement} [nearest] - Nearest active loop.
82
+ * @property {object} owner - Enclosing function or entry-point identity.
83
+ * @property {Map<string, object>} owners - Loop owner by module-local loop identity.
41
84
  */
42
85
  /**
43
86
  * @typedef SemanticFail
@@ -47,14 +90,51 @@ export type SemanticFail = (code: string, detail: string, location: import("./ty
47
90
  * Enforces the coherent release-candidate semantic subset after adaptation.
48
91
  * @param {import("./types.js").SemanticModule} module - Adapted semantic module.
49
92
  * @param {import("./types.js").SemanticLanguage} language - Source language.
93
+ * @param {{classes?: Map<string, import("./types.js").ClassDeclaration>, functions?: Map<string, import("./types.js").FunctionDeclaration>, records?: Map<string, import("./types.js").RecordDeclaration>, errors?: Map<string, import("./types.js").ErrorDeclaration>, callEffects?: Map<string, Set<string>>}} [visible] - Program imports visible during validation.
50
94
  * @returns {import("./types.js").SemanticModule} Validated module.
51
95
  */
52
- export declare function validateParsedModule(module: import("./types.js").SemanticModule, language: import("./types.js").SemanticLanguage): import("./types.js").SemanticModule;
96
+ export declare function validateParsedModule(module: import("./types.js").SemanticModule, language: import("./types.js").SemanticLanguage, visible?: {
97
+ classes?: Map<string, import("./types.js").ClassDeclaration>;
98
+ functions?: Map<string, import("./types.js").FunctionDeclaration>;
99
+ records?: Map<string, import("./types.js").RecordDeclaration>;
100
+ errors?: Map<string, import("./types.js").ErrorDeclaration>;
101
+ callEffects?: Map<string, Set<string>>;
102
+ }): import("./types.js").SemanticModule;
53
103
  /**
54
104
  * Validates scalar types and bindings for a caller-supplied semantic module before emission.
55
105
  * @param {import("./types.js").SemanticModule} module - Semantic module.
56
- * @param {import("./types.js").SemanticLanguage} language - Backend language.
106
+ * @param {import("./types.js").BackendLanguage} language - Backend language or binary target.
107
+ * @param {{classes?: Map<string, import("./types.js").ClassDeclaration>, functions?: Map<string, import("./types.js").FunctionDeclaration>, records?: Map<string, import("./types.js").RecordDeclaration>, errors?: Map<string, import("./types.js").ErrorDeclaration>, callEffects?: Map<string, Set<string>>}} [visible] - Resolved program imports.
57
108
  * @returns {void}
58
109
  */
59
- export declare function validateBackendTypes(module: import("./types.js").SemanticModule, language: import("./types.js").SemanticLanguage): void;
110
+ export declare function validateBackendTypes(module: import("./types.js").SemanticModule, language: import("./types.js").BackendLanguage, visible?: {
111
+ classes?: Map<string, import("./types.js").ClassDeclaration>;
112
+ functions?: Map<string, import("./types.js").FunctionDeclaration>;
113
+ records?: Map<string, import("./types.js").RecordDeclaration>;
114
+ errors?: Map<string, import("./types.js").ErrorDeclaration>;
115
+ callEffects?: Map<string, Set<string>>;
116
+ }): void;
117
+ /**
118
+ * Derives validator-only unchecked-error effects for a validated module's local functions.
119
+ * These effects never enter semantic function declarations or public signatures.
120
+ * @param {import("./types.js").SemanticModule} module - Validated semantic module.
121
+ * @param {{functions?: Map<string, import("./types.js").FunctionDeclaration>, callEffects?: Map<string, Set<string>>}} [visible] - Imported functions and already-resolved effects by local binding.
122
+ * @returns {Map<string, Set<string>>} Local function effects by source-visible name.
123
+ */
124
+ export declare function moduleUncheckedErrorEffects(module: import("./types.js").SemanticModule, visible?: {
125
+ functions?: Map<string, import("./types.js").FunctionDeclaration>;
126
+ callEffects?: Map<string, Set<string>>;
127
+ }): Map<string, Set<string>>;
128
+ /**
129
+ * Derives the escaping user-defined error sets for local functions and resolved class methods.
130
+ * The fixed point is computed over every unchecked error; capability failures are projected out
131
+ * because call sites already carry their capability-failure boundary through resolution metadata.
132
+ * @param {import("./types.js").SemanticModule} module - Resolved module.
133
+ * @param {Map<string, Set<string>>} [seedEffects] - Dependency effects keyed by local import name.
134
+ * @returns {{functions: Map<string, Set<string>>, methods: Map<string, Set<string>>}} Escaping user-defined error identities by function name and method identity.
135
+ */
136
+ export declare function inferEscapingErrorEffects(module: import("./types.js").SemanticModule, seedEffects?: Map<string, Set<string>>): {
137
+ functions: Map<string, Set<string>>;
138
+ methods: Map<string, Set<string>>;
139
+ };
60
140
  //# sourceMappingURL=validate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/semantic/validate.js"],"names":[],"mappings":"AAOG,YAAS,OAAO,GAChB;;;;IAAoB,OAAO,EAAhB,OAAO,CAClB;;;;IAAkD,IAAI,EAA3C,OAAO,YAAY,EAAE,gBAAgB,CAClD;CAAA,CAAA;AAGE,YAAS,KAAK,GACd;;;;IAAiC,QAAQ,EAA9B,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAC/B;;;;IAAwB,OAAO,EAApB,GAAG,CAAC,MAAM,CAAC,CACtB;;;;IAA8B,MAAM,EAAzB,KAAK,GAAG,SAAS,CAC5B;;;;IAAwB,SAAS,EAAtB,GAAG,CAAC,MAAM,CAAC,CACxB;CAAA,CAAA;AAGE,YAAS,YAAY,GACd,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,YAAY,EAAE,cAAc,KAAK,KAAK,CAAC;AAhBjG;;;;GAIG;AAEH;;;;;;GAMG;AAEH;;;GAGG;AAEH;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAJhC,OAAO,YAAY,EAAE,cAIW,EAAE,QAAQ,EAH1C,OAAO,YAAY,EAAE,gBAGqB,GAFxC,OAAO,YAAY,EAAE,cAAc,CAO/C;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAJhC,OAAO,YAAY,EAAE,cAIW,EAAE,QAAQ,EAH1C,OAAO,YAAY,EAAE,gBAGqB,GAFxC,IAAI,CAIhB"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/semantic/validate.js"],"names":[],"mappings":"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"}