occam-verify-cli 0.0.1010 → 0.0.1012

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 (45) hide show
  1. package/lib/combinator.js +9 -2
  2. package/lib/constructor/bracketed.js +52 -8
  3. package/lib/constructor.js +64 -18
  4. package/lib/declaration/constructor.js +90 -0
  5. package/lib/declaration/metavariable.js +15 -8
  6. package/lib/declaration/type.js +90 -0
  7. package/lib/error.js +70 -0
  8. package/lib/rule.js +8 -7
  9. package/lib/ruleNames.js +5 -1
  10. package/lib/statement.js +5 -5
  11. package/lib/term.js +97 -5
  12. package/lib/type.js +85 -18
  13. package/lib/utilities/node.js +10 -3
  14. package/lib/utilities/releaseContext.js +5 -10
  15. package/lib/utilities/tokens.js +8 -1
  16. package/lib/verifier/termAsConstructor.js +3 -4
  17. package/lib/verifier/topLevel.js +10 -10
  18. package/package.json +1 -1
  19. package/src/combinator.js +13 -3
  20. package/src/constructor/bracketed.js +15 -12
  21. package/src/constructor.js +73 -17
  22. package/src/declaration/constructor.js +49 -0
  23. package/src/declaration/metavariable.js +12 -7
  24. package/src/declaration/type.js +49 -0
  25. package/src/error.js +35 -0
  26. package/src/rule.js +6 -6
  27. package/src/ruleNames.js +1 -0
  28. package/src/statement.js +4 -4
  29. package/src/term.js +119 -4
  30. package/src/type.js +113 -17
  31. package/src/utilities/node.js +20 -7
  32. package/src/utilities/releaseContext.js +5 -14
  33. package/src/utilities/tokens.js +7 -0
  34. package/src/verifier/termAsConstructor.js +7 -6
  35. package/src/verifier/topLevel.js +12 -9
  36. package/lib/tokens/combinatorFrame/bracketed.js +0 -17
  37. package/lib/verify/declaration/combinator.js +0 -19
  38. package/lib/verify/declaration/constructor.js +0 -32
  39. package/lib/verify/declaration/type.js +0 -65
  40. package/lib/verify/error.js +0 -18
  41. package/src/tokens/combinatorFrame/bracketed.js +0 -10
  42. package/src/verify/declaration/combinator.js +0 -6
  43. package/src/verify/declaration/constructor.js +0 -36
  44. package/src/verify/declaration/type.js +0 -85
  45. package/src/verify/error.js +0 -11
package/lib/combinator.js CHANGED
@@ -65,7 +65,14 @@ var Combinator = /*#__PURE__*/ function() {
65
65
  {
66
66
  key: "verify",
67
67
  value: function verify(fileContext) {
68
- var localContext = _local.default.fromFileContext(fileContext), statementVerifiedAsCombinator = this.statement.verifyAsCombinator(localContext), verified = statementVerifiedAsCombinator; ///
68
+ var verified;
69
+ var combinatorString = this.string; ///
70
+ fileContext.trace("Verifying the '".concat(combinatorString, "' combinator..."));
71
+ var statementVerifiedAsCombinator = this.statement.verifyAsCombinator(fileContext);
72
+ verified = statementVerifiedAsCombinator; ///
73
+ if (verified) {
74
+ fileContext.debug("...verified the '".concat(combinatorString, "' combinator."));
75
+ }
69
76
  return verified;
70
77
  }
71
78
  },
@@ -103,4 +110,4 @@ var Combinator = /*#__PURE__*/ function() {
103
110
  return Combinator;
104
111
  }();
105
112
 
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21iaW5hdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi9zaGltXCI7XG5pbXBvcnQgU3RhdGVtZW50IGZyb20gXCIuL3N0YXRlbWVudFwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29tYmluYXRvckRlY2xhcmF0aW9uL3N0YXRlbWVudFwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tYmluYXRvciB7XG4gIGNvbnN0cnVjdG9yKHN0YXRlbWVudCkge1xuICAgIHRoaXMuc3RhdGVtZW50ID0gc3RhdGVtZW50O1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudDtcbiAgfVxuXG4gIGdldFN0cmluZygpIHsgcmV0dXJuIHRoaXMuc3RhdGVtZW50LmdldFN0cmluZygpOyB9XG5cbiAgZ2V0U3RhdGVtZW50Tm9kZSgpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gdGhpcy5zdGF0ZW1lbnQuZ2V0Tm9kZSgpO1xuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGU7XG4gIH1cblxuICB2ZXJpZnkoZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCBsb2NhbENvbnRleHQgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdGF0ZW1lbnRWZXJpZmllZEFzQ29tYmluYXRvciA9IHRoaXMuc3RhdGVtZW50LnZlcmlmeUFzQ29tYmluYXRvcihsb2NhbENvbnRleHQpLFxuICAgICAgICAgIHZlcmlmaWVkID0gc3RhdGVtZW50VmVyaWZpZWRBc0NvbWJpbmF0b3I7IC8vL1xuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IHRoaXMuc3RhdGVtZW50LmdldFN0cmluZygpLFxuICAgICAgICAgIHN0YXRlbWVudCA9IHN0YXRlbWVudFN0cmluZywgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBzdGF0ZW1lbnRcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBsZXQgeyBzdGF0ZW1lbnQgfSA9IGpzb247XG5cbiAgICBjb25zdCBzdHJpbmcgPSBzdGF0ZW1lbnQ7ICAvLy9cblxuICAgIGpzb24gPSB7ICAvLy9cbiAgICAgIHN0cmluZ1xuICAgIH07XG5cbiAgICBzdGF0ZW1lbnQgPSBTdGF0ZW1lbnQuZnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpO1xuXG4gICAgY29uc3QgY29tYmluYXRvciA9IG5ldyBDb21iaW5hdG9yKHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gY29tYmluYXRvcjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZShjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgU3RhdGVtZW50IH0gPSBzaGltLFxuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkoY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgICAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3RhdGVtZW50ID0gU3RhdGVtZW50LmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCksXG4gICAgICAgICAgY29tYmluYXRvciA9IG5ldyBDb21iaW5hdG9yKHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gY29tYmluYXRvcjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkNvbWJpbmF0b3IiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdGF0ZW1lbnQiLCJnZXRTdGF0ZW1lbnQiLCJnZXRTdHJpbmciLCJnZXRTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZSIsImdldE5vZGUiLCJ2ZXJpZnkiLCJmaWxlQ29udGV4dCIsImxvY2FsQ29udGV4dCIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsInN0YXRlbWVudFZlcmlmaWVkQXNDb21iaW5hdG9yIiwidmVyaWZ5QXNDb21iaW5hdG9yIiwidmVyaWZpZWQiLCJ0b0pTT04iLCJzdGF0ZW1lbnRTdHJpbmciLCJqc29uIiwiZnJvbUpTT04iLCJzdHJpbmciLCJTdGF0ZW1lbnQiLCJjb21iaW5hdG9yIiwiZnJvbUNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwic2hpbSIsImZyb21TdGF0ZW1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVVxQkE7OzsyREFSSjtnRUFDSzs0REFDRztxQkFFQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUM7QUFFdEIsSUFBQSxBQUFNRiwyQkFBTjthQUFNQSxXQUNQRyxTQUFTO2dDQURGSDtRQUVqQixJQUFJLENBQUNHLFNBQVMsR0FBR0E7O2tCQUZBSDs7WUFLbkJJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsU0FBUztZQUN2Qjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFBYyxPQUFPLElBQUksQ0FBQ0YsU0FBUyxDQUFDRSxTQUFTO1lBQUk7OztZQUVqREMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLGdCQUFnQixJQUFJLENBQUNKLFNBQVMsQ0FBQ0ssT0FBTztnQkFFNUMsT0FBT0Q7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxXQUFXO2dCQUNoQixJQUFNQyxlQUFlQyxjQUFZLENBQUNDLGVBQWUsQ0FBQ0gsY0FDNUNJLGdDQUFnQyxJQUFJLENBQUNYLFNBQVMsQ0FBQ1ksa0JBQWtCLENBQUNKLGVBQ2xFSyxXQUFXRiwrQkFBK0IsR0FBRztnQkFFbkQsT0FBT0U7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxrQkFBa0IsSUFBSSxDQUFDZixTQUFTLENBQUNFLFNBQVMsSUFDMUNGLFlBQVllLGlCQUNaQyxPQUFPO29CQUNMaEIsV0FBQUE7Z0JBQ0Y7Z0JBRU4sT0FBT2dCO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxFQUFFVCxXQUFXO2dCQUMvQixJQUFJLEFBQUVQLFlBQWNnQixLQUFkaEI7Z0JBRU4sSUFBTWtCLFNBQVNsQixXQUFZLEdBQUc7Z0JBRTlCZ0IsT0FBTztvQkFDTEUsUUFBQUE7Z0JBQ0Y7Z0JBRUFsQixZQUFZbUIsa0JBQVMsQ0FBQ0YsUUFBUSxDQUFDRCxNQUFNVDtnQkFFckMsSUFBTWEsYUFBYSxJQTlDRnZCLFdBOENpQkc7Z0JBRWxDLE9BQU9vQjtZQUNUOzs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsOEJBQThCQyx5QkFBeUIsRUFBRWYsV0FBVztnQkFDekUsSUFBTSxBQUFFWSxZQUFjSSxhQUFJLENBQWxCSixXQUNGZixnQkFBZ0JOLG1CQUFtQndCLDRCQUNuQ2QsZUFBZUMsY0FBWSxDQUFDQyxlQUFlLENBQUNILGNBQzVDUCxZQUFZbUIsVUFBVUssaUJBQWlCLENBQUNwQixlQUFlSSxlQUN2RFksYUFBYSxJQXhERnZCLFdBd0RpQkc7Z0JBRWxDLE9BQU9vQjtZQUNUOzs7V0EzRG1CdkIifQ==
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21iaW5hdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi9zaGltXCI7XG5pbXBvcnQgU3RhdGVtZW50IGZyb20gXCIuL3N0YXRlbWVudFwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29tYmluYXRvckRlY2xhcmF0aW9uL3N0YXRlbWVudFwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tYmluYXRvciB7XG4gIGNvbnN0cnVjdG9yKHN0YXRlbWVudCkge1xuICAgIHRoaXMuc3RhdGVtZW50ID0gc3RhdGVtZW50O1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudDtcbiAgfVxuXG4gIGdldFN0cmluZygpIHsgcmV0dXJuIHRoaXMuc3RhdGVtZW50LmdldFN0cmluZygpOyB9XG5cbiAgZ2V0U3RhdGVtZW50Tm9kZSgpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gdGhpcy5zdGF0ZW1lbnQuZ2V0Tm9kZSgpO1xuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGU7XG4gIH1cblxuICB2ZXJpZnkoZmlsZUNvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZWQ7XG5cbiAgICBjb25zdCBjb21iaW5hdG9yU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7Y29tYmluYXRvclN0cmluZ30nIGNvbWJpbmF0b3IuLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFZlcmlmaWVkQXNDb21iaW5hdG9yID0gdGhpcy5zdGF0ZW1lbnQudmVyaWZ5QXNDb21iaW5hdG9yKGZpbGVDb250ZXh0KTtcblxuICAgIHZlcmlmaWVkID0gc3RhdGVtZW50VmVyaWZpZWRBc0NvbWJpbmF0b3I7IC8vL1xuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NvbWJpbmF0b3JTdHJpbmd9JyBjb21iaW5hdG9yLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZDtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSB0aGlzLnN0YXRlbWVudC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBzdGF0ZW1lbnQgPSBzdGF0ZW1lbnRTdHJpbmcsICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgc3RhdGVtZW50XG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHsgc3RhdGVtZW50IH0gPSBqc29uO1xuXG4gICAgY29uc3Qgc3RyaW5nID0gc3RhdGVtZW50OyAgLy8vXG5cbiAgICBqc29uID0geyAgLy8vXG4gICAgICBzdHJpbmdcbiAgICB9O1xuXG4gICAgc3RhdGVtZW50ID0gU3RhdGVtZW50LmZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KTtcblxuICAgIGNvbnN0IGNvbWJpbmF0b3IgPSBuZXcgQ29tYmluYXRvcihzdGF0ZW1lbnQpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3I7XG4gIH1cblxuICBzdGF0aWMgZnJvbUNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUoY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IFN0YXRlbWVudCB9ID0gc2hpbSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICAgIGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN0YXRlbWVudCA9IFN0YXRlbWVudC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBsb2NhbENvbnRleHQpLFxuICAgICAgICAgIGNvbWJpbmF0b3IgPSBuZXcgQ29tYmluYXRvcihzdGF0ZW1lbnQpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3I7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDb21iaW5hdG9yIiwic3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3RhdGVtZW50IiwiZ2V0U3RhdGVtZW50IiwiZ2V0U3RyaW5nIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGUiLCJnZXROb2RlIiwidmVyaWZ5IiwiZmlsZUNvbnRleHQiLCJ2ZXJpZmllZCIsImNvbWJpbmF0b3JTdHJpbmciLCJzdHJpbmciLCJ0cmFjZSIsInN0YXRlbWVudFZlcmlmaWVkQXNDb21iaW5hdG9yIiwidmVyaWZ5QXNDb21iaW5hdG9yIiwiZGVidWciLCJ0b0pTT04iLCJzdGF0ZW1lbnRTdHJpbmciLCJqc29uIiwiZnJvbUpTT04iLCJTdGF0ZW1lbnQiLCJjb21iaW5hdG9yIiwiZnJvbUNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwic2hpbSIsImxvY2FsQ29udGV4dCIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsImZyb21TdGF0ZW1lbnROb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVVxQkE7OzsyREFSSjtnRUFDSzs0REFDRztxQkFFQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUM7QUFFdEIsSUFBQSxBQUFNRiwyQkFBTjthQUFNQSxXQUNQRyxTQUFTO2dDQURGSDtRQUVqQixJQUFJLENBQUNHLFNBQVMsR0FBR0E7O2tCQUZBSDs7WUFLbkJJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsU0FBUztZQUN2Qjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFBYyxPQUFPLElBQUksQ0FBQ0YsU0FBUyxDQUFDRSxTQUFTO1lBQUk7OztZQUVqREMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLGdCQUFnQixJQUFJLENBQUNKLFNBQVMsQ0FBQ0ssT0FBTztnQkFFNUMsT0FBT0Q7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxXQUFXO2dCQUNoQixJQUFJQztnQkFFSixJQUFNQyxtQkFBbUIsSUFBSSxDQUFDQyxNQUFNLEVBQUUsR0FBRztnQkFFekNILFlBQVlJLEtBQUssQ0FBQyxBQUFDLGtCQUFrQyxPQUFqQkYsa0JBQWlCO2dCQUVyRCxJQUFNRyxnQ0FBZ0MsSUFBSSxDQUFDWixTQUFTLENBQUNhLGtCQUFrQixDQUFDTjtnQkFFeEVDLFdBQVdJLCtCQUErQixHQUFHO2dCQUU3QyxJQUFJSixVQUFVO29CQUNaRCxZQUFZTyxLQUFLLENBQUMsQUFBQyxvQkFBb0MsT0FBakJMLGtCQUFpQjtnQkFDekQ7Z0JBRUEsT0FBT0Q7WUFDVDs7O1lBRUFPLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxrQkFBa0IsSUFBSSxDQUFDaEIsU0FBUyxDQUFDRSxTQUFTLElBQzFDRixZQUFZZ0IsaUJBQ1pDLE9BQU87b0JBQ0xqQixXQUFBQTtnQkFDRjtnQkFFTixPQUFPaUI7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxTQUFTRCxJQUFJLEVBQUVWLFdBQVc7Z0JBQy9CLElBQUksQUFBRVAsWUFBY2lCLEtBQWRqQjtnQkFFTixJQUFNVSxTQUFTVixXQUFZLEdBQUc7Z0JBRTlCaUIsT0FBTztvQkFDTFAsUUFBQUE7Z0JBQ0Y7Z0JBRUFWLFlBQVltQixrQkFBUyxDQUFDRCxRQUFRLENBQUNELE1BQU1WO2dCQUVyQyxJQUFNYSxhQUFhLElBeERGdkIsV0F3RGlCRztnQkFFbEMsT0FBT29CO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSw4QkFBOEJDLHlCQUF5QixFQUFFZixXQUFXO2dCQUN6RSxJQUFNLEFBQUVZLFlBQWNJLGFBQUksQ0FBbEJKLFdBQ0ZmLGdCQUFnQk4sbUJBQW1Cd0IsNEJBQ25DRSxlQUFlQyxjQUFZLENBQUNDLGVBQWUsQ0FBQ25CLGNBQzVDUCxZQUFZbUIsVUFBVVEsaUJBQWlCLENBQUN2QixlQUFlb0IsZUFDdkRKLGFBQWEsSUFsRUZ2QixXQWtFaUJHO2dCQUVsQyxPQUFPb0I7WUFDVDs7O1dBckVtQnZCIn0=
@@ -5,13 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  Object.defineProperty(exports, "default", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return _default;
8
+ return BracketedConstructor;
9
9
  }
10
10
  });
