occam-verify-cli 0.0.972 → 0.0.975

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 (85) hide show
  1. package/bin/action/verify.js +30 -0
  2. package/bin/main.js +0 -27
  3. package/lib/context/file.js +1 -8
  4. package/lib/frame.js +3 -3
  5. package/lib/judgement.js +4 -4
  6. package/lib/metavariable.js +4 -28
  7. package/lib/resolve/complexSubstitutionAgainstSimpleSubstitution.js +76 -0
  8. package/lib/resolve/substitution.js +27 -0
  9. package/lib/resolve/substitutions.js +8 -70
  10. package/lib/rule.js +11 -1
  11. package/lib/substitution/statementForMetavariable.js +2 -2
  12. package/lib/substitution.js +8 -1
  13. package/lib/substitutions.js +19 -7
  14. package/lib/topLevelAssertion.js +11 -1
  15. package/lib/type.js +3 -3
  16. package/lib/unifier/metavariable.js +142 -0
  17. package/lib/unify/complexSubstitutionStatementWithSimpleSubstitutionStatement.js +26 -0
  18. package/lib/unify/qualifiedStatement.js +136 -0
  19. package/lib/unify/statementWithCombinator.js +29 -0
  20. package/lib/unify/statementWithCombinators.js +5 -14
  21. package/lib/unify/termWithBracketedConstructor.js +3 -3
  22. package/lib/unify/termWithConstructor.js +37 -0
  23. package/lib/unify/termWithConstructors.js +6 -33
  24. package/lib/unify/unqualifiedStatement.js +25 -0
  25. package/lib/verifier/statementAsCombinator.js +2 -2
  26. package/lib/verify/assertion/contained.js +2 -2
  27. package/lib/verify/assertion/defined.js +7 -4
  28. package/lib/verify/assertion/type.js +5 -3
  29. package/lib/verify/conclusion.js +2 -2
  30. package/lib/verify/consequent.js +2 -2
  31. package/lib/verify/declaration.js +14 -26
  32. package/lib/verify/equality.js +11 -7
  33. package/lib/verify/frame.js +39 -32
  34. package/lib/verify/judgement.js +28 -49
  35. package/lib/verify/metavariableGivenMetaType.js +44 -0
  36. package/lib/verify/premise.js +3 -3
  37. package/lib/verify/statement/qualified.js +3 -3
  38. package/lib/verify/statement/unqualified.js +9 -53
  39. package/lib/verify/statement.js +27 -62
  40. package/lib/verify/statementGivenMetaType.js +3 -2
  41. package/lib/verify/term.js +11 -5
  42. package/package.json +4 -4
  43. package/src/context/file.js +0 -6
  44. package/src/frame.js +1 -1
  45. package/src/judgement.js +1 -1
  46. package/src/metavariable.js +3 -32
  47. package/src/resolve/complexSubstitutionAgainstSimpleSubstitution.js +94 -0
  48. package/src/resolve/substitution.js +19 -0
  49. package/src/resolve/substitutions.js +9 -112
  50. package/src/rule.js +10 -0
  51. package/src/substitution/statementForMetavariable.js +1 -1
  52. package/src/substitution.js +6 -0
  53. package/src/substitutions.js +17 -6
  54. package/src/topLevelAssertion.js +10 -0
  55. package/src/type.js +3 -3
  56. package/src/unifier/metavariable.js +46 -0
  57. package/src/unify/complexSubstitutionStatementWithSimpleSubstitutionStatement.js +18 -0
  58. package/src/unify/{statement/qualified.js → qualifiedStatement.js} +61 -31
  59. package/src/unify/statementWithCombinator.js +22 -0
  60. package/src/unify/statementWithCombinators.js +5 -20
  61. package/src/unify/termWithBracketedConstructor.js +1 -1
  62. package/src/unify/termWithConstructor.js +39 -0
  63. package/src/unify/termWithConstructors.js +1 -37
  64. package/src/unify/{statement/unqualified.js → unqualifiedStatement.js} +1 -1
  65. package/src/verifier/statementAsCombinator.js +2 -2
  66. package/src/verify/assertion/contained.js +1 -1
  67. package/src/verify/assertion/defined.js +10 -3
  68. package/src/verify/assertion/type.js +6 -4
  69. package/src/verify/conclusion.js +1 -1
  70. package/src/verify/consequent.js +1 -1
  71. package/src/verify/declaration.js +25 -36
  72. package/src/verify/equality.js +12 -8
  73. package/src/verify/frame.js +52 -39
  74. package/src/verify/judgement.js +43 -75
  75. package/src/verify/metavariableGivenMetaType.js +45 -0
  76. package/src/verify/premise.js +3 -3
  77. package/src/verify/statement/qualified.js +1 -1
  78. package/src/verify/statement/unqualified.js +8 -13
  79. package/src/verify/statement.js +25 -69
  80. package/src/verify/statementGivenMetaType.js +3 -1
  81. package/src/verify/term.js +13 -6
  82. package/lib/unify/statement/qualified.js +0 -117
  83. package/lib/unify/statement/unqualified.js +0 -25
  84. package/lib/verify/metavariable.js +0 -51
  85. package/src/verify/metavariable.js +0 -58
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
12
+ var _unifier = /*#__PURE__*/ _interop_require_default(require("../unifier"));
13
+ var _query = require("../utilities/query");
14
+ var _termWithType = /*#__PURE__*/ _interop_require_default(require("../unify/termWithType"));
15
+ function _assert_this_initialized(self) {
16
+ if (self === void 0) {
17
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
18
+ }
19
+ return self;
20
+ }
21
+ function _call_super(_this, derived, args) {
22
+ derived = _get_prototype_of(derived);
23
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
24
+ }
25
+ function _class_call_check(instance, Constructor) {
26
+ if (!(instance instanceof Constructor)) {
27
+ throw new TypeError("Cannot call a class as a function");
28
+ }
29
+ }
30
+ function _defineProperties(target, props) {
31
+ for(var i = 0; i < props.length; i++){
32
+ var descriptor = props[i];
33
+ descriptor.enumerable = descriptor.enumerable || false;
34
+ descriptor.configurable = true;
35
+ if ("value" in descriptor) descriptor.writable = true;
36
+ Object.defineProperty(target, descriptor.key, descriptor);
37
+ }
38
+ }
39
+ function _create_class(Constructor, protoProps, staticProps) {
40
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
41
+ if (staticProps) _defineProperties(Constructor, staticProps);
42
+ return Constructor;
43
+ }
44
+ function _define_property(obj, key, value) {
45
+ if (key in obj) {
46
+ Object.defineProperty(obj, key, {
47
+ value: value,
48
+ enumerable: true,
49
+ configurable: true,
50
+ writable: true
51
+ });
52
+ } else {
53
+ obj[key] = value;
54
+ }
55
+ return obj;
56
+ }
57
+ function _get_prototype_of(o) {
58
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
59
+ return o.__proto__ || Object.getPrototypeOf(o);
60
+ };
61
+ return _get_prototype_of(o);
62
+ }
63
+ function _inherits(subClass, superClass) {
64
+ if (typeof superClass !== "function" && superClass !== null) {
65
+ throw new TypeError("Super expression must either be null or a function");
66
+ }
67
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
68
+ constructor: {
69
+ value: subClass,
70
+ writable: true,
71
+ configurable: true
72
+ }
73
+ });
74
+ if (superClass) _set_prototype_of(subClass, superClass);
75
+ }
76
+ function _interop_require_default(obj) {
77
+ return obj && obj.__esModule ? obj : {
78
+ default: obj
79
+ };
80
+ }
81
+ function _possible_constructor_return(self, call) {
82
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
83
+ return call;
84
+ }
85
+ return _assert_this_initialized(self);
86
+ }
87
+ function _set_prototype_of(o, p) {
88
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
89
+ o.__proto__ = p;
90
+ return o;
91
+ };
92
+ return _set_prototype_of(o, p);
93
+ }
94
+ function _type_of(obj) {
95
+ "@swc/helpers - typeof";
96
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
97
+ }
98
+ function _is_native_reflect_construct() {
99
+ try {
100
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
101
+ } catch (_) {}
102
+ return (_is_native_reflect_construct = function() {
103
+ return !!result;
104
+ })();
105
+ }
106
+ var typeNodeQuery = (0, _query.nodeQuery)("/type!"), termNodeQuery = (0, _query.nodeQuery)("/term!");
107
+ var MetavariableUnifier = /*#__PURE__*/ function(Unifier) {
108
+ _inherits(MetavariableUnifier, Unifier);
109
+ function MetavariableUnifier() {
110
+ _class_call_check(this, MetavariableUnifier);
111
+ return _call_super(this, MetavariableUnifier, arguments);
112
+ }
113
+ _create_class(MetavariableUnifier, [
114
+ {
115
+ key: "unify",
116
+ value: function unify(metavariableNodeA, metavariableNodeB, localContext) {
117
+ var unified;
118
+ var nonTerminalNodeA = metavariableNodeA, nonTerminalNodeB = metavariableNodeB, nonTerminalNodeUnified = this.unifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext);
119
+ unified = nonTerminalNodeUnified; ///
120
+ return unified;
121
+ }
122
+ }
123
+ ]);
124
+ return MetavariableUnifier;
125
+ }(_unifier.default);
126
+ _define_property(MetavariableUnifier, "maps", [
127
+ {
128
+ nodeQueryA: termNodeQuery,
129
+ nodeQueryB: typeNodeQuery,
130
+ unify: function(termNodeA, typeNodeB, localContext) {
131
+ var termNode = termNodeA, typeNode = typeNodeB, termUnifiedWithType = (0, _termWithType.default)(termNode, typeNode, localContext);
132
+ return termUnifiedWithType;
133
+ }
134
+ }
135
+ ]);
136
+ var metavariableUnifier = new MetavariableUnifier();
137
+ Object.assign(_shim.default, {
138
+ metavariableUnifier: metavariableUnifier
139
+ });
140
+ var _default = metavariableUnifier;
141
+
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmaWVyL21ldGF2YXJpYWJsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4uL3NoaW1cIjtcbmltcG9ydCBVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB1bmlmeVRlcm1XaXRoVHlwZSBmcm9tIFwiLi4vdW5pZnkvdGVybVdpdGhUeXBlXCI7XG5cbmNvbnN0IHR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdHlwZSFcIiksXG4gICAgICB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0hXCIpO1xuXG5jbGFzcyBNZXRhdmFyaWFibGVVbmlmaWVyIGV4dGVuZHMgVW5pZmllciB7XG4gIHVuaWZ5KG1ldGF2YXJpYWJsZU5vZGVBLCBtZXRhdmFyaWFibGVOb2RlQiwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHVuaWZpZWQ7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBID0gbWV0YXZhcmlhYmxlTm9kZUEsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBtZXRhdmFyaWFibGVOb2RlQiwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVW5pZmllZCA9IHRoaXMudW5pZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgbG9jYWxDb250ZXh0KTtcblxuICAgIHVuaWZpZWQgPSBub25UZXJtaW5hbE5vZGVVbmlmaWVkOyAvLy9cblxuICAgIHJldHVybiB1bmlmaWVkO1xuICB9XG5cbiAgc3RhdGljIG1hcHMgPSBbXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5QTogdGVybU5vZGVRdWVyeSxcbiAgICAgIG5vZGVRdWVyeUI6IHR5cGVOb2RlUXVlcnksXG4gICAgICB1bmlmeTogKHRlcm1Ob2RlQSwgdHlwZU5vZGVCLCBsb2NhbENvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgdGVybU5vZGUgPSB0ZXJtTm9kZUEsIC8vL1xuICAgICAgICAgICAgICB0eXBlTm9kZSA9IHR5cGVOb2RlQiwgLy8vXG4gICAgICAgICAgICAgIHRlcm1VbmlmaWVkV2l0aFR5cGUgPSB1bmlmeVRlcm1XaXRoVHlwZSh0ZXJtTm9kZSwgdHlwZU5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIHRlcm1VbmlmaWVkV2l0aFR5cGU7XG4gICAgICB9XG4gICAgfVxuICBdO1xufVxuXG5jb25zdCBtZXRhdmFyaWFibGVVbmlmaWVyID0gbmV3IE1ldGF2YXJpYWJsZVVuaWZpZXIoKTtcblxuT2JqZWN0LmFzc2lnbihzaGltLCB7XG4gIG1ldGF2YXJpYWJsZVVuaWZpZXJcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhdmFyaWFibGVVbmlmaWVyO1xuIl0sIm5hbWVzIjpbInR5cGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0ZXJtTm9kZVF1ZXJ5IiwiTWV0YXZhcmlhYmxlVW5pZmllciIsInVuaWZ5IiwibWV0YXZhcmlhYmxlTm9kZUEiLCJtZXRhdmFyaWFibGVOb2RlQiIsImxvY2FsQ29udGV4dCIsInVuaWZpZWQiLCJub25UZXJtaW5hbE5vZGVBIiwibm9uVGVybWluYWxOb2RlQiIsIm5vblRlcm1pbmFsTm9kZVVuaWZpZWQiLCJ1bmlmeU5vblRlcm1pbmFsTm9kZSIsIlVuaWZpZXIiLCJtYXBzIiwibm9kZVF1ZXJ5QSIsIm5vZGVRdWVyeUIiLCJ0ZXJtTm9kZUEiLCJ0eXBlTm9kZUIiLCJ0ZXJtTm9kZSIsInR5cGVOb2RlIiwidGVybVVuaWZpZWRXaXRoVHlwZSIsInVuaWZ5VGVybVdpdGhUeXBlIiwibWV0YXZhcmlhYmxlVW5pZmllciIsIk9iamVjdCIsImFzc2lnbiIsInNoaW0iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTZDQTs7O2VBQUE7OzsyREEzQ2lCOzhEQUNHO3FCQUVNO21FQUNJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU5QixJQUFNQSxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsV0FDMUJDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUVoQyxJQUFBLEFBQU1FLG9DQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtpQ0FBQUE7O2tCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBLE1BQU1DLGlCQUFpQixFQUFFQyxpQkFBaUIsRUFBRUMsWUFBWTtnQkFDdEQsSUFBSUM7Z0JBRUosSUFBTUMsbUJBQW1CSixtQkFDbkJLLG1CQUFtQkosbUJBQ25CSyx5QkFBeUIsSUFBSSxDQUFDQyxvQkFBb0IsQ0FBQ0gsa0JBQWtCQyxrQkFBa0JIO2dCQUU3RkMsVUFBVUcsd0JBQXdCLEdBQUc7Z0JBRXJDLE9BQU9IO1lBQ1Q7OztXQVhJTDtFQUE0QlUsZ0JBQU87QUFhdkMsaUJBYklWLHFCQWFHVyxRQUFPO0lBQ1o7UUFDRUMsWUFBWWI7UUFDWmMsWUFBWWhCO1FBQ1pJLE9BQU8sU0FBQ2EsV0FBV0MsV0FBV1g7WUFDNUIsSUFBTVksV0FBV0YsV0FDWEcsV0FBV0YsV0FDWEcsc0JBQXNCQyxJQUFBQSxxQkFBaUIsRUFBQ0gsVUFBVUMsVUFBVWI7WUFFbEUsT0FBT2M7UUFDVDtJQUNGO0NBQ0Q7QUFHSCxJQUFNRSxzQkFBc0IsSUFBSXBCO0FBRWhDcUIsT0FBT0MsTUFBTSxDQUFDQyxhQUFJLEVBQUU7SUFDbEJILHFCQUFBQTtBQUNGO0lBRUEsV0FBZUEifQ==
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return unifyComplexSubstitutionStatementWithSimpleSubstitutionStatement;
9
+ }
10
+ });
11
+ var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../unifier/metaLevel"));
12
+ function _interop_require_default(obj) {
13
+ return obj && obj.__esModule ? obj : {
14
+ default: obj
15
+ };
16
+ }
17
+ function unifyComplexSubstitutionStatementWithSimpleSubstitutionStatement(complexSubstitutionStatementNode, simpleSubstitutionStatementNode, substitutions, localContextA, localContextB) {
18
+ var complexSubstitutionStatementWithSimpleSubstitutionStatement;
19
+ var nodeA = complexSubstitutionStatementNode, nodeB = simpleSubstitutionStatementNode; ///
20
+ localContextA = localContextB; ///
21
+ var unified = _metaLevel.default.unify(nodeA, nodeB, substitutions, localContextA, localContextB);
22
+ complexSubstitutionStatementWithSimpleSubstitutionStatement = unified; ///
23
+ return complexSubstitutionStatementWithSimpleSubstitutionStatement;
24
+ }
25
+
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9jb21wbGV4U3Vic3RpdHV0aW9uU3RhdGVtZW50V2l0aFNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG1ldGFMZXZlbFVuaWZpZXIgZnJvbSBcIi4uL3VuaWZpZXIvbWV0YUxldmVsXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5Q29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudFdpdGhTaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnQoY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUsIHNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgbGV0IGNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnRXaXRoU2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50O1xuXG4gIGNvbnN0IG5vZGVBID0gY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgbm9kZUIgPSBzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlOyAgLy8vXG5cbiAgbG9jYWxDb250ZXh0QSA9IGxvY2FsQ29udGV4dEI7ICAvLy9cblxuICBjb25zdCB1bmlmaWVkID0gbWV0YUxldmVsVW5pZmllci51bmlmeShub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gIGNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnRXaXRoU2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50ID0gdW5pZmllZDsgIC8vL1xuXG4gIHJldHVybiBjb21wbGV4U3Vic3RpdHV0aW9uU3RhdGVtZW50V2l0aFNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudDtcbn1cbiJdLCJuYW1lcyI6WyJ1bmlmeUNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnRXaXRoU2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50IiwiY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUiLCJzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dEEiLCJsb2NhbENvbnRleHRCIiwiY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudFdpdGhTaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnQiLCJub2RlQSIsIm5vZGVCIiwidW5pZmllZCIsIm1ldGFMZXZlbFVuaWZpZXIiLCJ1bmlmeSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUF3QkE7OztnRUFGSzs7Ozs7O0FBRWQsU0FBU0EsaUVBQWlFQyxnQ0FBZ0MsRUFBRUMsK0JBQStCLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhO0lBQ3JNLElBQUlDO0lBRUosSUFBTUMsUUFBUU4sa0NBQ1JPLFFBQVFOLGlDQUFrQyxHQUFHO0lBRW5ERSxnQkFBZ0JDLGVBQWdCLEdBQUc7SUFFbkMsSUFBTUksVUFBVUMsa0JBQWdCLENBQUNDLEtBQUssQ0FBQ0osT0FBT0MsT0FBT0wsZUFBZUMsZUFBZUM7SUFFbkZDLDhEQUE4REcsU0FBVSxHQUFHO0lBRTNFLE9BQU9IO0FBQ1QifQ==
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return unifyQualifiedStatement;
9
+ }
10
+ });
11
+ var _metavariable = /*#__PURE__*/ _interop_require_default(require("../unifier/metavariable"));
12
+ var _statementForMetavariable = /*#__PURE__*/ _interop_require_default(require("../substitution/statementForMetavariable"));
13
+ var _query = require("../utilities/query");
14
+ var _name = require("../utilities/name");
15
+ function _interop_require_default(obj) {
16
+ return obj && obj.__esModule ? obj : {
17
+ default: obj
18
+ };
19
+ }
20
+ var statementNodeQuery = (0, _query.nodeQuery)("/qualifiedStatement/statement!"), metavariableNodeQuery = (0, _query.nodeQuery)("/qualifiedStatement/reference/metavariable!");
21
+ var unifyQualifiedStatementFunctions = [
22
+ unifyQualifiedStatementAWithRule,
23
+ unifyQualifiedStatementAWithAxiom,
24
+ unifyQualifiedStatementAWithLemma,
25
+ unifyQualifiedStatementAWithTheorem,
26
+ unifyQualifiedStatementAWithConjecture,
27
+ unifyQualifiedStatementAWithReference
28
+ ];
29
+ function unifyQualifiedStatement(qualifiedStatementNode, substitutions, localContext) {
30
+ var qualifiedStatementUnified;
31
+ var qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
32
+ localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement..."), qualifiedStatementNode);
33
+ qualifiedStatementUnified = unifyQualifiedStatementFunctions.some(function(unifyQualifiedStatementFunction) {
34
+ var qualifiedStatementUnified = unifyQualifiedStatementFunction(qualifiedStatementNode, substitutions, localContext);
35
+ return qualifiedStatementUnified;
36
+ });
37
+ if (qualifiedStatementUnified) {
38
+ localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement."), qualifiedStatementNode);
39
+ }
40
+ return qualifiedStatementUnified;
41
+ }
42
+ function unifyQualifiedStatementAWithRule(qualifiedStatementNode, substitutions, localContext) {
43
+ var qualifiedStatementUnifiedWithRule = false;
44
+ var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), rule = localContext.findRuleByMetavariableNode(metavariableNode);
45
+ if (rule !== null) {
46
+ var statementNode = statementNodeQuery(qualifiedStatementNode), labelMetavariableNodes = rule.getLabelMetavariableNodes(), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode), labelMetavariableNodesString = localContext.nodesAsString(labelMetavariableNodes);
47
+ localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' rule..."), qualifiedStatementNode);
48
+ var statementUnified = rule.unifyStatement(statementNode, localContext);
49
+ qualifiedStatementUnifiedWithRule = statementUnified; ///
50
+ if (qualifiedStatementUnifiedWithRule) {
51
+ localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' rule."), qualifiedStatementNode);
52
+ }
53
+ }
54
+ return qualifiedStatementUnifiedWithRule;
55
+ }
56
+ function unifyQualifiedStatementAWithAxiom(qualifiedStatementNode, substitutions, localContext) {
57
+ var qualifiedStatementUnifiedWithAxiom = false;
58
+ var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), axiom = localContext.findAxiomByMetavariableNode(metavariableNode);
59
+ if (axiom !== null) {
60
+ var statementNode = statementNodeQuery(qualifiedStatementNode), labelMetavariableNodes = axiom.getLabelMetavariableNodes(), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode), labelMetavariableNodesString = localContext.nodesAsString(labelMetavariableNodes);
61
+ localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' axiom..."), qualifiedStatementNode);
62
+ var statementUnified = axiom.unifyStatement(statementNode, localContext);
63
+ qualifiedStatementUnifiedWithAxiom = statementUnified; ///
64
+ if (qualifiedStatementUnifiedWithAxiom) {
65
+ localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' axiom."), qualifiedStatementNode);
66
+ }
67
+ }
68
+ return qualifiedStatementUnifiedWithAxiom;
69
+ }
70
+ function unifyQualifiedStatementAWithLemma(qualifiedStatementNode, substitutions, localContext) {
71
+ var qualifiedStatementUnifiedWithLemma = false;
72
+ var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), lemma = localContext.findLemmaByMetavariableNode(metavariableNode);
73
+ if (lemma !== null) {
74
+ var statementNode = statementNodeQuery(qualifiedStatementNode), labelMetavariableNodes = lemma.getLabelMetavariableNodes(), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode), labelMetavariableNodesString = localContext.nodesAsString(labelMetavariableNodes);
75
+ localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' lemma..."), qualifiedStatementNode);
76
+ var statementUnified = lemma.unifyStatement(statementNode, localContext);
77
+ qualifiedStatementUnifiedWithLemma = statementUnified; ///
78
+ if (qualifiedStatementUnifiedWithLemma) {
79
+ localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' lemma."), qualifiedStatementNode);
80
+ }
81
+ }
82
+ return qualifiedStatementUnifiedWithLemma;
83
+ }
84
+ function unifyQualifiedStatementAWithTheorem(qualifiedStatementNode, substitutions, localContext) {
85
+ var qualifiedStatementUnifiedWithTheorem = false;
86
+ var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), theorem = localContext.findTheoremByMetavariableNode(metavariableNode);
87
+ if (theorem !== null) {
88
+ var statementNode = statementNodeQuery(qualifiedStatementNode), labelMetavariableNodes = theorem.getLabelMetavariableNodes(), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode), labelMetavariableNodesString = localContext.nodesAsString(labelMetavariableNodes);
89
+ localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' theorem..."), qualifiedStatementNode);
90
+ var statementUnified = theorem.unifyStatement(statementNode, localContext);
91
+ qualifiedStatementUnifiedWithTheorem = statementUnified; ///
92
+ if (qualifiedStatementUnifiedWithTheorem) {
93
+ localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' theorem."), qualifiedStatementNode);
94
+ }
95
+ }
96
+ return qualifiedStatementUnifiedWithTheorem;
97
+ }
98
+ function unifyQualifiedStatementAWithConjecture(qualifiedStatementNode, substitutions, localContext) {
99
+ var qualifiedStatementUnifiedWithConjecture = false;
100
+ var metavariableNode = metavariableNodeQuery(qualifiedStatementNode), conjecture = localContext.findConjectureByMetavariableNode(metavariableNode);
101
+ if (conjecture !== null) {
102
+ var statementNode = statementNodeQuery(qualifiedStatementNode), labelMetavariableNodes = conjecture.getLabelMetavariableNodes(), qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode), labelMetavariableNodesString = localContext.nodesAsString(labelMetavariableNodes);
103
+ localContext.trace("Unifying the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' conjecture..."), qualifiedStatementNode);
104
+ var statementUnified = conjecture.unifyStatement(statementNode, localContext);
105
+ qualifiedStatementUnifiedWithConjecture = statementUnified; ///
106
+ if (qualifiedStatementUnifiedWithConjecture) {
107
+ localContext.debug("...unified the '".concat(qualifiedStatementString, "' qualified statement with the '").concat(labelMetavariableNodesString, "' conjecture."), qualifiedStatementNode);
108
+ }
109
+ }
110
+ return qualifiedStatementUnifiedWithConjecture;
111
+ }
112
+ function unifyQualifiedStatementAWithReference(qualifiedStatementNode, substitutions, localContext) {
113
+ var qualifiedStatementUnifiedWithReference = false;
114
+ var metavariableNode = metavariableNodeQuery(qualifiedStatementNode);
115
+ var metavariableName = (0, _name.metavariableNameFromMetavariableNode)(metavariableNode), metavariable = localContext.findMetavariableByMetavariableName(metavariableName);
116
+ if (metavariable !== null) {
117
+ var statementNode = statementNodeQuery(qualifiedStatementNode), statementString = localContext.nodeAsString(statementNode), metavariableString = localContext.nodeAsString(metavariableNode);
118
+ localContext.trace("Unifying the '".concat(statementString, "' qualified statement with the '").concat(metavariableString, "' reference..."), qualifiedStatementNode);
119
+ var metavariableNodeA = metavariableNode; ///
120
+ metavariableNode = metavariable.getNode();
121
+ var metavariableNodeB = metavariableNode; ///
122
+ var unified = _metavariable.default.unify(metavariableNodeA, metavariableNodeB, localContext);
123
+ if (unified) {
124
+ metavariableNode = metavariableNodeA; ///
125
+ var statementForMetavariableSubstitution = _statementForMetavariable.default.fromStatementNodeAndMetavariableNode(statementNode, metavariableNode), substitution = statementForMetavariableSubstitution, localContextA = localContext, localContextB = localContext; ///
126
+ substitutions.addSubstitution(substitution, localContextA, localContextB);
127
+ qualifiedStatementUnifiedWithReference = true;
128
+ }
129
+ if (qualifiedStatementUnifiedWithReference) {
130
+ localContext.debug("...unified the '".concat(statementString, "' qualified statement with the '").concat(metavariableString, "' reference."), qualifiedStatementNode);
131
+ }
132
+ }
133
+ return qualifiedStatementUnifiedWithReference;
134
+ }
135
+
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9xdWFsaWZpZWRTdGF0ZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBtZXRhdmFyaWFibGVVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyL21ldGF2YXJpYWJsZVwiO1xuaW1wb3J0IFN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiBmcm9tIFwiLi4vc3Vic3RpdHV0aW9uL3N0YXRlbWVudEZvck1ldGF2YXJpYWJsZVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25hbWVcIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpLFxuICAgICAgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZFN0YXRlbWVudC9yZWZlcmVuY2UvbWV0YXZhcmlhYmxlIVwiKTtcblxuY29uc3QgdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRGdW5jdGlvbnMgPSBbXG4gIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhSdWxlLFxuICB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoQXhpb20sXG4gIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhMZW1tYSxcbiAgdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aFRoZW9yZW0sXG4gIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhDb25qZWN0dXJlLFxuICB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoUmVmZXJlbmNlXG5dO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVF1YWxpZmllZFN0YXRlbWVudChxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWQ7XG5cbiAgY29uc3QgcXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50Li4uYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZCA9IHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50RnVuY3Rpb25zLnNvbWUoKHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50RnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkID0gdW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRGdW5jdGlvbihxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgcmV0dXJuIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWQ7XG4gIH0pO1xuXG4gIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50LmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhSdWxlKHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSdWxlID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgcnVsZSA9IGxvY2FsQ29udGV4dC5maW5kUnVsZUJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAocnVsZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbGFiZWxNZXRhdmFyaWFibGVOb2RlcyA9IHJ1bGUuZ2V0TGFiZWxNZXRhdmFyaWFibGVOb2RlcygpLFxuICAgICAgICAgIHF1YWxpZmllZFN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbGFiZWxNZXRhdmFyaWFibGVOb2Rlc1N0cmluZyA9IGxvY2FsQ29udGV4dC5ub2Rlc0FzU3RyaW5nKGxhYmVsTWV0YXZhcmlhYmxlTm9kZXMpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtsYWJlbE1ldGF2YXJpYWJsZU5vZGVzU3RyaW5nfScgcnVsZS4uLmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50VW5pZmllZCA9IHJ1bGUudW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICAgIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoUnVsZSA9IHN0YXRlbWVudFVuaWZpZWQ7ICAvLy9cblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFJ1bGUpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtsYWJlbE1ldGF2YXJpYWJsZU5vZGVzU3RyaW5nfScgcnVsZS5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSdWxlO1xufVxuXG5mdW5jdGlvbiB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoQXhpb20ocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aEF4aW9tID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgYXhpb20gPSBsb2NhbENvbnRleHQuZmluZEF4aW9tQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGlmIChheGlvbSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbGFiZWxNZXRhdmFyaWFibGVOb2RlcyA9IGF4aW9tLmdldExhYmVsTWV0YXZhcmlhYmxlTm9kZXMoKSxcbiAgICAgICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGxhYmVsTWV0YXZhcmlhYmxlTm9kZXNTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZXNBc1N0cmluZyhsYWJlbE1ldGF2YXJpYWJsZU5vZGVzKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bGFiZWxNZXRhdmFyaWFibGVOb2Rlc1N0cmluZ30nIGF4aW9tLi4uYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkID0gYXhpb20udW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICAgIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoQXhpb20gPSBzdGF0ZW1lbnRVbmlmaWVkOyAvLy9cblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aEF4aW9tKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bGFiZWxNZXRhdmFyaWFibGVOb2Rlc1N0cmluZ30nIGF4aW9tLmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aEF4aW9tO1xufVxuXG5mdW5jdGlvbiB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoTGVtbWEocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aExlbW1hID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgbGVtbWEgPSBsb2NhbENvbnRleHQuZmluZExlbW1hQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGlmIChsZW1tYSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbGFiZWxNZXRhdmFyaWFibGVOb2RlcyA9IGxlbW1hLmdldExhYmVsTWV0YXZhcmlhYmxlTm9kZXMoKSxcbiAgICAgICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGxhYmVsTWV0YXZhcmlhYmxlTm9kZXNTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZXNBc1N0cmluZyhsYWJlbE1ldGF2YXJpYWJsZU5vZGVzKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bGFiZWxNZXRhdmFyaWFibGVOb2Rlc1N0cmluZ30nIGxlbW1hLi4uYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkID0gbGVtbWEudW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICAgIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoTGVtbWEgPSBzdGF0ZW1lbnRVbmlmaWVkOyAvLy9cblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aExlbW1hKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bGFiZWxNZXRhdmFyaWFibGVOb2Rlc1N0cmluZ30nIGxlbW1hLmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aExlbW1hO1xufVxuXG5mdW5jdGlvbiB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoVGhlb3JlbShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoVGhlb3JlbSA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgIHRoZW9yZW0gPSBsb2NhbENvbnRleHQuZmluZFRoZW9yZW1CeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgaWYgKHRoZW9yZW0gIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGxhYmVsTWV0YXZhcmlhYmxlTm9kZXMgPSB0aGVvcmVtLmdldExhYmVsTWV0YXZhcmlhYmxlTm9kZXMoKSxcbiAgICAgICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGxhYmVsTWV0YXZhcmlhYmxlTm9kZXNTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZXNBc1N0cmluZyhsYWJlbE1ldGF2YXJpYWJsZU5vZGVzKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bGFiZWxNZXRhdmFyaWFibGVOb2Rlc1N0cmluZ30nIHRoZW9yZW0uLi5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWQgPSB0aGVvcmVtLnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFRoZW9yZW0gPSBzdGF0ZW1lbnRVbmlmaWVkOyAvLy9cblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aFRoZW9yZW0pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtsYWJlbE1ldGF2YXJpYWJsZU5vZGVzU3RyaW5nfScgdGhlb3JlbS5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhUaGVvcmVtO1xufVxuXG5mdW5jdGlvbiB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoQ29uamVjdHVyZShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoQ29uamVjdHVyZSA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGNvbmplY3R1cmUgPSBsb2NhbENvbnRleHQuZmluZENvbmplY3R1cmVCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgaWYgKGNvbmplY3R1cmUgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGxhYmVsTWV0YXZhcmlhYmxlTm9kZXMgPSBjb25qZWN0dXJlLmdldExhYmVsTWV0YXZhcmlhYmxlTm9kZXMoKSxcbiAgICAgICAgICBxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIGxhYmVsTWV0YXZhcmlhYmxlTm9kZXNTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZXNBc1N0cmluZyhsYWJlbE1ldGF2YXJpYWJsZU5vZGVzKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3F1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHF1YWxpZmllZCBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7bGFiZWxNZXRhdmFyaWFibGVOb2Rlc1N0cmluZ30nIGNvbmplY3R1cmUuLi5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWQgPSBjb25qZWN0dXJlLnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aENvbmplY3R1cmUgPSBzdGF0ZW1lbnRVbmlmaWVkOyAvLy9cblxuICAgIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkV2l0aENvbmplY3R1cmUpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7cXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtsYWJlbE1ldGF2YXJpYWJsZU5vZGVzU3RyaW5nfScgY29uamVjdHVyZS5gLCBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhDb25qZWN0dXJlO1xufVxuXG5mdW5jdGlvbiB1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoUmVmZXJlbmNlKHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSZWZlcmVuY2UgPSBmYWxzZTtcblxuICBsZXQgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBtZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICBtZXRhdmFyaWFibGUgPSBsb2NhbENvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTmFtZShtZXRhdmFyaWFibGVOYW1lKTtcblxuICBpZiAobWV0YXZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50IHdpdGggdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIHJlZmVyZW5jZS4uLmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZUEgPSBtZXRhdmFyaWFibGVOb2RlOyAvLy9cblxuICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGUuZ2V0Tm9kZSgpO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZUIgPSBtZXRhdmFyaWFibGVOb2RlOyAvLy9cblxuICAgIGNvbnN0IHVuaWZpZWQgPSBtZXRhdmFyaWFibGVVbmlmaWVyLnVuaWZ5KG1ldGF2YXJpYWJsZU5vZGVBLCBtZXRhdmFyaWFibGVOb2RlQiwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmICh1bmlmaWVkKSB7XG4gICAgICBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZUE7IC8vL1xuXG4gICAgICBjb25zdCBzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24gPSBTdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbVN0YXRlbWVudE5vZGVBbmRNZXRhdmFyaWFibGVOb2RlKHN0YXRlbWVudE5vZGUsIG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uLCAvLy9cbiAgICAgICAgICAgIGxvY2FsQ29udGV4dEEgPSBsb2NhbENvbnRleHQsIC8vL1xuICAgICAgICAgICAgbG9jYWxDb250ZXh0QiA9IGxvY2FsQ29udGV4dDsgLy8vXG5cbiAgICAgIHN1YnN0aXR1dGlvbnMuYWRkU3Vic3RpdHV0aW9uKHN1YnN0aXR1dGlvbiwgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICAgIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoUmVmZXJlbmNlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSZWZlcmVuY2UpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIHN0YXRlbWVudCB3aXRoIHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyByZWZlcmVuY2UuYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWRXaXRoUmVmZXJlbmNlO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50Iiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5IiwidW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRGdW5jdGlvbnMiLCJ1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoUnVsZSIsInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhBeGlvbSIsInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhMZW1tYSIsInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50QVdpdGhUaGVvcmVtIiwidW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRBV2l0aENvbmplY3R1cmUiLCJ1bmlmeVF1YWxpZmllZFN0YXRlbWVudEFXaXRoUmVmZXJlbmNlIiwicXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHQiLCJxdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkIiwicXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJzb21lIiwidW5pZnlRdWFsaWZpZWRTdGF0ZW1lbnRGdW5jdGlvbiIsImRlYnVnIiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSdWxlIiwibWV0YXZhcmlhYmxlTm9kZSIsInJ1bGUiLCJmaW5kUnVsZUJ5TWV0YXZhcmlhYmxlTm9kZSIsInN0YXRlbWVudE5vZGUiLCJsYWJlbE1ldGF2YXJpYWJsZU5vZGVzIiwiZ2V0TGFiZWxNZXRhdmFyaWFibGVOb2RlcyIsImxhYmVsTWV0YXZhcmlhYmxlTm9kZXNTdHJpbmciLCJub2Rlc0FzU3RyaW5nIiwic3RhdGVtZW50VW5pZmllZCIsInVuaWZ5U3RhdGVtZW50IiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhBeGlvbSIsImF4aW9tIiwiZmluZEF4aW9tQnlNZXRhdmFyaWFibGVOb2RlIiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhMZW1tYSIsImxlbW1hIiwiZmluZExlbW1hQnlNZXRhdmFyaWFibGVOb2RlIiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhUaGVvcmVtIiwidGhlb3JlbSIsImZpbmRUaGVvcmVtQnlNZXRhdmFyaWFibGVOb2RlIiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhDb25qZWN0dXJlIiwiY29uamVjdHVyZSIsImZpbmRDb25qZWN0dXJlQnlNZXRhdmFyaWFibGVOb2RlIiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZFdpdGhSZWZlcmVuY2UiLCJtZXRhdmFyaWFibGVOYW1lIiwibWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlIiwiZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTmFtZSIsInN0YXRlbWVudFN0cmluZyIsIm1ldGF2YXJpYWJsZVN0cmluZyIsIm1ldGF2YXJpYWJsZU5vZGVBIiwiZ2V0Tm9kZSIsIm1ldGF2YXJpYWJsZU5vZGVCIiwidW5pZmllZCIsIm1ldGF2YXJpYWJsZVVuaWZpZXIiLCJ1bmlmeSIsInN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsIlN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21TdGF0ZW1lbnROb2RlQW5kTWV0YXZhcmlhYmxlTm9kZSIsInN1YnN0aXR1dGlvbiIsImxvY2FsQ29udGV4dEEiLCJsb2NhbENvbnRleHRCIiwiYWRkU3Vic3RpdHV0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvQkE7OztlQUF3QkE7OzttRUFsQlE7K0VBQ2lCO3FCQUV2QjtvQkFDMkI7Ozs7OztBQUVyRCxJQUFNQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUMsbUNBQy9CQyx3QkFBd0JELElBQUFBLGdCQUFTLEVBQUM7QUFFeEMsSUFBTUUsbUNBQW1DO0lBQ3ZDQztJQUNBQztJQUNBQztJQUNBQztJQUNBQztJQUNBQztD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
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return unifyStatementWithCombinator;
9
+ }
10
+ });
11
+ var _statementWithCombinator = /*#__PURE__*/ _interop_require_default(require("../unifier/statementWithCombinator"));
12
+ function _interop_require_default(obj) {
13
+ return obj && obj.__esModule ? obj : {
14
+ default: obj
15
+ };
16
+ }
17
+ function unifyStatementWithCombinator(statementNode, combinator, assignments, stated, localContext) {
18
+ var statementUnifiedWithCombinator;
19
+ var statementString = localContext.nodeAsString(statementNode), combinatorString = combinator.getString();
20
+ localContext.trace("Unifying the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator..."), statementNode);
21
+ var combinatorStatementNode = combinator.getStatementNode();
22
+ statementUnifiedWithCombinator = _statementWithCombinator.default.unify(statementNode, combinatorStatementNode, assignments, stated, localContext);
23
+ if (statementUnifiedWithCombinator) {
24
+ localContext.debug("...unified the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator."), statementNode);
25
+ }
26
+ return statementUnifiedWithCombinator;
27
+ }
28
+
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHN0YXRlbWVudFdpdGhDb21iaW5hdG9yVW5pZmllciBmcm9tIFwiLi4vdW5pZmllci9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvclwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yKHN0YXRlbWVudE5vZGUsIGNvbWJpbmF0b3IsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yO1xuXG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGNvbWJpbmF0b3JTdHJpbmcgPSBjb21iaW5hdG9yLmdldFN0cmluZygpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IGNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlID0gY29tYmluYXRvci5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yID0gc3RhdGVtZW50V2l0aENvbWJpbmF0b3JVbmlmaWVyLnVuaWZ5KHN0YXRlbWVudE5vZGUsIGNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gIGlmIChzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3I7XG59XG4iXSwibmFtZXMiOlsidW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvciIsInN0YXRlbWVudE5vZGUiLCJjb21iaW5hdG9yIiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IiLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJjb21iaW5hdG9yU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJjb21iaW5hdG9yU3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnRXaXRoQ29tYmluYXRvclVuaWZpZXIiLCJ1bmlmeSIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7OzhFQUZtQjs7Ozs7O0FBRTVCLFNBQVNBLDZCQUE2QkMsYUFBYSxFQUFFQyxVQUFVLEVBQUVDLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxZQUFZO0lBQy9HLElBQUlDO0lBRUosSUFBTUMsa0JBQWtCRixhQUFhRyxZQUFZLENBQUNQLGdCQUM1Q1EsbUJBQW1CUCxXQUFXUSxTQUFTO0lBRTdDTCxhQUFhTSxLQUFLLENBQUMsQUFBQyxpQkFBd0RGLE9BQXhDRixpQkFBZ0IsMEJBQXlDLE9BQWpCRSxrQkFBaUIsb0JBQWtCUjtJQUUvRyxJQUFNVywwQkFBMEJWLFdBQVdXLGdCQUFnQjtJQUUzRFAsaUNBQWlDUSxnQ0FBOEIsQ0FBQ0MsS0FBSyxDQUFDZCxlQUFlVyx5QkFBeUJULGFBQWFDLFFBQVFDO0lBRW5JLElBQUlDLGdDQUFnQztRQUNsQ0QsYUFBYVcsS0FBSyxDQUFDLEFBQUMsbUJBQTBEUCxPQUF4Q0YsaUJBQWdCLDBCQUF5QyxPQUFqQkUsa0JBQWlCLGtCQUFnQlI7SUFDakg7SUFFQSxPQUFPSztBQUNUIn0=
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
8
8
  return unifyStatementWithCombinators;
