yukigo-ast 0.2.1 → 0.3.2

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 (107) hide show
  1. package/.mocharc.json +3 -3
  2. package/CHANGELOG.md +41 -17
  3. package/dist/globals/expressions.d.ts +27 -25
  4. package/dist/globals/expressions.d.ts.map +1 -1
  5. package/dist/globals/expressions.js +47 -10
  6. package/dist/globals/generics.d.ts +8 -2
  7. package/dist/globals/generics.d.ts.map +1 -1
  8. package/dist/globals/generics.js +15 -1
  9. package/dist/globals/operators.d.ts +13 -69
  10. package/dist/globals/operators.d.ts.map +1 -1
  11. package/dist/globals/operators.js +12 -12
  12. package/dist/globals/patterns.d.ts +24 -25
  13. package/dist/globals/patterns.d.ts.map +1 -1
  14. package/dist/globals/patterns.js +66 -12
  15. package/dist/globals/primitives.d.ts +2 -5
  16. package/dist/globals/primitives.d.ts.map +1 -1
  17. package/dist/globals/primitives.js +7 -7
  18. package/dist/globals/statements.d.ts +28 -194
  19. package/dist/globals/statements.d.ts.map +1 -1
  20. package/dist/globals/statements.js +32 -52
  21. package/dist/globals/testing.d.ts +7 -31
  22. package/dist/globals/testing.d.ts.map +1 -1
  23. package/dist/globals/testing.js +6 -6
  24. package/dist/globals/types.d.ts +13 -35
  25. package/dist/globals/types.d.ts.map +1 -1
  26. package/dist/globals/types.js +12 -12
  27. package/dist/index.d.ts +0 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +0 -1
  30. package/dist/paradigms/functional.d.ts +5 -8
  31. package/dist/paradigms/functional.d.ts.map +1 -1
  32. package/dist/paradigms/functional.js +4 -4
  33. package/dist/paradigms/imperative.d.ts +8 -61
  34. package/dist/paradigms/imperative.d.ts.map +1 -1
  35. package/dist/paradigms/imperative.js +7 -7
  36. package/dist/paradigms/logic.d.ts +11 -67
  37. package/dist/paradigms/logic.d.ts.map +1 -1
  38. package/dist/paradigms/logic.js +10 -10
  39. package/dist/paradigms/object.d.ts +19 -105
  40. package/dist/paradigms/object.d.ts.map +1 -1
  41. package/dist/paradigms/object.js +24 -15
  42. package/dist/paradigms/typeclasses.d.ts +3 -51
  43. package/dist/paradigms/typeclasses.d.ts.map +1 -1
  44. package/dist/paradigms/typeclasses.js +2 -2
  45. package/dist/visitor/base.d.ts +4 -2
  46. package/dist/visitor/base.d.ts.map +1 -1
  47. package/dist/visitor/expressions.d.ts +34 -31
  48. package/dist/visitor/expressions.d.ts.map +1 -1
  49. package/dist/visitor/expressions.js +11 -2
  50. package/dist/visitor/index.d.ts +160 -164
  51. package/dist/visitor/index.d.ts.map +1 -1
  52. package/dist/visitor/operations.d.ts +25 -26
  53. package/dist/visitor/operations.d.ts.map +1 -1
  54. package/dist/visitor/operations.js +3 -2
  55. package/dist/visitor/patterns.d.ts +18 -19
  56. package/dist/visitor/patterns.d.ts.map +1 -1
  57. package/dist/visitor/patterns.js +4 -2
  58. package/dist/visitor/primitives.d.ts +13 -14
  59. package/dist/visitor/primitives.d.ts.map +1 -1
  60. package/dist/visitor/primitives.js +3 -2
  61. package/dist/visitor/statements.d.ts +49 -50
  62. package/dist/visitor/statements.d.ts.map +1 -1
  63. package/dist/visitor/statements.js +9 -6
  64. package/dist/visitor/testing.d.ts +12 -13
  65. package/dist/visitor/testing.d.ts.map +1 -1
  66. package/dist/visitor/testing.js +4 -2
  67. package/dist/visitor/typeclasses.d.ts +8 -9
  68. package/dist/visitor/typeclasses.d.ts.map +1 -1
  69. package/dist/visitor/typeclasses.js +4 -2
  70. package/dist/visitor/types.d.ts +17 -18
  71. package/dist/visitor/types.d.ts.map +1 -1
  72. package/dist/visitor/types.js +3 -2
  73. package/package.json +2 -11
  74. package/src/globals/expressions.ts +382 -338
  75. package/src/globals/generics.ts +86 -65
  76. package/src/globals/operators.ts +517 -517
  77. package/src/globals/patterns.ts +406 -347
  78. package/src/globals/primitives.ts +169 -169
  79. package/src/globals/statements.ts +746 -768
  80. package/src/globals/testing.ts +131 -131
  81. package/src/globals/types.ts +372 -375
  82. package/src/index.ts +13 -14
  83. package/src/paradigms/functional.ts +129 -128
  84. package/src/paradigms/imperative.ts +227 -227
  85. package/src/paradigms/logic.ts +307 -308
  86. package/src/paradigms/object.ts +362 -356
  87. package/src/paradigms/typeclasses.ts +96 -95
  88. package/src/visitor/base.ts +19 -17
  89. package/src/visitor/expressions.ts +165 -153
  90. package/src/visitor/index.ts +59 -52
  91. package/src/visitor/operations.ts +86 -82
  92. package/src/visitor/patterns.ts +77 -76
  93. package/src/visitor/primitives.ts +40 -36
  94. package/src/visitor/statements.ts +264 -261
  95. package/src/visitor/testing.ts +50 -49
  96. package/src/visitor/typeclasses.ts +24 -23
  97. package/src/visitor/types.ts +76 -75
  98. package/tests/ast.spec.ts +16 -16
  99. package/tsconfig.json +23 -25
  100. package/tsconfig.tsbuildinfo +1 -1
  101. package/dist/globals/runtime.d.ts +0 -64
  102. package/dist/globals/runtime.d.ts.map +0 -1
  103. package/dist/globals/runtime.js +0 -32
  104. package/dist/types.d.ts +0 -4
  105. package/dist/types.d.ts.map +0 -1
  106. package/dist/types.js +0 -1
  107. package/src/globals/runtime.ts +0 -132
