occam-verify-cli 0.0.317 → 0.0.319

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 (94) hide show
  1. package/bin/callbacks.js +27 -0
  2. package/bin/main.js +2 -5
  3. package/bin/messages.js +11 -0
  4. package/bin/utilities/logging.js +2 -10
  5. package/bin/utilities/release.js +47 -46
  6. package/lib/callbacks.js +68 -0
  7. package/lib/context/file.js +58 -81
  8. package/lib/context/metaproof.js +30 -118
  9. package/lib/context/proof.js +73 -137
  10. package/lib/context/release.js +81 -15
  11. package/lib/index.js +9 -1
  12. package/lib/mixins/callbacks.js +27 -0
  13. package/lib/mixins/file.js +23 -0
  14. package/lib/mixins/logging.js +39 -0
  15. package/lib/rule.js +3 -3
  16. package/lib/utilities/verification.js +45 -0
  17. package/lib/verify/IndicativeConditional.js +9 -5
  18. package/lib/verify/assertion/type.js +12 -10
  19. package/lib/verify/axiom.js +10 -14
  20. package/lib/verify/conclusion.js +5 -3
  21. package/lib/verify/conditinalInference.js +7 -5
  22. package/lib/verify/declaration/combinator.js +7 -3
  23. package/lib/verify/declaration/constructor.js +7 -3
  24. package/lib/verify/declaration/topLevel.js +11 -9
  25. package/lib/verify/declaration/type.js +8 -3
  26. package/lib/verify/declaration/variable.js +7 -3
  27. package/lib/verify/equality.js +8 -6
  28. package/lib/verify/file.js +7 -9
  29. package/lib/verify/label.js +6 -4
  30. package/lib/verify/labels.js +5 -4
  31. package/lib/verify/metaDerivation.js +21 -18
  32. package/lib/verify/metaproof.js +6 -4
  33. package/lib/verify/metastatement/qualified.js +7 -5
  34. package/lib/verify/metastatement/unqualified.js +7 -5
  35. package/lib/verify/premiseOrPremises.js +11 -12
  36. package/lib/verify/release.js +28 -18
  37. package/lib/verify/rule.js +11 -14
  38. package/lib/verify/statement/qualified.js +7 -3
  39. package/lib/verify/statement/unqualified.js +6 -4
  40. package/lib/verify/statement.js +8 -10
  41. package/lib/verify/statementAsCombinator.js +33 -36
  42. package/lib/verify/term.js +4 -2
  43. package/lib/verify/termAsConstructor.js +38 -39
  44. package/lib/verify/termAsVariable.js +4 -2
  45. package/lib/verify/type.js +18 -14
  46. package/lib/verify/unconditionalInference.js +5 -3
  47. package/lib/verify/variable.js +13 -10
  48. package/package.json +1 -1
  49. package/src/callbacks.js +27 -0
  50. package/src/context/file.js +62 -61
  51. package/src/context/metaproof.js +29 -44
  52. package/src/context/proof.js +51 -64
  53. package/src/context/release.js +33 -11
  54. package/src/index.js +3 -0
  55. package/src/mixins/callbacks.js +15 -0
  56. package/src/mixins/file.js +12 -0
  57. package/src/mixins/logging.js +24 -0
  58. package/src/rule.js +2 -2
  59. package/src/utilities/verification.js +41 -0
  60. package/src/verify/IndicativeConditional.js +18 -9
  61. package/src/verify/assertion/type.js +15 -8
  62. package/src/verify/axiom.js +15 -17
  63. package/src/verify/conclusion.js +8 -2
  64. package/src/verify/conditinalInference.js +10 -4
  65. package/src/verify/declaration/combinator.js +12 -3
  66. package/src/verify/declaration/constructor.js +12 -3
  67. package/src/verify/declaration/topLevel.js +15 -9
  68. package/src/verify/declaration/type.js +14 -4
  69. package/src/verify/declaration/variable.js +12 -3
  70. package/src/verify/equality.js +11 -4
  71. package/src/verify/file.js +6 -8
  72. package/src/verify/label.js +9 -3
  73. package/src/verify/labels.js +5 -3
  74. package/src/verify/metaDerivation.js +26 -19
  75. package/src/verify/metaproof.js +9 -3
  76. package/src/verify/metastatement/qualified.js +10 -4
  77. package/src/verify/metastatement/unqualified.js +10 -4
  78. package/src/verify/premiseOrPremises.js +18 -14
  79. package/src/verify/release.js +45 -27
  80. package/src/verify/rule.js +15 -16
  81. package/src/verify/statement/qualified.js +12 -3
  82. package/src/verify/statement/unqualified.js +9 -3
  83. package/src/verify/statement.js +10 -9
  84. package/src/verify/statementAsCombinator.js +45 -46
  85. package/src/verify/term.js +7 -1
  86. package/src/verify/termAsConstructor.js +48 -45
  87. package/src/verify/termAsVariable.js +7 -1
  88. package/src/verify/type.js +25 -21
  89. package/src/verify/unconditionalInference.js +8 -2
  90. package/src/verify/variable.js +18 -11
  91. package/lib/mixins/log.js +0 -41
  92. package/lib/verify/supposition.js +0 -29
  93. package/src/mixins/log.js +0 -28
  94. package/src/verify/supposition.js +0 -22
@@ -9,37 +9,41 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _type = /*#__PURE__*/ _interopRequireDefault(require("../type"));
12
+ var _string = require("../utilities/string");
12
13
  var _query = require("../utilities/query");
13
14
  function _interopRequireDefault(obj) {
14
15
  return obj && obj.__esModule ? obj : {
15
16
  default: obj
16
17
  };
17
18
  }