9
9
  }
10
10
  });
11
- var _statementWithCombinator = /*#__PURE__*/ _interop_require_default(require("../unifier/statementWithCombinator"));
11
+ var _statementWithCombinator = /*#__PURE__*/ _interop_require_default(require("../unify/statementWithCombinator"));
12
12
  function _interop_require_default(obj) {
13
13
  return obj && obj.__esModule ? obj : {
14
14
  default: obj
@@ -17,24 +17,15 @@ function _interop_require_default(obj) {
17
17
  function unifyStatementWithCombinators(statementNode, assignments, stated, localContext) {
18
18
  var statementUnifiedWithCombinators;
19
19
  var combinators = localContext.getCombinators();
20
+ assignments = null; ///
21
+ stated = true; ///
20
22
  statementUnifiedWithCombinators = combinators.some(function(combinator) {
21
- var statementUnifiedWithCombinator = unifyStatementWithCombinator(statementNode, combinator, assignments, stated, localContext);
23
+ var statementUnifiedWithCombinator = (0, _statementWithCombinator.default)(statementNode, combinator, assignments, stated, localContext);
22
24
  if (statementUnifiedWithCombinator) {
23
25
  return true;
24
26
  }
25
27
  });
26
28
  return statementUnifiedWithCombinators;
27
29
  }
28
- function unifyStatementWithCombinator(statementNode, combinator, assignments, stated, localContext) {
29
- var statementUnifiedWithCombinator;
30
- var statementString = localContext.nodeAsString(statementNode), combinatorString = combinator.getString();
31
- localContext.trace("Unifying the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator..."), statementNode);
32
- var combinatorStatementNode = combinator.getStatementNode();
33
- statementUnifiedWithCombinator = _statementWithCombinator.default.unify(statementNode, combinatorStatementNode, assignments, stated, localContext);
34
- if (statementUnifiedWithCombinator) {
35
- localContext.debug("...unified the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator."), statementNode);
36
- }
37
- return statementUnifiedWithCombinator;
38
- }
39
30
 
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvcnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzdGF0ZW1lbnRXaXRoQ29tYmluYXRvclVuaWZpZXIgZnJvbSBcIi4uL3VuaWZpZXIvc3RhdGVtZW50V2l0aENvbWJpbmF0b3JcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvcnMoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3JzO1xuXG4gIGNvbnN0IGNvbWJpbmF0b3JzID0gbG9jYWxDb250ZXh0LmdldENvbWJpbmF0b3JzKCk7XG5cbiAgc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9ycyA9IGNvbWJpbmF0b3JzLnNvbWUoKGNvbWJpbmF0b3IpID0+IHtcbiAgICBjb25zdCBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IgPSB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yKHN0YXRlbWVudE5vZGUsIGNvbWJpbmF0b3IsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3JzO1xufVxuXG5mdW5jdGlvbiB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yKHN0YXRlbWVudE5vZGUsIGNvbWJpbmF0b3IsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yO1xuXG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIGNvbWJpbmF0b3JTdHJpbmcgPSBjb21iaW5hdG9yLmdldFN0cmluZygpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IGNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlID0gY29tYmluYXRvci5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yID0gc3RhdGVtZW50V2l0aENvbWJpbmF0b3JVbmlmaWVyLnVuaWZ5KHN0YXRlbWVudE5vZGUsIGNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gIGlmIChzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3I7XG59XG4iXSwibmFtZXMiOlsidW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvcnMiLCJzdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3JzIiwiY29tYmluYXRvcnMiLCJnZXRDb21iaW5hdG9ycyIsInNvbWUiLCJjb21iaW5hdG9yIiwic3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yIiwidW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvciIsInN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsImNvbWJpbmF0b3JTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsImNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudFdpdGhDb21iaW5hdG9yVW5pZmllciIsInVuaWZ5IiwiZGVidWciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBd0JBOzs7OEVBRm1COzs7Ozs7QUFFNUIsU0FBU0EsOEJBQThCQyxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxZQUFZO0lBQ3BHLElBQUlDO0lBRUosSUFBTUMsY0FBY0YsYUFBYUcsY0FBYztJQUUvQ0Ysa0NBQWtDQyxZQUFZRSxJQUFJLENBQUMsU0FBQ0M7UUFDbEQsSUFBTUMsaUNBQWlDQyw2QkFBNkJWLGVBQWVRLFlBQVlQLGFBQWFDLFFBQVFDO1FBRXBILElBQUlNLGdDQUFnQztZQUNsQyxPQUFPO1FBQ1Q7SUFDRjtJQUVBLE9BQU9MO0FBQ1Q7QUFFQSxTQUFTTSw2QkFBNkJWLGFBQWEsRUFBRVEsVUFBVSxFQUFFUCxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsWUFBWTtJQUNoRyxJQUFJTTtJQUVKLElBQU1FLGtCQUFrQlIsYUFBYVMsWUFBWSxDQUFDWixnQkFDNUNhLG1CQUFtQkwsV0FBV00sU0FBUztJQUU3Q1gsYUFBYVksS0FBSyxDQUFDLEFBQUMsaUJBQXdERixPQUF4Q0YsaUJBQWdCLDBCQUF5QyxPQUFqQkUsa0JBQWlCLG9CQUFrQmI7SUFFL0csSUFBTWdCLDBCQUEwQlIsV0FBV1MsZ0JBQWdCO0lBRTNEUixpQ0FBaUNTLGdDQUE4QixDQUFDQyxLQUFLLENBQUNuQixlQUFlZ0IseUJBQXlCZixhQUFhQyxRQUFRQztJQUVuSSxJQUFJTSxnQ0FBZ0M7UUFDbENOLGFBQWFpQixLQUFLLENBQUMsQUFBQyxtQkFBMERQLE9BQXhDRixpQkFBZ0IsMEJBQXlDLE9BQWpCRSxrQkFBaUIsa0JBQWdCYjtJQUNqSDtJQUVBLE9BQU9TO0FBQ1QifQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvcnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yIGZyb20gXCIuLi91bmlmeS9zdGF0ZW1lbnRXaXRoQ29tYmluYXRvclwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9ycyhzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvcnM7XG5cbiAgY29uc3QgY29tYmluYXRvcnMgPSBsb2NhbENvbnRleHQuZ2V0Q29tYmluYXRvcnMoKTtcblxuICBhc3NpZ25tZW50cyA9IG51bGw7IC8vL1xuXG4gIHN0YXRlZCA9IHRydWU7ICAvLy9cblxuICBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3JzID0gY29tYmluYXRvcnMuc29tZSgoY29tYmluYXRvcikgPT4ge1xuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvciA9IHVuaWZ5U3RhdGVtZW50V2l0aENvbWJpbmF0b3Ioc3RhdGVtZW50Tm9kZSwgY29tYmluYXRvciwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvcnM7XG59XG4iXSwibmFtZXMiOlsidW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvcnMiLCJzdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3JzIiwiY29tYmluYXRvcnMiLCJnZXRDb21iaW5hdG9ycyIsInNvbWUiLCJjb21iaW5hdG9yIiwic3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yIiwidW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUF3QkE7Ozs4RUFGaUI7Ozs7OztBQUUxQixTQUFTQSw4QkFBOEJDLGFBQWEsRUFBRUMsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLFlBQVk7SUFDcEcsSUFBSUM7SUFFSixJQUFNQyxjQUFjRixhQUFhRyxjQUFjO0lBRS9DTCxjQUFjLE1BQU0sR0FBRztJQUV2QkMsU0FBUyxNQUFPLEdBQUc7SUFFbkJFLGtDQUFrQ0MsWUFBWUUsSUFBSSxDQUFDLFNBQUNDO1FBQ2xELElBQU1DLGlDQUFpQ0MsSUFBQUEsZ0NBQTRCLEVBQUNWLGVBQWVRLFlBQVlQLGFBQWFDLFFBQVFDO1FBRXBILElBQUlNLGdDQUFnQztZQUNsQyxPQUFPO1FBQ1Q7SUFDRjtJQUVBLE9BQU9MO0FBQ1QifQ==
@@ -10,8 +10,8 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
12
12
  var _bracketed = /*#__PURE__*/ _interop_require_default(require("../constructor/bracketed"));
13
+ var _termWithConstructor = /*#__PURE__*/ _interop_require_default(require("../unify/termWithConstructor"));
13
14
  var _query = require("../utilities/query");
14
- var _termWithConstructors = require("../unify/termWithConstructors");
15
15
  function _interop_require_default(obj) {
16
16
  return obj && obj.__esModule ? obj : {
17
17
  default: obj
@@ -22,7 +22,7 @@ function unifyTermWithBracketedConstructor(termNode, terms, localContext, verify
22
22
  var termUnifiedWithBracketedConstructor;
23
23
  var termString = localContext.nodeAsString(termNode), bracketedTerms = [];
24
24
  localContext.trace("Unifying the '".concat(termString, "' term with the bracketed constructor..."), termNode);
25
- termUnifiedWithBracketedConstructor = (0, _termWithConstructors.unifyTermWithConstructor)(termNode, bracketedTerms, _bracketed.default, localContext, function() {
25
+ termUnifiedWithBracketedConstructor = (0, _termWithConstructor.default)(termNode, bracketedTerms, _bracketed.default, localContext, function() {
26
26
  var verifiedAhead;
27
27
  var bracketedTermNode = termNode; ///
28
28
  termNode = termNodeQuery(bracketedTermNode); ///
@@ -36,4 +36,4 @@ function unifyTermWithBracketedConstructor(termNode, terms, localContext, verify
36
36
  return termUnifiedWithBracketedConstructor;
37
37
  }
38
38
 
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi4vc2hpbVwiO1xuaW1wb3J0IGJyYWNrZXRlZENvbnN0cnVjdG9yIGZyb20gXCIuLi9jb25zdHJ1Y3Rvci9icmFja2V0ZWRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgdW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yIH0gZnJvbSBcIi4uL3VuaWZ5L3Rlcm1XaXRoQ29uc3RydWN0b3JzXCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybS9hcmd1bWVudC90ZXJtXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVRlcm1XaXRoQnJhY2tldGVkQ29uc3RydWN0b3IodGVybU5vZGUsIHRlcm1zLCBsb2NhbENvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCB0ZXJtVW5pZmllZFdpdGhCcmFja2V0ZWRDb25zdHJ1Y3RvcjtcblxuICBjb25zdCB0ZXJtU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyh0ZXJtTm9kZSksXG4gICAgICAgIGJyYWNrZXRlZFRlcm1zID0gW107XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gd2l0aCB0aGUgYnJhY2tldGVkIGNvbnN0cnVjdG9yLi4uYCwgdGVybU5vZGUpO1xuXG4gIHRlcm1VbmlmaWVkV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yID0gdW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yKHRlcm1Ob2RlLCBicmFja2V0ZWRUZXJtcywgYnJhY2tldGVkQ29uc3RydWN0b3IsIGxvY2FsQ29udGV4dCwgKCkgPT4ge1xuICAgIGxldCB2ZXJpZmllZEFoZWFkO1xuXG4gICAgY29uc3QgYnJhY2tldGVkVGVybU5vZGUgPSB0ZXJtTm9kZTsgLy8vXG5cbiAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoYnJhY2tldGVkVGVybU5vZGUpOyAvLy9cblxuICAgIGNvbnN0IHsgdmVyaWZ5VGVybSB9ID0gc2hpbSxcbiAgICAgICAgICB0ZXJtVlZlcmlmaWVkID0gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdGVybXMsIGxvY2FsQ29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgdmVyaWZpZWRBaGVhZCA9IHRlcm1WVmVyaWZpZWQ7ICAvLy9cblxuICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICB9KTtcblxuICBpZiAodGVybVVuaWZpZWRXaXRoQnJhY2tldGVkQ29uc3RydWN0b3IpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlIGJyYWNrZXRlZCBjb25zdHJ1Y3Rvci5gLCB0ZXJtTm9kZSk7XG4gIH1cblxuICByZXR1cm4gdGVybVVuaWZpZWRXaXRoQnJhY2tldGVkQ29uc3RydWN0b3I7XG59XG4iXSwibmFtZXMiOlsidW5pZnlUZXJtV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yIiwidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInRlcm1Ob2RlIiwidGVybXMiLCJsb2NhbENvbnRleHQiLCJ2ZXJpZnlBaGVhZCIsInRlcm1VbmlmaWVkV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yIiwidGVybVN0cmluZyIsIm5vZGVBc1N0cmluZyIsImJyYWNrZXRlZFRlcm1zIiwidHJhY2UiLCJ1bmlmeVRlcm1XaXRoQ29uc3RydWN0b3IiLCJicmFja2V0ZWRDb25zdHJ1Y3RvciIsInZlcmlmaWVkQWhlYWQiLCJicmFja2V0ZWRUZXJtTm9kZSIsInZlcmlmeVRlcm0iLCJzaGltIiwidGVybVZWZXJpZmllZCIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQXdCQTs7OzJEQVJQO2dFQUNnQjtxQkFFUDtvQ0FDZTs7Ozs7O0FBRXpDLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUVqQixTQUFTRixrQ0FBa0NHLFFBQVEsRUFBRUMsS0FBSyxFQUFFQyxZQUFZLEVBQUVDLFdBQVc7SUFDbEcsSUFBSUM7SUFFSixJQUFNQyxhQUFhSCxhQUFhSSxZQUFZLENBQUNOLFdBQ3ZDTyxpQkFBaUIsRUFBRTtJQUV6QkwsYUFBYU0sS0FBSyxDQUFDLEFBQUMsaUJBQTJCLE9BQVhILFlBQVcsNkNBQTJDTDtJQUUxRkksc0NBQXNDSyxJQUFBQSw4Q0FBd0IsRUFBQ1QsVUFBVU8sZ0JBQWdCRyxrQkFBb0IsRUFBRVIsY0FBYztRQUMzSCxJQUFJUztRQUVKLElBQU1DLG9CQUFvQlosVUFBVSxHQUFHO1FBRXZDQSxXQUFXRixjQUFjYyxvQkFBb0IsR0FBRztRQUVoRCxJQUFNLEFBQUVDLGFBQWVDLGFBQUksQ0FBbkJELFlBQ0ZFLGdCQUFnQkYsV0FBV2IsVUFBVUMsT0FBT0MsY0FBY0M7UUFFaEVRLGdCQUFnQkksZUFBZ0IsR0FBRztRQUVuQyxPQUFPSjtJQUNUO0lBRUEsSUFBSVAscUNBQXFDO1FBQ3ZDRixhQUFhYyxLQUFLLENBQUMsQUFBQyxtQkFBNkIsT0FBWFgsWUFBVywyQ0FBeUNMO0lBQzVGO0lBRUEsT0FBT0k7QUFDVCJ9
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi4vc2hpbVwiO1xuaW1wb3J0IGJyYWNrZXRlZENvbnN0cnVjdG9yIGZyb20gXCIuLi9jb25zdHJ1Y3Rvci9icmFja2V0ZWRcIjtcbmltcG9ydCB1bmlmeVRlcm1XaXRoQ29uc3RydWN0b3IgZnJvbSBcIi4uL3VuaWZ5L3Rlcm1XaXRoQ29uc3RydWN0b3JcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0vYXJndW1lbnQvdGVybVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlUZXJtV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yKHRlcm1Ob2RlLCB0ZXJtcywgbG9jYWxDb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdGVybVVuaWZpZWRXaXRoQnJhY2tldGVkQ29uc3RydWN0b3I7XG5cbiAgY29uc3QgdGVybVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpLFxuICAgICAgICBicmFja2V0ZWRUZXJtcyA9IFtdO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlIGJyYWNrZXRlZCBjb25zdHJ1Y3Rvci4uLmAsIHRlcm1Ob2RlKTtcblxuICB0ZXJtVW5pZmllZFdpdGhCcmFja2V0ZWRDb25zdHJ1Y3RvciA9IHVuaWZ5VGVybVdpdGhDb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgYnJhY2tldGVkVGVybXMsIGJyYWNrZXRlZENvbnN0cnVjdG9yLCBsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICBsZXQgdmVyaWZpZWRBaGVhZDtcblxuICAgIGNvbnN0IGJyYWNrZXRlZFRlcm1Ob2RlID0gdGVybU5vZGU7IC8vL1xuXG4gICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGJyYWNrZXRlZFRlcm1Ob2RlKTsgLy8vXG5cbiAgICBjb25zdCB7IHZlcmlmeVRlcm0gfSA9IHNoaW0sXG4gICAgICAgICAgdGVybVZWZXJpZmllZCA9IHZlcmlmeVRlcm0odGVybU5vZGUsIHRlcm1zLCBsb2NhbENvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgIHZlcmlmaWVkQWhlYWQgPSB0ZXJtVlZlcmlmaWVkOyAgLy8vXG5cbiAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgfSk7XG5cbiAgaWYgKHRlcm1VbmlmaWVkV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSB3aXRoIHRoZSBicmFja2V0ZWQgY29uc3RydWN0b3IuYCwgdGVybU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1VbmlmaWVkV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VGVybVdpdGhCcmFja2V0ZWRDb25zdHJ1Y3RvciIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0ZXJtTm9kZSIsInRlcm1zIiwibG9jYWxDb250ZXh0IiwidmVyaWZ5QWhlYWQiLCJ0ZXJtVW5pZmllZFdpdGhCcmFja2V0ZWRDb25zdHJ1Y3RvciIsInRlcm1TdHJpbmciLCJub2RlQXNTdHJpbmciLCJicmFja2V0ZWRUZXJtcyIsInRyYWNlIiwidW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yIiwiYnJhY2tldGVkQ29uc3RydWN0b3IiLCJ2ZXJpZmllZEFoZWFkIiwiYnJhY2tldGVkVGVybU5vZGUiLCJ2ZXJpZnlUZXJtIiwic2hpbSIsInRlcm1WVmVyaWZpZWQiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7OzsyREFSUDtnRUFDZ0I7MEVBQ0k7cUJBRVg7Ozs7OztBQUUxQixJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUM7QUFFakIsU0FBU0Ysa0NBQWtDRyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsWUFBWSxFQUFFQyxXQUFXO0lBQ2xHLElBQUlDO0lBRUosSUFBTUMsYUFBYUgsYUFBYUksWUFBWSxDQUFDTixXQUN2Q08saUJBQWlCLEVBQUU7SUFFekJMLGFBQWFNLEtBQUssQ0FBQyxBQUFDLGlCQUEyQixPQUFYSCxZQUFXLDZDQUEyQ0w7SUFFMUZJLHNDQUFzQ0ssSUFBQUEsNEJBQXdCLEVBQUNULFVBQVVPLGdCQUFnQkcsa0JBQW9CLEVBQUVSLGNBQWM7UUFDM0gsSUFBSVM7UUFFSixJQUFNQyxvQkFBb0JaLFVBQVUsR0FBRztRQUV2Q0EsV0FBV0YsY0FBY2Msb0JBQW9CLEdBQUc7UUFFaEQsSUFBTSxBQUFFQyxhQUFlQyxhQUFJLENBQW5CRCxZQUNGRSxnQkFBZ0JGLFdBQVdiLFVBQVVDLE9BQU9DLGNBQWNDO1FBRWhFUSxnQkFBZ0JJLGVBQWdCLEdBQUc7UUFFbkMsT0FBT0o7SUFDVDtJQUVBLElBQUlQLHFDQUFxQztRQUN2Q0YsYUFBYWMsS0FBSyxDQUFDLEFBQUMsbUJBQTZCLE9BQVhYLFlBQVcsMkNBQXlDTDtJQUM1RjtJQUVBLE9BQU9JO0FBQ1QifQ==
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return unifyTermWithConstructor;
9
+ }
10
+ });
11
+ var _term = /*#__PURE__*/ _interop_require_default(require("../term"));
12
+ var _termWithConstructor = /*#__PURE__*/ _interop_require_default(require("../unifier/termWithConstructor"));
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ function unifyTermWithConstructor(termNode, terms, constructor, localContext, verifyAhead) {
19
+ var termUnifiedWithConstructor = false;
20
+ var termString = localContext.nodeAsString(termNode), constructorString = constructor.getString(), constructorTermNode = constructor.getTermNode();
21
+ localContext.trace("Unifying the '".concat(termString, "' term with the '").concat(constructorString, "' constructor..."), termNode);
22
+ var termNodeA = termNode, constructorTermNodeB = constructorTermNode, unified = _termWithConstructor.default.unify(termNodeA, constructorTermNodeB, localContext);
23
+ if (unified) {
24
+ var verifiedAhead;
25
+ var type = constructor.getType(), term = _term.default.fromTermNodeAndType(termNode, type);
26
+ terms.push(term);
27
+ verifiedAhead = verifyAhead();
28
+ terms.pop();
29
+ termUnifiedWithConstructor = verifiedAhead; ///
30
+ }
31
+ if (termUnifiedWithConstructor) {
32
+ localContext.debug("...unified the '".concat(termString, "' term with the '").concat(constructorString, "' constructor."), termNode);
33
+ }
34
+ return termUnifiedWithConstructor;
35
+ }
36
+
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtV2l0aENvbnN0cnVjdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVGVybSBmcm9tIFwiLi4vdGVybVwiO1xuaW1wb3J0IHRlcm1XaXRoQ29uc3RydWN0b3JVbmlmaWVyIGZyb20gXCIuLi91bmlmaWVyL3Rlcm1XaXRoQ29uc3RydWN0b3JcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yKHRlcm1Ob2RlLCB0ZXJtcywgY29uc3RydWN0b3IsIGxvY2FsQ29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9yID0gZmFsc2U7XG5cbiAgY29uc3QgdGVybVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpLFxuICAgICAgICBjb25zdHJ1Y3RvclN0cmluZyA9IGNvbnN0cnVjdG9yLmdldFN0cmluZygpLFxuICAgICAgICBjb25zdHJ1Y3RvclRlcm1Ob2RlID0gY29uc3RydWN0b3IuZ2V0VGVybU5vZGUoKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSB3aXRoIHRoZSAnJHtjb25zdHJ1Y3RvclN0cmluZ30nIGNvbnN0cnVjdG9yLi4uYCwgdGVybU5vZGUpO1xuXG4gIGNvbnN0IHRlcm1Ob2RlQSA9IHRlcm1Ob2RlLCAgLy8vXG4gICAgICAgIGNvbnN0cnVjdG9yVGVybU5vZGVCID0gY29uc3RydWN0b3JUZXJtTm9kZSwgIC8vL1xuICAgICAgICB1bmlmaWVkID0gdGVybVdpdGhDb25zdHJ1Y3RvclVuaWZpZXIudW5pZnkodGVybU5vZGVBLCBjb25zdHJ1Y3RvclRlcm1Ob2RlQiwgbG9jYWxDb250ZXh0KTtcblxuICBpZiAodW5pZmllZCkge1xuICAgIGxldCB2ZXJpZmllZEFoZWFkO1xuXG4gICAgY29uc3QgdHlwZSA9IGNvbnN0cnVjdG9yLmdldFR5cGUoKSxcbiAgICAgICAgICB0ZXJtID0gVGVybS5mcm9tVGVybU5vZGVBbmRUeXBlKHRlcm1Ob2RlLCB0eXBlKTtcblxuICAgIHRlcm1zLnB1c2godGVybSk7XG5cbiAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgIHRlcm1zLnBvcCgpO1xuXG4gICAgdGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IgPSB2ZXJpZmllZEFoZWFkOyAgLy8vXG4gIH1cblxuICBpZiAodGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlICcke2NvbnN0cnVjdG9yU3RyaW5nfScgY29uc3RydWN0b3IuYCwgdGVybU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9yO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VGVybVdpdGhDb25zdHJ1Y3RvciIsInRlcm1Ob2RlIiwidGVybXMiLCJjb25zdHJ1Y3RvciIsImxvY2FsQ29udGV4dCIsInZlcmlmeUFoZWFkIiwidGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IiLCJ0ZXJtU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiY29uc3RydWN0b3JTdHJpbmciLCJnZXRTdHJpbmciLCJjb25zdHJ1Y3RvclRlcm1Ob2RlIiwiZ2V0VGVybU5vZGUiLCJ0cmFjZSIsInRlcm1Ob2RlQSIsImNvbnN0cnVjdG9yVGVybU5vZGVCIiwidW5pZmllZCIsInRlcm1XaXRoQ29uc3RydWN0b3JVbmlmaWVyIiwidW5pZnkiLCJ2ZXJpZmllZEFoZWFkIiwidHlwZSIsImdldFR5cGUiLCJ0ZXJtIiwiVGVybSIsImZyb21UZXJtTm9kZUFuZFR5cGUiLCJwdXNoIiwicG9wIiwiZGVidWciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUtBOzs7ZUFBd0JBOzs7MkRBSFA7MEVBQ3NCOzs7Ozs7QUFFeEIsU0FBU0EseUJBQXlCQyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsV0FBVyxFQUFFQyxZQUFZLEVBQUVDLFdBQVc7SUFDdEcsSUFBSUMsNkJBQTZCO0lBRWpDLElBQU1DLGFBQWFILGFBQWFJLFlBQVksQ0FBQ1AsV0FDdkNRLG9CQUFvQk4sWUFBWU8sU0FBUyxJQUN6Q0Msc0JBQXNCUixZQUFZUyxXQUFXO0lBRW5EUixhQUFhUyxLQUFLLENBQUMsQUFBQyxpQkFBOENKLE9BQTlCRixZQUFXLHFCQUFxQyxPQUFsQkUsbUJBQWtCLHFCQUFtQlI7SUFFdkcsSUFBTWEsWUFBWWIsVUFDWmMsdUJBQXVCSixxQkFDdkJLLFVBQVVDLDRCQUEwQixDQUFDQyxLQUFLLENBQUNKLFdBQVdDLHNCQUFzQlg7SUFFbEYsSUFBSVksU0FBUztRQUNYLElBQUlHO1FBRUosSUFBTUMsT0FBT2pCLFlBQVlrQixPQUFPLElBQzFCQyxPQUFPQyxhQUFJLENBQUNDLG1CQUFtQixDQUFDdkIsVUFBVW1CO1FBRWhEbEIsTUFBTXVCLElBQUksQ0FBQ0g7UUFFWEgsZ0JBQWdCZDtRQUVoQkgsTUFBTXdCLEdBQUc7UUFFVHBCLDZCQUE2QmEsZUFBZ0IsR0FBRztJQUNsRDtJQUVBLElBQUliLDRCQUE0QjtRQUM5QkYsYUFBYXVCLEtBQUssQ0FBQyxBQUFDLG1CQUFnRGxCLE9BQTlCRixZQUFXLHFCQUFxQyxPQUFsQkUsbUJBQWtCLG1CQUFpQlI7SUFDekc7SUFFQSxPQUFPSztBQUNUIn0=
@@ -2,22 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- default: function() {
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
13
8
  return unifyTermWithConstructors;
14
- },
15
- unifyTermWithConstructor: function() {
16
- return unifyTermWithConstructor;
17
9
  }
18
10
  });
19
- var _term = /*#__PURE__*/ _interop_require_default(require("../term"));
20
- var _termWithConstructor = /*#__PURE__*/ _interop_require_default(require("../unifier/termWithConstructor"));
11
+ var _termWithConstructor = /*#__PURE__*/ _interop_require_default(require("../unify/termWithConstructor"));
21
12
  var _query = require("../utilities/query");
22
13
  function _interop_require_default(obj) {
23
14
  return obj && obj.__esModule ? obj : {
@@ -31,7 +22,7 @@ function unifyTermWithConstructors(termNode, terms, localContext, verifyAhead) {
31
22
  if (variableNode === null) {
32
23
  var constructors = localContext.getConstructors();
33
24
  termUnifiedWithConstructors = constructors.some(function(constructor) {
34
- var termUnifiedWithConstructor = unifyTermWithConstructor(termNode, terms, constructor, localContext, verifyAhead);
25
+ var termUnifiedWithConstructor = (0, _termWithConstructor.default)(termNode, terms, constructor, localContext, verifyAhead);
35
26
  if (termUnifiedWithConstructor) {
36
27
  return true;
37
28
  }
@@ -39,23 +30,5 @@ function unifyTermWithConstructors(termNode, terms, localContext, verifyAhead) {
39
30
  }
40
31
  return termUnifiedWithConstructors;
41
32
  }
42
- function unifyTermWithConstructor(termNode, terms, constructor, localContext, verifyAhead) {
43
- var termUnifiedWithConstructor = false;
44
- var termString = localContext.nodeAsString(termNode), constructorString = constructor.getString(), constructorTermNode = constructor.getTermNode();
45
- localContext.trace("Unifying the '".concat(termString, "' term with the '").concat(constructorString, "' constructor..."), termNode);
46
- var termNodeA = termNode, constructorTermNodeB = constructorTermNode, unified = _termWithConstructor.default.unify(termNodeA, constructorTermNodeB, localContext);
47
- if (unified) {
48
- var verifiedAhead;
49
- var type = constructor.getType(), term = _term.default.fromTermNodeAndType(termNode, type);
50
- terms.push(term);
51
- verifiedAhead = verifyAhead();
52
- terms.pop();
53
- termUnifiedWithConstructor = verifiedAhead; ///
54
- }
55
- if (termUnifiedWithConstructor) {
56
- localContext.debug("...unified the '".concat(termString, "' term with the '").concat(constructorString, "' constructor."), termNode);
57
- }
58
- return termUnifiedWithConstructor;
59
- }
60
33
 
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtV2l0aENvbnN0cnVjdG9ycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRlcm0gZnJvbSBcIi4uL3Rlcm1cIjtcbmltcG9ydCB0ZXJtV2l0aENvbnN0cnVjdG9yVW5pZmllciBmcm9tIFwiLi4vdW5pZmllci90ZXJtV2l0aENvbnN0cnVjdG9yXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybS92YXJpYWJsZSFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5VGVybVdpdGhDb25zdHJ1Y3RvcnModGVybU5vZGUsIHRlcm1zLCBsb2NhbENvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCB0ZXJtVW5pZmllZFdpdGhDb25zdHJ1Y3RvcnMgPSBmYWxzZTtcblxuICBjb25zdCB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeSh0ZXJtTm9kZSk7XG5cbiAgaWYgKHZhcmlhYmxlTm9kZSA9PT0gbnVsbCkge1xuICAgIGNvbnN0IGNvbnN0cnVjdG9ycyA9IGxvY2FsQ29udGV4dC5nZXRDb25zdHJ1Y3RvcnMoKTtcblxuICAgIHRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9ycyA9IGNvbnN0cnVjdG9ycy5zb21lKChjb25zdHJ1Y3RvcikgPT4ge1xuICAgICAgY29uc3QgdGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IgPSB1bmlmeVRlcm1XaXRoQ29uc3RydWN0b3IodGVybU5vZGUsIHRlcm1zLCBjb25zdHJ1Y3RvciwgbG9jYWxDb250ZXh0LCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgIGlmICh0ZXJtVW5pZmllZFdpdGhDb25zdHJ1Y3Rvcikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB0ZXJtVW5pZmllZFdpdGhDb25zdHJ1Y3RvcnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bmlmeVRlcm1XaXRoQ29uc3RydWN0b3IodGVybU5vZGUsIHRlcm1zLCBjb25zdHJ1Y3RvciwgbG9jYWxDb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IgPSBmYWxzZTtcblxuICBjb25zdCB0ZXJtU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyh0ZXJtTm9kZSksXG4gICAgICAgIGNvbnN0cnVjdG9yU3RyaW5nID0gY29uc3RydWN0b3IuZ2V0U3RyaW5nKCksXG4gICAgICAgIGNvbnN0cnVjdG9yVGVybU5vZGUgPSBjb25zdHJ1Y3Rvci5nZXRUZXJtTm9kZSgpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlICcke2NvbnN0cnVjdG9yU3RyaW5nfScgY29uc3RydWN0b3IuLi5gLCB0ZXJtTm9kZSk7XG5cbiAgY29uc3QgdGVybU5vZGVBID0gdGVybU5vZGUsICAvLy9cbiAgICAgICAgY29uc3RydWN0b3JUZXJtTm9kZUIgPSBjb25zdHJ1Y3RvclRlcm1Ob2RlLCAgLy8vXG4gICAgICAgIHVuaWZpZWQgPSB0ZXJtV2l0aENvbnN0cnVjdG9yVW5pZmllci51bmlmeSh0ZXJtTm9kZUEsIGNvbnN0cnVjdG9yVGVybU5vZGVCLCBsb2NhbENvbnRleHQpO1xuXG4gIGlmICh1bmlmaWVkKSB7XG4gICAgbGV0IHZlcmlmaWVkQWhlYWQ7XG5cbiAgICBjb25zdCB0eXBlID0gY29uc3RydWN0b3IuZ2V0VHlwZSgpLFxuICAgICAgICAgIHRlcm0gPSBUZXJtLmZyb21UZXJtTm9kZUFuZFR5cGUodGVybU5vZGUsIHR5cGUpO1xuXG4gICAgdGVybXMucHVzaCh0ZXJtKTtcblxuICAgIHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgdGVybXMucG9wKCk7XG5cbiAgICB0ZXJtVW5pZmllZFdpdGhDb25zdHJ1Y3RvciA9IHZlcmlmaWVkQWhlYWQ7ICAvLy9cbiAgfVxuXG4gIGlmICh0ZXJtVW5pZmllZFdpdGhDb25zdHJ1Y3Rvcikge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gd2l0aCB0aGUgJyR7Y29uc3RydWN0b3JTdHJpbmd9JyBjb25zdHJ1Y3Rvci5gLCB0ZXJtTm9kZSk7XG4gIH1cblxuICByZXR1cm4gdGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3I7XG59XG4iXSwibmFtZXMiOlsidW5pZnlUZXJtV2l0aENvbnN0cnVjdG9ycyIsInVuaWZ5VGVybVdpdGhDb25zdHJ1Y3RvciIsInZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidGVybU5vZGUiLCJ0ZXJtcyIsImxvY2FsQ29udGV4dCIsInZlcmlmeUFoZWFkIiwidGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3JzIiwidmFyaWFibGVOb2RlIiwiY29uc3RydWN0b3JzIiwiZ2V0Q29uc3RydWN0b3JzIiwic29tZSIsImNvbnN0cnVjdG9yIiwidGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IiLCJ0ZXJtU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiY29uc3RydWN0b3JTdHJpbmciLCJnZXRTdHJpbmciLCJjb25zdHJ1Y3RvclRlcm1Ob2RlIiwiZ2V0VGVybU5vZGUiLCJ0cmFjZSIsInRlcm1Ob2RlQSIsImNvbnN0cnVjdG9yVGVybU5vZGVCIiwidW5pZmllZCIsInRlcm1XaXRoQ29uc3RydWN0b3JVbmlmaWVyIiwidW5pZnkiLCJ2ZXJpZmllZEFoZWFkIiwidHlwZSIsImdldFR5cGUiLCJ0ZXJtIiwiVGVybSIsImZyb21UZXJtTm9kZUFuZFR5cGUiLCJwdXNoIiwicG9wIiwiZGVidWciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVNBLE9Ba0JDO2VBbEJ1QkE7O0lBb0JSQyx3QkFBd0I7ZUFBeEJBOzs7MkRBM0JDOzBFQUNzQjtxQkFFYjs7Ozs7O0FBRTFCLElBQU1DLG9CQUFvQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUVyQixTQUFTSCwwQkFBMEJJLFFBQVEsRUFBRUMsS0FBSyxFQUFFQyxZQUFZLEVBQUVDLFdBQVc7SUFDMUYsSUFBSUMsOEJBQThCO0lBRWxDLElBQU1DLGVBQWVQLGtCQUFrQkU7SUFFdkMsSUFBSUssaUJBQWlCLE1BQU07UUFDekIsSUFBTUMsZUFBZUosYUFBYUssZUFBZTtRQUVqREgsOEJBQThCRSxhQUFhRSxJQUFJLENBQUMsU0FBQ0M7WUFDL0MsSUFBTUMsNkJBQTZCYix5QkFBeUJHLFVBQVVDLE9BQU9RLGFBQWFQLGNBQWNDO1lBRXhHLElBQUlPLDRCQUE0QjtnQkFDOUIsT0FBTztZQUNUO1FBQ0Y7SUFDRjtJQUVBLE9BQU9OO0FBQ1Q7QUFFTyxTQUFTUCx5QkFBeUJHLFFBQVEsRUFBRUMsS0FBSyxFQUFFUSxXQUFXLEVBQUVQLFlBQVksRUFBRUMsV0FBVztJQUM5RixJQUFJTyw2QkFBNkI7SUFFakMsSUFBTUMsYUFBYVQsYUFBYVUsWUFBWSxDQUFDWixXQUN2Q2Esb0JBQW9CSixZQUFZSyxTQUFTLElBQ3pDQyxzQkFBc0JOLFlBQVlPLFdBQVc7SUFFbkRkLGFBQWFlLEtBQUssQ0FBQyxBQUFDLGlCQUE4Q0osT0FBOUJGLFlBQVcscUJBQXFDLE9BQWxCRSxtQkFBa0IscUJBQW1CYjtJQUV2RyxJQUFNa0IsWUFBWWxCLFVBQ1ptQix1QkFBdUJKLHFCQUN2QkssVUFBVUMsNEJBQTBCLENBQUNDLEtBQUssQ0FBQ0osV0FBV0Msc0JBQXNCakI7SUFFbEYsSUFBSWtCLFNBQVM7UUFDWCxJQUFJRztRQUVKLElBQU1DLE9BQU9mLFlBQVlnQixPQUFPLElBQzFCQyxPQUFPQyxhQUFJLENBQUNDLG1CQUFtQixDQUFDNUIsVUFBVXdCO1FBRWhEdkIsTUFBTTRCLElBQUksQ0FBQ0g7UUFFWEgsZ0JBQWdCcEI7UUFFaEJGLE1BQU02QixHQUFHO1FBRVRwQiw2QkFBNkJhLGVBQWdCLEdBQUc7SUFDbEQ7SUFFQSxJQUFJYiw0QkFBNEI7UUFDOUJSLGFBQWE2QixLQUFLLENBQUMsQUFBQyxtQkFBZ0RsQixPQUE5QkYsWUFBVyxxQkFBcUMsT0FBbEJFLG1CQUFrQixtQkFBaUJiO0lBQ3pHO0lBRUEsT0FBT1U7QUFDVCJ9
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS90ZXJtV2l0aENvbnN0cnVjdG9ycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHVuaWZ5VGVybVdpdGhDb25zdHJ1Y3RvciBmcm9tIFwiLi4vdW5pZnkvdGVybVdpdGhDb25zdHJ1Y3RvclwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm0vdmFyaWFibGUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1bmlmeVRlcm1XaXRoQ29uc3RydWN0b3JzKHRlcm1Ob2RlLCB0ZXJtcywgbG9jYWxDb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3JzID0gZmFsc2U7XG5cbiAgY29uc3QgdmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlUXVlcnkodGVybU5vZGUpO1xuXG4gIGlmICh2YXJpYWJsZU5vZGUgPT09IG51bGwpIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBsb2NhbENvbnRleHQuZ2V0Q29uc3RydWN0b3JzKCk7XG5cbiAgICB0ZXJtVW5pZmllZFdpdGhDb25zdHJ1Y3RvcnMgPSBjb25zdHJ1Y3RvcnMuc29tZSgoY29uc3RydWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IHRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9yID0gdW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yKHRlcm1Ob2RlLCB0ZXJtcywgY29uc3RydWN0b3IsIGxvY2FsQ29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICBpZiAodGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3JzO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5VGVybVdpdGhDb25zdHJ1Y3RvcnMiLCJ2YXJpYWJsZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInRlcm1Ob2RlIiwidGVybXMiLCJsb2NhbENvbnRleHQiLCJ2ZXJpZnlBaGVhZCIsInRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9ycyIsInZhcmlhYmxlTm9kZSIsImNvbnN0cnVjdG9ycyIsImdldENvbnN0cnVjdG9ycyIsInNvbWUiLCJjb25zdHJ1Y3RvciIsInRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9yIiwidW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXdCQTs7OzBFQU5hO3FCQUVYOzs7Ozs7QUFFMUIsSUFBTUMsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXJCLFNBQVNGLDBCQUEwQkcsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLFlBQVksRUFBRUMsV0FBVztJQUMxRixJQUFJQyw4QkFBOEI7SUFFbEMsSUFBTUMsZUFBZVAsa0JBQWtCRTtJQUV2QyxJQUFJSyxpQkFBaUIsTUFBTTtRQUN6QixJQUFNQyxlQUFlSixhQUFhSyxlQUFlO1FBRWpESCw4QkFBOEJFLGFBQWFFLElBQUksQ0FBQyxTQUFDQztZQUMvQyxJQUFNQyw2QkFBNkJDLElBQUFBLDRCQUF3QixFQUFDWCxVQUFVQyxPQUFPUSxhQUFhUCxjQUFjQztZQUV4RyxJQUFJTyw0QkFBNEI7Z0JBQzlCLE9BQU87WUFDVDtRQUNGO0lBQ0Y7SUFFQSxPQUFPTjtBQUNUIn0=