11
+ var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
11
12
  var _constructor = /*#__PURE__*/ _interop_require_default(require("../constructor"));
12
- var _bracketed = /*#__PURE__*/ _interop_require_default(require("../node/term/constructor/bracketed"));
13
- var _bracketed1 = /*#__PURE__*/ _interop_require_default(require("../tokens/constructorTerm/bracketed"));
14
- var _string = require("../utilities/string");
13
+ var _bracketed = /*#__PURE__*/ _interop_require_wildcard(require("../node/term/constructor/bracketed"));
15
14
  function _assert_this_initialized(self) {
16
15
  if (self === void 0) {
17
16
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -65,6 +64,47 @@ function _interop_require_default(obj) {
65
64
  default: obj
66
65
  };
67
66
  }
67
+ function _getRequireWildcardCache(nodeInterop) {
68
+ if (typeof WeakMap !== "function") return null;
69
+ var cacheBabelInterop = new WeakMap();
70
+ var cacheNodeInterop = new WeakMap();
71
+ return (_getRequireWildcardCache = function(nodeInterop) {
72
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
73
+ })(nodeInterop);
74
+ }
75
+ function _interop_require_wildcard(obj, nodeInterop) {
76
+ if (!nodeInterop && obj && obj.__esModule) {
77
+ return obj;
78
+ }
79
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
80
+ return {
81
+ default: obj
82
+ };
83
+ }
84
+ var cache = _getRequireWildcardCache(nodeInterop);
85
+ if (cache && cache.has(obj)) {
86
+ return cache.get(obj);
87
+ }
88
+ var newObj = {
89
+ __proto__: null
90
+ };
91
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
92
+ for(var key in obj){
93
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
94
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
95
+ if (desc && (desc.get || desc.set)) {
96
+ Object.defineProperty(newObj, key, desc);
97
+ } else {
98
+ newObj[key] = obj[key];
99
+ }
100
+ }
101
+ }
102
+ newObj.default = obj;
103
+ if (cache) {
104
+ cache.set(obj, newObj);
105
+ }
106
+ return newObj;
107
+ }
68
108
  function _possible_constructor_return(self, call) {
69
109
  if (call && (_type_of(call) === "object" || typeof call === "function")) {
70
110
  return call;
@@ -90,6 +130,12 @@ function _is_native_reflect_construct() {
90
130
  return !!result;
91
131
  })();
92
132
  }
133
+ var localContext = {
134
+ nodeAsString: function(node) {
135
+ var string = _bracketed.bracketedConstructorTermString; ///
136
+ return string;
137
+ }
138
+ };
93
139
  var BracketedConstructor = /*#__PURE__*/ function(Constructor) {
94
140
  _inherits(BracketedConstructor, Constructor);
95
141
  function BracketedConstructor() {
@@ -100,14 +146,12 @@ var BracketedConstructor = /*#__PURE__*/ function(Constructor) {
100
146
  {
101
147
  key: "fromNothing",
102
148
  value: function fromNothing() {
103
- var node = _bracketed.default, tokens = _bracketed1.default, string = (0, _string.nodeAsString)(node, tokens), termNode = node, bracketedConstructor = new BracketedConstructor(termNode, string);
149
+ var Term = _shim.default.Term, termNode = _bracketed.default, term = Term.fromTermNode(termNode, localContext), bracketedConstructor = new BracketedConstructor(term);
104
150
  return bracketedConstructor;
105
151
  }
106
152
  }
107
153
  ]);
108
154
  return BracketedConstructor;
109
155
  }(_constructor.default);