18
- function verifyType(typeNode, superTypeNode, context) {
19
+ function verifyType(typeNode, superTypeNode, fileContext) {
19
20
  var typeVerified = false;
20
- var typeName = (0, _query.typeNameFromTypeNode)(typeNode), typePresent = context.isTypePresentByTypeName(typeName);
21
+ fileContext.begin(typeNode);
22
+ var type = null;
23
+ var typeName = (0, _query.typeNameFromTypeNode)(typeNode), typePresent = fileContext.isTypePresentByTypeName(typeName);
21
24
  if (typePresent) {
22
- context.error("The type '".concat(typeName, "' is already present."), typeNode);
25
+ fileContext.error("The type '".concat(typeName, "' is already present."));
23
26
  } else {
24
27
  var superTypeName = (0, _query.typeNameFromTypeNode)(superTypeNode);
25
28
  if (superTypeName === null) {
26
- var type = _type.default.fromTypeName(typeName), typeString = type.asString();
27
- context.addType(type);
28
- typeVerified = true;
29
- context.info("Verified the '".concat(typeString, "' type."), typeNode);
29
+ type = _type.default.fromTypeName(typeName);
30
30
  } else {
31
- var superType = context.findTypeByTypeName(superTypeName);
31
+ var superType = fileContext.findTypeByTypeName(superTypeName);
32
32
  if (superType === null) {
33
- context.error("The super-type '".concat(superTypeName, "' is missing."), typeNode);
33
+ fileContext.error("The super-type '".concat(superTypeName, "' is missing."));
34
34
  } else {
35
- var type1 = _type.default.fromTypeNameAndSuperType(typeName, superType), typeString1 = type1.asString();
36
- context.addType(type1);
37
- typeVerified = true;
38
- context.info("Verified the '".concat(typeString1, "' type."), typeNode);
35
+ type = _type.default.fromTypeNameAndSuperType(typeName, superType);
39
36
  }
40
37
  }
41
38
  }
39
+ if (type !== null) {
40
+ var typeString = (0, _string.nodeAsString)(typeNode);
41
+ fileContext.info("Verified the '".concat(typeString, "' type."));
42
+ fileContext.addType(type);
43
+ typeVerified = true;
44
+ }
45
+ typeVerified ? fileContext.complete(typeNode) : fileContext.halt(typeNode);
42
46
  return typeVerified;
43
47
  }
44
48
 
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFR5cGUgZnJvbSBcIi4uL3R5cGVcIjtcblxuaW1wb3J0IHsgdHlwZU5hbWVGcm9tVHlwZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVR5cGUodHlwZU5vZGUsIHN1cGVyVHlwZU5vZGUsIGNvbnRleHQpIHtcbiAgbGV0IHR5cGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICB0eXBlUHJlc2VudCA9IGNvbnRleHQuaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUodHlwZU5hbWUpO1xuXG4gIGlmICh0eXBlUHJlc2VudCkge1xuICAgIGNvbnRleHQuZXJyb3IoYFRoZSB0eXBlICcke3R5cGVOYW1lfScgaXMgYWxyZWFkeSBwcmVzZW50LmAsIHR5cGVOb2RlKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBzdXBlclR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUoc3VwZXJUeXBlTm9kZSk7XG5cbiAgICBpZiAoc3VwZXJUeXBlTmFtZSA9PT0gbnVsbCkge1xuICAgICAgY29uc3QgdHlwZSA9IFR5cGUuZnJvbVR5cGVOYW1lKHR5cGVOYW1lKSxcbiAgICAgICAgICAgIHR5cGVTdHJpbmcgPSB0eXBlLmFzU3RyaW5nKCk7XG5cbiAgICAgIGNvbnRleHQuYWRkVHlwZSh0eXBlKTtcblxuICAgICAgdHlwZVZlcmlmaWVkID0gdHJ1ZTtcblxuICAgICAgY29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUuYCwgdHlwZU5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdXBlclR5cGUgPSBjb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZShzdXBlclR5cGVOYW1lKTtcblxuICAgICAgaWYgKHN1cGVyVHlwZSA9PT0gbnVsbCkge1xuICAgICAgICBjb250ZXh0LmVycm9yKGBUaGUgc3VwZXItdHlwZSAnJHtzdXBlclR5cGVOYW1lfScgaXMgbWlzc2luZy5gLCB0eXBlTm9kZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB0eXBlID0gVHlwZS5mcm9tVHlwZU5hbWVBbmRTdXBlclR5cGUodHlwZU5hbWUsIHN1cGVyVHlwZSksXG4gICAgICAgICAgICAgIHR5cGVTdHJpbmcgPSB0eXBlLmFzU3RyaW5nKCk7XG5cbiAgICAgICAgY29udGV4dC5hZGRUeXBlKHR5cGUpO1xuXG4gICAgICAgIHR5cGVWZXJpZmllZCA9IHRydWU7XG5cbiAgICAgICAgY29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUuYCwgdHlwZU5vZGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0eXBlVmVyaWZpZWQ7XG59XG5cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlUeXBlIiwidHlwZU5vZGUiLCJzdXBlclR5cGVOb2RlIiwiY29udGV4dCIsInR5cGVWZXJpZmllZCIsInR5cGVOYW1lIiwidHlwZU5hbWVGcm9tVHlwZU5vZGUiLCJ0eXBlUHJlc2VudCIsImlzVHlwZVByZXNlbnRCeVR5cGVOYW1lIiwiZXJyb3IiLCJzdXBlclR5cGVOYW1lIiwidHlwZSIsIlR5cGUiLCJmcm9tVHlwZU5hbWUiLCJ0eXBlU3RyaW5nIiwiYXNTdHJpbmciLCJhZGRUeXBlIiwiaW5mbyIsInN1cGVyVHlwZSIsImZpbmRUeXBlQnlUeXBlTmFtZSIsImZyb21UeXBlTmFtZUFuZFN1cGVyVHlwZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUF3QkE7Ozt5REFKUDtxQkFFb0I7Ozs7OztBQUV0QixTQUFTQSxXQUFXQyxRQUFRLEVBQUVDLGFBQWEsRUFBRUMsT0FBTyxFQUFFO0lBQ25FLElBQUlDLGVBQWUsS0FBSztJQUV4QixJQUFNQyxXQUFXQyxJQUFBQSwyQkFBb0IsRUFBQ0wsV0FDaENNLGNBQWNKLFFBQVFLLHVCQUF1QixDQUFDSDtJQUVwRCxJQUFJRSxhQUFhO1FBQ2ZKLFFBQVFNLEtBQUssQ0FBQyxBQUFDLGFBQXFCLE9BQVRKLFVBQVMsMEJBQXdCSjtJQUM5RCxPQUFPO1FBQ0wsSUFBTVMsZ0JBQWdCSixJQUFBQSwyQkFBb0IsRUFBQ0o7UUFFM0MsSUFBSVEsa0JBQWtCLElBQUksRUFBRTtZQUMxQixJQUFNQyxPQUFPQyxhQUFJLENBQUNDLFlBQVksQ0FBQ1IsV0FDekJTLGFBQWFILEtBQUtJLFFBQVE7WUFFaENaLFFBQVFhLE9BQU8sQ0FBQ0w7WUFFaEJQLGVBQWUsSUFBSTtZQUVuQkQsUUFBUWMsSUFBSSxDQUFDLEFBQUMsaUJBQTJCLE9BQVhILFlBQVcsWUFBVWI7UUFDckQsT0FBTztZQUNMLElBQU1pQixZQUFZZixRQUFRZ0Isa0JBQWtCLENBQUNUO1lBRTdDLElBQUlRLGNBQWMsSUFBSSxFQUFFO2dCQUN0QmYsUUFBUU0sS0FBSyxDQUFDLEFBQUMsbUJBQWdDLE9BQWRDLGVBQWMsa0JBQWdCVDtZQUNqRSxPQUFPO2dCQUNMLElBQU1VLFFBQU9DLGFBQUksQ0FBQ1Esd0JBQXdCLENBQUNmLFVBQVVhLFlBQy9DSixjQUFhSCxNQUFLSSxRQUFRO2dCQUVoQ1osUUFBUWEsT0FBTyxDQUFDTDtnQkFFaEJQLGVBQWUsSUFBSTtnQkFFbkJELFFBQVFjLElBQUksQ0FBQyxBQUFDLGlCQUEyQixPQUFYSCxhQUFXLFlBQVViO1lBQ3JELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU9HO0FBQ1QifQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFR5cGUgZnJvbSBcIi4uL3R5cGVcIjtcblxuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IHR5cGVOYW1lRnJvbVR5cGVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlUeXBlKHR5cGVOb2RlLCBzdXBlclR5cGVOb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgdHlwZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgZmlsZUNvbnRleHQuYmVnaW4odHlwZU5vZGUpO1xuXG4gIGxldCB0eXBlID0gbnVsbDtcblxuICBjb25zdCB0eXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlKSxcbiAgICAgICAgdHlwZVByZXNlbnQgPSBmaWxlQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZSh0eXBlTmFtZSk7XG5cbiAgaWYgKHR5cGVQcmVzZW50KSB7XG4gICAgZmlsZUNvbnRleHQuZXJyb3IoYFRoZSB0eXBlICcke3R5cGVOYW1lfScgaXMgYWxyZWFkeSBwcmVzZW50LmApO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHN1cGVyVHlwZU5hbWUgPSB0eXBlTmFtZUZyb21UeXBlTm9kZShzdXBlclR5cGVOb2RlKTtcblxuICAgIGlmIChzdXBlclR5cGVOYW1lID09PSBudWxsKSB7XG4gICAgICB0eXBlID0gVHlwZS5mcm9tVHlwZU5hbWUodHlwZU5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdXBlclR5cGUgPSBmaWxlQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUoc3VwZXJUeXBlTmFtZSk7XG5cbiAgICAgIGlmIChzdXBlclR5cGUgPT09IG51bGwpIHtcbiAgICAgICAgZmlsZUNvbnRleHQuZXJyb3IoYFRoZSBzdXBlci10eXBlICcke3N1cGVyVHlwZU5hbWV9JyBpcyBtaXNzaW5nLmApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHlwZSA9IFR5cGUuZnJvbVR5cGVOYW1lQW5kU3VwZXJUeXBlKHR5cGVOYW1lLCBzdXBlclR5cGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlICE9PSBudWxsKSB7XG4gICAgY29uc3QgdHlwZVN0cmluZyA9IG5vZGVBc1N0cmluZyh0eXBlTm9kZSk7XG5cbiAgICBmaWxlQ29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUuYCk7XG5cbiAgICBmaWxlQ29udGV4dC5hZGRUeXBlKHR5cGUpO1xuXG4gICAgdHlwZVZlcmlmaWVkID0gdHJ1ZTtcbiAgfVxuXG4gIHR5cGVWZXJpZmllZCA/XG4gICAgZmlsZUNvbnRleHQuY29tcGxldGUodHlwZU5vZGUpOlxuICAgICAgZmlsZUNvbnRleHQuaGFsdCh0eXBlTm9kZSk7XG5cbiAgcmV0dXJuIHR5cGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlUeXBlIiwidHlwZU5vZGUiLCJzdXBlclR5cGVOb2RlIiwiZmlsZUNvbnRleHQiLCJ0eXBlVmVyaWZpZWQiLCJiZWdpbiIsInR5cGUiLCJ0eXBlTmFtZSIsInR5cGVOYW1lRnJvbVR5cGVOb2RlIiwidHlwZVByZXNlbnQiLCJpc1R5cGVQcmVzZW50QnlUeXBlTmFtZSIsImVycm9yIiwic3VwZXJUeXBlTmFtZSIsIlR5cGUiLCJmcm9tVHlwZU5hbWUiLCJzdXBlclR5cGUiLCJmaW5kVHlwZUJ5VHlwZU5hbWUiLCJmcm9tVHlwZU5hbWVBbmRTdXBlclR5cGUiLCJ0eXBlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiaW5mbyIsImFkZFR5cGUiLCJjb21wbGV0ZSIsImhhbHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU9BOzs7ZUFBd0JBOzs7eURBTFA7c0JBRVk7cUJBQ1E7Ozs7OztBQUV0QixTQUFTQSxXQUFXQyxRQUFRLEVBQUVDLGFBQWEsRUFBRUMsV0FBVyxFQUFFO0lBQ3ZFLElBQUlDLGVBQWUsS0FBSztJQUV4QkQsWUFBWUUsS0FBSyxDQUFDSjtJQUVsQixJQUFJSyxPQUFPLElBQUk7SUFFZixJQUFNQyxXQUFXQyxJQUFBQSwyQkFBb0IsRUFBQ1AsV0FDaENRLGNBQWNOLFlBQVlPLHVCQUF1QixDQUFDSDtJQUV4RCxJQUFJRSxhQUFhO1FBQ2ZOLFlBQVlRLEtBQUssQ0FBQyxBQUFDLGFBQXFCLE9BQVRKLFVBQVM7SUFDMUMsT0FBTztRQUNMLElBQU1LLGdCQUFnQkosSUFBQUEsMkJBQW9CLEVBQUNOO1FBRTNDLElBQUlVLGtCQUFrQixJQUFJLEVBQUU7WUFDMUJOLE9BQU9PLGFBQUksQ0FBQ0MsWUFBWSxDQUFDUDtRQUMzQixPQUFPO1lBQ0wsSUFBTVEsWUFBWVosWUFBWWEsa0JBQWtCLENBQUNKO1lBRWpELElBQUlHLGNBQWMsSUFBSSxFQUFFO2dCQUN0QlosWUFBWVEsS0FBSyxDQUFDLEFBQUMsbUJBQWdDLE9BQWRDLGVBQWM7WUFDckQsT0FBTztnQkFDTE4sT0FBT08sYUFBSSxDQUFDSSx3QkFBd0IsQ0FBQ1YsVUFBVVE7WUFDakQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSVQsU0FBUyxJQUFJLEVBQUU7UUFDakIsSUFBTVksYUFBYUMsSUFBQUEsb0JBQVksRUFBQ2xCO1FBRWhDRSxZQUFZaUIsSUFBSSxDQUFDLEFBQUMsaUJBQTJCLE9BQVhGLFlBQVc7UUFFN0NmLFlBQVlrQixPQUFPLENBQUNmO1FBRXBCRixlQUFlLElBQUk7SUFDckIsQ0FBQztJQUVEQSxlQUNFRCxZQUFZbUIsUUFBUSxDQUFDckIsWUFDbkJFLFlBQVlvQixJQUFJLENBQUN0QixTQUFTO0lBRTlCLE9BQU9HO0FBQ1QifQ==
@@ -17,15 +17,17 @@ function _interopRequireDefault(obj) {
17
17
  };
18
18
  }