@@ -1,6 +1,6 @@
1
1
  import { ASTNode } from "../globals/generics.js";
2
2
  import { ArithmeticUnaryOperation, ArithmeticBinaryOperation, ListUnaryOperation, ListBinaryOperation, ComparisonOperation, LogicalBinaryOperation, LogicalUnaryOperation, StringOperation, UnifyOperation, AssignOperation, BitwiseBinaryOperation, BitwiseUnaryOperation } from "../globals/operators.js";
3
- import { TraverseBase, GConstructor } from "./base.js";
3
+ import { TraverseBase, VisitorConstructor } from "./base.js";
4
4
  export interface OperationVisitor<TReturn> {
5
5
  visitArithmeticUnaryOperation(node: ArithmeticUnaryOperation): TReturn;
6
6
  visitArithmeticBinaryOperation(node: ArithmeticBinaryOperation): TReturn;
@@ -15,29 +15,28 @@ export interface OperationVisitor<TReturn> {
15
15
  visitUnifyOperation(node: UnifyOperation): TReturn;
16
16
  visitAssignOperation(node: AssignOperation): TReturn;
17
17
  }
18
- export declare function OperationTraverser<TBase extends GConstructor<TraverseBase>>(Base: TBase): {
19
- new (...args: any[]): {
20
- traverseBinary(node: {
21
- left: ASTNode;
22
- right: ASTNode;
23
- }): void;
24
- traverseUnary(node: {
25
- operand: ASTNode;
26
- }): void;
27
- visitArithmeticUnaryOperation(node: ArithmeticUnaryOperation): void;
28
- visitArithmeticBinaryOperation(node: ArithmeticBinaryOperation): void;
29
- visitListUnaryOperation(node: ListUnaryOperation): void;
30
- visitListBinaryOperation(node: ListBinaryOperation): void;
31
- visitComparisonOperation(node: ComparisonOperation): void;
32
- visitLogicalBinaryOperation(node: LogicalBinaryOperation): void;
33
- visitLogicalUnaryOperation(node: LogicalUnaryOperation): void;
34
- visitBitwiseBinaryOperation(node: BitwiseBinaryOperation): void;
35
- visitBitwiseUnaryOperation(node: BitwiseUnaryOperation): void;
36
- visitStringOperation(node: StringOperation): void;
37
- visitUnifyOperation(node: UnifyOperation): void;
38
- visitAssignOperation(node: AssignOperation): void;
39
- visit(node: ASTNode): void;
40
- traverseCollection(nodes: ASTNode[]): void;
41
- };
42
- } & TBase;
18
+ export declare function OperationTraverser<TBase extends VisitorConstructor<TraverseBase>>(Base: TBase): (abstract new (...args: any[]) => {
19
+ traverseBinary(node: {
20
+ left: ASTNode;
21
+ right: ASTNode;
22
+ }): void;
23
+ traverseUnary(node: {
24
+ operand: ASTNode;
25
+ }): void;
26
+ visitArithmeticUnaryOperation(node: ArithmeticUnaryOperation): void;
27
+ visitArithmeticBinaryOperation(node: ArithmeticBinaryOperation): void;
28
+ visitListUnaryOperation(node: ListUnaryOperation): void;
29
+ visitListBinaryOperation(node: ListBinaryOperation): void;
30
+ visitComparisonOperation(node: ComparisonOperation): void;
31
+ visitLogicalBinaryOperation(node: LogicalBinaryOperation): void;
32
+ visitLogicalUnaryOperation(node: LogicalUnaryOperation): void;
33
+ visitBitwiseBinaryOperation(node: BitwiseBinaryOperation): void;
34
+ visitBitwiseUnaryOperation(node: BitwiseUnaryOperation): void;
35
+ visitStringOperation(node: StringOperation): void;
36
+ visitUnifyOperation(node: UnifyOperation): void;
37
+ visitAssignOperation(node: AssignOperation): void;
38
+ visit(node: ASTNode): void;
39
+ traverseCollection(nodes: ASTNode[]): void;
40
+ fallback(node: ASTNode): void;
41
+ }) & TBase;
43
42
  //# sourceMappingURL=operations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/visitor/operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EACH,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEvD,MAAM,WAAW,gBAAgB,CAAC,OAAO;IACrC,6BAA6B,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC;IACvE,8BAA8B,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC;IACzE,uBAAuB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAC3D,wBAAwB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC;IAC7D,wBAAwB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC;IAC7D,2BAA2B,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC;IACnE,0BAA0B,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC;IACjE,2BAA2B,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC;IACnE,0BAA0B,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC;IACjE,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACrD,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;IACnD,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;CACxD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,YAAY,CAAC,YAAY,CAAC,EACvE,IAAI,EAAE,KAAK;;6BAGqB;YAAE,IAAI,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,OAAO,CAAA;SAAE,GAAG,IAAI;4BAIzC;YAAE,OAAO,EAAE,OAAO,CAAA;SAAE,GAAG,IAAI;4CAIlB,wBAAwB,GAAG,IAAI;6CAG9B,yBAAyB,GAAG,IAAI;sCAGvC,kBAAkB,GAAG,IAAI;uCAGxB,mBAAmB,GAAG,IAAI;uCAG1B,mBAAmB,GAAG,IAAI;0CAGvB,sBAAsB,GAAG,IAAI;yCAG9B,qBAAqB,GAAG,IAAI;0CAG3B,sBAAsB,GAAG,IAAI;yCAG9B,qBAAqB,GAAG,IAAI;mCAGlC,eAAe,GAAG,IAAI;kCAGvB,cAAc,GAAG,IAAI;mCAGpB,eAAe,GAAG,IAAI;;;;UAIxD"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/visitor/operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE7D,MAAM,WAAW,gBAAgB,CAAC,OAAO;IACvC,6BAA6B,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC;IACvE,8BAA8B,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC;IACzE,uBAAuB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAC3D,wBAAwB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC;IAC7D,wBAAwB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC;IAC7D,2BAA2B,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC;IACnE,0BAA0B,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC;IACjE,2BAA2B,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC;IACnE,0BAA0B,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC;IACjE,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACrD,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;IACnD,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;CACtD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,kBAAkB,CAAC,YAAY,CAAC,EAC/E,IAAI,EAAE,KAAK;yBAMmB;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;wBAIzC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;wCAIlB,wBAAwB,GAAG,IAAI;yCAG9B,yBAAyB,GAAG,IAAI;kCAGvC,kBAAkB,GAAG,IAAI;mCAGxB,mBAAmB,GAAG,IAAI;mCAG1B,mBAAmB,GAAG,IAAI;sCAGvB,sBAAsB,GAAG,IAAI;qCAG9B,qBAAqB,GAAG,IAAI;sCAG3B,sBAAsB,GAAG,IAAI;qCAG9B,qBAAqB,GAAG,IAAI;+BAGlC,eAAe,GAAG,IAAI;8BAGvB,cAAc,GAAG,IAAI;+BAGpB,eAAe,GAAG,IAAI;;;;WAKpD"}
@@ -1,5 +1,5 @@
1
1
  export function OperationTraverser(Base) {
2
- return class OperationTraverser extends Base {
2
+ class OperationTraverser extends Base {
3
3
  traverseBinary(node) {
4
4
  node.left.accept(this);
5
5
  node.right.accept(this);
@@ -43,5 +43,6 @@ export function OperationTraverser(Base) {
43
43
  visitAssignOperation(node) {
44
44
  this.traverseBinary(node);
45
45
  }
46
- };
46
+ }
47
+ return OperationTraverser;
47
48
  }
@@ -1,5 +1,5 @@
1
1
  import { VariablePattern, LiteralPattern, ApplicationPattern, TuplePattern, ListPattern, FunctorPattern, AsPattern, WildcardPattern, UnionPattern, ConstructorPattern, ConsPattern, TypePattern } from "../globals/patterns.js";
2
- import { TraverseBase, GConstructor } from "./base.js";
2
+ import { TraverseBase, VisitorConstructor } from "./base.js";
3
3
  export interface PatternVisitor<TReturn> {
4
4
  visitVariablePattern(node: VariablePattern): TReturn;
5
5
  visitLiteralPattern(node: LiteralPattern): TReturn;
@@ -14,22 +14,21 @@ export interface PatternVisitor<TReturn> {
14
14
  visitConsPattern(node: ConsPattern): TReturn;
15
15
  visitTypePattern(node: TypePattern): TReturn;
16
16
  }
17
- export declare function PatternTraverser<TBase extends GConstructor<TraverseBase>>(Base: TBase): {
18
- new (...args: any[]): {
19
- visitVariablePattern(node: VariablePattern): void;
20
- visitLiteralPattern(node: LiteralPattern): void;
21
- visitApplicationPattern(node: ApplicationPattern): void;
22
- visitTuplePattern(node: TuplePattern): void;
23
- visitListPattern(node: ListPattern): void;
24
- visitFunctorPattern(node: FunctorPattern): void;
25
- visitAsPattern(node: AsPattern): void;
26
- visitWildcardPattern(node: WildcardPattern): void;
27
- visitUnionPattern(node: UnionPattern): void;
28
- visitConstructorPattern(node: ConstructorPattern): void;
29
- visitConsPattern(node: ConsPattern): void;
30
- visitTypePattern(node: TypePattern): void;
31
- visit(node: import("../index.js").ASTNode): void;
32
- traverseCollection(nodes: import("../index.js").ASTNode[]): void;
33
- };
34
- } & TBase;
17
+ export declare function PatternTraverser<TBase extends VisitorConstructor<TraverseBase>>(Base: TBase): (abstract new (...args: any[]) => {
18
+ visitVariablePattern(node: VariablePattern): void;
19
+ visitLiteralPattern(node: LiteralPattern): void;
20
+ visitApplicationPattern(node: ApplicationPattern): void;
21
+ visitTuplePattern(node: TuplePattern): void;
22
+ visitListPattern(node: ListPattern): void;
23
+ visitFunctorPattern(node: FunctorPattern): void;
24
+ visitAsPattern(node: AsPattern): void;
25
+ visitWildcardPattern(node: WildcardPattern): void;
26
+ visitUnionPattern(node: UnionPattern): void;
27
+ visitConstructorPattern(node: ConstructorPattern): void;
28
+ visitConsPattern(node: ConsPattern): void;
29
+ visitTypePattern(node: TypePattern): void;
30
+ visit(node: import("../index.js").ASTNode): void;
31
+ traverseCollection(nodes: import("../index.js").ASTNode[]): void;
32
+ fallback(node: import("../index.js").ASTNode): void;
33
+ }) & TBase;
35
34
  //# sourceMappingURL=patterns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/visitor/patterns.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,SAAS,EACT,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,WAAW,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEvD,MAAM,WAAW,cAAc,CAAC,OAAO;IACnC,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACrD,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;IACnD,uBAAuB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAC3D,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC;IAC/C,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAC7C,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;IACnD,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IACzC,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACrD,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC;IAC/C,uBAAuB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAC3D,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAC7C,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;CAChD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,SAAS,YAAY,CAAC,YAAY,CAAC,EACrE,IAAI,EAAE,KAAK;;mCAGoB,eAAe,GAAG,IAAI;kCAGvB,cAAc,GAAG,IAAI;sCAGjB,kBAAkB,GAAG,IAAI;gCAI/B,YAAY,GAAG,IAAI;+BAGpB,WAAW,GAAG,IAAI;kCAGf,cAAc,GAAG,IAAI;6BAI1B,SAAS,GAAG,IAAI;mCAIV,eAAe,GAAG,IAAI;gCACzB,YAAY,GAAG,IAAI;sCAGb,kBAAkB,GAAG,IAAI;+BAGhC,WAAW,GAAG,IAAI;+BAIlB,WAAW,GAAG,IAAI;;;;UAKhD"}
1
+ {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/visitor/patterns.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,SAAS,EACT,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,WAAW,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE7D,MAAM,WAAW,cAAc,CAAC,OAAO;IACnC,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACrD,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;IACnD,uBAAuB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAC3D,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC;IAC/C,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAC7C,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;IACnD,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IACzC,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACrD,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC;IAC/C,uBAAuB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAC3D,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAC7C,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;CAChD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,SAAS,kBAAkB,CAAC,YAAY,CAAC,EAC3E,IAAI,EAAE,KAAK;+BAGoB,eAAe,GAAG,IAAI;8BAGvB,cAAc,GAAG,IAAI;kCAGjB,kBAAkB,GAAG,IAAI;4BAI/B,YAAY,GAAG,IAAI;2BAGpB,WAAW,GAAG,IAAI;8BAGf,cAAc,GAAG,IAAI;yBAI1B,SAAS,GAAG,IAAI;+BAIV,eAAe,GAAG,IAAI;4BACzB,YAAY,GAAG,IAAI;kCAGb,kBAAkB,GAAG,IAAI;2BAGhC,WAAW,GAAG,IAAI;2BAIlB,WAAW,GAAG,IAAI;;;;WAMhD"}
@@ -1,5 +1,5 @@
1
1
  export function PatternTraverser(Base) {
2
- return class PatternTraverser extends Base {
2
+ class PatternTraverser extends Base {
3
3
  visitVariablePattern(node) {
4
4
  node.name.accept(this);
5
5
  }
@@ -39,5 +39,7 @@ export function PatternTraverser(Base) {
39
39
  node.targetType.accept(this);
40
40
  node.innerPattern?.accept(this);
41
41
  }
42
- };
42
+ }
43
+ ;
44
+ return PatternTraverser;
43
45
  }
@@ -1,5 +1,5 @@
1
1
  import { BooleanPrimitive, CharPrimitive, ListPrimitive, NilPrimitive, NumberPrimitive, StringPrimitive, SymbolPrimitive } from "../globals/primitives.js";
2
- import { TraverseBase, GConstructor } from "./base.js";
2
+ import { TraverseBase, VisitorConstructor } from "./base.js";
3
3
  export interface PrimitiveVisitor<TReturn> {
4
4
  visitNumberPrimitive(node: NumberPrimitive): TReturn;
5
5
  visitBooleanPrimitive(node: BooleanPrimitive): TReturn;
@@ -9,17 +9,16 @@ export interface PrimitiveVisitor<TReturn> {
9
9
  visitSymbolPrimitive(node: SymbolPrimitive): TReturn;
10
10
  visitCharPrimitive(node: CharPrimitive): TReturn;
11
11
  }
12
- export declare function PrimitiveTraverser<TBase extends GConstructor<TraverseBase>>(Base: TBase): {
13
- new (...args: any[]): {
14
- visitNumberPrimitive(node: NumberPrimitive): void;
15
- visitBooleanPrimitive(node: BooleanPrimitive): void;
16
- visitStringPrimitive(node: StringPrimitive): void;
17
- visitListPrimitive(node: ListPrimitive): void;
18
- visitNilPrimitive(node: NilPrimitive): void;
19
- visitSymbolPrimitive(node: SymbolPrimitive): void;
20
- visitCharPrimitive(node: CharPrimitive): void;
21
- visit(node: import("../index.js").ASTNode): void;
22
- traverseCollection(nodes: import("../index.js").ASTNode[]): void;
23
- };
24
- } & TBase;
12
+ export declare function PrimitiveTraverser<TBase extends VisitorConstructor<TraverseBase>>(Base: TBase): (abstract new (...args: any[]) => {
13
+ visitNumberPrimitive(node: NumberPrimitive): void;
14
+ visitBooleanPrimitive(node: BooleanPrimitive): void;
15
+ visitStringPrimitive(node: StringPrimitive): void;
16
+ visitListPrimitive(node: ListPrimitive): void;
17
+ visitNilPrimitive(node: NilPrimitive): void;
18
+ visitSymbolPrimitive(node: SymbolPrimitive): void;
19
+ visitCharPrimitive(node: CharPrimitive): void;
20
+ visit(node: import("../index.js").ASTNode): void;
21
+ traverseCollection(nodes: import("../index.js").ASTNode[]): void;
22
+ fallback(node: import("../index.js").ASTNode): void;
23
+ }) & TBase;
25
24
  //# sourceMappingURL=primitives.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/visitor/primitives.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEvD,MAAM,WAAW,gBAAgB,CAAC,OAAO;IACrC,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACrD,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC;IACvD,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACrD,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;IACjD,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC;IAC/C,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACrD,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;CACpD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,YAAY,CAAC,YAAY,CAAC,EACvE,IAAI,EAAE,KAAK;;mCAGoB,eAAe,GAAG,IAAI;oCACrB,gBAAgB,GAAG,IAAI;mCACxB,eAAe,GAAG,IAAI;iCACxB,aAAa,GAAG,IAAI;gCAGrB,YAAY,GAAG,IAAI;mCAChB,eAAe,GAAG,IAAI;iCACxB,aAAa,GAAG,IAAI;;;;UAEpD"}
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/visitor/primitives.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE7D,MAAM,WAAW,gBAAgB,CAAC,OAAO;IACvC,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACrD,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC;IACvD,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACrD,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;IACjD,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC;IAC/C,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACrD,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;CAClD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,kBAAkB,CAAC,YAAY,CAAC,EAC/E,IAAI,EAAE,KAAK;+BAMkB,eAAe,GAAG,IAAI;gCACrB,gBAAgB,GAAG,IAAI;+BACxB,eAAe,GAAG,IAAI;6BACxB,aAAa,GAAG,IAAI;4BAGrB,YAAY,GAAG,IAAI;+BAChB,eAAe,GAAG,IAAI;6BACxB,aAAa,GAAG,IAAI;;;;WAGhD"}
@@ -1,5 +1,5 @@
1
1
  export function PrimitiveTraverser(Base) {
2
- return class PrimitiveTraverser extends Base {
2
+ class PrimitiveTraverser extends Base {
3
3
  visitNumberPrimitive(node) { }
4
4
  visitBooleanPrimitive(node) { }
5
5
  visitStringPrimitive(node) { }
@@ -9,5 +9,6 @@ export function PrimitiveTraverser(Base) {
9
9
  visitNilPrimitive(node) { }
10
10
  visitSymbolPrimitive(node) { }
11
11
  visitCharPrimitive(node) { }
12
- };
12
+ }
13
+ return PrimitiveTraverser;
13
14
  }
@@ -1,8 +1,8 @@
1
- import { Sequence, If, Return, Field, UnguardedBody, GuardedBody, Equation, Switch, Case, Try, Catch, Raise, Print, Input, For, Break, Continue, Variable, Assignment, Constructor, Record, Function } from "../globals/statements.js";
1
+ import { Sequence, If, Return, Field, UnguardedBody, NativeBody, Equation, Switch, Case, Try, Catch, Raise, Print, Input, For, Break, Continue, Variable, Assignment, Constructor, Record, Function } from "../globals/statements.js";
2
2
  import { EntryPoint, Procedure, Enumeration, While, Repeat, ForLoop, Structure } from "../paradigms/imperative.js";
3
3
  import { Rule, Fact, Query, LogicConstraint } from "../paradigms/logic.js";
4
4
  import { Method, Attribute, Class, Interface, Object, Super, Self, PrimitiveMethod } from "../paradigms/object.js";
5
- import { TraverseBase, GConstructor } from "./base.js";
5
+ import { TraverseBase, VisitorConstructor } from "./base.js";
6
6
  export interface StatementVisitor<TReturn> {
7
7
  visitSequence(node: Sequence): TReturn;
8
8
  visitSelf(node: Self): TReturn;
@@ -14,7 +14,7 @@ export interface StatementVisitor<TReturn> {
14
14
  visitConstructor(node: Constructor): TReturn;
15
15
  visitRecord(node: Record): TReturn;
16
16
  visitUnguardedBody(node: UnguardedBody): TReturn;
17
- visitGuardedBody(node: GuardedBody): TReturn;
17
+ visitNativeBody(node: NativeBody): TReturn;
18
18
  visitEquation(node: Equation): TReturn;
19
19
  visitSwitch(node: Switch): TReturn;
20
20
  visitCase(node: Case): TReturn;
@@ -46,51 +46,50 @@ export interface StatementVisitor<TReturn> {
46
46
  visitInterface(node: Interface): TReturn;
47
47
  visitLogicConstraint(node: LogicConstraint): TReturn;
48
48
  }
49
- export declare function StatementTraverser<TBase extends GConstructor<TraverseBase>>(Base: TBase): {
50
- new (...args: any[]): {
51
- visitSequence(node: Sequence): void;
52
- visitSelf(node: Self): void;
53
- visitSuper(node: Super): void;
54
- visitIf(node: If): void;
55
- visitReturn(node: Return): void;
56
- visitFunction(node: Function): void;
57
- visitField(node: Field): void;
58
- visitConstructor(node: Constructor): void;
59
- visitRecord(node: Record): void;
60
- visitUnguardedBody(node: UnguardedBody): void;
61
- visitGuardedBody(node: GuardedBody): void;
62
- visitEquation(node: Equation): void;
63
- visitSwitch(node: Switch): void;
64
- visitCase(node: Case): void;
65
- visitTry(node: Try): void;
66
- visitCatch(node: Catch): void;
67
- visitRaise(node: Raise): void;
68
- visitPrint(node: Print): void;
69
- visitInput(node: Input): void;
70
- visitFor(node: For): void;
71
- visitBreak(node: Break): void;
72
- visitContinue(node: Continue): void;
73
- visitVariable(node: Variable): void;
74
- visitAssignment(node: Assignment): void;
75
- visitStructure(node: Structure): void;
76
- visitEntryPoint(node: EntryPoint): void;
77
- visitProcedure(node: Procedure): void;
78
- visitEnumeration(node: Enumeration): void;
79
- visitWhile(node: While): void;
80
- visitRepeat(node: Repeat): void;
81
- visitForLoop(node: ForLoop): void;
82
- visitRule(node: Rule): void;
83
- visitFact(node: Fact): void;
84
- visitQuery(node: Query): void;
85
- visitMethod(node: Method): void;
86
- visitPrimitiveMethod(node: PrimitiveMethod): void;
87
- visitAttribute(node: Attribute): void;
88
- visitObject(node: Object): void;
89
- visitClass(node: Class): void;
90
- visitInterface(node: Interface): void;
91
- visitLogicConstraint(node: LogicConstraint): void;
92
- visit(node: import("../index.js").ASTNode): void;
93
- traverseCollection(nodes: import("../index.js").ASTNode[]): void;
94
- };
95
- } & TBase;
49
+ export declare function StatementTraverser<TBase extends VisitorConstructor<TraverseBase>>(Base: TBase): (abstract new (...args: any[]) => {
50
+ visitSequence(node: Sequence): void;
51
+ visitSelf(node: Self): void;
52
+ visitSuper(node: Super): void;
53
+ visitIf(node: If): void;
54
+ visitReturn(node: Return): void;
55
+ visitFunction(node: Function): void;
56
+ visitField(node: Field): void;
57
+ visitConstructor(node: Constructor): void;
58
+ visitRecord(node: Record): void;
59
+ visitUnguardedBody(node: UnguardedBody): void;
60
+ visitNativeBody(node: NativeBody): void;
61
+ visitEquation(node: Equation): void;
62
+ visitSwitch(node: Switch): void;
63
+ visitCase(node: Case): void;
64
+ visitTry(node: Try): void;
65
+ visitCatch(node: Catch): void;
66
+ visitRaise(node: Raise): void;
67
+ visitPrint(node: Print): void;
68
+ visitInput(node: Input): void;
69
+ visitFor(node: For): void;
70
+ visitBreak(node: Break): void;
71
+ visitContinue(node: Continue): void;
72
+ visitVariable(node: Variable): void;
73
+ visitAssignment(node: Assignment): void;
74
+ visitStructure(node: Structure): void;
75
+ visitEntryPoint(node: EntryPoint): void;
76
+ visitProcedure(node: Procedure): void;
77
+ visitEnumeration(node: Enumeration): void;
78
+ visitWhile(node: While): void;
79
+ visitRepeat(node: Repeat): void;
80
+ visitForLoop(node: ForLoop): void;
81
+ visitRule(node: Rule): void;
82
+ visitFact(node: Fact): void;
83
+ visitQuery(node: Query): void;
84
+ visitMethod(node: Method): void;
85
+ visitPrimitiveMethod(node: PrimitiveMethod): void;
86
+ visitAttribute(node: Attribute): void;
87
+ visitObject(node: Object): void;
88
+ visitClass(node: Class): void;
89
+ visitInterface(node: Interface): void;
90
+ visitLogicConstraint(node: LogicConstraint): void;
91
+ visit(node: import("../index.js").ASTNode): void;
92
+ traverseCollection(nodes: import("../index.js").ASTNode[]): void;
93
+ fallback(node: import("../index.js").ASTNode): void;
94
+ }) & TBase;
96
95
  //# sourceMappingURL=statements.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"statements.d.ts","sourceRoot":"","sources":["../../src/visitor/statements.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,EAAE,EACF,MAAM,EACN,KAAK,EACL,aAAa,EACb,WAAW,EACX,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,GAAG,EACH,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,GAAG,EACH,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,WAAW,EACX,MAAM,EACN,QAAQ,EACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,UAAU,EACV,SAAS,EACT,WAAW,EACX,KAAK,EACL,MAAM,EACN,OAAO,EACP,SAAS,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,eAAe,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,SAAS,EACT,MAAM,EACN,KAAK,EACL,IAAI,EACJ,eAAe,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEvD,MAAM,WAAW,gBAAgB,CAAC,OAAO;IACrC,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACvC,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IAC/B,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACjC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC;IAC3B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACvC,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACjC,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAC7C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;IACjD,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAC7C,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACvC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC;IAC7B,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACjC,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACjC,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACjC,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC;IAC7B,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACjC,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACvC,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACvC,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;IAC3C,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IACzC,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;IAC3C,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IACzC,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAC7C,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACjC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACrC,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IAC/B,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IAC/B,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACjC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACrD,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IACzC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACjC,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IACzC,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;CACxD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,YAAY,CAAC,YAAY,CAAC,EACvE,IAAI,EAAE,KAAK;;4BAGa,QAAQ,GAAG,IAAI;wBAGnB,IAAI,GAAG,IAAI;yBACV,KAAK,GAAG,IAAI;sBACf,EAAE,GAAG,IAAI;0BAKL,MAAM,GAAG,IAAI;4BAGX,QAAQ,GAAG,IAAI;yBAIlB,KAAK,GAAG,IAAI;+BAIN,WAAW,GAAG,IAAI;0BAIvB,MAAM,GAAG,IAAI;iCAKN,aAAa,GAAG,IAAI;+BAGtB,WAAW,GAAG,IAAI;4BAIrB,QAAQ,GAAG,IAAI;0BASjB,MAAM,GAAG,IAAI;wBAIf,IAAI,GAAG,IAAI;uBAIZ,GAAG,GAAG,IAAI;yBAKR,KAAK,GAAG,IAAI;yBAIZ,KAAK,GAAG,IAAI;yBAGZ,KAAK,GAAG,IAAI;yBAGZ,KAAK,GAAG,IAAI;uBAGd,GAAG,GAAG,IAAI;yBAIR,KAAK,GAAG,IAAI;4BAGT,QAAQ,GAAG,IAAI;4BAGf,QAAQ,GAAG,IAAI;8BAKb,UAAU,GAAG,IAAI;6BAIlB,SAAS,GAAG,IAAI;8BAGf,UAAU,GAAG,IAAI;6BAIlB,SAAS,GAAG,IAAI;+BAId,WAAW,GAAG,IAAI;yBAIxB,KAAK,GAAG,IAAI;0BAIX,MAAM,GAAG,IAAI;2BAIZ,OAAO,GAAG,IAAI;wBAMjB,IAAI,GAAG,IAAI;wBAIX,IAAI,GAAG,IAAI;yBAIV,KAAK,GAAG,IAAI;0BAGX,MAAM,GAAG,IAAI;mCAIJ,eAAe,GAAG,IAAI;6BAG5B,SAAS,GAAG,IAAI;0BAInB,MAAM,GAAG,IAAI;yBAId,KAAK,GAAG,IAAI;6BAMR,SAAS,GAAG,IAAI;mCAKV,eAAe,GAAG,IAAI;;;;UAIxD"}
1
+ {"version":3,"file":"statements.d.ts","sourceRoot":"","sources":["../../src/visitor/statements.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export function StatementTraverser(Base) {
2
- return class StatementTraverser extends Base {
2
+ class StatementTraverser extends Base {
3
3
  visitSequence(node) {
4
4
  this.traverseCollection(node.statements);
5
5
  }
@@ -34,10 +34,7 @@ export function StatementTraverser(Base) {
34
34
  visitUnguardedBody(node) {
35
35
  node.sequence.accept(this);
36
36
  }
37
- visitGuardedBody(node) {
38
- node.condition.accept(this);
39
- node.body.accept(this);
40
- }
37
+ visitNativeBody(node) { }
41
38
  visitEquation(node) {
42
39
  if (Array.isArray(node.body)) {
43
40
  this.traverseCollection(node.body);
@@ -147,6 +144,10 @@ export function StatementTraverser(Base) {
147
144
  visitObject(node) {
148
145
  node.identifier.accept(this);
149
146
  node.expression.accept(this);
147
+ node.extendsSymbol?.accept(this);
148
+ if (node.extendsArgs) {
149
+ this.traverseCollection(node.extendsArgs);
150
+ }
150
151
  }
151
152
  visitClass(node) {
152
153
  node.identifier.accept(this);
@@ -162,5 +163,7 @@ export function StatementTraverser(Base) {
162
163
  visitLogicConstraint(node) {
163
164
  node.expression.accept(this);
164
165
  }
165
- };
166
+ }
167
+ ;
168
+ return StatementTraverser;
166
169
  }
@@ -1,5 +1,5 @@
1
1
  import { Assert, Equality, Failure, Test, TestGroup, Truth } from "../globals/testing.js";
2
- import { TraverseBase, GConstructor } from "./base.js";
2
+ import { TraverseBase, VisitorConstructor } from "./base.js";
3
3
  export interface TestingVisitor<TReturn> {
4
4
  visitTestGroup(node: TestGroup): TReturn;
5
5
  visitTest(node: Test): TReturn;
@@ -8,16 +8,15 @@ export interface TestingVisitor<TReturn> {
8
8
  visitEquality(node: Equality): TReturn;
9
9
  visitFailure(node: Failure): TReturn;
10
10
  }
11
- export declare function TestingTraverser<TBase extends GConstructor<TraverseBase>>(Base: TBase): {
12
- new (...args: any[]): {
13
- visitTestGroup(node: TestGroup): void;
14
- visitTest(node: Test): void;
15
- visitAssert(node: Assert): void;
16
- visitTruth(node: Truth): void;
17
- visitEquality(node: Equality): void;
18
- visitFailure(node: Failure): void;
19
- visit(node: import("../index.js").ASTNode): void;
20
- traverseCollection(nodes: import("../index.js").ASTNode[]): void;
21
- };
22
- } & TBase;
11
+ export declare function TestingTraverser<TBase extends VisitorConstructor<TraverseBase>>(Base: TBase): (abstract new (...args: any[]) => {
12
+ visitTestGroup(node: TestGroup): void;
13
+ visitTest(node: Test): void;
14
+ visitAssert(node: Assert): void;
15
+ visitTruth(node: Truth): void;
16
+ visitEquality(node: Equality): void;
17
+ visitFailure(node: Failure): void;
18
+ visit(node: import("../index.js").ASTNode): void;
19
+ traverseCollection(nodes: import("../index.js").ASTNode[]): void;
20
+ fallback(node: import("../index.js").ASTNode): void;
21
+ }) & TBase;
23
22
  //# sourceMappingURL=testing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/visitor/testing.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,SAAS,EACT,KAAK,EACN,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEvD,MAAM,WAAW,cAAc,CAAC,OAAO;IACrC,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IACzC,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IAC/B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACjC,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACvC,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;CACtC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,SAAS,YAAY,CAAC,YAAY,CAAC,EACvE,IAAI,EAAE,KAAK;;6BAGY,SAAS,GAAG,IAAI;wBAIrB,IAAI,GAAG,IAAI;0BAKT,MAAM,GAAG,IAAI;yBAId,KAAK,GAAG,IAAI;4BAGT,QAAQ,GAAG,IAAI;2BAIhB,OAAO,GAAG,IAAI;;;;UAKpC"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/visitor/testing.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,SAAS,EACT,KAAK,EACN,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE7D,MAAM,WAAW,cAAc,CAAC,OAAO;IACrC,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IACzC,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IAC/B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACjC,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACvC,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;CACtC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,SAAS,kBAAkB,CAAC,YAAY,CAAC,EAC7E,IAAI,EAAE,KAAK;yBAGY,SAAS,GAAG,IAAI;oBAIrB,IAAI,GAAG,IAAI;sBAKT,MAAM,GAAG,IAAI;qBAId,KAAK,GAAG,IAAI;wBAGT,QAAQ,GAAG,IAAI;uBAIhB,OAAO,GAAG,IAAI;;;;WAMpC"}
@@ -1,5 +1,5 @@
1
1
  export function TestingTraverser(Base) {
2
- return class TestingTraverser extends Base {
2
+ class TestingTraverser extends Base {
3
3
  visitTestGroup(node) {
4
4
  node.name.accept(this);
5
5
  node.group.accept(this);
@@ -24,5 +24,7 @@ export function TestingTraverser(Base) {
24
24
  node.func.accept(this);
25
25
  node.message.accept(this);
26
26
  }
27
- };
27
+ }
28
+ ;
29
+ return TestingTraverser;
28
30
  }
@@ -1,15 +1,14 @@
1
1
  import { TypeClass, Instance } from "../paradigms/typeclasses.js";
2
- import { TraverseBase, GConstructor } from "./base.js";
2
+ import { TraverseBase, VisitorConstructor } from "./base.js";
3
3
  export interface TypeClassVisitor<TReturn> {
4
4
  visitTypeClass(node: TypeClass): TReturn;
5
5
  visitInstance(node: Instance): TReturn;
6
6
  }
7
- export declare function TypeClassTraverser<TBase extends GConstructor<TraverseBase>>(Base: TBase): {
8
- new (...args: any[]): {
9
- visitTypeClass(node: TypeClass): void;
10
- visitInstance(node: Instance): void;
11
- visit(node: import("../index.js").ASTNode): void;
12
- traverseCollection(nodes: import("../index.js").ASTNode[]): void;
13
- };
14
- } & TBase;
7
+ export declare function TypeClassTraverser<TBase extends VisitorConstructor<TraverseBase>>(Base: TBase): (abstract new (...args: any[]) => {
8
+ visitTypeClass(node: TypeClass): void;
9
+ visitInstance(node: Instance): void;
10
+ visit(node: import("../index.js").ASTNode): void;
11
+ traverseCollection(nodes: import("../index.js").ASTNode[]): void;
12
+ fallback(node: import("../index.js").ASTNode): void;
13
+ }) & TBase;
15
14
  //# sourceMappingURL=typeclasses.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typeclasses.d.ts","sourceRoot":"","sources":["../../src/visitor/typeclasses.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,QAAQ,EACT,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEvD,MAAM,WAAW,gBAAgB,CAAC,OAAO;IACvC,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;CACxC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,YAAY,CAAC,YAAY,CAAC,EACzE,IAAI,EAAE,KAAK;;6BAGY,SAAS,GAAG,IAAI;4BAGjB,QAAQ,GAAG,IAAI;;;;UAItC"}
1
+ {"version":3,"file":"typeclasses.d.ts","sourceRoot":"","sources":["../../src/visitor/typeclasses.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,QAAQ,EACT,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE7D,MAAM,WAAW,gBAAgB,CAAC,OAAO;IACvC,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IACzC,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;CACxC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,kBAAkB,CAAC,YAAY,CAAC,EAC/E,IAAI,EAAE,KAAK;yBAGY,SAAS,GAAG,IAAI;wBAGjB,QAAQ,GAAG,IAAI;;;;WAKtC"}
@@ -1,10 +1,12 @@
1
1
  export function TypeClassTraverser(Base) {
2
- return class TypeClassTraverser extends Base {
2
+ class TypeClassTraverser extends Base {
3
3
  visitTypeClass(node) {
4
4
  this.traverseCollection(node.signatures);
5
5
  }
6
6
  visitInstance(node) {
7
7
  this.traverseCollection(node.functions);
8
8
  }
9
- };
9
+ }
10
+ ;
11
+ return TypeClassTraverser;
10
12
  }
@@ -1,5 +1,5 @@
1
1
  import { SimpleType, TypeVar, TypeApplication, ListType, TupleType, Constraint, ParameterizedType, ConstrainedType, TypeAlias, TypeSignature, TypeCast } from "../globals/types.js";
2
- import { TraverseBase, GConstructor } from "./base.js";
2
+ import { TraverseBase, VisitorConstructor } from "./base.js";
3
3
  export interface TypeVisitor<TReturn> {
4
4
  visitSimpleType(node: SimpleType): TReturn;
5
5
  visitTypeVar(node: TypeVar): TReturn;
@@ -13,21 +13,20 @@ export interface TypeVisitor<TReturn> {
13
13
  visitTypeSignature(node: TypeSignature): TReturn;
14
14
  visitTypeCast(node: TypeCast): TReturn;
15
15
  }
16
- export declare function TypeTraverser<TBase extends GConstructor<TraverseBase>>(Base: TBase): {
17
- new (...args: any[]): {
18
- visitSimpleType(node: SimpleType): void;
19
- visitTypeVar(node: TypeVar): void;
20
- visitTypeApplication(node: TypeApplication): void;
21
- visitListType(node: ListType): void;
22
- visitTupleType(node: TupleType): void;
23
- visitConstraint(node: Constraint): void;
24
- visitParameterizedType(node: ParameterizedType): void;
25
- visitConstrainedType(node: ConstrainedType): void;
26
- visitTypeAlias(node: TypeAlias): void;
27
- visitTypeSignature(node: TypeSignature): void;
28
- visitTypeCast(node: TypeCast): void;
29
- visit(node: import("../index.js").ASTNode): void;
30
- traverseCollection(nodes: import("../index.js").ASTNode[]): void;
31
- };
32
- } & TBase;
16
+ export declare function TypeTraverser<TBase extends VisitorConstructor<TraverseBase>>(Base: TBase): (abstract new (...args: any[]) => {
17
+ visitSimpleType(node: SimpleType): void;
18
+ visitTypeVar(node: TypeVar): void;
19
+ visitTypeApplication(node: TypeApplication): void;
20
+ visitListType(node: ListType): void;
21
+ visitTupleType(node: TupleType): void;
22
+ visitConstraint(node: Constraint): void;
23
+ visitParameterizedType(node: ParameterizedType): void;
24
+ visitConstrainedType(node: ConstrainedType): void;
25
+ visitTypeAlias(node: TypeAlias): void;
26
+ visitTypeSignature(node: TypeSignature): void;
27
+ visitTypeCast(node: TypeCast): void;
28
+ visit(node: import("../index.js").ASTNode): void;
29
+ traverseCollection(nodes: import("../index.js").ASTNode[]): void;
30
+ fallback(node: import("../index.js").ASTNode): void;
31
+ }) & TBase;
33
32
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/visitor/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EACV,OAAO,EACP,eAAe,EACf,QAAQ,EACR,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,aAAa,EACb,QAAQ,EACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEvD,MAAM,WAAW,WAAW,CAAC,OAAO;IAChC,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;IAC3C,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACrC,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACrD,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACvC,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IACzC,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;IAC3C,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC;IACzD,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACrD,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IACzC,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;IACjD,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC1C;AAED,wBAAgB,aAAa,CAAC,KAAK,SAAS,YAAY,CAAC,YAAY,CAAC,EAClE,IAAI,EAAE,KAAK;;8BAGe,UAAU,GAAG,IAAI;2BAGpB,OAAO,GAAG,IAAI;mCAGN,eAAe,GAAG,IAAI;4BAI7B,QAAQ,GAAG,IAAI;6BAGd,SAAS,GAAG,IAAI;8BAIf,UAAU,GAAG,IAAI;qCAGV,iBAAiB,GAAG,IAAI;mCAK1B,eAAe,GAAG,IAAI;6BAG5B,SAAS,GAAG,IAAI;iCAIZ,aAAa,GAAG,IAAI;4BAIzB,QAAQ,GAAG,IAAI;;;;UAK1C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/visitor/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,OAAO,EACP,eAAe,EACf,QAAQ,EACR,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,aAAa,EACb,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE7D,MAAM,WAAW,WAAW,CAAC,OAAO;IAClC,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;IAC3C,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACrC,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACrD,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACvC,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IACzC,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;IAC3C,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC;IACzD,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACrD,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IACzC,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;IACjD,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;CACxC;AAED,wBAAgB,aAAa,CAAC,KAAK,SAAS,kBAAkB,CAAC,YAAY,CAAC,EAC1E,IAAI,EAAE,KAAK;0BAGa,UAAU,GAAG,IAAI;uBAGpB,OAAO,GAAG,IAAI;+BAGN,eAAe,GAAG,IAAI;wBAI7B,QAAQ,GAAG,IAAI;yBAGd,SAAS,GAAG,IAAI;0BAIf,UAAU,GAAG,IAAI;iCAGV,iBAAiB,GAAG,IAAI;+BAK1B,eAAe,GAAG,IAAI;yBAG5B,SAAS,GAAG,IAAI;6BAIZ,aAAa,GAAG,IAAI;wBAIzB,QAAQ,GAAG,IAAI;;;;WAMtC"}
@@ -1,5 +1,5 @@
1
1
  export function TypeTraverser(Base) {
2
- return class TypeTraverser extends Base {
2
+ class TypeTraverser extends Base {
3
3
  visitSimpleType(node) {
4
4
  this.traverseCollection(node.constraints);
5
5
  }
@@ -40,5 +40,6 @@ export function TypeTraverser(Base) {
40
40
  node.body.accept(this);
41
41
  node.expression.accept(this);
42
42
  }
43
- };
43
+ }
44
+ return TypeTraverser;
44
45
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yukigo-ast",
3
- "version": "0.2.1",
3
+ "version": "0.3.2",
4
4
  "description": "",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -18,14 +18,5 @@
18
18
  },
19
19
  "keywords": [],
20
20
  "author": "noiseArch",
21
- "license": "ISC",
22
- "devDependencies": {
23
- "tsup": "^8.5.0",
24
- "typescript": "^5.9.2",
25
- "@types/chai": "^5.2.2",
26
- "@types/mocha": "^10.0.10",
27
- "@types/node": "^24.2.0",
28
- "chai": "^6.2.0",
29
- "mocha": "^11.7.1"
30
- }
21
+ "license": "ISC"
31
22
  }