110
- var bracketedConstructor = BracketedConstructor.fromNothing();
111
- var _default = bracketedConstructor;
112
156
 
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3Rvci9icmFja2V0ZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBDb25zdHJ1Y3RvciBmcm9tIFwiLi4vY29uc3RydWN0b3JcIjtcbmltcG9ydCBicmFja2V0ZWRDb25zdHJ1Y3RvclRlcm1Ob2RlIGZyb20gXCIuLi9ub2RlL3Rlcm0vY29uc3RydWN0b3IvYnJhY2tldGVkXCI7XG5pbXBvcnQgYnJhY2tldGVkQ29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucyBmcm9tIFwiLi4vdG9rZW5zL2NvbnN0cnVjdG9yVGVybS9icmFja2V0ZWRcIjtcblxuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuY2xhc3MgQnJhY2tldGVkQ29uc3RydWN0b3IgZXh0ZW5kcyBDb25zdHJ1Y3RvciB7XG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBub2RlID0gYnJhY2tldGVkQ29uc3RydWN0b3JUZXJtTm9kZSwgIC8vL1xuICAgICAgICAgIHRva2VucyA9IGJyYWNrZXRlZENvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMsIC8vL1xuICAgICAgICAgIHN0cmluZyA9IG5vZGVBc1N0cmluZyhub2RlLCB0b2tlbnMpLFxuICAgICAgICAgIHRlcm1Ob2RlID0gbm9kZSwgLy8vXG4gICAgICAgICAgYnJhY2tldGVkQ29uc3RydWN0b3IgPSBuZXcgQnJhY2tldGVkQ29uc3RydWN0b3IodGVybU5vZGUsIHN0cmluZyk7XG5cbiAgICByZXR1cm4gYnJhY2tldGVkQ29uc3RydWN0b3I7XG4gIH1cbn1cblxuY29uc3QgYnJhY2tldGVkQ29uc3RydWN0b3IgPSBCcmFja2V0ZWRDb25zdHJ1Y3Rvci5mcm9tTm90aGluZygpO1xuXG5leHBvcnQgZGVmYXVsdCBicmFja2V0ZWRDb25zdHJ1Y3RvcjtcbiJdLCJuYW1lcyI6WyJCcmFja2V0ZWRDb25zdHJ1Y3RvciIsImZyb21Ob3RoaW5nIiwibm9kZSIsImJyYWNrZXRlZENvbnN0cnVjdG9yVGVybU5vZGUiLCJ0b2tlbnMiLCJicmFja2V0ZWRDb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zIiwic3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidGVybU5vZGUiLCJicmFja2V0ZWRDb25zdHJ1Y3RvciIsIkNvbnN0cnVjdG9yIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFzQkE7OztlQUFBOzs7a0VBcEJ3QjtnRUFDaUI7aUVBQ1M7c0JBRXJCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTdCLElBQUEsQUFBTUEscUNBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO2lDQUFBQTs7a0JBQUFBOztZQUNHQyxLQUFBQTttQkFBUCxTQUFPQTtnQkFDTCxJQUFNQyxPQUFPQyxrQkFBNEIsRUFDbkNDLFNBQVNDLG1CQUFxQyxFQUM5Q0MsU0FBU0MsSUFBQUEsb0JBQVksRUFBQ0wsTUFBTUUsU0FDNUJJLFdBQVdOLE1BQ1hPLHVCQUF1QixJQU4zQlQscUJBTW9EUSxVQUFVRjtnQkFFaEUsT0FBT0c7WUFDVDs7O1dBVElUO0VBQTZCVSxvQkFBVztBQVk5QyxJQUFNRCx1QkFBdUJULHFCQUFxQkMsV0FBVztJQUU3RCxXQUFlUSJ9
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3Rvci9icmFja2V0ZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5pbXBvcnQgQ29uc3RydWN0b3IgZnJvbSBcIi4uL2NvbnN0cnVjdG9yXCI7XG5pbXBvcnQgYnJhY2tldGVkQ29uc3RydWN0b3JUZXJtTm9kZSBmcm9tIFwiLi4vbm9kZS90ZXJtL2NvbnN0cnVjdG9yL2JyYWNrZXRlZFwiO1xuXG5pbXBvcnQgeyBicmFja2V0ZWRDb25zdHJ1Y3RvclRlcm1TdHJpbmcgfSBmcm9tIFwiLi4vbm9kZS90ZXJtL2NvbnN0cnVjdG9yL2JyYWNrZXRlZFwiO1xuXG5jb25zdCBsb2NhbENvbnRleHQgPSB7XG4gIG5vZGVBc1N0cmluZzogKG5vZGUpID0+IHtcbiAgICBjb25zdCBzdHJpbmcgPSBicmFja2V0ZWRDb25zdHJ1Y3RvclRlcm1TdHJpbmc7ICAvLy9cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJyYWNrZXRlZENvbnN0cnVjdG9yIGV4dGVuZHMgQ29uc3RydWN0b3Ige1xuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgeyBUZXJtIH0gPSBzaGltLFxuICAgICAgICAgIHRlcm1Ob2RlID0gYnJhY2tldGVkQ29uc3RydWN0b3JUZXJtTm9kZSwgIC8vL1xuICAgICAgICAgIHRlcm0gPSBUZXJtLmZyb21UZXJtTm9kZSh0ZXJtTm9kZSwgbG9jYWxDb250ZXh0KSxcbiAgICAgICAgICBicmFja2V0ZWRDb25zdHJ1Y3RvciA9IG5ldyBCcmFja2V0ZWRDb25zdHJ1Y3Rvcih0ZXJtKTtcblxuICAgIHJldHVybiBicmFja2V0ZWRDb25zdHJ1Y3RvcjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkJyYWNrZXRlZENvbnN0cnVjdG9yIiwibG9jYWxDb250ZXh0Iiwibm9kZUFzU3RyaW5nIiwibm9kZSIsInN0cmluZyIsImJyYWNrZXRlZENvbnN0cnVjdG9yVGVybVN0cmluZyIsImZyb21Ob3RoaW5nIiwiVGVybSIsInNoaW0iLCJ0ZXJtTm9kZSIsImJyYWNrZXRlZENvbnN0cnVjdG9yVGVybU5vZGUiLCJ0ZXJtIiwiZnJvbVRlcm1Ob2RlIiwiYnJhY2tldGVkQ29uc3RydWN0b3IiLCJDb25zdHJ1Y3RvciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFnQnFCQTs7OzJEQWRKO2tFQUNPO2lFQUNpQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSXpDLElBQU1DLGVBQWU7SUFDbkJDLGNBQWMsU0FBQ0M7UUFDYixJQUFNQyxTQUFTQyx5Q0FBOEIsRUFBRyxHQUFHO1FBRW5ELE9BQU9EO0lBQ1Q7QUFDRjtBQUVlLElBQUEsQUFBTUoscUNBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO2lDQUFBQTs7a0JBQUFBOztZQUNaTSxLQUFBQTttQkFBUCxTQUFPQTtnQkFDTCxJQUFNLEFBQUVDLE9BQVNDLGFBQUksQ0FBYkQsTUFDRkUsV0FBV0Msa0JBQTRCLEVBQ3ZDQyxPQUFPSixLQUFLSyxZQUFZLENBQUNILFVBQVVSLGVBQ25DWSx1QkFBdUIsSUFMWmIscUJBS3FDVztnQkFFdEQsT0FBT0U7WUFDVDs7O1dBUm1CYjtFQUE2QmMsb0JBQVcifQ==
@@ -8,7 +8,9 @@ Object.defineProperty(exports, "default", {
8
8
  return Constructor;
9
9
  }
10
10
  });