19
19
  var metastatementNodeQuery = (0, _query.nodeQuery)("/unconditionalInference/unqualifiedMetastatement!/metastatement!"), unqualifiedMetastatementNodeQuery = (0, _query.nodeQuery)("/unconditionalInference/unqualifiedMetastatement!");
20
- function verifyUnconditionalInference(unconditionalInferenceNode, premises, conclusions, context) {
20
+ function verifyUnconditionalInference(unconditionalInferenceNode, premises, conclusions, metaproofContext) {
21
21
  var unconditionalInferenceVerified = false;
22
- var metastatementNode = metastatementNodeQuery(unconditionalInferenceNode), unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(unconditionalInferenceNode), unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode, context);
22
+ metaproofContext.begin(unconditionalInferenceNode);
23
+ var metastatementNode = metastatementNodeQuery(unconditionalInferenceNode), unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(unconditionalInferenceNode), unqualifiedMetastatementVerified = (0, _unqualified.default)(unqualifiedMetastatementNode, metaproofContext);
23
24
  if (unqualifiedMetastatementVerified) {
24
25
  var conclusion = _conclusion.default.fromMetastatementNode(metastatementNode);
25
26
  conclusions.push(conclusion);
26
27
  unconditionalInferenceVerified = true;
27
28
  }
29
+ unconditionalInferenceVerified ? metaproofContext.complete(unconditionalInferenceNode) : metaproofContext.halt(unconditionalInferenceNode);
28
30
  return unconditionalInferenceVerified;
29
31
  }
