occam-verify-cli 0.0.1108 → 0.0.1109

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.
@@ -19,6 +19,7 @@ _export(exports, {
19
19
  var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
20
20
  var _combinator = /*#__PURE__*/ _interop_require_default(require("../combinator"));
21
21
  var _combinator1 = /*#__PURE__*/ _interop_require_default(require("../context/bracketed/combinator"));
22
+ var _unification = require("../utilities/unification");
22
23
  function _assert_this_initialized(self) {
23
24
  if (self === void 0) {
24
25
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -105,7 +106,22 @@ var BracketedCombinator = /*#__PURE__*/ function(Combinator) {
105
106
  _class_call_check(this, BracketedCombinator);
106
107
  return _call_super(this, BracketedCombinator, arguments);
107
108
  }
108
- _create_class(BracketedCombinator, null, [
109
+ _create_class(BracketedCombinator, [
110
+ {
111
+ key: "unifyStatement",
112
+ value: function unifyStatement(statement, assignments, stated, context) {
113
+ var statementUnified;
114
+ var statementString = statement.getString();
115
+ context.trace("Unifying the '".concat(statementString, "' statement with the bracketed combinator..."));
116
+ var bracketedCombinator = this, combinator = bracketedCombinator, statementUnifiedWithCombinator = (0, _unification.unifyStatementWithCombinator)(statement, combinator, assignments, stated, context);
117
+ statementUnified = statementUnifiedWithCombinator;
118
+ if (statementUnified) {
119
+ context.debug("...unified the '".concat(statementString, "' statement with the bracketed combinator."));
120
+ }
121
+ return statementUnified;
122
+ }
123
+ }
124
+ ], [
109
125
  {
110
126
  key: "fromNothing",
111
127
  value: function fromNothing() {
@@ -117,4 +133,4 @@ var BracketedCombinator = /*#__PURE__*/ function(Combinator) {
117
133
  return BracketedCombinator;
118
134
  }(_combinator.default);
119
135
 
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21iaW5hdG9yL2JyYWNrZXRlZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4uL3NoaW1cIjtcbmltcG9ydCBDb21iaW5hdG9yIGZyb20gXCIuLi9jb21iaW5hdG9yXCI7XG5pbXBvcnQgQ29tYmluYXRvckJyYWNrZXRlZENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvYnJhY2tldGVkL2NvbWJpbmF0b3JcIjtcblxuY29uc3QgY29tYmluYXRvckJyYWNrZXRlZENvbnRleHQgPSBDb21iaW5hdG9yQnJhY2tldGVkQ29udGV4dC5mcm9tTm90aGluZygpO1xuXG5leHBvcnQgY29uc3QgYnJhY2tldGVkU3RhdGVtZW50Tm9kZSA9IGNvbWJpbmF0b3JCcmFja2V0ZWRDb250ZXh0LmdldEJyYWNrZXRlZFN0YXRlbWVudE5vZGUoKTsgIC8vL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCcmFja2V0ZWRDb21iaW5hdG9yIGV4dGVuZHMgQ29tYmluYXRvciB7XG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCB7IFN0YXRlbWVudCB9ID0gc2hpbSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gYnJhY2tldGVkU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgY29udGV4dCA9IGNvbWJpbmF0b3JCcmFja2V0ZWRDb250ZXh0LCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnQgPSBTdGF0ZW1lbnQuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgY29udGV4dCksXG4gICAgICAgICAgYnJhY2tldGVkQ29tYmluYXRvciA9IG5ldyBCcmFja2V0ZWRDb21iaW5hdG9yKHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gYnJhY2tldGVkQ29tYmluYXRvcjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImJyYWNrZXRlZFN0YXRlbWVudE5vZGUiLCJCcmFja2V0ZWRDb21iaW5hdG9yIiwiY29tYmluYXRvckJyYWNrZXRlZENvbnRleHQiLCJDb21iaW5hdG9yQnJhY2tldGVkQ29udGV4dCIsImZyb21Ob3RoaW5nIiwiZ2V0QnJhY2tldGVkU3RhdGVtZW50Tm9kZSIsIlN0YXRlbWVudCIsInNoaW0iLCJzdGF0ZW1lbnROb2RlIiwiY29udGV4dCIsInN0YXRlbWVudCIsImZyb21TdGF0ZW1lbnROb2RlIiwiYnJhY2tldGVkQ29tYmluYXRvciIsIkNvbWJpbmF0b3IiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVFhQSxzQkFBc0I7ZUFBdEJBOzs7ZUFFUUM7OzsyREFSSjtpRUFDTTtrRUFDZ0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdkMsSUFBTUMsNkJBQTZCQyxvQkFBMEIsQ0FBQ0MsV0FBVztBQUVsRSxJQUFNSix5QkFBeUJFLDJCQUEyQkcseUJBQXlCLElBQUssR0FBRztBQUVuRixJQUFBLEFBQU1KLG9DQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtpQ0FBQUE7O2tCQUFBQTs7WUFDWkcsS0FBQUE7bUJBQVAsU0FBT0E7Z0JBQ0wsSUFBTSxBQUFFRSxZQUFjQyxhQUFJLENBQWxCRCxXQUNGRSxnQkFBZ0JSLHdCQUNoQlMsVUFBVVAsNEJBQ1ZRLFlBQVlKLFVBQVVLLGlCQUFpQixDQUFDSCxlQUFlQyxVQUN2REcsc0JBQXNCLElBTlhYLG9CQU1tQ1M7Z0JBRXBELE9BQU9FO1lBQ1Q7OztXQVRtQlg7RUFBNEJZLG1CQUFVIn0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21iaW5hdG9yL2JyYWNrZXRlZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4uL3NoaW1cIjtcbmltcG9ydCBDb21iaW5hdG9yIGZyb20gXCIuLi9jb21iaW5hdG9yXCI7XG5pbXBvcnQgQ29tYmluYXRvckJyYWNrZXRlZENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvYnJhY2tldGVkL2NvbWJpbmF0b3JcIjtcblxuaW1wb3J0IHsgdW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvciB9IGZyb20gXCIuLi91dGlsaXRpZXMvdW5pZmljYXRpb25cIjtcblxuY29uc3QgY29tYmluYXRvckJyYWNrZXRlZENvbnRleHQgPSBDb21iaW5hdG9yQnJhY2tldGVkQ29udGV4dC5mcm9tTm90aGluZygpO1xuXG5leHBvcnQgY29uc3QgYnJhY2tldGVkU3RhdGVtZW50Tm9kZSA9IGNvbWJpbmF0b3JCcmFja2V0ZWRDb250ZXh0LmdldEJyYWNrZXRlZFN0YXRlbWVudE5vZGUoKTsgIC8vL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCcmFja2V0ZWRDb21iaW5hdG9yIGV4dGVuZHMgQ29tYmluYXRvciB7XG4gIHVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCkge1xuICAgIGxldCBzdGF0ZW1lbnRVbmlmaWVkO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSBicmFja2V0ZWQgY29tYmluYXRvci4uLmApO1xuXG4gICAgY29uc3QgYnJhY2tldGVkQ29tYmluYXRvciA9IHRoaXMsIC8vL1xuICAgICAgICAgIGNvbWJpbmF0b3IgPSBicmFja2V0ZWRDb21iaW5hdG9yLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IgPSB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yKHN0YXRlbWVudCwgY29tYmluYXRvciwgYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCk7XG5cbiAgICBzdGF0ZW1lbnRVbmlmaWVkID0gc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yO1xuXG4gICAgaWYgKHN0YXRlbWVudFVuaWZpZWQpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSBicmFja2V0ZWQgY29tYmluYXRvci5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllZDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCB7IFN0YXRlbWVudCB9ID0gc2hpbSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gYnJhY2tldGVkU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgY29udGV4dCA9IGNvbWJpbmF0b3JCcmFja2V0ZWRDb250ZXh0LCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnQgPSBTdGF0ZW1lbnQuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgY29udGV4dCksXG4gICAgICAgICAgYnJhY2tldGVkQ29tYmluYXRvciA9IG5ldyBCcmFja2V0ZWRDb21iaW5hdG9yKHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gYnJhY2tldGVkQ29tYmluYXRvcjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImJyYWNrZXRlZFN0YXRlbWVudE5vZGUiLCJCcmFja2V0ZWRDb21iaW5hdG9yIiwiY29tYmluYXRvckJyYWNrZXRlZENvbnRleHQiLCJDb21iaW5hdG9yQnJhY2tldGVkQ29udGV4dCIsImZyb21Ob3RoaW5nIiwiZ2V0QnJhY2tldGVkU3RhdGVtZW50Tm9kZSIsInVuaWZ5U3RhdGVtZW50Iiwic3RhdGVtZW50IiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJjb250ZXh0Iiwic3RhdGVtZW50VW5pZmllZCIsInN0YXRlbWVudFN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwiYnJhY2tldGVkQ29tYmluYXRvciIsImNvbWJpbmF0b3IiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IiLCJ1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yIiwiZGVidWciLCJTdGF0ZW1lbnQiLCJzaGltIiwic3RhdGVtZW50Tm9kZSIsImZyb21TdGF0ZW1lbnROb2RlIiwiQ29tYmluYXRvciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBVWFBLHNCQUFzQjtlQUF0QkE7OztlQUVRQzs7OzJEQVZKO2lFQUNNO2tFQUNnQjsyQkFFTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3QyxJQUFNQyw2QkFBNkJDLG9CQUEwQixDQUFDQyxXQUFXO0FBRWxFLElBQU1KLHlCQUF5QkUsMkJBQTJCRyx5QkFBeUIsSUFBSyxHQUFHO0FBRW5GLElBQUEsQUFBTUosb0NBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO2lDQUFBQTs7a0JBQUFBOztZQUNuQkssS0FBQUE7bUJBQUFBLFNBQUFBLGVBQWVDLFNBQVMsRUFBRUMsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLE9BQU87Z0JBQ3BELElBQUlDO2dCQUVKLElBQU1DLGtCQUFrQkwsVUFBVU0sU0FBUztnQkFFM0NILFFBQVFJLEtBQUssQ0FBQyxBQUFDLGlCQUFnQyxPQUFoQkYsaUJBQWdCO2dCQUUvQyxJQUFNRyxzQkFBc0IsSUFBSSxFQUMxQkMsYUFBYUQscUJBQ2JFLGlDQUFpQ0MsSUFBQUEseUNBQTRCLEVBQUNYLFdBQVdTLFlBQVlSLGFBQWFDLFFBQVFDO2dCQUVoSEMsbUJBQW1CTTtnQkFFbkIsSUFBSU4sa0JBQWtCO29CQUNwQkQsUUFBUVMsS0FBSyxDQUFDLEFBQUMsbUJBQWtDLE9BQWhCUCxpQkFBZ0I7Z0JBQ25EO2dCQUVBLE9BQU9EO1lBQ1Q7Ozs7WUFFT1AsS0FBQUE7bUJBQVAsU0FBT0E7Z0JBQ0wsSUFBTSxBQUFFZ0IsWUFBY0MsYUFBSSxDQUFsQkQsV0FDRkUsZ0JBQWdCdEIsd0JBQ2hCVSxVQUFVUiw0QkFDVkssWUFBWWEsVUFBVUcsaUJBQWlCLENBQUNELGVBQWVaLFVBQ3ZESyxzQkFBc0IsSUExQlhkLG9CQTBCbUNNO2dCQUVwRCxPQUFPUTtZQUNUOzs7V0E3Qm1CZDtFQUE0QnVCLG1CQUFVIn0=
package/lib/combinator.js CHANGED
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "default", {
11
11
  var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
12
12
  var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
13
13
  var _query = require("./utilities/query");
14
+ var _unification = require("./utilities/unification");
14
15
  var _json = require("./utilities/json");
15
16
  function _class_call_check(instance, Constructor) {
16
17
  if (!(instance instanceof Constructor)) {
@@ -62,6 +63,20 @@ var Combinator = /*#__PURE__*/ function() {
62
63
  return statementNode;
63
64
  }
64
65
  },
66
+ {
67
+ key: "unifyStatement",
68
+ value: function unifyStatement(statement, assignments, stated, context) {
69
+ var statementUnified;
70
+ var combinator = this, statementString = statement.getString(), combinatorString = combinator.getString();
71
+ context.trace("Unifying the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator..."));
72
+ var statementUnifiedWithCombinator = (0, _unification.unifyStatementWithCombinator)(statement, combinator, assignments, stated, context);
73
+ statementUnified = statementUnifiedWithCombinator; ///
74
+ if (statementUnified) {
75
+ context.debug("...unified the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator."));
76
+ }
77
+ return statementUnified;
78
+ }
79
+ },
65
80
  {
66
81
  key: "verifyWhenDeclared",
67
82
  value: function verifyWhenDeclared(fileContext) {
@@ -108,4 +123,4 @@ Object.assign(_shim.default, {
108
123
  });
109
124
  var _default = Combinator;
110
125
 
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21iaW5hdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi9zaGltXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuL2NvbnRleHQvbG9jYWxcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBzdGF0ZW1lbnRGcm9tSlNPTiwgc3RhdGVtZW50VG9TdGF0ZW1lbnRKU09OIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbWJpbmF0b3JEZWNsYXJhdGlvbi9zdGF0ZW1lbnRcIik7XG5cbmNsYXNzIENvbWJpbmF0b3Ige1xuICBjb25zdHJ1Y3RvcihzdGF0ZW1lbnQpIHtcbiAgICB0aGlzLnN0YXRlbWVudCA9IHN0YXRlbWVudDtcbiAgfVxuXG4gIGdldFN0YXRlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnQ7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7IHJldHVybiB0aGlzLnN0YXRlbWVudC5nZXRTdHJpbmcoKTsgfVxuXG4gIGdldFN0YXRlbWVudE5vZGUoKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHRoaXMuc3RhdGVtZW50LmdldE5vZGUoKTtcblxuICAgIHJldHVybiBzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgdmVyaWZ5V2hlbkRlY2xhcmVkKGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkV2hlbkRlY2xhcmVkO1xuXG4gICAgY29uc3QgY29tYmluYXRvclN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7Y29tYmluYXRvclN0cmluZ30nIGNvbWJpbmF0b3Igd2hlbiBkZWNsYXJlZC4uLmApO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50VmVyaWZpZWRBdFRvcExldmVsID0gdGhpcy5zdGF0ZW1lbnQudmVyaWZ5V2hlbkRlY2xhcmVkKGZpbGVDb250ZXh0KTtcblxuICAgIHZlcmlmaWVkV2hlbkRlY2xhcmVkID0gc3RhdGVtZW50VmVyaWZpZWRBdFRvcExldmVsOyAvLy9cblxuICAgIGlmICh2ZXJpZmllZFdoZW5EZWNsYXJlZCkge1xuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvciB3aGVuIGRlY2xhcmVkLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZFdoZW5EZWNsYXJlZDtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRKU09OID0gc3RhdGVtZW50VG9TdGF0ZW1lbnRKU09OKHRoaXMuc3RhdGVtZW50KSxcbiAgICAgICAgICBzdGF0ZW1lbnQgPSBzdGF0ZW1lbnRKU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHN0YXRlbWVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHN0YXRlbWVudCA9IHN0YXRlbWVudEZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBjb21iaW5hdG9yID0gbmV3IENvbWJpbmF0b3Ioc3RhdGVtZW50KTtcblxuICAgIHJldHVybiBjb21iaW5hdG9yO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlKGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgeyBTdGF0ZW1lbnQgfSA9IHNoaW0sXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgICBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdGF0ZW1lbnQgPSBTdGF0ZW1lbnQuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KSxcbiAgICAgICAgICBjb21iaW5hdG9yID0gbmV3IENvbWJpbmF0b3Ioc3RhdGVtZW50KTtcblxuICAgIHJldHVybiBjb21iaW5hdG9yO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oc2hpbSwge1xuICBDb21iaW5hdG9yXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgQ29tYmluYXRvcjtcblxuIl0sIm5hbWVzIjpbInN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIkNvbWJpbmF0b3IiLCJzdGF0ZW1lbnQiLCJnZXRTdGF0ZW1lbnQiLCJnZXRTdHJpbmciLCJnZXRTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZSIsImdldE5vZGUiLCJ2ZXJpZnlXaGVuRGVjbGFyZWQiLCJmaWxlQ29udGV4dCIsInZlcmlmaWVkV2hlbkRlY2xhcmVkIiwiY29tYmluYXRvclN0cmluZyIsInRyYWNlIiwic3RhdGVtZW50VmVyaWZpZWRBdFRvcExldmVsIiwiZGVidWciLCJ0b0pTT04iLCJzdGF0ZW1lbnRKU09OIiwic3RhdGVtZW50VG9TdGF0ZW1lbnRKU09OIiwianNvbiIsImZyb21KU09OIiwic3RhdGVtZW50RnJvbUpTT04iLCJjb21iaW5hdG9yIiwiZnJvbUNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiU3RhdGVtZW50Iiwic2hpbSIsImxvY2FsQ29udGV4dCIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsImZyb21TdGF0ZW1lbnROb2RlIiwiT2JqZWN0IiwiYXNzaWduIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkE2RUE7OztlQUFBOzs7MkRBM0VpQjs0REFDUTtxQkFFQztvQkFDa0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUQsSUFBTUEscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXJDLElBQUEsQUFBTUMsMkJBQU47YUFBTUEsV0FDUUMsU0FBUztnQ0FEakJEO1FBRUYsSUFBSSxDQUFDQyxTQUFTLEdBQUdBOztrQkFGZkQ7O1lBS0pFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsU0FBUztZQUN2Qjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFBYyxPQUFPLElBQUksQ0FBQ0YsU0FBUyxDQUFDRSxTQUFTO1lBQUk7OztZQUVqREMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLGdCQUFnQixJQUFJLENBQUNKLFNBQVMsQ0FBQ0ssT0FBTztnQkFFNUMsT0FBT0Q7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxtQkFBbUJDLFdBQVc7Z0JBQzVCLElBQUlDO2dCQUVKLElBQU1DLG1CQUFtQixJQUFJLENBQUNQLFNBQVMsSUFBSSxHQUFHO2dCQUU5Q0ssWUFBWUcsS0FBSyxDQUFDLEFBQUMsa0JBQWtDLE9BQWpCRCxrQkFBaUI7Z0JBRXJELElBQU1FLDhCQUE4QixJQUFJLENBQUNYLFNBQVMsQ0FBQ00sa0JBQWtCLENBQUNDO2dCQUV0RUMsdUJBQXVCRyw2QkFBNkIsR0FBRztnQkFFdkQsSUFBSUgsc0JBQXNCO29CQUN4QkQsWUFBWUssS0FBSyxDQUFDLEFBQUMsb0JBQW9DLE9BQWpCSCxrQkFBaUI7Z0JBQ3pEO2dCQUVBLE9BQU9EO1lBQ1Q7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsZ0JBQWdCQyxJQUFBQSw4QkFBd0IsRUFBQyxJQUFJLENBQUNmLFNBQVMsR0FDdkRBLFlBQVljLGVBQ1pFLE9BQU87b0JBQ0xoQixXQUFBQTtnQkFDRjtnQkFFTixPQUFPZ0I7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxTQUFTRCxJQUFJLEVBQUVULFdBQVc7Z0JBQy9CLElBQU1QLFlBQVlrQixJQUFBQSx1QkFBaUIsRUFBQ0YsTUFBTVQsY0FDcENZLGFBQWEsSUEvQ2pCcEIsV0ErQ2dDQztnQkFFbEMsT0FBT21CO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSw4QkFBOEJDLHlCQUF5QixFQUFFZCxXQUFXO2dCQUN6RSxJQUFNLEFBQUVlLFlBQWNDLGFBQUksQ0FBbEJELFdBQ0ZsQixnQkFBZ0JQLG1CQUFtQndCLDRCQUNuQ0csZUFBZUMsY0FBWSxDQUFDQyxlQUFlLENBQUNuQixjQUM1Q1AsWUFBWXNCLFVBQVVLLGlCQUFpQixDQUFDdkIsZUFBZW9CLGVBQ3ZETCxhQUFhLElBekRqQnBCLFdBeURnQ0M7Z0JBRWxDLE9BQU9tQjtZQUNUOzs7V0E1RElwQjs7QUErRE42QixPQUFPQyxNQUFNLENBQUNOLGFBQUksRUFBRTtJQUNsQnhCLFlBQUFBO0FBQ0Y7SUFFQSxXQUFlQSJ9
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21iaW5hdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi9zaGltXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuL2NvbnRleHQvbG9jYWxcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3VuaWZpY2F0aW9uXCI7XG5pbXBvcnQgeyBzdGF0ZW1lbnRGcm9tSlNPTiwgc3RhdGVtZW50VG9TdGF0ZW1lbnRKU09OIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbWJpbmF0b3JEZWNsYXJhdGlvbi9zdGF0ZW1lbnRcIik7XG5cbmNsYXNzIENvbWJpbmF0b3Ige1xuICBjb25zdHJ1Y3RvcihzdGF0ZW1lbnQpIHtcbiAgICB0aGlzLnN0YXRlbWVudCA9IHN0YXRlbWVudDtcbiAgfVxuXG4gIGdldFN0YXRlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnQ7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7IHJldHVybiB0aGlzLnN0YXRlbWVudC5nZXRTdHJpbmcoKTsgfVxuXG4gIGdldFN0YXRlbWVudE5vZGUoKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHRoaXMuc3RhdGVtZW50LmdldE5vZGUoKTtcblxuICAgIHJldHVybiBzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZWQ7XG5cbiAgICBjb25zdCBjb21iaW5hdG9yID0gdGhpcywgIC8vL1xuICAgICAgICAgIHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBjb21iaW5hdG9yU3RyaW5nID0gY29tYmluYXRvci5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7Y29tYmluYXRvclN0cmluZ30nIGNvbWJpbmF0b3IuLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvciA9IHVuaWZ5U3RhdGVtZW50V2l0aENvbWJpbmF0b3Ioc3RhdGVtZW50LCBjb21iaW5hdG9yLCBhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KTtcblxuICAgIHN0YXRlbWVudFVuaWZpZWQgPSBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3I7IC8vL1xuXG4gICAgaWYgKHN0YXRlbWVudFVuaWZpZWQpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllZDtcbiAgfVxuXG4gIHZlcmlmeVdoZW5EZWNsYXJlZChmaWxlQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZFdoZW5EZWNsYXJlZDtcblxuICAgIGNvbnN0IGNvbWJpbmF0b3JTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbWJpbmF0b3JTdHJpbmd9JyBjb21iaW5hdG9yIHdoZW4gZGVjbGFyZWQuLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFZlcmlmaWVkQXRUb3BMZXZlbCA9IHRoaXMuc3RhdGVtZW50LnZlcmlmeVdoZW5EZWNsYXJlZChmaWxlQ29udGV4dCk7XG5cbiAgICB2ZXJpZmllZFdoZW5EZWNsYXJlZCA9IHN0YXRlbWVudFZlcmlmaWVkQXRUb3BMZXZlbDsgLy8vXG5cbiAgICBpZiAodmVyaWZpZWRXaGVuRGVjbGFyZWQpIHtcbiAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7Y29tYmluYXRvclN0cmluZ30nIGNvbWJpbmF0b3Igd2hlbiBkZWNsYXJlZC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWRXaGVuRGVjbGFyZWQ7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50SlNPTiA9IHN0YXRlbWVudFRvU3RhdGVtZW50SlNPTih0aGlzLnN0YXRlbWVudCksXG4gICAgICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50SlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBzdGF0ZW1lbnRcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnQgPSBzdGF0ZW1lbnRGcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgY29tYmluYXRvciA9IG5ldyBDb21iaW5hdG9yKHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gY29tYmluYXRvcjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZShjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgU3RhdGVtZW50IH0gPSBzaGltLFxuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkoY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgICAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3RhdGVtZW50ID0gU3RhdGVtZW50LmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCksXG4gICAgICAgICAgY29tYmluYXRvciA9IG5ldyBDb21iaW5hdG9yKHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gY29tYmluYXRvcjtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKHNoaW0sIHtcbiAgQ29tYmluYXRvclxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IENvbWJpbmF0b3I7XG5cbiJdLCJuYW1lcyI6WyJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJDb21iaW5hdG9yIiwic3RhdGVtZW50IiwiZ2V0U3RhdGVtZW50IiwiZ2V0U3RyaW5nIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGUiLCJnZXROb2RlIiwidW5pZnlTdGF0ZW1lbnQiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsImNvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVkIiwiY29tYmluYXRvciIsInN0YXRlbWVudFN0cmluZyIsImNvbWJpbmF0b3JTdHJpbmciLCJ0cmFjZSIsInN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvciIsInVuaWZ5U3RhdGVtZW50V2l0aENvbWJpbmF0b3IiLCJkZWJ1ZyIsInZlcmlmeVdoZW5EZWNsYXJlZCIsImZpbGVDb250ZXh0IiwidmVyaWZpZWRXaGVuRGVjbGFyZWQiLCJzdGF0ZW1lbnRWZXJpZmllZEF0VG9wTGV2ZWwiLCJ0b0pTT04iLCJzdGF0ZW1lbnRKU09OIiwic3RhdGVtZW50VG9TdGF0ZW1lbnRKU09OIiwianNvbiIsImZyb21KU09OIiwic3RhdGVtZW50RnJvbUpTT04iLCJmcm9tQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJTdGF0ZW1lbnQiLCJzaGltIiwibG9jYWxDb250ZXh0IiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwiZnJvbVN0YXRlbWVudE5vZGUi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
@@ -19,6 +19,7 @@ _export(exports, {
19
19
  var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
20
20
  var _constructor = /*#__PURE__*/ _interop_require_wildcard(require("../constructor"));
21
21
  var _constructor1 = /*#__PURE__*/ _interop_require_default(require("../context/bracketed/constructor"));
22
+ var _query = require("../utilities/query");
22
23
  function _assert_this_initialized(self) {
23
24
  if (self === void 0) {
24
25
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -48,6 +49,22 @@ function _create_class(Constructor, protoProps, staticProps) {
48
49
  if (staticProps) _defineProperties(Constructor, staticProps);
49
50
  return Constructor;
50
51
  }
52
+ function _get(target, property, receiver) {
53
+ if (typeof Reflect !== "undefined" && Reflect.get) {
54
+ _get = Reflect.get;
55
+ } else {
56
+ _get = function get(target, property, receiver) {
57
+ var base = _super_prop_base(target, property);
58
+ if (!base) return;
59
+ var desc = Object.getOwnPropertyDescriptor(base, property);
60
+ if (desc.get) {
61
+ return desc.get.call(receiver || target);
62
+ }
63
+ return desc.value;
64
+ };
65
+ }
66
+ return _get(target, property, receiver || target);
67
+ }
51
68
  function _get_prototype_of(o) {
52
69
  _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
53
70
  return o.__proto__ || Object.getPrototypeOf(o);
@@ -126,6 +143,13 @@ function _set_prototype_of(o, p) {
126
143
  };
127
144
  return _set_prototype_of(o, p);
128
145
  }
146
+ function _super_prop_base(object, property) {
147
+ while(!Object.prototype.hasOwnProperty.call(object, property)){
148
+ object = _get_prototype_of(object);
149
+ if (object === null) break;
150
+ }
151
+ return object;
152
+ }
129
153
  function _type_of(obj) {
130
154
  "@swc/helpers - typeof";
131
155
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
@@ -138,6 +162,7 @@ function _is_native_reflect_construct() {
138
162
  return !!result;
139
163
  })();
140
164
  }
165
+ var termNodeQuery = (0, _query.nodeQuery)("/term/argument/term");
141
166
  var constructorBracketedContext = _constructor1.default.fromNothing();
142
167
  var bracketedTermNode = constructorBracketedContext.getBracketedTermNode();
143
168
  var BracketedConstructor = /*#__PURE__*/ function(Constructor) {
@@ -146,7 +171,36 @@ var BracketedConstructor = /*#__PURE__*/ function(Constructor) {
146
171
  _class_call_check(this, BracketedConstructor);
147
172
  return _call_super(this, BracketedConstructor, arguments);
148
173
  }
149
- _create_class(BracketedConstructor, null, [
174
+ _create_class(BracketedConstructor, [
175
+ {
176
+ key: "unifyTerm",
177
+ value: function unifyTerm(term, context, verifyAhead) {
178
+ var termUnified;
179
+ var termString = term.getString();
180
+ context.trace("Unifying the '".concat(termString, "' term with the bracketed constructor..."), term);
181
+ termUnified = _get(_get_prototype_of(BracketedConstructor.prototype), "unifyTerm", this).call(this, term, context, function() {
182
+ var verifiedAhead = false;
183
+ var Term = _shim.default.Term, bracketedTerm = term, bracketedTermNode = bracketedTerm.getNode(), termNode = termNodeQuery(bracketedTermNode); ///
184
+ term = Term.fromTermNode(termNode, context);
185
+ if (term !== null) {
186
+ var termVVerified = term.verify(context, function() {
187
+ var verifiedAhead;
188
+ var type = term.getType();
189
+ bracketedTerm.setType(type);
190
+ verifiedAhead = verifyAhead();
191
+ return verifiedAhead;
192
+ });
193
+ verifiedAhead = termVVerified; ///
194
+ }
195
+ return verifiedAhead;
196
+ });
197
+ if (termUnified) {
198
+ context.debug("...unified the '".concat(termString, "' term with the bracketed constructor."), term);
199
+ }
200
+ return termUnified;
201
+ }
202
+ }
203
+ ], [
150
204
  {
151
205
  key: "fromNothing",
152
206
  value: function fromNothing() {
@@ -158,4 +212,4 @@ var BracketedConstructor = /*#__PURE__*/ function(Constructor) {
158
212
  return BracketedConstructor;
159
213
  }(_constructor.default);
160
214
 
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3Rvci9icmFja2V0ZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5pbXBvcnQgQ29uc3RydWN0b3IgZnJvbSBcIi4uL2NvbnN0cnVjdG9yXCI7XG5pbXBvcnQgQ29uc3RydWN0b3JCcmFja2V0ZWRDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2JyYWNrZXRlZC9jb25zdHJ1Y3RvclwiO1xuXG5pbXBvcnQgeyBzdHJpbmdGcm9tVGVybUFuZFR5cGUgfSBmcm9tIFwiLi4vY29uc3RydWN0b3JcIjtcblxuY29uc3QgY29uc3RydWN0b3JCcmFja2V0ZWRDb250ZXh0ID0gQ29uc3RydWN0b3JCcmFja2V0ZWRDb250ZXh0LmZyb21Ob3RoaW5nKCk7XG5cbmV4cG9ydCBjb25zdCBicmFja2V0ZWRUZXJtTm9kZSA9IGNvbnN0cnVjdG9yQnJhY2tldGVkQ29udGV4dC5nZXRCcmFja2V0ZWRUZXJtTm9kZSgpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCcmFja2V0ZWRDb25zdHJ1Y3RvciBleHRlbmRzIENvbnN0cnVjdG9yIHtcbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IHsgVGVybSB9ID0gc2hpbSxcbiAgICAgICAgICB0ZXJtTm9kZSA9IGJyYWNrZXRlZFRlcm1Ob2RlLCAgLy8vXG4gICAgICAgICAgY29udGV4dCA9IGNvbnN0cnVjdG9yQnJhY2tldGVkQ29udGV4dCwgLy8vXG4gICAgICAgICAgdGVybSA9IFRlcm0uZnJvbVRlcm1Ob2RlKHRlcm1Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICB0eXBlID0gbnVsbCxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tVGVybUFuZFR5cGUodGVybSwgdHlwZSksXG4gICAgICAgICAgYnJhY2tldGVkQ29uc3RydWN0b3IgPSBuZXcgQnJhY2tldGVkQ29uc3RydWN0b3Ioc3RyaW5nLCB0ZXJtKTtcblxuICAgIHJldHVybiBicmFja2V0ZWRDb25zdHJ1Y3RvcjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImJyYWNrZXRlZFRlcm1Ob2RlIiwiQnJhY2tldGVkQ29uc3RydWN0b3IiLCJjb25zdHJ1Y3RvckJyYWNrZXRlZENvbnRleHQiLCJDb25zdHJ1Y3RvckJyYWNrZXRlZENvbnRleHQiLCJmcm9tTm90aGluZyIsImdldEJyYWNrZXRlZFRlcm1Ob2RlIiwiVGVybSIsInNoaW0iLCJ0ZXJtTm9kZSIsImNvbnRleHQiLCJ0ZXJtIiwiZnJvbVRlcm1Ob2RlIiwidHlwZSIsInN0cmluZyIsInN0cmluZ0Zyb21UZXJtQW5kVHlwZSIsImJyYWNrZXRlZENvbnN0cnVjdG9yIiwiQ29uc3RydWN0b3IiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVVhQSxpQkFBaUI7ZUFBakJBOzs7ZUFFUUM7OzsyREFWSjttRUFDTzttRUFDZ0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUl4QyxJQUFNQyw4QkFBOEJDLHFCQUEyQixDQUFDQyxXQUFXO0FBRXBFLElBQU1KLG9CQUFvQkUsNEJBQTRCRyxvQkFBb0I7QUFFbEUsSUFBQSxBQUFNSixxQ0FBTjtjQUFNQTthQUFBQTtnQ0FBQUE7aUNBQUFBOztrQkFBQUE7O1lBQ1pHLEtBQUFBO21CQUFQLFNBQU9BO2dCQUNMLElBQU0sQUFBRUUsT0FBU0MsYUFBSSxDQUFiRCxNQUNGRSxXQUFXUixtQkFDWFMsVUFBVVAsNkJBQ1ZRLE9BQU9KLEtBQUtLLFlBQVksQ0FBQ0gsVUFBVUMsVUFDbkNHLE9BQU8sTUFDUEMsU0FBU0MsSUFBQUEsa0NBQXFCLEVBQUNKLE1BQU1FLE9BQ3JDRyx1QkFBdUIsSUFSWmQscUJBUXFDWSxRQUFRSDtnQkFFOUQsT0FBT0s7WUFDVDs7O1dBWG1CZDtFQUE2QmUsb0JBQVcifQ==
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3Rvci9icmFja2V0ZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5pbXBvcnQgQ29uc3RydWN0b3IgZnJvbSBcIi4uL2NvbnN0cnVjdG9yXCI7XG5pbXBvcnQgQ29uc3RydWN0b3JCcmFja2V0ZWRDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2JyYWNrZXRlZC9jb25zdHJ1Y3RvclwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBzdHJpbmdGcm9tVGVybUFuZFR5cGUgfSBmcm9tIFwiLi4vY29uc3RydWN0b3JcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtL2FyZ3VtZW50L3Rlcm1cIik7XG5cbmNvbnN0IGNvbnN0cnVjdG9yQnJhY2tldGVkQ29udGV4dCA9IENvbnN0cnVjdG9yQnJhY2tldGVkQ29udGV4dC5mcm9tTm90aGluZygpO1xuXG5leHBvcnQgY29uc3QgYnJhY2tldGVkVGVybU5vZGUgPSBjb25zdHJ1Y3RvckJyYWNrZXRlZENvbnRleHQuZ2V0QnJhY2tldGVkVGVybU5vZGUoKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQnJhY2tldGVkQ29uc3RydWN0b3IgZXh0ZW5kcyBDb25zdHJ1Y3RvciB7XG4gIHVuaWZ5VGVybSh0ZXJtLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCB0ZXJtVW5pZmllZDtcblxuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlIGJyYWNrZXRlZCBjb25zdHJ1Y3Rvci4uLmAsIHRlcm0pO1xuXG4gICAgdGVybVVuaWZpZWQgPSBzdXBlci51bmlmeVRlcm0odGVybSwgY29udGV4dCwgKCkgPT4ge1xuICAgICAgbGV0IHZlcmlmaWVkQWhlYWQgPSBmYWxzZTtcblxuICAgICAgY29uc3QgeyBUZXJtIH0gPSBzaGltLFxuICAgICAgICAgICAgYnJhY2tldGVkVGVybSA9IHRlcm0sIC8vL1xuICAgICAgICAgICAgYnJhY2tldGVkVGVybU5vZGUgPSBicmFja2V0ZWRUZXJtLmdldE5vZGUoKSxcbiAgICAgICAgICAgIHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeShicmFja2V0ZWRUZXJtTm9kZSk7IC8vL1xuXG4gICAgICB0ZXJtID0gVGVybS5mcm9tVGVybU5vZGUodGVybU5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBpZiAodGVybSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCB0ZXJtVlZlcmlmaWVkID0gdGVybS52ZXJpZnkoY29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgIGxldCB2ZXJpZmllZEFoZWFkO1xuXG4gICAgICAgICAgY29uc3QgdHlwZSA9IHRlcm0uZ2V0VHlwZSgpO1xuXG4gICAgICAgICAgYnJhY2tldGVkVGVybS5zZXRUeXBlKHR5cGUpO1xuXG4gICAgICAgICAgdmVyaWZpZWRBaGVhZCA9IHZlcmlmeUFoZWFkKCk7XG5cbiAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdmVyaWZpZWRBaGVhZCA9IHRlcm1WVmVyaWZpZWQ7ICAvLy9cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgfSk7XG5cbiAgICBpZiAodGVybVVuaWZpZWQpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlIGJyYWNrZXRlZCBjb25zdHJ1Y3Rvci5gLCB0ZXJtKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGVybVVuaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgeyBUZXJtIH0gPSBzaGltLFxuICAgICAgICAgIHRlcm1Ob2RlID0gYnJhY2tldGVkVGVybU5vZGUsICAvLy9cbiAgICAgICAgICBjb250ZXh0ID0gY29uc3RydWN0b3JCcmFja2V0ZWRDb250ZXh0LCAvLy9cbiAgICAgICAgICB0ZXJtID0gVGVybS5mcm9tVGVybU5vZGUodGVybU5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgIHR5cGUgPSBudWxsLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21UZXJtQW5kVHlwZSh0ZXJtLCB0eXBlKSxcbiAgICAgICAgICBicmFja2V0ZWRDb25zdHJ1Y3RvciA9IG5ldyBCcmFja2V0ZWRDb25zdHJ1Y3RvcihzdHJpbmcsIHRlcm0pO1xuXG4gICAgcmV0dXJuIGJyYWNrZXRlZENvbnN0cnVjdG9yO1xuICB9XG59XG4iXSwibmFtZXMiOlsiYnJhY2tldGVkVGVybU5vZGUiLCJCcmFja2V0ZWRDb25zdHJ1Y3RvciIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJjb25zdHJ1Y3RvckJyYWNrZXRlZENvbnRleHQiLCJDb25zdHJ1Y3RvckJyYWNrZXRlZENvbnRleHQiLCJmcm9tTm90aGluZyIsImdldEJyYWNrZXRlZFRlcm1Ob2RlIiwidW5pZnlUZXJtIiwidGVybSIsImNvbnRleHQiLCJ2ZXJpZnlBaGVhZCIsInRlcm1VbmlmaWVkIiwidGVybVN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmVyaWZpZWRBaGVhZCIsIlRlcm0iLCJzaGltIiwiYnJhY2tldGVkVGVybSIsImdldE5vZGUiLCJ0ZXJtTm9kZSIsImZyb21UZXJtTm9kZSIsInRlcm1WVmVyaWZpZWQiLCJ2ZXJpZnkiLCJ0eXBlIiwiZ2V0VHlwZSIsInNldFR5cGUiLCJkZWJ1ZyIsInN0cmluZyIsInN0cmluZ0Zyb21UZXJtQW5kVHlwZSIsImJyYWNrZXRlZENvbnN0cnVjdG9yIiwiQ29uc3RydWN0b3IiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQWFhQSxpQkFBaUI7ZUFBakJBOzs7ZUFFUUM7OzsyREFiSjttRUFDTzttRUFDZ0I7cUJBRWQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzFCLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUVoQyxJQUFNQyw4QkFBOEJDLHFCQUEyQixDQUFDQyxXQUFXO0FBRXBFLElBQU1OLG9CQUFvQkksNEJBQTRCRyxvQkFBb0I7QUFFbEUsSUFBQSxBQUFNTixxQ0FBTjtjQUFNQTthQUFBQTtnQ0FBQUE7aUNBQUFBOztrQkFBQUE7O1lBQ25CTyxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVUMsSUFBSSxFQUFFQyxPQUFPLEVBQUVDLFdBQVc7Z0JBQ2xDLElBQUlDO2dCQUVKLElBQU1DLGFBQWFKLEtBQUtLLFNBQVM7Z0JBRWpDSixRQUFRSyxLQUFLLENBQUMsQUFBQyxpQkFBMkIsT0FBWEYsWUFBVyw2Q0FBMkNKO2dCQUVyRkcsY0FBYyx1QkFSR1gsaUNBUUdPLGFBQU4sSUFBSyxhQUFXQyxNQUFNQyxTQUFTO29CQUMzQyxJQUFJTSxnQkFBZ0I7b0JBRXBCLElBQU0sQUFBRUMsT0FBU0MsYUFBSSxDQUFiRCxNQUNGRSxnQkFBZ0JWLE1BQ2hCVCxvQkFBb0JtQixjQUFjQyxPQUFPLElBQ3pDQyxXQUFXbkIsY0FBY0Ysb0JBQW9CLEdBQUc7b0JBRXREUyxPQUFPUSxLQUFLSyxZQUFZLENBQUNELFVBQVVYO29CQUVuQyxJQUFJRCxTQUFTLE1BQU07d0JBQ2pCLElBQU1jLGdCQUFnQmQsS0FBS2UsTUFBTSxDQUFDZCxTQUFTOzRCQUN6QyxJQUFJTTs0QkFFSixJQUFNUyxPQUFPaEIsS0FBS2lCLE9BQU87NEJBRXpCUCxjQUFjUSxPQUFPLENBQUNGOzRCQUV0QlQsZ0JBQWdCTDs0QkFFaEIsT0FBT0s7d0JBQ1Q7d0JBRUFBLGdCQUFnQk8sZUFBZ0IsR0FBRztvQkFDckM7b0JBRUEsT0FBT1A7Z0JBQ1Q7Z0JBRUEsSUFBSUosYUFBYTtvQkFDZkYsUUFBUWtCLEtBQUssQ0FBQyxBQUFDLG1CQUE2QixPQUFYZixZQUFXLDJDQUF5Q0o7Z0JBQ3ZGO2dCQUVBLE9BQU9HO1lBQ1Q7Ozs7WUFFT04sS0FBQUE7bUJBQVAsU0FBT0E7Z0JBQ0wsSUFBTSxBQUFFVyxPQUFTQyxhQUFJLENBQWJELE1BQ0ZJLFdBQVdyQixtQkFDWFUsVUFBVU4sNkJBQ1ZLLE9BQU9RLEtBQUtLLFlBQVksQ0FBQ0QsVUFBVVgsVUFDbkNlLE9BQU8sTUFDUEksU0FBU0MsSUFBQUEsa0NBQXFCLEVBQUNyQixNQUFNZ0IsT0FDckNNLHVCQUF1QixJQW5EWjlCLHFCQW1EcUM0QixRQUFRcEI7Z0JBRTlELE9BQU9zQjtZQUNUOzs7V0F0RG1COUI7RUFBNkIrQixvQkFBVyJ9
@@ -19,6 +19,7 @@ _export(exports, {
19
19
  var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
20
20
  var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
21
21
  var _query = require("./utilities/query");
22
+ var _unification = require("./utilities/unification");
22
23
  var _json = require("./utilities/json");
23
24
  function _class_call_check(instance, Constructor) {
24
25
  if (!(instance instanceof Constructor)) {
@@ -70,6 +71,26 @@ var Constructor = /*#__PURE__*/ function() {
70
71
  return this.term.getType();
71
72
  }
72
73
  },
74
+ {
75
+ key: "unifyTerm",
76
+ value: function unifyTerm(term, context, verifyAhead) {
77
+ var termUnified = false;
78
+ var constructor = this, termString = term.getString(), constructorString = constructor.getString();
79
+ context.trace("Unifying the '".concat(termString, "' term with the '").concat(constructorString, "' constructor..."), term);
80
+ var termUnifiedWithConstructor = (0, _unification.unifyTermWithConstructor)(term, constructor, context);
81
+ if (termUnifiedWithConstructor) {
82
+ var verifiedAhead;
83
+ var type = constructor.getType();
84
+ term.setType(type);
85
+ verifiedAhead = verifyAhead();
86
+ termUnified = verifiedAhead; ///
87
+ }
88
+ if (termUnified) {
89
+ context.debug("...unified the '".concat(termString, "' term with the '").concat(constructorString, "' constructor."), term);
90
+ }
91
+ return termUnified;
92
+ }
93
+ },
73
94
  {
74
95
  key: "verifyWhenDeclared",
75
96
  value: function verifyWhenDeclared(fileContext) {
@@ -129,4 +150,4 @@ function stringFromTermAndType(term, type) {
129
150
  return string;
130
151
  }
131
152
 
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdHJ1Y3Rvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgdGVybUZyb21KU09OLCB0ZXJtVG9UZXJtSlNPTiB9IGZyb20gXCIuL3V0aWxpdGllcy9qc29uXCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uc3RydWN0b3JEZWNsYXJhdGlvbi90ZXJtXCIpLFxuICAgICAgdHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25zdHJ1Y3RvckRlY2xhcmF0aW9uL3R5cGVcIik7XG5cbmNsYXNzIENvbnN0cnVjdG9yIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCB0ZXJtKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy50ZXJtID0gdGVybTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm07XG4gIH1cblxuICBnZXRUeXBlKCkgeyByZXR1cm4gdGhpcy50ZXJtLmdldFR5cGUoKTsgfVxuXG4gIHZlcmlmeVdoZW5EZWNsYXJlZChmaWxlQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZFdoZW5EZWNsYXJlZDtcblxuICAgIGNvbnN0IGNvbnN0cnVjdG9yU3RyaW5nID0gdGhpcy5zdHJpbmc7ICAvLy9cblxuICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbnN0cnVjdG9yU3RyaW5nfScgY29uc3RydWN0b3Igd2hlbiBkZWNsYXJlZC4uLmApO1xuXG4gICAgY29uc3QgdGVybVZlcmlmaWVkQXRUb3BMZXZlbCA9IHRoaXMudGVybS52ZXJpZnlXaGVuRGVjbGFyZWQoZmlsZUNvbnRleHQpO1xuXG4gICAgaWYgKHRlcm1WZXJpZmllZEF0VG9wTGV2ZWwpIHtcbiAgICAgIHZlcmlmaWVkV2hlbkRlY2xhcmVkID0gdHJ1ZTsgLy8vXG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkV2hlbkRlY2xhcmVkKSB7XG4gICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NvbnN0cnVjdG9yU3RyaW5nfScgY29uc3RydWN0b3Igd2hlbiBkZWNsYXJlZC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWRXaGVuRGVjbGFyZWQ7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdGVybUpTT04gPSB0ZXJtVG9UZXJtSlNPTih0aGlzLnRlcm0pLFxuICAgICAgICAgIHRlcm0gPSB0ZXJtSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICB0ZXJtXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgdGVybSA9IHRlcm1Gcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgdHlwZSA9IHRlcm0uZ2V0VHlwZSgpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21UZXJtQW5kVHlwZSh0ZXJtLCB0eXBlKSxcbiAgICAgICAgICBjb25zdHJ1Y3RvciA9IG5ldyBDb25zdHJ1Y3RvcihzdHJpbmcsIHRlcm0pO1xuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZShjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IFRlcm0sIFR5cGUgfSA9IHNoaW0sXG4gICAgICAgICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgICB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICAgIGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpLFxuICAgICAgICAgIGNvbnRleHQgPSBsb2NhbENvbnRleHQsIC8vL1xuICAgICAgICAgIHR5cGUgPSBUeXBlLmZyb21UeXBlTm9kZSh0eXBlTm9kZSksXG4gICAgICAgICAgdGVybSA9IFRlcm0uZnJvbVRlcm1Ob2RlQW5kVHlwZSh0ZXJtTm9kZSwgdHlwZSwgY29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVRlcm1BbmRUeXBlKHRlcm0sIHR5cGUpLFxuICAgICAgICAgIGNvbnN0cnVjdG9yID0gbmV3IENvbnN0cnVjdG9yKHN0cmluZywgdGVybSk7XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3I7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihzaGltLCB7XG4gIENvbnN0cnVjdG9yXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgQ29uc3RydWN0b3I7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdGcm9tVGVybUFuZFR5cGUodGVybSwgdHlwZSkge1xuICBsZXQgc3RyaW5nO1xuXG4gIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgc3RyaW5nID0gYCR7dGVybVN0cmluZ31gO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZS5nZXROYW1lKCk7XG5cbiAgICBzdHJpbmcgPSBgJHt0ZXJtU3RyaW5nfToke3R5cGVOYW1lfWA7XG4gIH1cblxuICByZXR1cm4gc3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbInN0cmluZ0Zyb21UZXJtQW5kVHlwZSIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5IiwiQ29uc3RydWN0b3IiLCJzdHJpbmciLCJ0ZXJtIiwiZ2V0U3RyaW5nIiwiZ2V0VGVybSIsImdldFR5cGUiLCJ2ZXJpZnlXaGVuRGVjbGFyZWQiLCJmaWxlQ29udGV4dCIsInZlcmlmaWVkV2hlbkRlY2xhcmVkIiwiY29uc3RydWN0b3JTdHJpbmciLCJ0cmFjZSIsInRlcm1WZXJpZmllZEF0VG9wTGV2ZWwiLCJkZWJ1ZyIsInRvSlNPTiIsInRlcm1KU09OIiwidGVybVRvVGVybUpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJ0ZXJtRnJvbUpTT04iLCJ0eXBlIiwiY29uc3RydWN0b3IiLCJmcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsIlRlcm0iLCJzaGltIiwiVHlwZSIsInRlcm1Ob2RlIiwidHlwZU5vZGUiLCJsb2NhbENvbnRleHQiLCJMb2NhbENvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJjb250ZXh0IiwiZnJvbVR5cGVOb2RlIiwiZnJvbVRlcm1Ob2RlQW5kVHlwZSIsIk9iamVjdCIsImFzc2lnbiIsInRlcm1TdHJpbmciLCJ0eXBlTmFtZSIsImdldE5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQXFGQSxPQUEyQjtlQUEzQjs7SUFFZ0JBLHFCQUFxQjtlQUFyQkE7OzsyREFyRkM7NERBQ1E7cUJBRUM7b0JBQ21COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTdDLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyxpQ0FDMUJDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUVoQyxJQUFBLEFBQU1FLDRCQUFOO2FBQU1BLFlBQ1FDLE1BQU0sRUFBRUMsSUFBSTtnQ0FEcEJGO1FBRUYsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxJQUFJLEdBQUdBOztrQkFIVkY7O1lBTUpHLEtBQUFBO21CQUFBQSxT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
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdHJ1Y3Rvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgdW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3VuaWZpY2F0aW9uXCI7XG5pbXBvcnQgeyB0ZXJtRnJvbUpTT04sIHRlcm1Ub1Rlcm1KU09OIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25zdHJ1Y3RvckRlY2xhcmF0aW9uL3Rlcm1cIiksXG4gICAgICB0eXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnN0cnVjdG9yRGVjbGFyYXRpb24vdHlwZVwiKTtcblxuY2xhc3MgQ29uc3RydWN0b3Ige1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHRlcm0pIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnRlcm0gPSB0ZXJtO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybTtcbiAgfVxuXG4gIGdldFR5cGUoKSB7IHJldHVybiB0aGlzLnRlcm0uZ2V0VHlwZSgpOyB9XG5cbiAgdW5pZnlUZXJtKHRlcm0sIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IHRlcm1VbmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBjb25zdHJ1Y3RvciA9IHRoaXMsIC8vL1xuICAgICAgICAgIHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICAgIGNvbnN0cnVjdG9yU3RyaW5nID0gY29uc3RydWN0b3IuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gd2l0aCB0aGUgJyR7Y29uc3RydWN0b3JTdHJpbmd9JyBjb25zdHJ1Y3Rvci4uLmAsIHRlcm0pO1xuXG4gICAgY29uc3QgdGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IgPSB1bmlmeVRlcm1XaXRoQ29uc3RydWN0b3IodGVybSwgY29uc3RydWN0b3IsIGNvbnRleHQpO1xuXG4gICAgaWYgKHRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9yKSB7XG4gICAgICBsZXQgdmVyaWZpZWRBaGVhZDtcblxuICAgICAgY29uc3QgdHlwZSA9IGNvbnN0cnVjdG9yLmdldFR5cGUoKTtcblxuICAgICAgdGVybS5zZXRUeXBlKHR5cGUpO1xuXG4gICAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgICAgdGVybVVuaWZpZWQgPSB2ZXJpZmllZEFoZWFkOyAgLy8vXG4gICAgfVxuXG4gICAgaWYgKHRlcm1VbmlmaWVkKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSB3aXRoIHRoZSAnJHtjb25zdHJ1Y3RvclN0cmluZ30nIGNvbnN0cnVjdG9yLmAsIHRlcm0pO1xuICAgIH1cblxuICAgIHJldHVybiB0ZXJtVW5pZmllZDtcbiAgfVxuXG4gIHZlcmlmeVdoZW5EZWNsYXJlZChmaWxlQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZFdoZW5EZWNsYXJlZDtcblxuICAgIGNvbnN0IGNvbnN0cnVjdG9yU3RyaW5nID0gdGhpcy5zdHJpbmc7ICAvLy9cblxuICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbnN0cnVjdG9yU3RyaW5nfScgY29uc3RydWN0b3Igd2hlbiBkZWNsYXJlZC4uLmApO1xuXG4gICAgY29uc3QgdGVybVZlcmlmaWVkQXRUb3BMZXZlbCA9IHRoaXMudGVybS52ZXJpZnlXaGVuRGVjbGFyZWQoZmlsZUNvbnRleHQpO1xuXG4gICAgaWYgKHRlcm1WZXJpZmllZEF0VG9wTGV2ZWwpIHtcbiAgICAgIHZlcmlmaWVkV2hlbkRlY2xhcmVkID0gdHJ1ZTsgLy8vXG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkV2hlbkRlY2xhcmVkKSB7XG4gICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NvbnN0cnVjdG9yU3RyaW5nfScgY29uc3RydWN0b3Igd2hlbiBkZWNsYXJlZC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWRXaGVuRGVjbGFyZWQ7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdGVybUpTT04gPSB0ZXJtVG9UZXJtSlNPTih0aGlzLnRlcm0pLFxuICAgICAgICAgIHRlcm0gPSB0ZXJtSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICB0ZXJtXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgdGVybSA9IHRlcm1Gcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgdHlwZSA9IHRlcm0uZ2V0VHlwZSgpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21UZXJtQW5kVHlwZSh0ZXJtLCB0eXBlKSxcbiAgICAgICAgICBjb25zdHJ1Y3RvciA9IG5ldyBDb25zdHJ1Y3RvcihzdHJpbmcsIHRlcm0pO1xuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZShjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IFRlcm0sIFR5cGUgfSA9IHNoaW0sXG4gICAgICAgICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgICB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICAgIGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpLFxuICAgICAgICAgIGNvbnRleHQgPSBsb2NhbENvbnRleHQsIC8vL1xuICAgICAgICAgIHR5cGUgPSBUeXBlLmZyb21UeXBlTm9kZSh0eXBlTm9kZSksXG4gICAgICAgICAgdGVybSA9IFRlcm0uZnJvbVRlcm1Ob2RlQW5kVHlwZSh0ZXJtTm9kZSwgdHlwZSwgY29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVRlcm1BbmRUeXBlKHRlcm0sIHR5cGUpLFxuICAgICAgICAgIGNvbnN0cnVjdG9yID0gbmV3IENvbnN0cnVjdG9yKHN0cmluZywgdGVybSk7XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3I7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihzaGltLCB7XG4gIENvbnN0cnVjdG9yXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgQ29uc3RydWN0b3I7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdGcm9tVGVybUFuZFR5cGUodGVybSwgdHlwZSkge1xuICBsZXQgc3RyaW5nO1xuXG4gIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgc3RyaW5nID0gYCR7dGVybVN0cmluZ31gO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZS5nZXROYW1lKCk7XG5cbiAgICBzdHJpbmcgPSBgJHt0ZXJtU3RyaW5nfToke3R5cGVOYW1lfWA7XG4gIH1cblxuICByZXR1cm4gc3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbInN0cmluZ0Zyb21UZXJtQW5kVHlwZSIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5IiwiQ29uc3RydWN0b3IiLCJzdHJpbmciLCJ0ZXJtIiwiZ2V0U3RyaW5nIiwiZ2V0VGVybSIsImdldFR5cGUiLCJ1bmlmeVRlcm0iLCJjb250ZXh0IiwidmVyaWZ5QWhlYWQiLCJ0ZXJtVW5pZmllZCIsImNvbnN0cnVjdG9yIiwidGVybVN0cmluZyIsImNvbnN0cnVjdG9yU3RyaW5nIiwidHJhY2UiLCJ0ZXJtVW5pZmllZFdpdGhDb25zdHJ1Y3RvciIsInVuaWZ5VGVybVdpdGhDb25zdHJ1Y3RvciIsInZlcmlmaWVkQWhlYWQiLCJ0eXBlIiwic2V0VHlwZSIsImRlYnVnIiwidmVyaWZ5V2hlbkRlY2xhcmVkIiwiZmlsZUNvbnRleHQiLCJ2ZXJpZmllZFdoZW5EZWNsYXJlZCIsInRlcm1WZXJpZmllZEF0VG9wTGV2ZWwiLCJ0b0pTT04iLCJ0ZXJtSlNPTiIsInRlcm1Ub1Rlcm1KU09OIiwianNvbiIsImZyb21KU09OIiwidGVybUZyb21KU09OIiwiZnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJUZXJtIiwic2hpbSIsIlR5cGUiLCJ0ZXJtTm9kZSIsInR5cGVOb2RlIiwibG9jYWxDb250ZXh0IiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwiZnJvbVR5cGVOb2RlIiwiZnJvbVRlcm1Ob2RlQW5kVHlwZSIsIk9iamVjdCIsImFzc2lnbiIsInR5cGVOYW1lIiwiZ2V0TmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBb0hBLE9BQTJCO2VBQTNCOztJQUVnQkEscUJBQXFCO2VBQXJCQTs7OzJEQXBIQzs0REFDUTtxQkFFQzsyQkFDZTtvQkFDSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3QyxJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsaUNBQzFCQyxnQkFBZ0JELElBQUFBLGdCQUFTLEVBQUM7QUFFaEMsSUFBQSxBQUFNRSw0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
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _bracketed = /*#__PURE__*/ _interop_require_default(require("../../combinator/bracketed"));
12
- var _unification = require("../../utilities/unification");
13
12
  function _interop_require_default(obj) {
14
13
  return obj && obj.__esModule ? obj : {
15
14
  default: obj
@@ -17,13 +16,8 @@ function _interop_require_default(obj) {
17
16
  }
18
17
  function unifyWithBracketedCombinator(statement, assignments, stated, context) {
19
18
  var unifiedWithBracketedCombinator;
20
- var statementString = statement.getString();
21
- context.trace("Unifying the '".concat(statementString, "' statement with the bracketed combinator..."));
22
- var bracketedCombinator = _bracketed.default.fromNothing(), combinator = bracketedCombinator, statementUnifiedWithCombinator = (0, _unification.unifyStatementWithCombinator)(statement, combinator, assignments, stated, context);
23
- unifiedWithBracketedCombinator = statementUnifiedWithCombinator;
24
- if (unifiedWithBracketedCombinator) {
25
- context.debug("...unified the '".concat(statementString, "' statement with the bracketed combinator."));
26
- }
19
+ var bracketedCombinator = _bracketed.default.fromNothing();
20
+ unifiedWithBracketedCombinator = bracketedCombinator.unifyStatement(statement, assignments, stated, context);
27
21
  return unifiedWithBracketedCombinator;
28
22
  }
29
23
  function unifyWithCombinators(statement, assignments, stated, context) {
@@ -32,7 +26,7 @@ function unifyWithCombinators(statement, assignments, stated, context) {
32
26
  stated = true; ///
33
27
  assignments = null; ///
34
28
  unifiedWithCombinators = combinators.some(function(combinator) {
35
- var unifiedWithCombinator = unifyWithCombinator(statement, combinator, assignments, stated, context);
29
+ var unifiedWithCombinator = combinator.unifyStatement(statement, assignments, stated, context);
36
30
  if (unifiedWithCombinator) {
37
31
  return true;
38
32
  }
@@ -44,16 +38,5 @@ var unifyMixins = [
44
38
  unifyWithCombinators
45
39
  ];
46
40
  var _default = unifyMixins;
47
- function unifyWithCombinator(statement, combinator, assignments, stated, context) {
48
- var unifiedWithCombinator;
49
- var statementString = statement.getString(), combinatorString = combinator.getString();
50
- context.trace("Unifying the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator..."));
51
- var statementUnifiedWithCombinator = (0, _unification.unifyStatementWithCombinator)(statement, combinator, assignments, stated, context);
52
- unifiedWithCombinator = statementUnifiedWithCombinator; ///
53
- if (unifiedWithCombinator) {
54
- context.debug("...unified the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator."));
55
- }
56
- return unifiedWithCombinator;
57
- }
58
41
 
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9taXhpbnMvc3RhdGVtZW50L3VuaWZ5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgQnJhY2tldGVkQ29tYmluYXRvciBmcm9tIFwiLi4vLi4vY29tYmluYXRvci9icmFja2V0ZWRcIjtcblxuaW1wb3J0IHsgdW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvciB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvdW5pZmljYXRpb25cIjtcblxuZnVuY3Rpb24gdW5pZnlXaXRoQnJhY2tldGVkQ29tYmluYXRvcihzdGF0ZW1lbnQsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgbGV0IHVuaWZpZWRXaXRoQnJhY2tldGVkQ29tYmluYXRvcjtcblxuICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBzdGF0ZW1lbnQuZ2V0U3RyaW5nKCk7XG5cbiAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSBicmFja2V0ZWQgY29tYmluYXRvci4uLmApO1xuXG4gIGNvbnN0IGJyYWNrZXRlZENvbWJpbmF0b3IgPSBCcmFja2V0ZWRDb21iaW5hdG9yLmZyb21Ob3RoaW5nKCksXG4gICAgICAgIGNvbWJpbmF0b3IgPSBicmFja2V0ZWRDb21iaW5hdG9yLCAvLy9cbiAgICAgICAgc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yID0gdW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvcihzdGF0ZW1lbnQsIGNvbWJpbmF0b3IsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpO1xuXG4gIHVuaWZpZWRXaXRoQnJhY2tldGVkQ29tYmluYXRvciA9IHN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvcjtcblxuICBpZiAodW5pZmllZFdpdGhCcmFja2V0ZWRDb21iaW5hdG9yKSB7XG4gICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IHdpdGggdGhlIGJyYWNrZXRlZCBjb21iaW5hdG9yLmApO1xuICB9XG5cbiAgcmV0dXJuIHVuaWZpZWRXaXRoQnJhY2tldGVkQ29tYmluYXRvcjtcbn1cblxuZnVuY3Rpb24gdW5pZnlXaXRoQ29tYmluYXRvcnMoc3RhdGVtZW50LCBhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KSB7XG4gIGxldCB1bmlmaWVkV2l0aENvbWJpbmF0b3JzO1xuXG4gIGNvbnN0IGNvbWJpbmF0b3JzID0gY29udGV4dC5nZXRDb21iaW5hdG9ycygpO1xuXG4gIHN0YXRlZCA9IHRydWU7ICAvLy9cblxuICBhc3NpZ25tZW50cyA9IG51bGw7IC8vL1xuXG4gIHVuaWZpZWRXaXRoQ29tYmluYXRvcnMgPSBjb21iaW5hdG9ycy5zb21lKChjb21iaW5hdG9yKSA9PiB7XG4gICAgY29uc3QgdW5pZmllZFdpdGhDb21iaW5hdG9yID0gdW5pZnlXaXRoQ29tYmluYXRvcihzdGF0ZW1lbnQsIGNvbWJpbmF0b3IsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpO1xuXG4gICAgaWYgKHVuaWZpZWRXaXRoQ29tYmluYXRvcikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gdW5pZmllZFdpdGhDb21iaW5hdG9ycztcbn1cblxuXG5jb25zdCB1bmlmeU1peGlucyA9IFtcbiAgdW5pZnlXaXRoQnJhY2tldGVkQ29tYmluYXRvcixcbiAgdW5pZnlXaXRoQ29tYmluYXRvcnNcbl07XG5cbmV4cG9ydCBkZWZhdWx0IHVuaWZ5TWl4aW5zO1xuXG5mdW5jdGlvbiB1bmlmeVdpdGhDb21iaW5hdG9yKHN0YXRlbWVudCwgY29tYmluYXRvciwgYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCkge1xuICBsZXQgdW5pZmllZFdpdGhDb21iaW5hdG9yO1xuXG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKSxcbiAgICAgICAgY29tYmluYXRvclN0cmluZyA9IGNvbWJpbmF0b3IuZ2V0U3RyaW5nKCk7XG5cbiAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci4uLmApO1xuXG4gIGNvbnN0IHN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvciA9IHVuaWZ5U3RhdGVtZW50V2l0aENvbWJpbmF0b3Ioc3RhdGVtZW50LCBjb21iaW5hdG9yLCBhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KTtcblxuICB1bmlmaWVkV2l0aENvbWJpbmF0b3IgPSBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3I7IC8vL1xuXG4gIGlmICh1bmlmaWVkV2l0aENvbWJpbmF0b3IpIHtcbiAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7Y29tYmluYXRvclN0cmluZ30nIGNvbWJpbmF0b3IuYCk7XG4gIH1cblxuICByZXR1cm4gdW5pZmllZFdpdGhDb21iaW5hdG9yO1xufVxuIl0sIm5hbWVzIjpbInVuaWZ5V2l0aEJyYWNrZXRlZENvbWJpbmF0b3IiLCJzdGF0ZW1lbnQiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsImNvbnRleHQiLCJ1bmlmaWVkV2l0aEJyYWNrZXRlZENvbWJpbmF0b3IiLCJzdGF0ZW1lbnRTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsImJyYWNrZXRlZENvbWJpbmF0b3IiLCJCcmFja2V0ZWRDb21iaW5hdG9yIiwiZnJvbU5vdGhpbmciLCJjb21iaW5hdG9yIiwic3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yIiwidW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvciIsImRlYnVnIiwidW5pZnlXaXRoQ29tYmluYXRvcnMiLCJ1bmlmaWVkV2l0aENvbWJpbmF0b3JzIiwiY29tYmluYXRvcnMiLCJnZXRDb21iaW5hdG9ycyIsInNvbWUiLCJ1bmlmaWVkV2l0aENvbWJpbmF0b3IiLCJ1bmlmeVdpdGhDb21iaW5hdG9yIiwidW5pZnlNaXhpbnMiLCJjb21iaW5hdG9yU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvREE7OztlQUFBOzs7Z0VBbERnQzsyQkFFYTs7Ozs7O0FBRTdDLFNBQVNBLDZCQUE2QkMsU0FBUyxFQUFFQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsT0FBTztJQUMzRSxJQUFJQztJQUVKLElBQU1DLGtCQUFrQkwsVUFBVU0sU0FBUztJQUUzQ0gsUUFBUUksS0FBSyxDQUFDLEFBQUMsaUJBQWdDLE9BQWhCRixpQkFBZ0I7SUFFL0MsSUFBTUcsc0JBQXNCQyxrQkFBbUIsQ0FBQ0MsV0FBVyxJQUNyREMsYUFBYUgscUJBQ2JJLGlDQUFpQ0MsSUFBQUEseUNBQTRCLEVBQUNiLFdBQVdXLFlBQVlWLGFBQWFDLFFBQVFDO0lBRWhIQyxpQ0FBaUNRO0lBRWpDLElBQUlSLGdDQUFnQztRQUNsQ0QsUUFBUVcsS0FBSyxDQUFDLEFBQUMsbUJBQWtDLE9BQWhCVCxpQkFBZ0I7SUFDbkQ7SUFFQSxPQUFPRDtBQUNUO0FBRUEsU0FBU1cscUJBQXFCZixTQUFTLEVBQUVDLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxPQUFPO0lBQ25FLElBQUlhO0lBRUosSUFBTUMsY0FBY2QsUUFBUWUsY0FBYztJQUUxQ2hCLFNBQVMsTUFBTyxHQUFHO0lBRW5CRCxjQUFjLE1BQU0sR0FBRztJQUV2QmUseUJBQXlCQyxZQUFZRSxJQUFJLENBQUMsU0FBQ1I7UUFDekMsSUFBTVMsd0JBQXdCQyxvQkFBb0JyQixXQUFXVyxZQUFZVixhQUFhQyxRQUFRQztRQUU5RixJQUFJaUIsdUJBQXVCO1lBQ3pCLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT0o7QUFDVDtBQUdBLElBQU1NLGNBQWM7SUFDbEJ2QjtJQUNBZ0I7Q0FDRDtJQUVELFdBQWVPO0FBRWYsU0FBU0Qsb0JBQW9CckIsU0FBUyxFQUFFVyxVQUFVLEVBQUVWLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxPQUFPO0lBQzlFLElBQUlpQjtJQUVKLElBQU1mLGtCQUFrQkwsVUFBVU0sU0FBUyxJQUNyQ2lCLG1CQUFtQlosV0FBV0wsU0FBUztJQUU3Q0gsUUFBUUksS0FBSyxDQUFDLEFBQUMsaUJBQXdEZ0IsT0FBeENsQixpQkFBZ0IsMEJBQXlDLE9BQWpCa0Isa0JBQWlCO0lBRXhGLElBQU1YLGlDQUFpQ0MsSUFBQUEseUNBQTRCLEVBQUNiLFdBQVdXLFlBQVlWLGFBQWFDLFFBQVFDO0lBRWhIaUIsd0JBQXdCUixnQ0FBZ0MsR0FBRztJQUUzRCxJQUFJUSx1QkFBdUI7UUFDekJqQixRQUFRVyxLQUFLLENBQUMsQUFBQyxtQkFBMERTLE9BQXhDbEIsaUJBQWdCLDBCQUF5QyxPQUFqQmtCLGtCQUFpQjtJQUM1RjtJQUVBLE9BQU9IO0FBQ1QifQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9taXhpbnMvc3RhdGVtZW50L3VuaWZ5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgQnJhY2tldGVkQ29tYmluYXRvciBmcm9tIFwiLi4vLi4vY29tYmluYXRvci9icmFja2V0ZWRcIjtcblxuZnVuY3Rpb24gdW5pZnlXaXRoQnJhY2tldGVkQ29tYmluYXRvcihzdGF0ZW1lbnQsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgbGV0IHVuaWZpZWRXaXRoQnJhY2tldGVkQ29tYmluYXRvcjtcblxuICBjb25zdCBicmFja2V0ZWRDb21iaW5hdG9yID0gQnJhY2tldGVkQ29tYmluYXRvci5mcm9tTm90aGluZygpO1xuXG4gIHVuaWZpZWRXaXRoQnJhY2tldGVkQ29tYmluYXRvciA9IGJyYWNrZXRlZENvbWJpbmF0b3IudW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KTtcblxuICByZXR1cm4gdW5pZmllZFdpdGhCcmFja2V0ZWRDb21iaW5hdG9yO1xufVxuXG5mdW5jdGlvbiB1bmlmeVdpdGhDb21iaW5hdG9ycyhzdGF0ZW1lbnQsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgbGV0IHVuaWZpZWRXaXRoQ29tYmluYXRvcnM7XG5cbiAgY29uc3QgY29tYmluYXRvcnMgPSBjb250ZXh0LmdldENvbWJpbmF0b3JzKCk7XG5cbiAgc3RhdGVkID0gdHJ1ZTsgIC8vL1xuXG4gIGFzc2lnbm1lbnRzID0gbnVsbDsgLy8vXG5cbiAgdW5pZmllZFdpdGhDb21iaW5hdG9ycyA9IGNvbWJpbmF0b3JzLnNvbWUoKGNvbWJpbmF0b3IpID0+IHtcbiAgICBjb25zdCB1bmlmaWVkV2l0aENvbWJpbmF0b3IgPSBjb21iaW5hdG9yLnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCk7XG5cbiAgICBpZiAodW5pZmllZFdpdGhDb21iaW5hdG9yKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiB1bmlmaWVkV2l0aENvbWJpbmF0b3JzO1xufVxuXG5cbmNvbnN0IHVuaWZ5TWl4aW5zID0gW1xuICB1bmlmeVdpdGhCcmFja2V0ZWRDb21iaW5hdG9yLFxuICB1bmlmeVdpdGhDb21iaW5hdG9yc1xuXTtcblxuZXhwb3J0IGRlZmF1bHQgdW5pZnlNaXhpbnM7XG4iXSwibmFtZXMiOlsidW5pZnlXaXRoQnJhY2tldGVkQ29tYmluYXRvciIsInN0YXRlbWVudCIsImFzc2lnbm1lbnRzIiwic3RhdGVkIiwiY29udGV4dCIsInVuaWZpZWRXaXRoQnJhY2tldGVkQ29tYmluYXRvciIsImJyYWNrZXRlZENvbWJpbmF0b3IiLCJCcmFja2V0ZWRDb21iaW5hdG9yIiwiZnJvbU5vdGhpbmciLCJ1bmlmeVN0YXRlbWVudCIsInVuaWZ5V2l0aENvbWJpbmF0b3JzIiwidW5pZmllZFdpdGhDb21iaW5hdG9ycyIsImNvbWJpbmF0b3JzIiwiZ2V0Q29tYmluYXRvcnMiLCJzb21lIiwiY29tYmluYXRvciIsInVuaWZpZWRXaXRoQ29tYmluYXRvciIsInVuaWZ5TWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF3Q0E7OztlQUFBOzs7Z0VBdENnQzs7Ozs7O0FBRWhDLFNBQVNBLDZCQUE2QkMsU0FBUyxFQUFFQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsT0FBTztJQUMzRSxJQUFJQztJQUVKLElBQU1DLHNCQUFzQkMsa0JBQW1CLENBQUNDLFdBQVc7SUFFM0RILGlDQUFpQ0Msb0JBQW9CRyxjQUFjLENBQUNSLFdBQVdDLGFBQWFDLFFBQVFDO0lBRXBHLE9BQU9DO0FBQ1Q7QUFFQSxTQUFTSyxxQkFBcUJULFNBQVMsRUFBRUMsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLE9BQU87SUFDbkUsSUFBSU87SUFFSixJQUFNQyxjQUFjUixRQUFRUyxjQUFjO0lBRTFDVixTQUFTLE1BQU8sR0FBRztJQUVuQkQsY0FBYyxNQUFNLEdBQUc7SUFFdkJTLHlCQUF5QkMsWUFBWUUsSUFBSSxDQUFDLFNBQUNDO1FBQ3pDLElBQU1DLHdCQUF3QkQsV0FBV04sY0FBYyxDQUFDUixXQUFXQyxhQUFhQyxRQUFRQztRQUV4RixJQUFJWSx1QkFBdUI7WUFDekIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPTDtBQUNUO0FBR0EsSUFBTU0sY0FBYztJQUNsQmpCO0lBQ0FVO0NBQ0Q7SUFFRCxXQUFlTyJ9
@@ -8,47 +8,23 @@ Object.defineProperty(exports, "default", {
8
8
  return _default;
9
9
  }
10
10
  });
11
- var _shim = /*#__PURE__*/ _interop_require_default(require("../../shim"));
12
11
  var _bracketed = /*#__PURE__*/ _interop_require_default(require("../../constructor/bracketed"));
13
- var _query = require("../../utilities/query");
14
- var _unification = require("../../utilities/unification");
15
12
  function _interop_require_default(obj) {
16
13
  return obj && obj.__esModule ? obj : {
17
14
  default: obj
18
15
  };
19
16
  }
20
- var termNodeQuery = (0, _query.nodeQuery)("/term/argument/term");
21
17
  function unifyWithBracketedConstructor(term, context, verifyAhead) {
22
18
  var unifiedWithBracketedConstructor;
23
- var termString = term.getString();
24
- context.trace("Unifying the '".concat(termString, "' term with the bracketed constructor..."), term);
25
19
  var bracketedConstructor = _bracketed.default.fromNothing();
26
- unifiedWithBracketedConstructor = unifyWithConstructor(term, bracketedConstructor, context, function() {
27
- var verifiedAhead = false;
28
- var Term = _shim.default.Term, bracketedTerm = term, bracketedTermNode = bracketedTerm.getNode(), termNode = termNodeQuery(bracketedTermNode); ///
29
- term = Term.fromTermNode(termNode, context);
30
- if (term !== null) {
31
- var termVVerified = term.verify(context, function() {
32
- var verifiedAhead;
33
- var type = term.getType();
34
- bracketedTerm.setType(type);
35
- verifiedAhead = verifyAhead();
36
- return verifiedAhead;
37
- });
38
- verifiedAhead = termVVerified; ///
39
- }
40
- return verifiedAhead;
41
- });
42
- if (unifiedWithBracketedConstructor) {
43
- context.debug("...unified the '".concat(termString, "' term with the bracketed constructor."), term);
44
- }
20
+ unifiedWithBracketedConstructor = bracketedConstructor.unifyTerm(term, context, verifyAhead);
45
21
  return unifiedWithBracketedConstructor;
46
22
  }
47
23
  function unifyWithConstructors(term, context, verifyAhead) {
48
24
  var unifiedWithConstructors;
49
25
  var constructors = context.getConstructors();
50
26
  unifiedWithConstructors = constructors.some(function(constructor) {
51
- var unifiedWithConstructor = unifyWithConstructor(term, constructor, context, verifyAhead);
27
+ var unifiedWithConstructor = constructor.unifyTerm(term, context, verifyAhead);
52
28
  if (unifiedWithConstructor) {
53
29
  return true;
54
30
  }
@@ -60,22 +36,5 @@ var unifyMixins = [
60
36
  unifyWithConstructors
61
37
  ];
62
38
  var _default = unifyMixins;
63
- function unifyWithConstructor(term, constructor, context, verifyAhead) {
64
- var unifiedWithConstructor = false;
65
- var termString = term.getString(), constructorString = constructor.getString();
66
- context.trace("Unifying the '".concat(termString, "' term with the '").concat(constructorString, "' constructor..."), term);
67
- var termUnifiedWithConstructor = (0, _unification.unifyTermWithConstructor)(term, constructor, context);
68
- if (termUnifiedWithConstructor) {
69
- var verifiedAhead;
70
- var type = constructor.getType();
71
- term.setType(type);
72
- verifiedAhead = verifyAhead();
73
- unifiedWithConstructor = verifiedAhead; ///
74
- }
75
- if (unifiedWithConstructor) {
76
- context.debug("...unified the '".concat(termString, "' term with the '").concat(constructorString, "' constructor."), term);
77
- }
78
- return unifiedWithConstructor;
79
- }
80
39
 
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9taXhpbnMvdGVybS91bmlmeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4uLy4uL3NoaW1cIjtcbmltcG9ydCBCcmFja2V0ZWRDb25zdHJ1Y3RvciBmcm9tIFwiLi4vLi4vY29uc3RydWN0b3IvYnJhY2tldGVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IHVuaWZ5VGVybVdpdGhDb25zdHJ1Y3RvciB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvdW5pZmljYXRpb25cIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtL2FyZ3VtZW50L3Rlcm1cIik7XG5cbmZ1bmN0aW9uIHVuaWZ5V2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yKHRlcm0sIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCB1bmlmaWVkV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yO1xuXG4gIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSB3aXRoIHRoZSBicmFja2V0ZWQgY29uc3RydWN0b3IuLi5gLCB0ZXJtKTtcblxuICBjb25zdCBicmFja2V0ZWRDb25zdHJ1Y3RvciA9IEJyYWNrZXRlZENvbnN0cnVjdG9yLmZyb21Ob3RoaW5nKCk7XG5cbiAgdW5pZmllZFdpdGhCcmFja2V0ZWRDb25zdHJ1Y3RvciA9IHVuaWZ5V2l0aENvbnN0cnVjdG9yKHRlcm0sIGJyYWNrZXRlZENvbnN0cnVjdG9yLCBjb250ZXh0LCAoKSA9PiB7XG4gICAgbGV0IHZlcmlmaWVkQWhlYWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHsgVGVybSB9ID0gc2hpbSxcbiAgICAgICAgICBicmFja2V0ZWRUZXJtID0gdGVybSwgLy8vXG4gICAgICAgICAgYnJhY2tldGVkVGVybU5vZGUgPSBicmFja2V0ZWRUZXJtLmdldE5vZGUoKSxcbiAgICAgICAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoYnJhY2tldGVkVGVybU5vZGUpOyAvLy9cblxuICAgIHRlcm0gPSBUZXJtLmZyb21UZXJtTm9kZSh0ZXJtTm9kZSwgY29udGV4dCk7XG5cbiAgICBpZiAodGVybSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdGVybVZWZXJpZmllZCA9IHRlcm0udmVyaWZ5KGNvbnRleHQsICgpID0+IHtcbiAgICAgICAgbGV0IHZlcmlmaWVkQWhlYWQ7XG5cbiAgICAgICAgY29uc3QgdHlwZSA9IHRlcm0uZ2V0VHlwZSgpO1xuXG4gICAgICAgIGJyYWNrZXRlZFRlcm0uc2V0VHlwZSh0eXBlKTtcblxuICAgICAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgIH0pO1xuXG4gICAgICB2ZXJpZmllZEFoZWFkID0gdGVybVZWZXJpZmllZDsgIC8vL1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICB9KTtcblxuICBpZiAodW5pZmllZFdpdGhCcmFja2V0ZWRDb25zdHJ1Y3Rvcikge1xuICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlIGJyYWNrZXRlZCBjb25zdHJ1Y3Rvci5gLCB0ZXJtKTtcbiAgfVxuXG4gIHJldHVybiB1bmlmaWVkV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yO1xufVxuXG5mdW5jdGlvbiB1bmlmeVdpdGhDb25zdHJ1Y3RvcnModGVybSwgY29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHVuaWZpZWRXaXRoQ29uc3RydWN0b3JzO1xuXG4gIGNvbnN0IGNvbnN0cnVjdG9ycyA9IGNvbnRleHQuZ2V0Q29uc3RydWN0b3JzKCk7XG5cbiAgdW5pZmllZFdpdGhDb25zdHJ1Y3RvcnMgPSBjb25zdHJ1Y3RvcnMuc29tZSgoY29uc3RydWN0b3IpID0+IHtcbiAgICBjb25zdCB1bmlmaWVkV2l0aENvbnN0cnVjdG9yID0gdW5pZnlXaXRoQ29uc3RydWN0b3IodGVybSwgY29uc3RydWN0b3IsIGNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgIGlmICh1bmlmaWVkV2l0aENvbnN0cnVjdG9yKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiB1bmlmaWVkV2l0aENvbnN0cnVjdG9ycztcbn1cblxuY29uc3QgdW5pZnlNaXhpbnMgPSBbXG4gIHVuaWZ5V2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yLFxuICB1bmlmeVdpdGhDb25zdHJ1Y3RvcnNcbl07XG5cbmV4cG9ydCBkZWZhdWx0IHVuaWZ5TWl4aW5zO1xuXG5mdW5jdGlvbiB1bmlmeVdpdGhDb25zdHJ1Y3Rvcih0ZXJtLCBjb25zdHJ1Y3RvciwgY29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHVuaWZpZWRXaXRoQ29uc3RydWN0b3IgPSBmYWxzZTtcblxuICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgY29uc3RydWN0b3JTdHJpbmcgPSBjb25zdHJ1Y3Rvci5nZXRTdHJpbmcoKTtcblxuICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gd2l0aCB0aGUgJyR7Y29uc3RydWN0b3JTdHJpbmd9JyBjb25zdHJ1Y3Rvci4uLmAsIHRlcm0pO1xuXG4gIGNvbnN0IHRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9yID0gdW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yKHRlcm0sIGNvbnN0cnVjdG9yLCBjb250ZXh0KTtcblxuICBpZiAodGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IpIHtcbiAgICBsZXQgdmVyaWZpZWRBaGVhZDtcblxuICAgIGNvbnN0IHR5cGUgPSBjb25zdHJ1Y3Rvci5nZXRUeXBlKCk7XG5cbiAgICB0ZXJtLnNldFR5cGUodHlwZSk7XG5cbiAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgIHVuaWZpZWRXaXRoQ29uc3RydWN0b3IgPSB2ZXJpZmllZEFoZWFkOyAgLy8vXG4gIH1cblxuICBpZiAodW5pZmllZFdpdGhDb25zdHJ1Y3Rvcikge1xuICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlICcke2NvbnN0cnVjdG9yU3RyaW5nfScgY29uc3RydWN0b3IuYCwgdGVybSk7XG4gIH1cblxuICByZXR1cm4gdW5pZmllZFdpdGhDb25zdHJ1Y3Rvcjtcbn1cbiJdLCJuYW1lcyI6WyJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidW5pZnlXaXRoQnJhY2tldGVkQ29uc3RydWN0b3IiLCJ0ZXJtIiwiY29udGV4dCIsInZlcmlmeUFoZWFkIiwidW5pZmllZFdpdGhCcmFja2V0ZWRDb25zdHJ1Y3RvciIsInRlcm1TdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsImJyYWNrZXRlZENvbnN0cnVjdG9yIiwiQnJhY2tldGVkQ29uc3RydWN0b3IiLCJmcm9tTm90aGluZyIsInVuaWZ5V2l0aENvbnN0cnVjdG9yIiwidmVyaWZpZWRBaGVhZCIsIlRlcm0iLCJzaGltIiwiYnJhY2tldGVkVGVybSIsImJyYWNrZXRlZFRlcm1Ob2RlIiwiZ2V0Tm9kZSIsInRlcm1Ob2RlIiwiZnJvbVRlcm1Ob2RlIiwidGVybVZWZXJpZmllZCIsInZlcmlmeSIsInR5cGUiLCJnZXRUeXBlIiwic2V0VHlwZSIsImRlYnVnIiwidW5pZnlXaXRoQ29uc3RydWN0b3JzIiwidW5pZmllZFdpdGhDb25zdHJ1Y3RvcnMiLCJjb25zdHJ1Y3RvcnMiLCJnZXRDb25zdHJ1Y3RvcnMiLCJzb21lIiwiY29uc3RydWN0b3IiLCJ1bmlmaWVkV2l0aENvbnN0cnVjdG9yIiwidW5pZnlNaXhpbnMiLCJjb25zdHJ1Y3RvclN0cmlu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
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9taXhpbnMvdGVybS91bmlmeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEJyYWNrZXRlZENvbnN0cnVjdG9yIGZyb20gXCIuLi8uLi9jb25zdHJ1Y3Rvci9icmFja2V0ZWRcIjtcblxuZnVuY3Rpb24gdW5pZnlXaXRoQnJhY2tldGVkQ29uc3RydWN0b3IodGVybSwgY29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHVuaWZpZWRXaXRoQnJhY2tldGVkQ29uc3RydWN0b3I7XG5cbiAgY29uc3QgYnJhY2tldGVkQ29uc3RydWN0b3IgPSBCcmFja2V0ZWRDb25zdHJ1Y3Rvci5mcm9tTm90aGluZygpO1xuXG4gIHVuaWZpZWRXaXRoQnJhY2tldGVkQ29uc3RydWN0b3IgPSBicmFja2V0ZWRDb25zdHJ1Y3Rvci51bmlmeVRlcm0odGVybSwgY29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gIHJldHVybiB1bmlmaWVkV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yO1xufVxuXG5mdW5jdGlvbiB1bmlmeVdpdGhDb25zdHJ1Y3RvcnModGVybSwgY29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHVuaWZpZWRXaXRoQ29uc3RydWN0b3JzO1xuXG4gIGNvbnN0IGNvbnN0cnVjdG9ycyA9IGNvbnRleHQuZ2V0Q29uc3RydWN0b3JzKCk7XG5cbiAgdW5pZmllZFdpdGhDb25zdHJ1Y3RvcnMgPSBjb25zdHJ1Y3RvcnMuc29tZSgoY29uc3RydWN0b3IpID0+IHtcbiAgICBjb25zdCB1bmlmaWVkV2l0aENvbnN0cnVjdG9yID0gY29uc3RydWN0b3IudW5pZnlUZXJtKHRlcm0sIGNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgIGlmICh1bmlmaWVkV2l0aENvbnN0cnVjdG9yKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiB1bmlmaWVkV2l0aENvbnN0cnVjdG9ycztcbn1cblxuY29uc3QgdW5pZnlNaXhpbnMgPSBbXG4gIHVuaWZ5V2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yLFxuICB1bmlmeVdpdGhDb25zdHJ1Y3RvcnNcbl07XG5cbmV4cG9ydCBkZWZhdWx0IHVuaWZ5TWl4aW5zO1xuIl0sIm5hbWVzIjpbInVuaWZ5V2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yIiwidGVybSIsImNvbnRleHQiLCJ2ZXJpZnlBaGVhZCIsInVuaWZpZWRXaXRoQnJhY2tldGVkQ29uc3RydWN0b3IiLCJicmFja2V0ZWRDb25zdHJ1Y3RvciIsIkJyYWNrZXRlZENvbnN0cnVjdG9yIiwiZnJvbU5vdGhpbmciLCJ1bmlmeVRlcm0iLCJ1bmlmeVdpdGhDb25zdHJ1Y3RvcnMiLCJ1bmlmaWVkV2l0aENvbnN0cnVjdG9ycyIsImNvbnN0cnVjdG9ycyIsImdldENvbnN0cnVjdG9ycyIsInNvbWUiLCJjb25zdHJ1Y3RvciIsInVuaWZpZWRXaXRoQ29uc3RydWN0b3IiLCJ1bmlmeU1peGlucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBbUNBOzs7ZUFBQTs7O2dFQWpDaUM7Ozs7OztBQUVqQyxTQUFTQSw4QkFBOEJDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxXQUFXO0lBQy9ELElBQUlDO0lBRUosSUFBTUMsdUJBQXVCQyxrQkFBb0IsQ0FBQ0MsV0FBVztJQUU3REgsa0NBQWtDQyxxQkFBcUJHLFNBQVMsQ0FBQ1AsTUFBTUMsU0FBU0M7SUFFaEYsT0FBT0M7QUFDVDtBQUVBLFNBQVNLLHNCQUFzQlIsSUFBSSxFQUFFQyxPQUFPLEVBQUVDLFdBQVc7SUFDdkQsSUFBSU87SUFFSixJQUFNQyxlQUFlVCxRQUFRVSxlQUFlO0lBRTVDRiwwQkFBMEJDLGFBQWFFLElBQUksQ0FBQyxTQUFDQztRQUMzQyxJQUFNQyx5QkFBeUJELFlBQVlOLFNBQVMsQ0FBQ1AsTUFBTUMsU0FBU0M7UUFFcEUsSUFBSVksd0JBQXdCO1lBQzFCLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT0w7QUFDVDtBQUVBLElBQU1NLGNBQWM7SUFDbEJoQjtJQUNBUztDQUNEO0lBRUQsV0FBZU8ifQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-verify-cli",
3
3
  "author": "James Smith",
4
- "version": "0.0.1108",
4
+ "version": "0.0.1109",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-verify-cli",
7
7
  "description": "Occam's Verifier",
@@ -4,11 +4,33 @@ import shim from "../shim";
4
4
  import Combinator from "../combinator";
5
5
  import CombinatorBracketedContext from "../context/bracketed/combinator";
6
6
 
7
+ import { unifyStatementWithCombinator } from "../utilities/unification";
8
+
7
9
  const combinatorBracketedContext = CombinatorBracketedContext.fromNothing();
8
10
 
9
11
  export const bracketedStatementNode = combinatorBracketedContext.getBracketedStatementNode(); ///
10
12
 
11
13
  export default class BracketedCombinator extends Combinator {
14
+ unifyStatement(statement, assignments, stated, context) {
15
+ let statementUnified;
16
+
17
+ const statementString = statement.getString();
18
+
19
+ context.trace(`Unifying the '${statementString}' statement with the bracketed combinator...`);
20
+
21
+ const bracketedCombinator = this, ///
22
+ combinator = bracketedCombinator, ///
23
+ statementUnifiedWithCombinator = unifyStatementWithCombinator(statement, combinator, assignments, stated, context);
24
+
25
+ statementUnified = statementUnifiedWithCombinator;
26
+
27
+ if (statementUnified) {
28
+ context.debug(`...unified the '${statementString}' statement with the bracketed combinator.`);
29
+ }
30
+
31
+ return statementUnified;
32
+ }
33
+
12
34
  static fromNothing() {
13
35
  const { Statement } = shim,
14
36
  statementNode = bracketedStatementNode, ///
package/src/combinator.js CHANGED
@@ -4,6 +4,7 @@ import shim from "./shim";
4
4
  import LocalContext from "./context/local";
5
5
 
6
6
  import { nodeQuery } from "./utilities/query";
7
+ import { unifyStatementWithCombinator } from "./utilities/unification";
7
8
  import { statementFromJSON, statementToStatementJSON } from "./utilities/json";
8
9
 
9
10
  const statementNodeQuery = nodeQuery("/combinatorDeclaration/statement");
@@ -25,6 +26,26 @@ class Combinator {
25
26
  return statementNode;
26
27
  }
27
28
 
29
+ unifyStatement(statement, assignments, stated, context) {
30
+ let statementUnified;
31
+
32
+ const combinator = this, ///
33
+ statementString = statement.getString(),
34
+ combinatorString = combinator.getString();
35
+
36
+ context.trace(`Unifying the '${statementString}' statement with the '${combinatorString}' combinator...`);
37
+
38
+ const statementUnifiedWithCombinator = unifyStatementWithCombinator(statement, combinator, assignments, stated, context);
39
+
40
+ statementUnified = statementUnifiedWithCombinator; ///
41
+
42
+ if (statementUnified) {
43
+ context.debug(`...unified the '${statementString}' statement with the '${combinatorString}' combinator.`);
44
+ }
45
+
46
+ return statementUnified;
47
+ }
48
+
28
49
  verifyWhenDeclared(fileContext) {
29
50
  let verifiedWhenDeclared;
30
51
 
@@ -4,13 +4,59 @@ import shim from "../shim";
4
4
  import Constructor from "../constructor";
5
5
  import ConstructorBracketedContext from "../context/bracketed/constructor";
6
6
 
7
+ import { nodeQuery } from "../utilities/query";
7
8
  import { stringFromTermAndType } from "../constructor";
8
9
 
10
+ const termNodeQuery = nodeQuery("/term/argument/term");
11
+
9
12
  const constructorBracketedContext = ConstructorBracketedContext.fromNothing();
10
13
 
11
14
  export const bracketedTermNode = constructorBracketedContext.getBracketedTermNode();
12
15
 
13
16
  export default class BracketedConstructor extends Constructor {
17
+ unifyTerm(term, context, verifyAhead) {
18
+ let termUnified;
19
+
20
+ const termString = term.getString();
21
+
22
+ context.trace(`Unifying the '${termString}' term with the bracketed constructor...`, term);
23
+
24
+ termUnified = super.unifyTerm(term, context, () => {
25
+ let verifiedAhead = false;
26
+
27
+ const { Term } = shim,
28
+ bracketedTerm = term, ///
29
+ bracketedTermNode = bracketedTerm.getNode(),
30
+ termNode = termNodeQuery(bracketedTermNode); ///
31
+
32
+ term = Term.fromTermNode(termNode, context);
33
+
34
+ if (term !== null) {
35
+ const termVVerified = term.verify(context, () => {
36
+ let verifiedAhead;
37
+
38
+ const type = term.getType();
39
+
40
+ bracketedTerm.setType(type);
41
+
42
+ verifiedAhead = verifyAhead();
43
+
44
+ return verifiedAhead;
45
+ });
46
+
47
+ verifiedAhead = termVVerified; ///
48
+ }
49
+
50
+ return verifiedAhead;
51
+ });
52
+
53
+ if (termUnified) {
54
+ context.debug(`...unified the '${termString}' term with the bracketed constructor.`, term);
55
+ }
56
+
57
+ return termUnified;
58
+ }
59
+
14
60
  static fromNothing() {
15
61
  const { Term } = shim,
16
62
  termNode = bracketedTermNode, ///
@@ -4,6 +4,7 @@ import shim from "./shim";
4
4
  import LocalContext from "./context/local";
5
5
 
6
6
  import { nodeQuery } from "./utilities/query";
7
+ import { unifyTermWithConstructor } from "./utilities/unification";
7
8
  import { termFromJSON, termToTermJSON } from "./utilities/json";
8
9
 
9
10
  const termNodeQuery = nodeQuery("/constructorDeclaration/term"),
@@ -25,6 +26,36 @@ class Constructor {
25
26
 
26
27
  getType() { return this.term.getType(); }
27
28
 
29
+ unifyTerm(term, context, verifyAhead) {
30
+ let termUnified = false;
31
+
32
+ const constructor = this, ///
33
+ termString = term.getString(),
34
+ constructorString = constructor.getString();
35
+
36
+ context.trace(`Unifying the '${termString}' term with the '${constructorString}' constructor...`, term);
37
+
38
+ const termUnifiedWithConstructor = unifyTermWithConstructor(term, constructor, context);
39
+
40
+ if (termUnifiedWithConstructor) {
41
+ let verifiedAhead;
42
+
43
+ const type = constructor.getType();
44
+
45
+ term.setType(type);
46
+
47
+ verifiedAhead = verifyAhead();
48
+
49
+ termUnified = verifiedAhead; ///
50
+ }
51
+
52
+ if (termUnified) {
53
+ context.debug(`...unified the '${termString}' term with the '${constructorString}' constructor.`, term);
54
+ }
55
+
56
+ return termUnified;
57
+ }
58
+
28
59
  verifyWhenDeclared(fileContext) {
29
60
  let verifiedWhenDeclared;
30
61
 
@@ -2,24 +2,12 @@
2
2
 
3
3
  import BracketedCombinator from "../../combinator/bracketed";
4
4
 
5
- import { unifyStatementWithCombinator } from "../../utilities/unification";
6
-
7
5
  function unifyWithBracketedCombinator(statement, assignments, stated, context) {
8
6
  let unifiedWithBracketedCombinator;
9
7
 
10
- const statementString = statement.getString();
11
-
12
- context.trace(`Unifying the '${statementString}' statement with the bracketed combinator...`);
13
-
14
- const bracketedCombinator = BracketedCombinator.fromNothing(),
15
- combinator = bracketedCombinator, ///
16
- statementUnifiedWithCombinator = unifyStatementWithCombinator(statement, combinator, assignments, stated, context);
8
+ const bracketedCombinator = BracketedCombinator.fromNothing();
17
9
 
18
- unifiedWithBracketedCombinator = statementUnifiedWithCombinator;
19
-
20
- if (unifiedWithBracketedCombinator) {
21
- context.debug(`...unified the '${statementString}' statement with the bracketed combinator.`);
22
- }
10
+ unifiedWithBracketedCombinator = bracketedCombinator.unifyStatement(statement, assignments, stated, context);
23
11
 
24
12
  return unifiedWithBracketedCombinator;
25
13
  }
@@ -34,7 +22,7 @@ function unifyWithCombinators(statement, assignments, stated, context) {
34
22
  assignments = null; ///
35
23
 
36
24
  unifiedWithCombinators = combinators.some((combinator) => {
37
- const unifiedWithCombinator = unifyWithCombinator(statement, combinator, assignments, stated, context);
25
+ const unifiedWithCombinator = combinator.unifyStatement(statement, assignments, stated, context);
38
26
 
39
27
  if (unifiedWithCombinator) {
40
28
  return true;
@@ -51,22 +39,3 @@ const unifyMixins = [
51
39
  ];
52
40
 
53
41
  export default unifyMixins;
54
-
55
- function unifyWithCombinator(statement, combinator, assignments, stated, context) {
56
- let unifiedWithCombinator;
57
-
58
- const statementString = statement.getString(),
59
- combinatorString = combinator.getString();
60
-
61
- context.trace(`Unifying the '${statementString}' statement with the '${combinatorString}' combinator...`);
62
-
63
- const statementUnifiedWithCombinator = unifyStatementWithCombinator(statement, combinator, assignments, stated, context);
64
-
65
- unifiedWithCombinator = statementUnifiedWithCombinator; ///
66
-
67
- if (unifiedWithCombinator) {
68
- context.debug(`...unified the '${statementString}' statement with the '${combinatorString}' combinator.`);
69
- }
70
-
71
- return unifiedWithCombinator;
72
- }
@@ -1,54 +1,13 @@
1
1
  "use strict";
2
2
 
3
- import shim from "../../shim";
4
3
  import BracketedConstructor from "../../constructor/bracketed";
5
4
 
6
- import { nodeQuery } from "../../utilities/query";
7
- import { unifyTermWithConstructor } from "../../utilities/unification";
8
-
9
- const termNodeQuery = nodeQuery("/term/argument/term");
10
-
11
5
  function unifyWithBracketedConstructor(term, context, verifyAhead) {
12
6
  let unifiedWithBracketedConstructor;
13
7
 
14
- const termString = term.getString();
15
-
16
- context.trace(`Unifying the '${termString}' term with the bracketed constructor...`, term);
17
-
18
8
  const bracketedConstructor = BracketedConstructor.fromNothing();
19
9
 
20
- unifiedWithBracketedConstructor = unifyWithConstructor(term, bracketedConstructor, context, () => {
21
- let verifiedAhead = false;
22
-
23
- const { Term } = shim,
24
- bracketedTerm = term, ///
25
- bracketedTermNode = bracketedTerm.getNode(),
26
- termNode = termNodeQuery(bracketedTermNode); ///
27
-
28
- term = Term.fromTermNode(termNode, context);
29
-
30
- if (term !== null) {
31
- const termVVerified = term.verify(context, () => {
32
- let verifiedAhead;
33
-
34
- const type = term.getType();
35
-
36
- bracketedTerm.setType(type);
37
-
38
- verifiedAhead = verifyAhead();
39
-
40
- return verifiedAhead;
41
- });
42
-
43
- verifiedAhead = termVVerified; ///
44
- }
45
-
46
- return verifiedAhead;
47
- });
48
-
49
- if (unifiedWithBracketedConstructor) {
50
- context.debug(`...unified the '${termString}' term with the bracketed constructor.`, term);
51
- }
10
+ unifiedWithBracketedConstructor = bracketedConstructor.unifyTerm(term, context, verifyAhead);
52
11
 
53
12
  return unifiedWithBracketedConstructor;
54
13
  }
@@ -59,7 +18,7 @@ function unifyWithConstructors(term, context, verifyAhead) {
59
18
  const constructors = context.getConstructors();
60
19
 
61
20
  unifiedWithConstructors = constructors.some((constructor) => {
62
- const unifiedWithConstructor = unifyWithConstructor(term, constructor, context, verifyAhead);
21
+ const unifiedWithConstructor = constructor.unifyTerm(term, context, verifyAhead);
63
22
 
64
23
  if (unifiedWithConstructor) {
65
24
  return true;
@@ -75,32 +34,3 @@ const unifyMixins = [
75
34
  ];
76
35
 
77
36
  export default unifyMixins;
78
-
79
- function unifyWithConstructor(term, constructor, context, verifyAhead) {
80
- let unifiedWithConstructor = false;
81
-
82
- const termString = term.getString(),
83
- constructorString = constructor.getString();
84
-
85
- context.trace(`Unifying the '${termString}' term with the '${constructorString}' constructor...`, term);
86
-
87
- const termUnifiedWithConstructor = unifyTermWithConstructor(term, constructor, context);
88
-
89
- if (termUnifiedWithConstructor) {
90
- let verifiedAhead;
91
-
92
- const type = constructor.getType();
93
-
94
- term.setType(type);
95
-
96
- verifiedAhead = verifyAhead();
97
-
98
- unifiedWithConstructor = verifiedAhead; ///
99
- }
100
-
101
- if (unifiedWithConstructor) {
102
- context.debug(`...unified the '${termString}' term with the '${constructorString}' constructor.`, term);
103
- }
104
-
105
- return unifiedWithConstructor;
106
- }