11
- var _string = require("./utilities/string");
11
+ var _type = /*#__PURE__*/ _interop_require_default(require("./type"));
12
+ var _term = /*#__PURE__*/ _interop_require_default(require("./term"));
13
+ var _query = require("./utilities/query");
12
14
  function _class_call_check(instance, Constructor) {
13
15
  if (!(instance instanceof Constructor)) {
14
16
  throw new TypeError("Cannot call a class as a function");
@@ -28,53 +30,97 @@ function _create_class(Constructor, protoProps, staticProps) {
28
30
  if (staticProps) _defineProperties(Constructor, staticProps);
29
31
  return Constructor;
30
32
  }
33
+ function _interop_require_default(obj) {
34
+ return obj && obj.__esModule ? obj : {
35
+ default: obj
36
+ };
37
+ }
38
+ var termNodeQuery = (0, _query.nodeQuery)("/constructorDeclaration/term"), typeNodeQuery = (0, _query.nodeQuery)("/constructorDeclaration/type");
31
39
  var Constructor = /*#__PURE__*/ function() {
32
- function Constructor(termNode, string, type) {
40
+ function Constructor(string, term) {
33
41
  _class_call_check(this, Constructor);
34
- this.termNode = termNode;
35
42
  this.string = string;
36
- this.type = type;
43
+ this.term = term;
37
44
  }
38
45
  _create_class(Constructor, [
39
- {
40
- key: "getTermNode",
41
- value: function getTermNode() {
42
- return this.termNode;
43
- }
44
- },
45
46
  {
46
47
  key: "getString",
47
48
  value: function getString() {
48
49
  return this.string;
49
50
  }
50
51
  },
52
+ {
53
+ key: "getTerm",
54
+ value: function getTerm() {
55
+ return this.term;
56
+ }
57
+ },
51
58
  {
52
59
  key: "getType",
53
60
  value: function getType() {
54
- return this.type;
61
+ return this.term.getType();
62
+ }
63
+ },
64
+ {
65
+ key: "verify",
66
+ value: function verify(fileContext) {
67
+ var verified;
68
+ var constructorString = this.string; ///
69
+ fileContext.trace("Verifying the '".concat(constructorString, "' constructor..."));
70
+ var termTypeVerified = this.term.verifyType(fileContext);
71
+ if (termTypeVerified) {
72
+ var termVerifiedAsConstructor = this.term.verifyAsConstructor(fileContext);
73
+ if (termVerifiedAsConstructor) {
74
+ verified = true; ///
75
+ }
76
+ }
77
+ if (verified) {
78
+ fileContext.debug("...verified the '".concat(constructorString, "' constructor."));
79
+ }
80
+ return verified;
81
+ }
82
+ },
83
+ {
84
+ key: "toJSON",
85
+ value: function toJSON() {
86
+ var termJSON = this.term.toJSON(), term = termJSON, json = {
87
+ term: term
88
+ };
89
+ return json;
55
90
  }
56
91
  }
57
92
  ], [
58
93
  {
59
- key: "fromTermNodeTypeAndTokens",
60
- value: function fromTermNodeTypeAndTokens(termNode, type, tokens) {
61
- var string = stringFromTermNodeTypeAndTokens(termNode, type, tokens), constructor = new Constructor(termNode, string, type);
94
+ key: "fromJSON",
95
+ value: function fromJSON(json, fileContext) {
96
+ var term = json.term;
97
+ var termJSON = term; ///
98
+ json = termJSON; ///
99
+ term = _term.default.fromJSON(json, fileContext);
100
+ var type = term.getType(), string = stringFromTermAndType(term, type), constructor = new Constructor(string, term);
101
+ return constructor;
102
+ }
103
+ },
104
+ {
105
+ key: "fromConstructorDeclarationNode",
106
+ value: function fromConstructorDeclarationNode(constructorDeclarationNode, fileContext) {
107
+ var termNode = termNodeQuery(constructorDeclarationNode), typeNode = typeNodeQuery(constructorDeclarationNode), type = _type.default.fromTypeNode(typeNode), term = _term.default.fromTermNodeAndType(termNode, type, fileContext), string = stringFromTermAndType(term, type), constructor = new Constructor(string, term);
62
108
  return constructor;
63
109
  }
64
110
  }
65
111
  ]);
66
112
  return Constructor;
67
113
  }();
68
- function stringFromTermNodeTypeAndTokens(termNode, type, tokens) {
114
+ function stringFromTermAndType(term, type) {
69
115
  var string;
70
- var termString = (0, _string.nodeAsString)(termNode, tokens);
116
+ var termString = term.getString();
71
117
  if (type === null) {
72
118
  string = "".concat(termString);
73
119
  } else {
74
- var noSuperType = true, typeString = type.asString(tokens, noSuperType);
120
+ var typeString = type.getString();
75
121
  string = "".concat(termString, ":").concat(typeString);
76
122
  }
77
123
  return string;
78
124
  }
79
125
 
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdHJ1Y3Rvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb25zdHJ1Y3RvciB7XG4gIGNvbnN0cnVjdG9yKHRlcm1Ob2RlLCBzdHJpbmcsIHR5cGUpIHtcbiAgICB0aGlzLnRlcm1Ob2RlID0gdGVybU5vZGU7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgfVxuXG4gIGdldFRlcm1Ob2RlKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm1Ob2RlO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVGVybU5vZGVUeXBlQW5kVG9rZW5zKHRlcm1Ob2RlLCB0eXBlLCB0b2tlbnMpIHtcbiAgICBjb25zdCBzdHJpbmcgPSBzdHJpbmdGcm9tVGVybU5vZGVUeXBlQW5kVG9rZW5zKHRlcm1Ob2RlLCB0eXBlLCB0b2tlbnMpLFxuICAgICAgICAgIGNvbnN0cnVjdG9yID0gbmV3IENvbnN0cnVjdG9yKHRlcm1Ob2RlLCBzdHJpbmcsIHR5cGUpO1xuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9yO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN0cmluZ0Zyb21UZXJtTm9kZVR5cGVBbmRUb2tlbnModGVybU5vZGUsIHR5cGUsIHRva2Vucykge1xuICBsZXQgc3RyaW5nO1xuXG4gIGNvbnN0IHRlcm1TdHJpbmcgPSBub2RlQXNTdHJpbmcodGVybU5vZGUsIHRva2Vucyk7XG5cbiAgaWYgKHR5cGUgPT09IG51bGwpIHtcbiAgICBzdHJpbmcgPSBgJHt0ZXJtU3RyaW5nfWA7XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgbm9TdXBlclR5cGUgPSB0cnVlLFxuICAgICAgICAgIHR5cGVTdHJpbmcgPSB0eXBlLmFzU3RyaW5nKHRva2Vucywgbm9TdXBlclR5cGUpO1xuXG4gICAgc3RyaW5nID0gYCR7dGVybVN0cmluZ306JHt0eXBlU3RyaW5nfWA7XG4gIH1cblxuICByZXR1cm4gc3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbIkNvbnN0cnVjdG9yIiwidGVybU5vZGUiLCJzdHJpbmciLCJ0eXBlIiwiZ2V0VGVybU5vZGUiLCJnZXRTdHJpbmciLCJnZXRUeXBlIiwiZnJvbVRlcm1Ob2RlVHlwZUFuZFRva2VucyIsInRva2VucyIsInN0cmluZ0Zyb21UZXJtTm9kZVR5cGVBbmRUb2tlbnMiLCJjb25zdHJ1Y3RvciIsInRlcm1TdHJpbmciLCJub2RlQXNTdHJpbmciLCJub1N1cGVyVHlwZSIsInR5cGVTdHJpbmciLCJhc1N0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFJcUJBOzs7c0JBRlE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWQsSUFBQSxBQUFNQSw0QkFBTjthQUFNQSxZQUNQQyxRQUFRLEVBQUVDLE1BQU0sRUFBRUMsSUFBSTtnQ0FEZkg7UUFFakIsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTs7a0JBSktIOztZQU9uQkksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxRQUFRO1lBQ3RCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxNQUFNO1lBQ3BCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxJQUFJO1lBQ2xCOzs7O1lBRU9JLEtBQUFBO21CQUFQLFNBQU9BLDBCQUEwQk4sUUFBUSxFQUFFRSxJQUFJLEVBQUVLLE1BQU07Z0JBQ3JELElBQU1OLFNBQVNPLGdDQUFnQ1IsVUFBVUUsTUFBTUssU0FDekRFLGNBQWMsSUFyQkhWLFlBcUJtQkMsVUFBVUMsUUFBUUM7Z0JBRXRELE9BQU9PO1lBQ1Q7OztXQXhCbUJWOztBQTJCckIsU0FBU1MsZ0NBQWdDUixRQUFRLEVBQUVFLElBQUksRUFBRUssTUFBTTtJQUM3RCxJQUFJTjtJQUVKLElBQU1TLGFBQWFDLElBQUFBLG9CQUFZLEVBQUNYLFVBQVVPO0lBRTFDLElBQUlMLFNBQVMsTUFBTTtRQUNqQkQsU0FBUyxBQUFDLEdBQWEsT0FBWFM7SUFDZCxPQUFPO1FBQ0wsSUFBTUUsY0FBYyxNQUNkQyxhQUFhWCxLQUFLWSxRQUFRLENBQUNQLFFBQVFLO1FBRXpDWCxTQUFTLEFBQUMsR0FBZ0JZLE9BQWRILFlBQVcsS0FBYyxPQUFYRztJQUM1QjtJQUVBLE9BQU9aO0FBQ1QifQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdHJ1Y3Rvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFR5cGUgZnJvbSBcIi4vdHlwZVwiO1xuaW1wb3J0IFRlcm0gZnJvbSBcIi4vdGVybVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25zdHJ1Y3RvckRlY2xhcmF0aW9uL3Rlcm1cIiksXG4gICAgICB0eXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnN0cnVjdG9yRGVjbGFyYXRpb24vdHlwZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29uc3RydWN0b3Ige1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHRlcm0pIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnRlcm0gPSB0ZXJtO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybTtcbiAgfVxuXG4gIGdldFR5cGUoKSB7IHJldHVybiB0aGlzLnRlcm0uZ2V0VHlwZSgpOyB9XG5cbiAgdmVyaWZ5KGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVkO1xuXG4gICAgY29uc3QgY29uc3RydWN0b3JTdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vL1xuXG4gICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7Y29uc3RydWN0b3JTdHJpbmd9JyBjb25zdHJ1Y3Rvci4uLmApO1xuXG4gICAgY29uc3QgdGVybVR5cGVWZXJpZmllZCA9IHRoaXMudGVybS52ZXJpZnlUeXBlKGZpbGVDb250ZXh0KTtcblxuICAgIGlmICh0ZXJtVHlwZVZlcmlmaWVkKSB7XG4gICAgICBjb25zdCB0ZXJtVmVyaWZpZWRBc0NvbnN0cnVjdG9yID0gdGhpcy50ZXJtLnZlcmlmeUFzQ29uc3RydWN0b3IoZmlsZUNvbnRleHQpO1xuXG4gICAgICBpZiAodGVybVZlcmlmaWVkQXNDb25zdHJ1Y3Rvcikge1xuICAgICAgICB2ZXJpZmllZCA9IHRydWU7IC8vL1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh2ZXJpZmllZCkge1xuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjb25zdHJ1Y3RvclN0cmluZ30nIGNvbnN0cnVjdG9yLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZDtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCB0ZXJtSlNPTiA9IHRoaXMudGVybS50b0pTT04oKSxcbiAgICAgICAgICB0ZXJtID0gdGVybUpTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgdGVybVxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCB7IHRlcm0gfSA9IGpzb247XG5cbiAgICBjb25zdCB0ZXJtSlNPTiA9IHRlcm07ICAvLy9cblxuICAgIGpzb24gPSB0ZXJtSlNPTjsgIC8vL1xuXG4gICAgdGVybSA9IFRlcm0uZnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpO1xuXG4gICAgY29uc3QgdHlwZSA9IHRlcm0uZ2V0VHlwZSgpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21UZXJtQW5kVHlwZSh0ZXJtLCB0eXBlKSxcbiAgICAgICAgICBjb25zdHJ1Y3RvciA9IG5ldyBDb25zdHJ1Y3RvcihzdHJpbmcsIHRlcm0pO1xuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZShjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICAgIHR5cGVOb2RlID0gdHlwZU5vZGVRdWVyeShjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgICAgdHlwZSA9IFR5cGUuZnJvbVR5cGVOb2RlKHR5cGVOb2RlKSxcbiAgICAgICAgICB0ZXJtID0gVGVybS5mcm9tVGVybU5vZGVBbmRUeXBlKHRlcm1Ob2RlLCB0eXBlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVRlcm1BbmRUeXBlKHRlcm0sIHR5cGUpLFxuICAgICAgICAgIGNvbnN0cnVjdG9yID0gbmV3IENvbnN0cnVjdG9yKHN0cmluZywgdGVybSk7XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3I7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RyaW5nRnJvbVRlcm1BbmRUeXBlKHRlcm0sIHR5cGUpIHtcbiAgbGV0IHN0cmluZztcblxuICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKTtcblxuICBpZiAodHlwZSA9PT0gbnVsbCkge1xuICAgIHN0cmluZyA9IGAke3Rlcm1TdHJpbmd9YDtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0eXBlU3RyaW5nID0gdHlwZS5nZXRTdHJpbmcoKTtcblxuICAgIHN0cmluZyA9IGAke3Rlcm1TdHJpbmd9OiR7dHlwZVN0cmluZ31gO1xuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJDb25zdHJ1Y3RvciIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5Iiwic3RyaW5nIiwidGVybSIsImdldFN0cmluZyIsImdldFRlcm0iLCJnZXRUeXBlIiwidmVyaWZ5IiwiZmlsZUNvbnRleHQiLCJ2ZXJpZmllZCIsImNvbnN0cnVjdG9yU3RyaW5nIiwidHJhY2UiLCJ0ZXJtVHlwZVZlcmlmaWVkIiwidmVyaWZ5VHlwZSIsInRlcm1WZXJpZmllZEFzQ29uc3RydWN0b3IiLCJ2ZXJpZnlBc0NvbnN0cnVjdG9yIiwiZGVidWciLCJ0b0pTT04iLCJ0ZXJtSlNPTiIsImpzb24iLCJmcm9tSlNPTiIsIlRlcm0iLCJ0eXBlIiwic3RyaW5nRnJvbVRlcm1BbmRUeXBlIiwiY29uc3RydWN0b3IiLCJmcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsInRlcm1Ob2RlIiwidHlwZU5vZGUiLCJUeXBlIiwiZnJvbVR5cGVOb2RlIiwiZnJvbVRlcm1Ob2RlQW5kVHlwZSIsInRlcm1TdHJpbmciLCJ0eXBlU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVVxQkE7OzsyREFSSjsyREFDQTtxQkFFUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsaUNBQzFCQyxnQkFBZ0JELElBQUFBLGdCQUFTLEVBQUM7QUFFakIsSUFBQSxBQUFNRiw0QkFBTjthQUFNQSxZQUNQSSxNQUFNLEVBQUVDLElBQUk7Z0NBRExMO1FBRWpCLElBQUksQ0FBQ0ksTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTs7a0JBSEtMOztZQU1uQk0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixNQUFNO1lBQ3BCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixJQUFJO1lBQ2xCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUFZLE9BQU8sSUFBSSxDQUFDSCxJQUFJLENBQUNHLE9BQU87WUFBSTs7O1lBRXhDQyxLQUFBQTttQkFBQUEsU0FBQUEsT0FBT0MsV0FBVztnQkFDaEIsSUFBSUM7Z0JBRUosSUFBTUMsb0JBQW9CLElBQUksQ0FBQ1IsTUFBTSxFQUFHLEdBQUc7Z0JBRTNDTSxZQUFZRyxLQUFLLENBQUMsQUFBQyxrQkFBbUMsT0FBbEJELG1CQUFrQjtnQkFFdEQsSUFBTUUsbUJBQW1CLElBQUksQ0FBQ1QsSUFBSSxDQUFDVSxVQUFVLENBQUNMO2dCQUU5QyxJQUFJSSxrQkFBa0I7b0JBQ3BCLElBQU1FLDRCQUE0QixJQUFJLENBQUNYLElBQUksQ0FBQ1ksbUJBQW1CLENBQUNQO29CQUVoRSxJQUFJTSwyQkFBMkI7d0JBQzdCTCxXQUFXLE1BQU0sR0FBRztvQkFDdEI7Z0JBQ0Y7Z0JBRUEsSUFBSUEsVUFBVTtvQkFDWkQsWUFBWVEsS0FBSyxDQUFDLEFBQUMsb0JBQXFDLE9BQWxCTixtQkFBa0I7Z0JBQzFEO2dCQUVBLE9BQU9EO1lBQ1Q7OztZQUVBUSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsV0FBVyxJQUFJLENBQUNmLElBQUksQ0FBQ2MsTUFBTSxJQUMzQmQsT0FBT2UsVUFDUEMsT0FBTztvQkFDTGhCLE1BQUFBO2dCQUNGO2dCQUVOLE9BQU9nQjtZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNELElBQUksRUFBRVgsV0FBVztnQkFDL0IsSUFBSSxBQUFFTCxPQUFTZ0IsS0FBVGhCO2dCQUVOLElBQU1lLFdBQVdmLE1BQU8sR0FBRztnQkFFM0JnQixPQUFPRCxVQUFXLEdBQUc7Z0JBRXJCZixPQUFPa0IsYUFBSSxDQUFDRCxRQUFRLENBQUNELE1BQU1YO2dCQUUzQixJQUFNYyxPQUFPbkIsS0FBS0csT0FBTyxJQUNuQkosU0FBU3FCLHNCQUFzQnBCLE1BQU1tQixPQUNyQ0UsY0FBYyxJQTdESDFCLFlBNkRtQkksUUFBUUM7Z0JBRTVDLE9BQU9xQjtZQUNUOzs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsK0JBQStCQywwQkFBMEIsRUFBRWxCLFdBQVc7Z0JBQzNFLElBQU1tQixXQUFXNUIsY0FBYzJCLDZCQUN6QkUsV0FBVzNCLGNBQWN5Qiw2QkFDekJKLE9BQU9PLGFBQUksQ0FBQ0MsWUFBWSxDQUFDRixXQUN6QnpCLE9BQU9rQixhQUFJLENBQUNVLG1CQUFtQixDQUFDSixVQUFVTCxNQUFNZCxjQUNoRE4sU0FBU3FCLHNCQUFzQnBCLE1BQU1tQixPQUNyQ0UsY0FBYyxJQXhFSDFCLFlBd0VtQkksUUFBUUM7Z0JBRTVDLE9BQU9xQjtZQUNUOzs7V0EzRW1CMUI7O0FBOEVyQixTQUFTeUIsc0JBQXNCcEIsSUFBSSxFQUFFbUIsSUFBSTtJQUN2QyxJQUFJcEI7SUFFSixJQUFNOEIsYUFBYTdCLEtBQUtDLFNBQVM7SUFFakMsSUFBSWtCLFNBQVMsTUFBTTtRQUNqQnBCLFNBQVMsQUFBQyxHQUFhLE9BQVg4QjtJQUNkLE9BQU87UUFDTCxJQUFNQyxhQUFhWCxLQUFLbEIsU0FBUztRQUVqQ0YsU0FBUyxBQUFDLEdBQWdCK0IsT0FBZEQsWUFBVyxLQUFjLE9BQVhDO0lBQzVCO0lBRUEsT0FBTy9CO0FBQ1QifQ==
@@ -0,0 +1,90 @@
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 ConstructorDeclaration;
9
+ }
10
+ });
11
+ var _constructor = /*#__PURE__*/ _interop_require_default(require("../constructor"));
12
+ function _class_call_check(instance, Constructor) {
13
+ if (!(instance instanceof Constructor)) {
14
+ throw new TypeError("Cannot call a class as a function");
15
+ }
16
+ }
17
+ function _defineProperties(target, props) {
18
+ for(var i = 0; i < props.length; i++){
19
+ var descriptor = props[i];
20
+ descriptor.enumerable = descriptor.enumerable || false;
21
+ descriptor.configurable = true;
22
+ if ("value" in descriptor) descriptor.writable = true;
23
+ Object.defineProperty(target, descriptor.key, descriptor);
24
+ }
25
+ }
26
+ function _create_class(Constructor, protoProps, staticProps) {
27
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
28
+ if (staticProps) _defineProperties(Constructor, staticProps);
29
+ return Constructor;
30
+ }
31
+ function _interop_require_default(obj) {
32
+ return obj && obj.__esModule ? obj : {
33
+ default: obj
34
+ };
35
+ }
36
+ var ConstructorDeclaration = /*#__PURE__*/ function() {
37
+ function ConstructorDeclaration(fileContext, constructor) {
38
+ _class_call_check(this, ConstructorDeclaration);
39
+ this.fileContext = fileContext;
40
+ this.constructor = constructor;
41
+ }
42
+ _create_class(ConstructorDeclaration, [
43
+ {
44
+ key: "getFileContext",
45
+ value: function getFileContext() {
46
+ return this.fileContext;
47
+ }
48
+ },
49
+ {
50
+ key: "getConstructor",
51
+ value: function getConstructor() {
52
+ return this.constructor;
53
+ }
54
+ },
55
+ {
56
+ key: "getString",
57
+ value: function getString() {
58
+ return this.constructor.getString();
59
+ }
60
+ },
61
+ {
62
+ key: "verify",
63
+ value: function verify() {
64
+ var verified;
65
+ var constructorDeclarationString = this.getString(); ///
66
+ this.fileContext.trace("Verifying the '".concat(constructorDeclarationString, "' constructor declaration..."));
67
+ var constructorVerified = this.constructor.verify(this.fileContext);
68
+ if (constructorVerified) {
69
+ this.fileContext.addConstructor(this.constructor);
70
+ verified = true;
71
+ }
72
+ if (verified) {
73
+ this.fileContext.debug("...verified the '".concat(constructorDeclarationString, "' constructor declaration."));
74
+ }
75
+ return verified;
76
+ }
77
+ }
78
+ ], [
79
+ {
80
+ key: "fromConstructorDeclarationNode",
81
+ value: function fromConstructorDeclarationNode(constructorDeclarationNode, fileContext) {
82
+ var constructor = _constructor.default.fromConstructorDeclarationNode(constructorDeclarationNode, fileContext), constructorDeclaration = new ConstructorDeclaration(fileContext, constructor);
83
+ return constructorDeclaration;
84
+ }
85
+ }
86
+ ]);
87
+ return ConstructorDeclaration;
88
+ }();
89
+
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNsYXJhdGlvbi9jb25zdHJ1Y3Rvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IENvbnN0cnVjdG9yIGZyb20gXCIuLi9jb25zdHJ1Y3RvclwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb25zdHJ1Y3RvckRlY2xhcmF0aW9uIHtcbiAgY29uc3RydWN0b3IoZmlsZUNvbnRleHQsIGNvbnN0cnVjdG9yKSB7XG4gICAgdGhpcy5maWxlQ29udGV4dCA9IGZpbGVDb250ZXh0O1xuICAgIHRoaXMuY29uc3RydWN0b3IgPSBjb25zdHJ1Y3RvcjtcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVDb250ZXh0O1xuICB9XG5cbiAgZ2V0Q29uc3RydWN0b3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uc3RydWN0b3I7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7IHJldHVybiB0aGlzLmNvbnN0cnVjdG9yLmdldFN0cmluZygpOyB9XG5cbiAgdmVyaWZ5KCkge1xuICAgIGxldCB2ZXJpZmllZDtcblxuICAgIGNvbnN0IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIHRoaXMuZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7Y29uc3RydWN0b3JEZWNsYXJhdGlvblN0cmluZ30nIGNvbnN0cnVjdG9yIGRlY2xhcmF0aW9uLi4uYCk7XG5cbiAgICBjb25zdCBjb25zdHJ1Y3RvclZlcmlmaWVkID0gdGhpcy5jb25zdHJ1Y3Rvci52ZXJpZnkodGhpcy5maWxlQ29udGV4dCk7XG5cbiAgICBpZiAoY29uc3RydWN0b3JWZXJpZmllZCkge1xuICAgICAgdGhpcy5maWxlQ29udGV4dC5hZGRDb25zdHJ1Y3Rvcih0aGlzLmNvbnN0cnVjdG9yKTtcblxuICAgICAgdmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh2ZXJpZmllZCkge1xuICAgICAgdGhpcy5maWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NvbnN0cnVjdG9yRGVjbGFyYXRpb25TdHJpbmd9JyBjb25zdHJ1Y3RvciBkZWNsYXJhdGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IGNvbnN0cnVjdG9yID0gQ29uc3RydWN0b3IuZnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgY29uc3RydWN0b3JEZWNsYXJhdGlvbiA9IG5ldyBDb25zdHJ1Y3RvckRlY2xhcmF0aW9uKGZpbGVDb250ZXh0LCBjb25zdHJ1Y3Rvcik7XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3JEZWNsYXJhdGlvbjtcbiAgfVxufSJdLCJuYW1lcyI6WyJDb25zdHJ1Y3RvckRlY2xhcmF0aW9uIiwiZmlsZUNvbnRleHQiLCJjb25zdHJ1Y3RvciIsImdldEZpbGVDb250ZXh0IiwiZ2V0Q29uc3RydWN0b3IiLCJnZXRTdHJpbmciLCJ2ZXJpZnkiLCJ2ZXJpZmllZCIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25TdHJpbmciLCJ0cmFjZSIsImNvbnN0cnVjdG9yVmVyaWZpZWQiLCJhZGRDb25zdHJ1Y3RvciIsImRlYnVnIiwiZnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJDb25zdHJ1Y3RvciIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBSXFCQTs7O2tFQUZHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVQsSUFBQSxBQUFNQSx1Q0FBTjthQUFNQSx1QkFDUEMsV0FBVyxFQUFFQyxXQUFXO2dDQURqQkY7UUFFakIsSUFBSSxDQUFDQyxXQUFXLEdBQUdBO1FBQ25CLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTs7a0JBSEZGOztZQU1uQkcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixXQUFXO1lBQ3pCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixXQUFXO1lBQ3pCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUFjLE9BQU8sSUFBSSxDQUFDSCxXQUFXLENBQUNHLFNBQVM7WUFBSTs7O1lBRW5EQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSUM7Z0JBRUosSUFBTUMsK0JBQStCLElBQUksQ0FBQ0gsU0FBUyxJQUFJLEdBQUc7Z0JBRTFELElBQUksQ0FBQ0osV0FBVyxDQUFDUSxLQUFLLENBQUMsQUFBQyxrQkFBOEMsT0FBN0JELDhCQUE2QjtnQkFFdEUsSUFBTUUsc0JBQXNCLElBQUksQ0FBQ1IsV0FBVyxDQUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDTCxXQUFXO2dCQUVwRSxJQUFJUyxxQkFBcUI7b0JBQ3ZCLElBQUksQ0FBQ1QsV0FBVyxDQUFDVSxjQUFjLENBQUMsSUFBSSxDQUFDVCxXQUFXO29CQUVoREssV0FBVztnQkFDYjtnQkFFQSxJQUFJQSxVQUFVO29CQUNaLElBQUksQ0FBQ04sV0FBVyxDQUFDVyxLQUFLLENBQUMsQUFBQyxvQkFBZ0QsT0FBN0JKLDhCQUE2QjtnQkFDMUU7Z0JBRUEsT0FBT0Q7WUFDVDs7OztZQUVPTSxLQUFBQTttQkFBUCxTQUFPQSwrQkFBK0JDLDBCQUEwQixFQUFFYixXQUFXO2dCQUMzRSxJQUFNQyxjQUFjYSxvQkFBVyxDQUFDRiw4QkFBOEIsQ0FBQ0MsNEJBQTRCYixjQUNyRmUseUJBQXlCLElBeENkaEIsdUJBd0N5Q0MsYUFBYUM7Z0JBRXZFLE9BQU9jO1lBQ1Q7OztXQTNDbUJoQiJ9
@@ -37,12 +37,19 @@ function _interop_require_default(obj) {
37
37
  }
38
38
  var metaTypeNodeQuery = (0, _query.nodeQuery)("/metavariableDeclaration/metaType");
39
39
  var MetavariableDeclaration = /*#__PURE__*/ function() {
40
- function MetavariableDeclaration(string, metavariable) {
40
+ function MetavariableDeclaration(fileContext, string, metavariable) {
41
41
  _class_call_check(this, MetavariableDeclaration);
42
+ this.fileContext = fileContext;
42
43
  this.string = string;
43
44
  this.metavariable = metavariable;
44
45
  }
45
46
  _create_class(MetavariableDeclaration, [
47
+ {
48
+ key: "getFileContext",
49
+ value: function getFileContext() {
50
+ return this.fileContext;
51
+ }
52
+ },
46
53
  {
47
54
  key: "getString",
48
55
  value: function getString() {
@@ -57,17 +64,17 @@ var MetavariableDeclaration = /*#__PURE__*/ function() {
57
64
  },
58
65
  {
59
66
  key: "verify",
60
- value: function verify(fileContext) {
67
+ value: function verify() {
61
68
  var verified;
62
69
  var metavariableDeclarationString = this.string; ///
63
- fileContext.trace("Verifying the '".concat(metavariableDeclarationString, "' metavariable declaration..."));
64
- var metavariableVerified = this.metavariable.verify(fileContext);
70
+ this.fileContext.trace("Verifying the '".concat(metavariableDeclarationString, "' metavariable declaration..."));
71
+ var metavariableVerified = this.metavariable.verify(this.fileContext);
65
72
  if (metavariableVerified) {
66
- fileContext.addMetavariable(this.metavariable);
73
+ this.fileContext.addMetavariable(this.metavariable);
67
74
  verified = true;
68
75
  }
69
76
  if (verified) {
70
- fileContext.debug("...verified the '".concat(metavariableDeclarationString, "' metavariable declaration."));
77
+ this.fileContext.debug("...verified the '".concat(metavariableDeclarationString, "' metavariable declaration."));
71
78
  }
72
79
  return verified;
73
80
  }
@@ -76,7 +83,7 @@ var MetavariableDeclaration = /*#__PURE__*/ function() {
76
83
  {
77
84
  key: "fromMetavariableDeclarationNode",
78
85
  value: function fromMetavariableDeclarationNode(metavariableDeclarationNode, fileContext) {
79
- var metaTypeNode = metaTypeNodeQuery(metavariableDeclarationNode), metaType = _metaType.default.fromMetaTypeNode(metaTypeNode, fileContext), metavariable = _metavariable.default.fromMetavariableDeclarationNode(metavariableDeclarationNode, fileContext), metavariableString = metavariable.getString(), metaTypeString = metaType.getString(), string = "".concat(metavariableString, ":").concat(metaTypeString), metavariableDeclaration = new MetavariableDeclaration(string, metavariable);
86
+ var metaTypeNode = metaTypeNodeQuery(metavariableDeclarationNode), metaType = _metaType.default.fromMetaTypeNode(metaTypeNode, fileContext), metavariable = _metavariable.default.fromMetavariableDeclarationNode(metavariableDeclarationNode, fileContext), metavariableString = metavariable.getString(), metaTypeString = metaType.getString(), string = "".concat(metavariableString, ":").concat(metaTypeString), metavariableDeclaration = new MetavariableDeclaration(fileContext, string, metavariable);
80
87
  return metavariableDeclaration;
81
88
  }
82
89
  }
@@ -84,4 +91,4 @@ var MetavariableDeclaration = /*#__PURE__*/ function() {
84
91
  return MetavariableDeclaration;
85
92
  }();
86
93
 
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNsYXJhdGlvbi9tZXRhdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNZXRhVHlwZSBmcm9tIFwiLi4vbWV0YVR5cGVcIjtcbmltcG9ydCBNZXRhdmFyaWFibGUgZnJvbSBcIi4uL21ldGF2YXJpYWJsZVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IG1ldGFUeXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF2YXJpYWJsZURlY2xhcmF0aW9uL21ldGFUeXBlXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZXRhdmFyaWFibGVEZWNsYXJhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgbWV0YXZhcmlhYmxlKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy5tZXRhdmFyaWFibGUgPSBtZXRhdmFyaWFibGU7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGF2YXJpYWJsZTtcbiAgfVxuXG4gIHZlcmlmeShmaWxlQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZDtcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXZhcmlhYmxlRGVjbGFyYXRpb25TdHJpbmd9JyBtZXRhdmFyaWFibGUgZGVjbGFyYXRpb24uLi5gKTtcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gdGhpcy5tZXRhdmFyaWFibGUudmVyaWZ5KGZpbGVDb250ZXh0KTtcblxuICAgIGlmIChtZXRhdmFyaWFibGVWZXJpZmllZCkge1xuICAgICAgZmlsZUNvbnRleHQuYWRkTWV0YXZhcmlhYmxlKHRoaXMubWV0YXZhcmlhYmxlKTtcblxuICAgICAgdmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh2ZXJpZmllZCkge1xuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhdmFyaWFibGVEZWNsYXJhdGlvblN0cmluZ30nIG1ldGF2YXJpYWJsZSBkZWNsYXJhdGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZShtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgbWV0YVR5cGVOb2RlID0gbWV0YVR5cGVOb2RlUXVlcnkobWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgICBtZXRhVHlwZSA9IE1ldGFUeXBlLmZyb21NZXRhVHlwZU5vZGUobWV0YVR5cGVOb2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlID0gTWV0YXZhcmlhYmxlLmZyb21NZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUobWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlU3RyaW5nID0gbWV0YXZhcmlhYmxlLmdldFN0cmluZygpLFxuICAgICAgICAgIG1ldGFUeXBlU3RyaW5nID0gbWV0YVR5cGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgc3RyaW5nID0gYCR7bWV0YXZhcmlhYmxlU3RyaW5nfToke21ldGFUeXBlU3RyaW5nfWAsXG4gICAgICAgICAgbWV0YXZhcmlhYmxlRGVjbGFyYXRpb24gPSBuZXcgTWV0YXZhcmlhYmxlRGVjbGFyYXRpb24oc3RyaW5nLCBtZXRhdmFyaWFibGUpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uO1xuICB9XG59Il0sIm5hbWVzIjpbIk1ldGF2YXJpYWJsZURlY2xhcmF0aW9uIiwibWV0YVR5cGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdHJpbmciLCJtZXRhdmFyaWFibGUiLCJnZXRTdHJpbmciLCJnZXRNZXRhdmFyaWFibGUiLCJ2ZXJpZnkiLCJmaWxlQ29udGV4dCIsInZlcmlmaWVkIiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25TdHJpbmciLCJ0cmFjZSIsIm1ldGF2YXJpYWJsZVZlcmlmaWVkIiwiYWRkTWV0YXZhcmlhYmxlIiwiZGVidWciLCJmcm9tTWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwibWV0YVR5cGVOb2RlIiwibWV0YVR5cGUiLCJNZXRhVHlwZSIsImZyb21NZXRhVHlwZU5vZGUiLCJNZXRhdmFyaWFibGUiLCJtZXRhdmFyaWFibGVTdHJpbmciLCJtZXRhVHlwZVN0cmluZyIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7OzsrREFQQTttRUFDSTtxQkFFQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQyxvQkFBb0JDLElBQUFBLGdCQUFTLEVBQUM7QUFFckIsSUFBQSxBQUFNRix3Q0FBTjthQUFNQSx3QkFDUEcsTUFBTSxFQUFFQyxZQUFZO2dDQURiSjtRQUVqQixJQUFJLENBQUNHLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFlBQVksR0FBR0E7O2tCQUhISjs7WUFNbkJLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsTUFBTTtZQUNwQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsWUFBWTtZQUMxQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxXQUFXO2dCQUNoQixJQUFJQztnQkFFSixJQUFNQyxnQ0FBZ0MsSUFBSSxDQUFDUCxNQUFNLEVBQUUsR0FBRztnQkFFdERLLFlBQVlHLEtBQUssQ0FBQyxBQUFDLGtCQUErQyxPQUE5QkQsK0JBQThCO2dCQUVsRSxJQUFNRSx1QkFBdUIsSUFBSSxDQUFDUixZQUFZLENBQUNHLE1BQU0sQ0FBQ0M7Z0JBRXRELElBQUlJLHNCQUFzQjtvQkFDeEJKLFlBQVlLLGVBQWUsQ0FBQyxJQUFJLENBQUNULFlBQVk7b0JBRTdDSyxXQUFXO2dCQUNiO2dCQUVBLElBQUlBLFVBQVU7b0JBQ1pELFlBQVlNLEtBQUssQ0FBQyxBQUFDLG9CQUFpRCxPQUE5QkosK0JBQThCO2dCQUN0RTtnQkFFQSxPQUFPRDtZQUNUOzs7O1lBRU9NLEtBQUFBO21CQUFQLFNBQU9BLGdDQUFnQ0MsMkJBQTJCLEVBQUVSLFdBQVc7Z0JBQzdFLElBQU1TLGVBQWVoQixrQkFBa0JlLDhCQUNqQ0UsV0FBV0MsaUJBQVEsQ0FBQ0MsZ0JBQWdCLENBQUNILGNBQWNULGNBQ25ESixlQUFlaUIscUJBQVksQ0FBQ04sK0JBQStCLENBQUNDLDZCQUE2QlIsY0FDekZjLHFCQUFxQmxCLGFBQWFDLFNBQVMsSUFDM0NrQixpQkFBaUJMLFNBQVNiLFNBQVMsSUFDbkNGLFNBQVMsQUFBQyxHQUF3Qm9CLE9BQXRCRCxvQkFBbUIsS0FBa0IsT0FBZkMsaUJBQ2xDQywwQkFBMEIsSUEzQ2Z4Qix3QkEyQzJDRyxRQUFRQztnQkFFcEUsT0FBT29CO1lBQ1Q7OztXQTlDbUJ4QiJ9
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNsYXJhdGlvbi9tZXRhdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNZXRhVHlwZSBmcm9tIFwiLi4vbWV0YVR5cGVcIjtcbmltcG9ydCBNZXRhdmFyaWFibGUgZnJvbSBcIi4uL21ldGF2YXJpYWJsZVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IG1ldGFUeXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF2YXJpYWJsZURlY2xhcmF0aW9uL21ldGFUeXBlXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZXRhdmFyaWFibGVEZWNsYXJhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKGZpbGVDb250ZXh0LCBzdHJpbmcsIG1ldGF2YXJpYWJsZSkge1xuICAgIHRoaXMuZmlsZUNvbnRleHQgPSBmaWxlQ29udGV4dDtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLm1ldGF2YXJpYWJsZSA9IG1ldGF2YXJpYWJsZTtcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVDb250ZXh0O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldE1ldGF2YXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhdmFyaWFibGU7XG4gIH1cblxuICB2ZXJpZnkoKSB7XG4gICAgbGV0IHZlcmlmaWVkO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25TdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGF2YXJpYWJsZURlY2xhcmF0aW9uU3RyaW5nfScgbWV0YXZhcmlhYmxlIGRlY2xhcmF0aW9uLi4uYCk7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVWZXJpZmllZCA9IHRoaXMubWV0YXZhcmlhYmxlLnZlcmlmeSh0aGlzLmZpbGVDb250ZXh0KTtcblxuICAgIGlmIChtZXRhdmFyaWFibGVWZXJpZmllZCkge1xuICAgICAgdGhpcy5maWxlQ29udGV4dC5hZGRNZXRhdmFyaWFibGUodGhpcy5tZXRhdmFyaWFibGUpO1xuXG4gICAgICB2ZXJpZmllZCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICB0aGlzLmZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXZhcmlhYmxlRGVjbGFyYXRpb25TdHJpbmd9JyBtZXRhdmFyaWFibGUgZGVjbGFyYXRpb24uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgc3RhdGljIGZyb21NZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUobWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IG1ldGFUeXBlTm9kZSA9IG1ldGFUeXBlTm9kZVF1ZXJ5KG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgICAgbWV0YVR5cGUgPSBNZXRhVHlwZS5mcm9tTWV0YVR5cGVOb2RlKG1ldGFUeXBlTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZSA9IE1ldGF2YXJpYWJsZS5mcm9tTWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlKG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IG1ldGF2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBtZXRhVHlwZVN0cmluZyA9IG1ldGFUeXBlLmdldFN0cmluZygpLFxuICAgICAgICAgIHN0cmluZyA9IGAke21ldGF2YXJpYWJsZVN0cmluZ306JHttZXRhVHlwZVN0cmluZ31gLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uID0gbmV3IE1ldGF2YXJpYWJsZURlY2xhcmF0aW9uKGZpbGVDb250ZXh0LCBzdHJpbmcsIG1ldGF2YXJpYWJsZSk7XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlRGVjbGFyYXRpb247XG4gIH1cbn0iXSwibmFtZXMiOlsiTWV0YXZhcmlhYmxlRGVjbGFyYXRpb24iLCJtZXRhVHlwZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImZpbGVDb250ZXh0Iiwic3RyaW5nIiwibWV0YXZhcmlhYmxlIiwiZ2V0RmlsZUNvbnRleHQiLCJnZXRTdHJpbmciLCJnZXRNZXRhdmFyaWFibGUiLCJ2ZXJpZnkiLCJ2ZXJpZmllZCIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uU3RyaW5nIiwidHJhY2UiLCJtZXRhdmFyaWFibGVWZXJpZmllZCIsImFkZE1ldGF2YXJpYWJsZSIsImRlYnVnIiwiZnJvbU1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIm1ldGFUeXBlTm9kZSIsIm1ldGFUeXBlIiwiTWV0YVR5cGUiLCJmcm9tTWV0YVR5cGVOb2RlIiwiTWV0YXZhcmlhYmxlIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwibWV0YVR5cGVTdHJpbmciLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFTcUJBOzs7K0RBUEE7bUVBQ0k7cUJBRUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUIsSUFBTUMsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXJCLElBQUEsQUFBTUYsd0NBQU47YUFBTUEsd0JBQ1BHLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxZQUFZO2dDQUQxQkw7UUFFakIsSUFBSSxDQUFDRyxXQUFXLEdBQUdBO1FBQ25CLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsWUFBWSxHQUFHQTs7a0JBSkhMOztZQU9uQk0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxXQUFXO1lBQ3pCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxNQUFNO1lBQ3BCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxZQUFZO1lBQzFCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUlDO2dCQUVKLElBQU1DLGdDQUFnQyxJQUFJLENBQUNQLE1BQU0sRUFBRSxHQUFHO2dCQUV0RCxJQUFJLENBQUNELFdBQVcsQ0FBQ1MsS0FBSyxDQUFDLEFBQUMsa0JBQStDLE9BQTlCRCwrQkFBOEI7Z0JBRXZFLElBQU1FLHVCQUF1QixJQUFJLENBQUNSLFlBQVksQ0FBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQ04sV0FBVztnQkFFdEUsSUFBSVUsc0JBQXNCO29CQUN4QixJQUFJLENBQUNWLFdBQVcsQ0FBQ1csZUFBZSxDQUFDLElBQUksQ0FBQ1QsWUFBWTtvQkFFbERLLFdBQVc7Z0JBQ2I7Z0JBRUEsSUFBSUEsVUFBVTtvQkFDWixJQUFJLENBQUNQLFdBQVcsQ0FBQ1ksS0FBSyxDQUFDLEFBQUMsb0JBQWlELE9BQTlCSiwrQkFBOEI7Z0JBQzNFO2dCQUVBLE9BQU9EO1lBQ1Q7Ozs7WUFFT00sS0FBQUE7bUJBQVAsU0FBT0EsZ0NBQWdDQywyQkFBMkIsRUFBRWQsV0FBVztnQkFDN0UsSUFBTWUsZUFBZWpCLGtCQUFrQmdCLDhCQUNqQ0UsV0FBV0MsaUJBQVEsQ0FBQ0MsZ0JBQWdCLENBQUNILGNBQWNmLGNBQ25ERSxlQUFlaUIscUJBQVksQ0FBQ04sK0JBQStCLENBQUNDLDZCQUE2QmQsY0FDekZvQixxQkFBcUJsQixhQUFhRSxTQUFTLElBQzNDaUIsaUJBQWlCTCxTQUFTWixTQUFTLElBQ25DSCxTQUFTLEFBQUMsR0FBd0JvQixPQUF0QkQsb0JBQW1CLEtBQWtCLE9BQWZDLGlCQUNsQ0MsMEJBQTBCLElBaERmekIsd0JBZ0QyQ0csYUFBYUMsUUFBUUM7Z0JBRWpGLE9BQU9vQjtZQUNUOzs7V0FuRG1CekIifQ==
@@ -0,0 +1,90 @@
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 TypeDeclaration;
9
+ }
10
+ });
11
+ var _type = /*#__PURE__*/ _interop_require_default(require("../type"));
12
+ function _class_call_check(instance, Constructor) {
13
+ if (!(instance instanceof Constructor)) {
14
+ throw new TypeError("Cannot call a class as a function");
15
+ }
16
+ }
17
+ function _defineProperties(target, props) {
18
+ for(var i = 0; i < props.length; i++){
19
+ var descriptor = props[i];
20
+ descriptor.enumerable = descriptor.enumerable || false;
21
+ descriptor.configurable = true;
22
+ if ("value" in descriptor) descriptor.writable = true;
23
+ Object.defineProperty(target, descriptor.key, descriptor);
24
+ }
25
+ }
26
+ function _create_class(Constructor, protoProps, staticProps) {
27
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
28
+ if (staticProps) _defineProperties(Constructor, staticProps);
29
+ return Constructor;
30
+ }
31
+ function _interop_require_default(obj) {
32
+ return obj && obj.__esModule ? obj : {
33
+ default: obj
34
+ };
35
+ }
36
+ var TypeDeclaration = /*#__PURE__*/ function() {
37
+ function TypeDeclaration(fileContext, type) {
38
+ _class_call_check(this, TypeDeclaration);
39
+ this.fileContext = fileContext;
40
+ this.type = type;
41
+ }
42
+ _create_class(TypeDeclaration, [
43
+ {
44
+ key: "getFileContext",
45
+ value: function getFileContext() {
46
+ return this.fileContext;
47
+ }
48
+ },
49
+ {
50
+ key: "getType",
51
+ value: function getType() {
52
+ return this.type;
53
+ }
54
+ },
55
+ {
56
+ key: "getString",
57
+ value: function getString() {
58
+ return this.type.getString();
59
+ }
60
+ },
61
+ {
62
+ key: "verify",
63
+ value: function verify() {
64
+ var verified = false;
65
+ var typeDeclarationString = this.getString(); ///
66
+ this.fileContext.trace("Verifying the '".concat(typeDeclarationString, "' type declaration..."));
67
+ var typeVerified = this.type.verify(this.fileContext);
68
+ if (typeVerified) {
69
+ this.fileContext.addType(this.type);
70
+ verified = true;
71
+ }
72
+ if (verified) {
73
+ this.fileContext.debug("...verified the '".concat(typeDeclarationString, "' type declaration."));
74
+ }
75
+ return verified;
76
+ }
77
+ }
78
+ ], [
79
+ {
80
+ key: "fromTypeDeclarationNode",
81
+ value: function fromTypeDeclarationNode(typeDeclarationNode, fileContext) {
82
+ var type = _type.default.fromTypeDeclarationNode(typeDeclarationNode, fileContext), typeDeclaration = new TypeDeclaration(fileContext, type);
83
+ return typeDeclaration;
84
+ }
85
+ }
86
+ ]);
87
+ return TypeDeclaration;
88
+ }();
89
+
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNsYXJhdGlvbi90eXBlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVHlwZSBmcm9tIFwiLi4vdHlwZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUeXBlRGVjbGFyYXRpb24ge1xuICBjb25zdHJ1Y3RvcihmaWxlQ29udGV4dCwgdHlwZSkge1xuICAgIHRoaXMuZmlsZUNvbnRleHQgPSBmaWxlQ29udGV4dDtcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICB9XG5cbiAgZ2V0RmlsZUNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZUNvbnRleHQ7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7IHJldHVybiB0aGlzLnR5cGUuZ2V0U3RyaW5nKCk7IH1cblxuICB2ZXJpZnkoKSB7XG4gICAgbGV0IHZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCB0eXBlRGVjbGFyYXRpb25TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIHRoaXMuZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dHlwZURlY2xhcmF0aW9uU3RyaW5nfScgdHlwZSBkZWNsYXJhdGlvbi4uLmApO1xuXG4gICAgY29uc3QgdHlwZVZlcmlmaWVkID0gdGhpcy50eXBlLnZlcmlmeSh0aGlzLmZpbGVDb250ZXh0KTtcblxuICAgIGlmICh0eXBlVmVyaWZpZWQpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuYWRkVHlwZSh0aGlzLnR5cGUpO1xuXG4gICAgICB2ZXJpZmllZCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICB0aGlzLmZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZURlY2xhcmF0aW9uU3RyaW5nfScgdHlwZSBkZWNsYXJhdGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbVR5cGVEZWNsYXJhdGlvbk5vZGUodHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB0eXBlID0gVHlwZS5mcm9tVHlwZURlY2xhcmF0aW9uTm9kZSh0eXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgdHlwZURlY2xhcmF0aW9uID0gbmV3IFR5cGVEZWNsYXJhdGlvbihmaWxlQ29udGV4dCwgdHlwZSk7XG5cbiAgICByZXR1cm4gdHlwZURlY2xhcmF0aW9uO1xuICB9XG59XG4iXSwibmFtZXMiOlsiVHlwZURlY2xhcmF0aW9uIiwiZmlsZUNvbnRleHQiLCJ0eXBlIiwiZ2V0RmlsZUNvbnRleHQiLCJnZXRUeXBlIiwiZ2V0U3RyaW5nIiwidmVyaWZ5IiwidmVyaWZpZWQiLCJ0eXBlRGVjbGFyYXRpb25TdHJpbmciLCJ0cmFjZSIsInR5cGVWZXJpZmllZCIsImFkZFR5cGUiLCJkZWJ1ZyIsImZyb21UeXBlRGVjbGFyYXRpb25Ob2RlIiwidHlwZURlY2xhcmF0aW9uTm9kZSIsIlR5cGUiLCJ0eXBlRGVjbGFyYXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBSXFCQTs7OzJEQUZKOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUYsSUFBQSxBQUFNQSxnQ0FBTjthQUFNQSxnQkFDUEMsV0FBVyxFQUFFQyxJQUFJO2dDQURWRjtRQUVqQixJQUFJLENBQUNDLFdBQVcsR0FBR0E7UUFDbkIsSUFBSSxDQUFDQyxJQUFJLEdBQUdBOztrQkFIS0Y7O1lBTW5CRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLFdBQVc7WUFDekI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLElBQUk7WUFDbEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQWMsT0FBTyxJQUFJLENBQUNILElBQUksQ0FBQ0csU0FBUztZQUFJOzs7WUFFNUNDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJQyxXQUFXO2dCQUVmLElBQU1DLHdCQUF3QixJQUFJLENBQUNILFNBQVMsSUFBSSxHQUFHO2dCQUVuRCxJQUFJLENBQUNKLFdBQVcsQ0FBQ1EsS0FBSyxDQUFDLEFBQUMsa0JBQXVDLE9BQXRCRCx1QkFBc0I7Z0JBRS9ELElBQU1FLGVBQWUsSUFBSSxDQUFDUixJQUFJLENBQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUNMLFdBQVc7Z0JBRXRELElBQUlTLGNBQWM7b0JBQ2hCLElBQUksQ0FBQ1QsV0FBVyxDQUFDVSxPQUFPLENBQUMsSUFBSSxDQUFDVCxJQUFJO29CQUVsQ0ssV0FBVztnQkFDYjtnQkFFQSxJQUFJQSxVQUFVO29CQUNaLElBQUksQ0FBQ04sV0FBVyxDQUFDVyxLQUFLLENBQUMsQUFBQyxvQkFBeUMsT0FBdEJKLHVCQUFzQjtnQkFDbkU7Z0JBRUEsT0FBT0Q7WUFDVDs7OztZQUVPTSxLQUFBQTttQkFBUCxTQUFPQSx3QkFBd0JDLG1CQUFtQixFQUFFYixXQUFXO2dCQUM3RCxJQUFNQyxPQUFPYSxhQUFJLENBQUNGLHVCQUF1QixDQUFDQyxxQkFBcUJiLGNBQ3pEZSxrQkFBa0IsSUF4Q1BoQixnQkF3QzJCQyxhQUFhQztnQkFFekQsT0FBT2M7WUFDVDs7O1dBM0NtQmhCIn0=
package/lib/error.js ADDED
@@ -0,0 +1,70 @@
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 Error;
9
+ }
10
+ });
11
+ function _class_call_check(instance, Constructor) {
12
+ if (!(instance instanceof Constructor)) {
13
+ throw new TypeError("Cannot call a class as a function");
14
+ }
15
+ }
16
+ function _defineProperties(target, props) {
17
+ for(var i = 0; i < props.length; i++){
18
+ var descriptor = props[i];
19
+ descriptor.enumerable = descriptor.enumerable || false;
20
+ descriptor.configurable = true;
21
+ if ("value" in descriptor) descriptor.writable = true;
22
+ Object.defineProperty(target, descriptor.key, descriptor);
23
+ }
24
+ }
25
+ function _create_class(Constructor, protoProps, staticProps) {
26
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
+ if (staticProps) _defineProperties(Constructor, staticProps);
28
+ return Constructor;
29
+ }
30
+ var Error = /*#__PURE__*/ function() {
31
+ function Error(fileContext, string) {
32
+ _class_call_check(this, Error);
33
+ this.fileContext = fileContext;
34
+ this.string = string;
35
+ }
36
+ _create_class(Error, [
37
+ {
38
+ key: "getFileContext",
39
+ value: function getFileContext() {
40
+ return this.fileContext;
41
+ }
42
+ },
43
+ {
44
+ key: "getString",
45
+ value: function getString() {
46
+ return this.string;
47
+ }
48
+ },
49
+ {
50
+ key: "verify",
51
+ value: function verify(errorNode) {
52
+ var verified = false;
53
+ var errorString = this.string; ///
54
+ this.fileContext.debug("The '".concat(errorString, "' error cannot be verified."), errorNode);
55
+ return verified;
56
+ }
57
+ }
58
+ ], [
59
+ {
60
+ key: "fromErrorNode",
61
+ value: function fromErrorNode(errorNode, fileContext) {
62
+ var node = errorNode, string = fileContext.nodeAsString(node), error = new Error(fileContext, string);
63
+ return error;
64
+ }
65
+ }
66
+ ]);
67
+ return Error;
68
+ }();
69
+
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lcnJvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihmaWxlQ29udGV4dCwgc3RyaW5nKSB7XG4gICAgdGhpcy5maWxlQ29udGV4dCA9IGZpbGVDb250ZXh0O1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICB9XG5cbiAgZ2V0RmlsZUNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZUNvbnRleHQ7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgdmVyaWZ5KGVycm9yTm9kZSkge1xuICAgIGxldCB2ZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgZXJyb3JTdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vL1xuXG4gICAgdGhpcy5maWxlQ29udGV4dC5kZWJ1ZyhgVGhlICcke2Vycm9yU3RyaW5nfScgZXJyb3IgY2Fubm90IGJlIHZlcmlmaWVkLmAsIGVycm9yTm9kZSk7XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUVycm9yTm9kZShlcnJvck5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3Qgbm9kZSA9IGVycm9yTm9kZSwgLy8vXG4gICAgICAgICAgc3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgIGVycm9yID0gbmV3IEVycm9yKGZpbGVDb250ZXh0LCBzdHJpbmcpO1xuXG4gICAgcmV0dXJuIGVycm9yO1xuICB9XG59XG5cbiJdLCJuYW1lcyI6WyJFcnJvciIsImZpbGVDb250ZXh0Iiwic3RyaW5nIiwiZ2V0RmlsZUNvbnRleHQiLCJnZXRTdHJpbmciLCJ2ZXJpZnkiLCJlcnJvck5vZGUiLCJ2ZXJpZmllZCIsImVycm9yU3RyaW5nIiwiZGVidWciLCJmcm9tRXJyb3JOb2RlIiwibm9kZSIsIm5vZGVBc1N0cmluZyIsImVycm9yIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUVxQkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBTixJQUFBLEFBQU1BLHNCQUFOO2FBQU1BLE1BQ1BDLFdBQVcsRUFBRUMsTUFBTTtnQ0FEWkY7UUFFakIsSUFBSSxDQUFDQyxXQUFXLEdBQUdBO1FBQ25CLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTs7a0JBSEdGOztZQU1uQkcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixXQUFXO1lBQ3pCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixNQUFNO1lBQ3BCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9DLFNBQVM7Z0JBQ2QsSUFBSUMsV0FBVztnQkFFZixJQUFNQyxjQUFjLElBQUksQ0FBQ04sTUFBTSxFQUFHLEdBQUc7Z0JBRXJDLElBQUksQ0FBQ0QsV0FBVyxDQUFDUSxLQUFLLENBQUMsQUFBQyxRQUFtQixPQUFaRCxhQUFZLGdDQUE4QkY7Z0JBRXpFLE9BQU9DO1lBQ1Q7Ozs7WUFFT0csS0FBQUE7bUJBQVAsU0FBT0EsY0FBY0osU0FBUyxFQUFFTCxXQUFXO2dCQUN6QyxJQUFNVSxPQUFPTCxXQUNQSixTQUFTRCxZQUFZVyxZQUFZLENBQUNELE9BQ2xDRSxRQUFRLElBM0JHYixNQTJCT0MsYUFBYUM7Z0JBRXJDLE9BQU9XO1lBQ1Q7OztXQTlCbUJiIn0=