30
32
 
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdW5jb25kaXRpb25hbEluZmVyZW5jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IENvbmNsdXNpb24gZnJvbSBcIi4uL2NvbmNsdXNpb25cIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bmNvbmRpdGlvbmFsSW5mZXJlbmNlL3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudCEvbWV0YXN0YXRlbWVudCFcIiksXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdW5jb25kaXRpb25hbEluZmVyZW5jZS91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlVbmNvbmRpdGlvbmFsSW5mZXJlbmNlKHVuY29uZGl0aW9uYWxJbmZlcmVuY2VOb2RlLCBwcmVtaXNlcywgY29uY2x1c2lvbnMsIGNvbnRleHQpIHtcbiAgbGV0IHVuY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeSh1bmNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZSksXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5jb25kaXRpb25hbEluZmVyZW5jZU5vZGUpLFxuICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBjb250ZXh0KTtcblxuICBpZiAodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBjb25zdCBjb25jbHVzaW9uID0gQ29uY2x1c2lvbi5mcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uY2x1c2lvbnMucHVzaChjb25jbHVzaW9uKTtcblxuICAgIHVuY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZCA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gdW5jb25kaXRpb25hbEluZmVyZW5jZVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVVuY29uZGl0aW9uYWxJbmZlcmVuY2UiLCJtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5IiwidW5jb25kaXRpb25hbEluZmVyZW5jZU5vZGUiLCJwcmVtaXNlcyIsImNvbmNsdXNpb25zIiwiY29udGV4dCIsInVuY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwiY29uY2x1c2lvbiIsIkNvbmNsdXNpb24iLCJmcm9tTWV0YXN0YXRlbWVudE5vZGUiLCJwdXNoIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQXdCQTs7OytEQVJEO2dFQUNvQjtxQkFFakI7Ozs7OztBQUUxQixJQUFNQyx5QkFBeUJDLElBQUFBLGdCQUFTLEVBQUMscUVBQ25DQyxvQ0FBb0NELElBQUFBLGdCQUFTLEVBQUM7QUFFckMsU0FBU0YsNkJBQTZCSSwwQkFBMEIsRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRTtJQUMvRyxJQUFJQyxpQ0FBaUMsS0FBSztJQUUxQyxJQUFNQyxvQkFBb0JSLHVCQUF1QkcsNkJBQzNDTSwrQkFBK0JQLGtDQUFrQ0MsNkJBQ2pFTyxtQ0FBbUNDLElBQUFBLG9CQUE4QixFQUFDRiw4QkFBOEJIO0lBRXRHLElBQUlJLGtDQUFrQztRQUNwQyxJQUFNRSxhQUFhQyxtQkFBVSxDQUFDQyxxQkFBcUIsQ0FBQ047UUFFcERILFlBQVlVLElBQUksQ0FBQ0g7UUFFakJMLGlDQUFpQyxJQUFJO0lBQ3ZDLENBQUM7SUFFRCxPQUFPQTtBQUNUIn0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdW5jb25kaXRpb25hbEluZmVyZW5jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IENvbmNsdXNpb24gZnJvbSBcIi4uL2NvbmNsdXNpb25cIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bmNvbmRpdGlvbmFsSW5mZXJlbmNlL3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudCEvbWV0YXN0YXRlbWVudCFcIiksXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdW5jb25kaXRpb25hbEluZmVyZW5jZS91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlVbmNvbmRpdGlvbmFsSW5mZXJlbmNlKHVuY29uZGl0aW9uYWxJbmZlcmVuY2VOb2RlLCBwcmVtaXNlcywgY29uY2x1c2lvbnMsIG1ldGFwcm9vZkNvbnRleHQpIHtcbiAgbGV0IHVuY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZCA9IGZhbHNlO1xuXG4gIG1ldGFwcm9vZkNvbnRleHQuYmVnaW4odW5jb25kaXRpb25hbEluZmVyZW5jZU5vZGUpO1xuXG4gIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeSh1bmNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZSksXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkodW5jb25kaXRpb25hbEluZmVyZW5jZU5vZGUpLFxuICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhcHJvb2ZDb250ZXh0KTtcblxuICBpZiAodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBjb25zdCBjb25jbHVzaW9uID0gQ29uY2x1c2lvbi5mcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uY2x1c2lvbnMucHVzaChjb25jbHVzaW9uKTtcblxuICAgIHVuY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZCA9IHRydWU7XG4gIH1cblxuICB1bmNvbmRpdGlvbmFsSW5mZXJlbmNlVmVyaWZpZWQgP1xuICAgIG1ldGFwcm9vZkNvbnRleHQuY29tcGxldGUodW5jb25kaXRpb25hbEluZmVyZW5jZU5vZGUpIDpcbiAgICAgIG1ldGFwcm9vZkNvbnRleHQuaGFsdCh1bmNvbmRpdGlvbmFsSW5mZXJlbmNlTm9kZSk7XG5cbiAgcmV0dXJuIHVuY29uZGl0aW9uYWxJbmZlcmVuY2VWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlVbmNvbmRpdGlvbmFsSW5mZXJlbmNlIiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInVuY29uZGl0aW9uYWxJbmZlcmVuY2VOb2RlIiwicHJlbWlzZXMiLCJjb25jbHVzaW9ucyIsIm1ldGFwcm9vZkNvbnRleHQiLCJ1bmNvbmRpdGlvbmFsSW5mZXJlbmNlVmVyaWZpZWQiLCJiZWdpbiIsIm1ldGFzdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwiY29uY2x1c2lvbiIsIkNvbmNsdXNpb24iLCJmcm9tTWV0YXN0YXRlbWVudE5vZGUiLCJwdXNoIiwiY29tcGxldGUiLCJoYWx0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQXdCQTs7OytEQVJEO2dFQUNvQjtxQkFFakI7Ozs7OztBQUUxQixJQUFNQyx5QkFBeUJDLElBQUFBLGdCQUFTLEVBQUMscUVBQ25DQyxvQ0FBb0NELElBQUFBLGdCQUFTLEVBQUM7QUFFckMsU0FBU0YsNkJBQTZCSSwwQkFBMEIsRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLGdCQUFnQixFQUFFO0lBQ3hILElBQUlDLGlDQUFpQyxLQUFLO0lBRTFDRCxpQkFBaUJFLEtBQUssQ0FBQ0w7SUFFdkIsSUFBTU0sb0JBQW9CVCx1QkFBdUJHLDZCQUMzQ08sK0JBQStCUixrQ0FBa0NDLDZCQUNqRVEsbUNBQW1DQyxJQUFBQSxvQkFBOEIsRUFBQ0YsOEJBQThCSjtJQUV0RyxJQUFJSyxrQ0FBa0M7UUFDcEMsSUFBTUUsYUFBYUMsbUJBQVUsQ0FBQ0MscUJBQXFCLENBQUNOO1FBRXBESixZQUFZVyxJQUFJLENBQUNIO1FBRWpCTixpQ0FBaUMsSUFBSTtJQUN2QyxDQUFDO0lBRURBLGlDQUNFRCxpQkFBaUJXLFFBQVEsQ0FBQ2QsOEJBQ3hCRyxpQkFBaUJZLElBQUksQ0FBQ2YsMkJBQTJCO0lBRXJELE9BQU9JO0FBQ1QifQ==
@@ -9,40 +9,43 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _variable = /*#__PURE__*/ _interopRequireDefault(require("../variable"));
12
+ var _string = require("../utilities/string");
12
13
  var _query = require("../utilities/query");
13
14
  function _interopRequireDefault(obj) {
14
15
  return obj && obj.__esModule ? obj : {
15
16
  default: obj
16
17
  };
17
18
  }
