semantifold 0.13.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 (59) hide show
  1. package/README.md +1 -0
  2. package/build/src/backends/effects.js +3 -1
  3. package/build/src/backends/php.d.ts.map +1 -1
  4. package/build/src/backends/php.js +56 -3
  5. package/build/src/backends/scalars.js +2 -2
  6. package/build/src/backends/shared.d.ts +2 -1
  7. package/build/src/backends/shared.d.ts.map +1 -1
  8. package/build/src/backends/shared.js +209 -7
  9. package/build/src/backends/writer.d.ts +18 -4
  10. package/build/src/backends/writer.d.ts.map +1 -1
  11. package/build/src/backends/writer.js +40 -4
  12. package/build/src/frontends/java.d.ts +1 -1
  13. package/build/src/frontends/java.d.ts.map +1 -1
  14. package/build/src/frontends/java.js +14 -11
  15. package/build/src/frontends/javascript-typescript.d.ts +1 -1
  16. package/build/src/frontends/javascript-typescript.d.ts.map +1 -1
  17. package/build/src/frontends/javascript-typescript.js +17 -17
  18. package/build/src/frontends/php.d.ts +5 -1
  19. package/build/src/frontends/php.d.ts.map +1 -1
  20. package/build/src/frontends/php.js +159 -31
  21. package/build/src/frontends/ruby.d.ts +1 -1
  22. package/build/src/frontends/ruby.d.ts.map +1 -1
  23. package/build/src/frontends/ruby.js +12 -9
  24. package/build/src/frontends/types.d.ts +9 -2
  25. package/build/src/frontends/types.d.ts.map +1 -1
  26. package/build/src/frontends/types.js +26 -9
  27. package/build/src/language-registry.d.ts.map +1 -1
  28. package/build/src/language-registry.js +14 -6
  29. package/build/src/mapping.d.ts.map +1 -1
  30. package/build/src/mapping.js +4 -2
  31. package/build/src/semantic/effects.d.ts.map +1 -1
  32. package/build/src/semantic/effects.js +3 -1
  33. package/build/src/semantic/provenance.d.ts.map +1 -1
  34. package/build/src/semantic/provenance.js +37 -4
  35. package/build/src/semantic/types.d.ts +140 -9
  36. package/build/src/semantic/types.d.ts.map +1 -1
  37. package/build/src/semantic/types.js +37 -6
  38. package/build/src/semantic/validate.d.ts +31 -2
  39. package/build/src/semantic/validate.d.ts.map +1 -1
  40. package/build/src/semantic/validate.js +346 -27
  41. package/docs/adr-bounded-subtyping.md +180 -0
  42. package/docs/language-support.md +1 -1
  43. package/package.json +1 -1
  44. package/src/backends/effects.js +1 -0
  45. package/src/backends/php.js +56 -2
  46. package/src/backends/scalars.js +1 -1
  47. package/src/backends/shared.js +210 -6
  48. package/src/backends/writer.js +41 -3
  49. package/src/frontends/java.js +13 -10
  50. package/src/frontends/javascript-typescript.js +16 -16
  51. package/src/frontends/php.js +175 -31
  52. package/src/frontends/ruby.js +11 -8
  53. package/src/frontends/types.js +26 -8
  54. package/src/language-registry.js +13 -5
  55. package/src/mapping.js +3 -1
  56. package/src/semantic/effects.js +1 -0
  57. package/src/semantic/provenance.js +34 -3
  58. package/src/semantic/types.js +39 -5
  59. package/src/semantic/validate.js +377 -26
@@ -19,6 +19,10 @@ export type PhpConversionContext = {
19
19
  * - Enclosing reference class.
20
20
  */
21
21
  currentClass?: import("../semantic/types.js").ClassDeclaration;
22
+ /**
23
+ * - Interface declarations by identity.
24
+ */
25
+ interfaces: Map<string, import("../semantic/types.js").InterfaceDeclaration>;
22
26
  /**
23
27
  * - Error declarations by source name.
24
28
  */
@@ -38,7 +42,7 @@ export type PhpConversionContext = {
38
42
  /**
39
43
  * - Nominal declarations by source name.
40
44
  */
41
- 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>;
42
46
  /**
43
47
  * - Record declarations by identity.
44
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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"}