semantifold 0.12.0 → 0.14.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 (73) hide show
  1. package/README.md +2 -0
  2. package/build/src/backends/effects.js +5 -2
  3. package/build/src/backends/java.js +33 -14
  4. package/build/src/backends/javascript.js +83 -18
  5. package/build/src/backends/php.d.ts.map +1 -1
  6. package/build/src/backends/php.js +88 -16
  7. package/build/src/backends/ruby.js +37 -12
  8. package/build/src/backends/scalars.js +2 -2
  9. package/build/src/backends/shared.d.ts +2 -1
  10. package/build/src/backends/shared.d.ts.map +1 -1
  11. package/build/src/backends/shared.js +299 -42
  12. package/build/src/backends/typescript.js +83 -18
  13. package/build/src/backends/writer.d.ts +18 -4
  14. package/build/src/backends/writer.d.ts.map +1 -1
  15. package/build/src/backends/writer.js +40 -4
  16. package/build/src/frontends/java.d.ts +9 -1
  17. package/build/src/frontends/java.d.ts.map +1 -1
  18. package/build/src/frontends/java.js +90 -43
  19. package/build/src/frontends/javascript-typescript.d.ts +3 -1
  20. package/build/src/frontends/javascript-typescript.d.ts.map +1 -1
  21. package/build/src/frontends/javascript-typescript.js +133 -52
  22. package/build/src/frontends/php.d.ts +13 -1
  23. package/build/src/frontends/php.d.ts.map +1 -1
  24. package/build/src/frontends/php.js +226 -59
  25. package/build/src/frontends/ruby.d.ts +4 -1
  26. package/build/src/frontends/ruby.d.ts.map +1 -1
  27. package/build/src/frontends/ruby.js +113 -37
  28. package/build/src/frontends/types.d.ts +9 -2
  29. package/build/src/frontends/types.d.ts.map +1 -1
  30. package/build/src/frontends/types.js +26 -9
  31. package/build/src/language-registry.d.ts.map +1 -1
  32. package/build/src/language-registry.js +14 -6
  33. package/build/src/mapping.d.ts.map +1 -1
  34. package/build/src/mapping.js +4 -2
  35. package/build/src/semantic/effects.d.ts.map +1 -1
  36. package/build/src/semantic/effects.js +20 -6
  37. package/build/src/semantic/lifetime.js +28 -4
  38. package/build/src/semantic/provenance.d.ts.map +1 -1
  39. package/build/src/semantic/provenance.js +61 -9
  40. package/build/src/semantic/types.d.ts +214 -23
  41. package/build/src/semantic/types.d.ts.map +1 -1
  42. package/build/src/semantic/types.js +58 -11
  43. package/build/src/semantic/validate.d.ts +31 -2
  44. package/build/src/semantic/validate.d.ts.map +1 -1
  45. package/build/src/semantic/validate.js +450 -60
  46. package/docs/adr/20261026-typed-error-handling-extension.md +55 -0
  47. package/docs/adr-bounded-subtyping.md +180 -0
  48. package/docs/adr-numeric-tower.md +156 -0
  49. package/docs/architecture.md +1 -1
  50. package/docs/language-support.md +8 -8
  51. package/docs/testing.md +5 -3
  52. package/package.json +1 -1
  53. package/src/backends/effects.js +3 -1
  54. package/src/backends/java.js +33 -14
  55. package/src/backends/javascript.js +83 -18
  56. package/src/backends/php.js +89 -16
  57. package/src/backends/ruby.js +36 -12
  58. package/src/backends/scalars.js +1 -1
  59. package/src/backends/shared.js +298 -47
  60. package/src/backends/typescript.js +83 -18
  61. package/src/backends/writer.js +41 -3
  62. package/src/frontends/java.js +95 -43
  63. package/src/frontends/javascript-typescript.js +145 -53
  64. package/src/frontends/php.js +243 -58
  65. package/src/frontends/ruby.js +117 -35
  66. package/src/frontends/types.js +26 -8
  67. package/src/language-registry.js +13 -5
  68. package/src/mapping.js +3 -1
  69. package/src/semantic/effects.js +18 -5
  70. package/src/semantic/lifetime.js +29 -3
  71. package/src/semantic/provenance.js +60 -14
  72. package/src/semantic/types.js +62 -10
  73. package/src/semantic/validate.js +481 -61
@@ -3,6 +3,14 @@ export type PhpConversionContext = {
3
3
  * - Explicitly typed visible bindings.
4
4
  */
5
5
  bindings: Map<string, import("../semantic/types.js").SemanticBindingType>;
6
+ /**
7
+ * - Lexically visible exact catch binding names.
8
+ */
9
+ catchBindingNames?: Set<string>;
10
+ /**
11
+ * - Exact catch binding nodes by visible name.
12
+ */
13
+ catchBindingNodes?: Map<string, import("../semantic/types.js").CatchBinding>;
6
14
  /**
7
15
  * - Reference classes by identity.
8
16
  */
@@ -11,6 +19,10 @@ export type PhpConversionContext = {
11
19
  * - Enclosing reference class.
12
20
  */
13
21
  currentClass?: import("../semantic/types.js").ClassDeclaration;
22
+ /**
23
+ * - Interface declarations by identity.
24
+ */
25
+ interfaces: Map<string, import("../semantic/types.js").InterfaceDeclaration>;
14
26
  /**
15
27
  * - Error declarations by source name.
16
28
  */
@@ -30,7 +42,7 @@ export type PhpConversionContext = {
30
42
  /**
31
43
  * - Nominal declarations by source name.
32
44
  */
33
- recordNames: Map<string, import("../semantic/types.js").RecordDeclaration | import("../semantic/types.js").ClassDeclaration | import("../semantic/types.js").EffectResourceDeclaration>;
45
+ recordNames: Map<string, import("../semantic/types.js").RecordDeclaration | import("../semantic/types.js").ClassDeclaration | import("../semantic/types.js").EffectResourceDeclaration | import("../semantic/types.js").InterfaceDeclaration>;
34
46
  /**
35
47
  * - Record declarations by identity.
36
48
  */
@@ -1 +1 @@
1
- {"version":3,"file":"php.d.ts","sourceRoot":"","sources":["../../../src/frontends/php.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"php.d.ts","sourceRoot":"","sources":["../../../src/frontends/php.js"],"names":[],"mappings":"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"}