18
- function verifyVariable(variableNode, typeNode, context) {
19
+ function verifyVariable(variableNode, typeNode, fileContext) {
19
20
  var variableVerified = false;
20
- var variableName = (0, _query.variableNameFromVariableNode)(variableNode), variablePresent = context.isVariablePresentByVariableName(variableName);
21
+ fileContext.begin(variableNode);
22
+ var variable = null;
23
+ var variableName = (0, _query.variableNameFromVariableNode)(variableNode), variablePresent = fileContext.isVariablePresentByVariableName(variableName);
21
24
  if (variablePresent) {
22
- context.error("The variable '".concat(variableName, "' is already present."), variableNode);
25
+ fileContext.error("The variable '".concat(variableName, "' is already present."));
23
26
  } else {
24
- var variable = null;
25
27
  var typeName = (0, _query.typeNameFromTypeNode)(typeNode);
26
28
  if (typeName === null) {
27
29
  var type = null, name = variableName; ///
28
30
  variable = _variable.default.fromTypeAndName(type, name);
29
31
  } else {
30
- var type1 = context.findTypeByTypeName(typeName);
32
+ var type1 = fileContext.findTypeByTypeName(typeName);
31
33
  if (type1 === null) {
32
- context.error("The '".concat(variableName, "' variable's '").concat(typeName, "' type is missing."), variableNode);
34
+ fileContext.error("The '".concat(variableName, "' variable's '").concat(typeName, "' type is missing."));
33
35
  } else {
34
36
  var name1 = variableName; ///
35
37
  variable = _variable.default.fromTypeAndName(type1, name1);
36
38
  }
37
39
  }
38
40
  if (variable !== null) {
39
- var variableString = variable.asString();
40
- context.addVariable(variable);
41
+ var variableString = (0, _string.nodeAsString)(variableName);
42
+ fileContext.info("Verified the '".concat(variableString, "' variable."));
43
+ fileContext.addVariable(variable);
41
44
  variableVerified = true;
42
- context.info("Verified the '".concat(variableString, "' variable."), variableNode);
43
45
  }
44
46
  }
47
+ variableVerified ? fileContext.complete(variableNode) : fileContext.halt(variableNode);
45
48
  return variableVerified;
46
49
  }
47
50
 
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBWYXJpYWJsZSBmcm9tIFwiLi4vdmFyaWFibGVcIjtcblxuaW1wb3J0IHsgdHlwZU5hbWVGcm9tVHlwZU5vZGUsIHZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVZhcmlhYmxlKHZhcmlhYmxlTm9kZSwgdHlwZU5vZGUsIGNvbnRleHQpIHtcbiAgbGV0IHZhcmlhYmxlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCB2YXJpYWJsZU5hbWUgPSB2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSksXG4gICAgICAgIHZhcmlhYmxlUHJlc2VudCA9IGNvbnRleHQuaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpO1xuXG4gIGlmICh2YXJpYWJsZVByZXNlbnQpIHtcbiAgICBjb250ZXh0LmVycm9yKGBUaGUgdmFyaWFibGUgJyR7dmFyaWFibGVOYW1lfScgaXMgYWxyZWFkeSBwcmVzZW50LmAsIHZhcmlhYmxlTm9kZSk7XG4gIH0gZWxzZSB7XG4gICAgbGV0IHZhcmlhYmxlID0gbnVsbDtcblxuICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpO1xuICAgIFxuICAgIGlmICh0eXBlTmFtZSA9PT0gbnVsbCkge1xuICAgICAgY29uc3QgdHlwZSA9IG51bGwsXG4gICAgICAgICAgICBuYW1lID0gdmFyaWFibGVOYW1lOyAgLy8vXG5cbiAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbVR5cGVBbmROYW1lKHR5cGUsIG5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0eXBlID0gY29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpO1xuXG4gICAgICBpZiAodHlwZSA9PT0gbnVsbCkge1xuICAgICAgICBjb250ZXh0LmVycm9yKGBUaGUgJyR7dmFyaWFibGVOYW1lfScgdmFyaWFibGUncyAnJHt0eXBlTmFtZX0nIHR5cGUgaXMgbWlzc2luZy5gLCB2YXJpYWJsZU5vZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbmFtZSA9IHZhcmlhYmxlTmFtZTsgIC8vL1xuXG4gICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbVR5cGVBbmROYW1lKHR5cGUsIG5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5hc1N0cmluZygpO1xuXG4gICAgICBjb250ZXh0LmFkZFZhcmlhYmxlKHZhcmlhYmxlKTtcblxuICAgICAgdmFyaWFibGVWZXJpZmllZCA9IHRydWU7XG5cbiAgICAgIGNvbnRleHQuaW5mbyhgVmVyaWZpZWQgdGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUuYCwgdmFyaWFibGVOb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmFyaWFibGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlWYXJpYWJsZSIsInZhcmlhYmxlTm9kZSIsInR5cGVOb2RlIiwiY29udGV4dCIsInZhcmlhYmxlVmVyaWZpZWQiLCJ2YXJpYWJsZU5hbWUiLCJ2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlIiwidmFyaWFibGVQcmVzZW50IiwiaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlTmFtZSIsImVycm9yIiwidmFyaWFibGUiLCJ0eXBlTmFtZSIsInR5cGVOYW1lRnJvbVR5cGVOb2RlIiwidHlwZSIsIm5hbWUiLCJWYXJpYWJsZSIsImZyb21UeXBlQW5kTmFtZSIsImZpbmRUeXBlQnlUeXBlTmFtZSIsInZhcmlhYmxlU3RyaW5nIiwiYXNTdHJpbmciLCJhZGRWYXJpYWJsZSIsImluZm8iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBd0JBOzs7NkRBSkg7cUJBRThDOzs7Ozs7QUFFcEQsU0FBU0EsZUFBZUMsWUFBWSxFQUFFQyxRQUFRLEVBQUVDLE9BQU8sRUFBRTtJQUN0RSxJQUFJQyxtQkFBbUIsS0FBSztJQUU1QixJQUFNQyxlQUFlQyxJQUFBQSxtQ0FBNEIsRUFBQ0wsZUFDNUNNLGtCQUFrQkosUUFBUUssK0JBQStCLENBQUNIO0lBRWhFLElBQUlFLGlCQUFpQjtRQUNuQkosUUFBUU0sS0FBSyxDQUFDLEFBQUMsaUJBQTZCLE9BQWJKLGNBQWEsMEJBQXdCSjtJQUN0RSxPQUFPO1FBQ0wsSUFBSVMsV0FBVyxJQUFJO1FBRW5CLElBQU1DLFdBQVdDLElBQUFBLDJCQUFvQixFQUFDVjtRQUV0QyxJQUFJUyxhQUFhLElBQUksRUFBRTtZQUNyQixJQUFNRSxPQUFPLElBQUksRUFDWEMsT0FBT1QsY0FBZSxHQUFHO1lBRS9CSyxXQUFXSyxpQkFBUSxDQUFDQyxlQUFlLENBQUNILE1BQU1DO1FBQzVDLE9BQU87WUFDTCxJQUFNRCxRQUFPVixRQUFRYyxrQkFBa0IsQ0FBQ047WUFFeEMsSUFBSUUsVUFBUyxJQUFJLEVBQUU7Z0JBQ2pCVixRQUFRTSxLQUFLLENBQUMsQUFBQyxRQUFvQ0UsT0FBN0JOLGNBQWEsa0JBQXlCLE9BQVRNLFVBQVMsdUJBQXFCVjtZQUNuRixPQUFPO2dCQUNMLElBQU1hLFFBQU9ULGNBQWUsR0FBRztnQkFFL0JLLFdBQVdLLGlCQUFRLENBQUNDLGVBQWUsQ0FBQ0gsT0FBTUM7WUFDNUMsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJSixhQUFhLElBQUksRUFBRTtZQUNyQixJQUFNUSxpQkFBaUJSLFNBQVNTLFFBQVE7WUFFeENoQixRQUFRaUIsV0FBVyxDQUFDVjtZQUVwQk4sbUJBQW1CLElBQUk7WUFFdkJELFFBQVFrQixJQUFJLENBQUMsQUFBQyxpQkFBK0IsT0FBZkgsZ0JBQWUsZ0JBQWNqQjtRQUM3RCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU9HO0FBQ1QifQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBWYXJpYWJsZSBmcm9tIFwiLi4vdmFyaWFibGVcIjtcblxuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IHR5cGVOYW1lRnJvbVR5cGVOb2RlLCB2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlWYXJpYWJsZSh2YXJpYWJsZU5vZGUsIHR5cGVOb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgdmFyaWFibGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGZpbGVDb250ZXh0LmJlZ2luKHZhcmlhYmxlTm9kZSk7XG5cbiAgbGV0IHZhcmlhYmxlID0gbnVsbDtcblxuICBjb25zdCB2YXJpYWJsZU5hbWUgPSB2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSksXG4gICAgICAgIHZhcmlhYmxlUHJlc2VudCA9IGZpbGVDb250ZXh0LmlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lKTtcblxuICBpZiAodmFyaWFibGVQcmVzZW50KSB7XG4gICAgZmlsZUNvbnRleHQuZXJyb3IoYFRoZSB2YXJpYWJsZSAnJHt2YXJpYWJsZU5hbWV9JyBpcyBhbHJlYWR5IHByZXNlbnQuYCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdHlwZU5hbWUgPSB0eXBlTmFtZUZyb21UeXBlTm9kZSh0eXBlTm9kZSk7XG4gICAgXG4gICAgaWYgKHR5cGVOYW1lID09PSBudWxsKSB7XG4gICAgICBjb25zdCB0eXBlID0gbnVsbCxcbiAgICAgICAgICAgIG5hbWUgPSB2YXJpYWJsZU5hbWU7ICAvLy9cblxuICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tVHlwZUFuZE5hbWUodHlwZSwgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHR5cGUgPSBmaWxlQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpO1xuXG4gICAgICBpZiAodHlwZSA9PT0gbnVsbCkge1xuICAgICAgICBmaWxlQ29udGV4dC5lcnJvcihgVGhlICcke3ZhcmlhYmxlTmFtZX0nIHZhcmlhYmxlJ3MgJyR7dHlwZU5hbWV9JyB0eXBlIGlzIG1pc3NpbmcuYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBuYW1lID0gdmFyaWFibGVOYW1lOyAgLy8vXG5cbiAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tVHlwZUFuZE5hbWUodHlwZSwgbmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB2YXJpYWJsZVN0cmluZyA9IG5vZGVBc1N0cmluZyh2YXJpYWJsZU5hbWUpO1xuXG4gICAgICBmaWxlQ29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZS5gKTtcblxuICAgICAgZmlsZUNvbnRleHQuYWRkVmFyaWFibGUodmFyaWFibGUpO1xuXG4gICAgICB2YXJpYWJsZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB2YXJpYWJsZVZlcmlmaWVkID9cbiAgICBmaWxlQ29udGV4dC5jb21wbGV0ZSh2YXJpYWJsZU5vZGUpIDpcbiAgICAgIGZpbGVDb250ZXh0LmhhbHQodmFyaWFibGVOb2RlKTtcblxuICByZXR1cm4gdmFyaWFibGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlWYXJpYWJsZSIsInZhcmlhYmxlTm9kZSIsInR5cGVOb2RlIiwiZmlsZUNvbnRleHQiLCJ2YXJpYWJsZVZlcmlmaWVkIiwiYmVnaW4iLCJ2YXJpYWJsZSIsInZhcmlhYmxlTmFtZSIsInZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZVByZXNlbnQiLCJpc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lIiwiZXJyb3IiLCJ0eXBlTmFtZSIsInR5cGVOYW1lRnJvbVR5cGVOb2RlIiwidHlwZSIsIm5hbWUiLCJWYXJpYWJsZSIsImZyb21UeXBlQW5kTmFtZSIsImZpbmRUeXBlQnlUeXBlTmFtZSIsInZhcmlhYmxlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiaW5mbyIsImFkZFZhcmlhYmxlIiwiY29tcGxldGUiLCJoYWx0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPQTs7O2VBQXdCQTs7OzZEQUxIO3NCQUVRO3FCQUNzQzs7Ozs7O0FBRXBELFNBQVNBLGVBQWVDLFlBQVksRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUU7SUFDMUUsSUFBSUMsbUJBQW1CLEtBQUs7SUFFNUJELFlBQVlFLEtBQUssQ0FBQ0o7SUFFbEIsSUFBSUssV0FBVyxJQUFJO0lBRW5CLElBQU1DLGVBQWVDLElBQUFBLG1DQUE0QixFQUFDUCxlQUM1Q1Esa0JBQWtCTixZQUFZTywrQkFBK0IsQ0FBQ0g7SUFFcEUsSUFBSUUsaUJBQWlCO1FBQ25CTixZQUFZUSxLQUFLLENBQUMsQUFBQyxpQkFBNkIsT0FBYkosY0FBYTtJQUNsRCxPQUFPO1FBQ0wsSUFBTUssV0FBV0MsSUFBQUEsMkJBQW9CLEVBQUNYO1FBRXRDLElBQUlVLGFBQWEsSUFBSSxFQUFFO1lBQ3JCLElBQU1FLE9BQU8sSUFBSSxFQUNYQyxPQUFPUixjQUFlLEdBQUc7WUFFL0JELFdBQVdVLGlCQUFRLENBQUNDLGVBQWUsQ0FBQ0gsTUFBTUM7UUFDNUMsT0FBTztZQUNMLElBQU1ELFFBQU9YLFlBQVllLGtCQUFrQixDQUFDTjtZQUU1QyxJQUFJRSxVQUFTLElBQUksRUFBRTtnQkFDakJYLFlBQVlRLEtBQUssQ0FBQyxBQUFDLFFBQW9DQyxPQUE3QkwsY0FBYSxrQkFBeUIsT0FBVEssVUFBUztZQUNsRSxPQUFPO2dCQUNMLElBQU1HLFFBQU9SLGNBQWUsR0FBRztnQkFFL0JELFdBQVdVLGlCQUFRLENBQUNDLGVBQWUsQ0FBQ0gsT0FBTUM7WUFDNUMsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJVCxhQUFhLElBQUksRUFBRTtZQUNyQixJQUFNYSxpQkFBaUJDLElBQUFBLG9CQUFZLEVBQUNiO1lBRXBDSixZQUFZa0IsSUFBSSxDQUFDLEFBQUMsaUJBQStCLE9BQWZGLGdCQUFlO1lBRWpEaEIsWUFBWW1CLFdBQVcsQ0FBQ2hCO1lBRXhCRixtQkFBbUIsSUFBSTtRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVEQSxtQkFDRUQsWUFBWW9CLFFBQVEsQ0FBQ3RCLGdCQUNuQkUsWUFBWXFCLElBQUksQ0FBQ3ZCLGFBQWE7SUFFbEMsT0FBT0c7QUFDVCJ9
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.317",
4
+ "version": "0.0.319",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-verify-cli",
7
7
  "description": "Occam's Verifier",
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ export default class Callbacks {
4
+ constructor(halt, begin, complete) {
5
+ this.halt = halt;
6
+ this.begin = begin;
7
+ this.complete = complete;
8
+ }
9
+
10
+ getHalt() {
11
+ return this.halt;
12
+ }
13
+
14
+ getBegin() {
15
+ return this.begin;
16
+ }
17
+
18
+ getComplete() {
19
+ return this.complete;
20
+ }
21
+
22
+ static fromHaltBeginAndComplete(halt, begin, complete) {
23
+ const callbacks = new Callbacks(halt, begin, complete);
24
+
25
+ return callbacks;
26
+ }
27
+ }
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
 
3
- import { levels } from "necessary";
4
3
  import { rewriteNodes } from "occam-grammar-utilities";
5
4
 
5
+ import loggingMixins from "../mixins/logging";
6
+
6
7
  import { push } from "../utilities/array";
7
8
  import { leastLineIndexFromNodeAndTokens, greatestLineIndexFromNodeAndTokens } from "../utilities/tokens";
8
9
 
9
- const { TRACE_LEVEL, DEBUG_LEVEL, INFO_LEVEL, WARNING_LEVEL, ERROR_LEVEL, FATAL_LEVEL } = levels;
10
-
11
- export default class FileContext {
12
- constructor(filePath, tokens, node, rules, types, axioms, variables, combinators, constructors, releaseContext) {
10
+ class FileContext {
11
+ constructor(filePath, context, tokens, node, rules, types, axioms, variables, combinators, constructors) {
13
12
  this.filePath = filePath;
13
+ this.context = context;
14
14
  this.tokens = tokens;
15
15
  this.node = node;
16
16
  this.rules = rules;
@@ -19,13 +19,16 @@ export default class FileContext {
19
19
  this.variables = variables;
20
20
  this.combinators = combinators;
21
21
  this.constructors = constructors;
22
- this.releaseContext = releaseContext;
23
22
  }
24
23
 
25
24
  getFilePath() {
26
25
  return this.filePath;
27
26
  }
28
27
 
28
+ getContext() {
29
+ return this.context;
30
+ }
31
+
29
32
  getTokens() {
30
33
  return this.tokens;
31
34
  }
@@ -34,13 +37,17 @@ export default class FileContext {
34
37
  return this.node;
35
38
  }
36
39
 
40
+ getVariables() {
41
+ return this.variables;
42
+ }
43
+
37
44
  getRules(bubble = true) {
38
45
  const rules = [
39
46
  ...this.rules
40
47
  ];
41
48
 
42
49
  if (bubble) {
43
- const releaseContextRules = this.releaseContext.getRules();
50
+ const releaseContextRules = this.context.getRules();
44
51
 
45
52
  push(rules, releaseContextRules);
46
53
  }
@@ -54,7 +61,7 @@ export default class FileContext {
54
61
  ];
55
62
 
56
63
  if (bubble) {
57
- const releaseContextTypes = this.releaseContext.getTypes();
64
+ const releaseContextTypes = this.context.getTypes();
58
65
 
59
66
  push(types, releaseContextTypes);
60
67
  }
@@ -68,7 +75,7 @@ export default class FileContext {
68
75
  ];
69
76
 
70
77
  if (bubble) {
71
- const releaseContextAxioms = this.releaseContext.getAxioms();
78
+ const releaseContextAxioms = this.context.getAxioms();
72
79
 
73
80
  push(axioms, releaseContextAxioms);
74
81
  }
@@ -76,30 +83,13 @@ export default class FileContext {
76
83
  return axioms;
77
84
  }
78
85
 
79
- getLabels() {
80
- const axioms = this.getAxioms(),
81
- labels = axioms.reduce((labels, axiom) => {
82
- const axiomLabels = axiom.getLabels();
83
-
84
- push(labels, axiomLabels);
85
-
86
- return labels;
87
- }, []);
88
-
89
- return labels;
90
- }
91
-
92
- getVariables() {
93
- return this.variables;
94
- }
95
-
96
86
  getCombinators(bubble = true) {
97
87
  const combinators = [
98
88
  ...this.combinators
99
89
  ];
100
90
 
101
91
  if (bubble) {
102
- const releaseContextCombinators = this.releaseContext.getCombinators();
92
+ const releaseContextCombinators = this.context.getCombinators();
103
93
 
104
94
  push(combinators, releaseContextCombinators);
105
95
  }
@@ -113,7 +103,7 @@ export default class FileContext {
113
103
  ];
114
104
 
115
105
  if (bubble) {
116
- const releaseContextConstructors = this.releaseContext.getConstructors();
106
+ const releaseContextConstructors = this.context.getConstructors();
117
107
 
118
108
  push(constructors, releaseContextConstructors);
119
109
  }
@@ -121,12 +111,14 @@ export default class FileContext {
121
111
  return constructors;
122
112
  }
123
113
 
124
- getReleaseContext() {
125
- return this.releaseContext;
114
+ getAssertions() {
115
+ const assertions = []; ///
116
+
117
+ return assertions;
126
118
  }
127
119
 
128
120
  getMetaAssertions() {
129
- const metaAssertions = [];
121
+ const metaAssertions = []; ///
130
122
 
131
123
  return metaAssertions;
132
124
  }
@@ -164,7 +156,7 @@ export default class FileContext {
164
156
  axioms = this.getAxioms(),
165
157
  axiom = axioms.find((axiom) => {
166
158
  const axiomLabels = axiom.getLabels(),
167
- axiomLabelsIncludesLabel = axiomLabels.includes(label);
159
+ axiomLabelsIncludesLabel = axiomLabels.includes(label);
168
160
 
169
161
  if (axiomLabelsIncludesLabel) {
170
162
  return true;
@@ -176,7 +168,8 @@ export default class FileContext {
176
168
 
177
169
  findVariableByVariableName(variableName) {
178
170
  const name = variableName, ///
179
- variable = this.variables.find((variable) => {
171
+ variables = this.getVariables(),
172
+ variable = variables.find((variable) => {
180
173
  const matches = variable.matchName(name);
181
174
 
182
175
  if (matches) {
@@ -187,40 +180,41 @@ export default class FileContext {
187
180
  return variable;
188
181
  }
189
182
 
190
- isDerived() {
191
- const derived = false;
192
-
193
- return derived;
194
- }
195
-
196
183
  isLabelPresent(label) {
197
184
  const labels = this.getLabels(),
198
- labelsIncludesLabel = labels.includes(label),
199
- labelPresent = labelsIncludesLabel; ///
185
+ labelsIncludesLabel = labels.includes(label),
186
+ labelPresent = labelsIncludesLabel; ///
200
187
 
201
188
  return labelPresent;
202
189
  }
203
190
 
204
- matchMetaAssertion(metaAssertion) {
205
- const metaAssertionMatches = false;
206
-
207
- return metaAssertionMatches;
208
- }
209
-
210
191
  isTypePresentByTypeName(typeName) {
211
192
  const type = this.findTypeByTypeName(typeName),
212
- typePresent = (type !== null);
193
+ typePresent = (type !== null);
213
194
 
214
195
  return typePresent;
215
196
  }
216
197
 
217
198
  isVariablePresentByVariableName(variableName) {
218
199
  const variable = this.findVariableByVariableName(variableName),
219
- variablePresent = (variable !== null);
200
+ variablePresent = (variable !== null);
220
201
 
221
202
  return variablePresent;
222
203
  }
223
204
 
205
+ getLabels() {
206
+ const axioms = this.getAxioms(),
207
+ labels = axioms.reduce((labels, axiom) => {
208
+ const axiomLabels = axiom.getLabels();
209
+
210
+ push(labels, axiomLabels);
211
+
212
+ return labels;
213
+ }, []);
214
+
215
+ return labels;
216
+ }
217
+
224
218
  addType(type) {
225
219
  this.types.push(type);
226
220
  }
@@ -245,23 +239,25 @@ export default class FileContext {
245
239
  this.constructors.push(constructor);
246
240
  }
247
241
 
248
- trace(message, node) { this.log(node, TRACE_LEVEL, message); }
249
-
250
- debug(message, node) { this.log(node, DEBUG_LEVEL, message); }
251
-
252
- info(message, node) { this.log(node, INFO_LEVEL, message); }
242
+ halt(node) {
243
+ const leastLineIndex = leastLineIndexFromNodeAndTokens(node, this.tokens),
244
+ greatestLineIndex = greatestLineIndexFromNodeAndTokens(node, this.tokens);
253
245
 
254
- warning(message, node) { this.log(node, WARNING_LEVEL, message); }
246
+ this.context.halt(this.filePath, leastLineIndex, greatestLineIndex);
247
+ }
255
248
 
256
- error(message, node) { this.log(node, ERROR_LEVEL, message); }
249
+ begin(node) {
250
+ const leastLineIndex = leastLineIndexFromNodeAndTokens(node, this.tokens),
251
+ greatestLineIndex = greatestLineIndexFromNodeAndTokens(node, this.tokens);
257
252
 
258
- fatal(message, node) { this.log(node, FATAL_LEVEL, message); }
253
+ this.context.begin(this.filePath, leastLineIndex, greatestLineIndex);
254
+ }
259
255
 
260
- log(node, level, message) {
256
+ complete(node) {
261
257
  const leastLineIndex = leastLineIndexFromNodeAndTokens(node, this.tokens),
262
258
  greatestLineIndex = greatestLineIndexFromNodeAndTokens(node, this.tokens);
263
259
 
264
- this.releaseContext.log(level, message, this.filePath, leastLineIndex, greatestLineIndex);
260
+ this.context.complete(this.filePath, leastLineIndex, greatestLineIndex);
265
261
  }
266
262
 
267
263
  static fromReleaseContextAndFilePath(releaseContext, filePath) {
@@ -272,14 +268,19 @@ export default class FileContext {
272
268
 
273
269
  rewriteNodes(node);
274
270
 
275
- const rules = [],
271
+ const context = releaseContext, ///
272
+ rules = [],
276
273
  types = [],
277
274
  axioms = [],
278
275
  variables = [],
279
276
  combinators = [],
280
277
  constructors = [],
281
- fileContext = new FileContext(filePath, tokens, node, rules, types, axioms, variables, combinators, constructors, releaseContext);
278
+ fileContext = new FileContext(filePath, context, tokens, node, rules, types, axioms, variables, combinators, constructors);
282
279
 
283
280
  return fileContext;
284
281
  }
285
282
  }
283
+
284
+ Object.assign(FileContext.prototype, loggingMixins);
285
+
286
+ export default FileContext;
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
 
3
- export default class MetaproofContext {
3
+ import fileMixins from "../mixins/file";
4
+ import loggingMixins from "../mixins/logging";
5
+ import callbacksMixins from "../mixins/callbacks";
6
+
7
+ class MetaproofContext {
4
8
  constructor(context, derived, metaAssertions) {
5
9
  this.context = context;
6
10
  this.derived = derived;
@@ -18,7 +22,7 @@ export default class MetaproofContext {
18
22
  getMetaAssertions() {
19
23
  let metaAssertions = this.context.getMetaAssertions();
20
24
 
21
- metaAssertions = [
25
+ metaAssertions = [ ///
22
26
  ...metaAssertions,
23
27
  ...this.metaAssertions
24
28
  ];
@@ -26,25 +30,13 @@ export default class MetaproofContext {
26
30
  return metaAssertions;
27
31
  }
28
32
 
29
- getRules() { return this.context.getRules(); }
30
-
31
- getTypes() { return this.context.getTypes(); }
32
-
33
- getAxioms() { return this.context.getAxioms(); }
34
-
35
- getCombinators() { return this.context.getCombinators(); }
36
-
37
- getConstructors() { return this.context.getConstructors(); }
38
-
39
- findTypeByTypeName(typeName) { return this.context.findTypeByTypeName(typeName); }
40
-
41
- findRuleByReferenceName(referenceName) { return this.context.findRuleByReferenceName(referenceName); }
42
-
43
- findVariableByVariableName(variableName) { return this.context.findVariableByVariableName(variableName); }
44
-
45
- isLabelPresent(label) { return this.context.isLabelPresent(label); }
33
+ setDerived(derived) {
34
+ this.derived = derived;
35
+ }
46
36
 
47
- isTypePresentByTypeName(typeName) { return this.context.isTypePresentByTypeName(typeName); }
37
+ addMetaAssertion(metaAssertion) {
38
+ this.metaAssertions.push(metaAssertion);
39
+ }
48
40
 
49
41
  matchMetaAssertion(metaAssertion) {
50
42
  let metaAssertionMatches;
@@ -67,35 +59,28 @@ export default class MetaproofContext {
67
59
  return metaAssertionMatches;
68
60
  }
69
61
 
70
- isVariablePresentByVariableName(variableName) { return this.context.isVariablePresentByVariableName(variableName); }
71
-
72
- setDerived(derived) {
73
- this.derived = derived;
74
- }
75
-
76
- addRule(rule) { this.context.addRule(rule); }
62
+ static fromFileContext(fileContext) {
63
+ const context = fileContext, ///
64
+ derived = false,
65
+ metaAssertions = [],
66
+ metaproofContext = new MetaproofContext(context, derived, metaAssertions);
77
67
 
78
- addMetaAssertion(metaAssertion) {
79
- this.metaAssertions.push(metaAssertion);
68
+ return metaproofContext;
80
69
  }
81
70
 
82
- trace(message, node) { this.context.trace(message, node); }
83
-
84
- debug(message, node) { this.context.debug(message, node); }
71
+ static fromMetaproofContext(metaproofContext) {
72
+ const context = metaproofContext, ///
73
+ derived = false,
74
+ metaAssertions = [];
85
75
 
86
- info(message, node) { this.context.info(message, node); }
87
-
88
- warning(message, node) { this.context.warning(message, node); }
89
-
90
- error(message, node) { this.context.error(message, node); }
91
-
92
- fatal(message, node) { this.context.fatal(message, node); }
93
-
94
- static fromContext(context) {
95
- const derived = false,
96
- metaAssertions = [],
97
- metaproofContext = new MetaproofContext(context, derived, metaAssertions);
76
+ metaproofContext = new MetaproofContext(context, derived, metaAssertions); ///
98
77
 
99
78
  return metaproofContext;
100
79
  }
101
80
  }
81
+
82
+ Object.assign(MetaproofContext.prototype, fileMixins);
83
+ Object.assign(MetaproofContext.prototype, loggingMixins);
84
+ Object.assign(MetaproofContext.prototype, callbacksMixins);
85
+
86
+ export default MetaproofContext;