occam-verify-cli 0.0.1009 → 0.0.1011
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.
- package/lib/argument.js +106 -0
- package/lib/combinator.js +6 -4
- package/lib/conclusion.js +4 -5
- package/lib/context/release.js +2 -2
- package/lib/declaration/combinator.js +16 -9
- package/lib/declaration/metavariable.js +87 -0
- package/lib/metaType.js +11 -20
- package/lib/metavariable.js +50 -6
- package/lib/premise.js +4 -4
- package/lib/statement/qualified.js +3 -3
- package/lib/statement/unqualified.js +30 -13
- package/lib/utilities/releaseContext.js +5 -10
- package/lib/verifier/topLevel.js +4 -4
- package/package.json +1 -1
- package/src/argument.js +79 -0
- package/src/combinator.js +6 -7
- package/src/conclusion.js +5 -8
- package/src/context/release.js +1 -1
- package/src/declaration/combinator.js +13 -8
- package/src/declaration/metavariable.js +57 -0
- package/src/metaType.js +6 -12
- package/src/metavariable.js +64 -5
- package/src/premise.js +4 -7
- package/src/statement/qualified.js +3 -5
- package/src/statement/unqualified.js +28 -14
- package/src/utilities/releaseContext.js +5 -14
- package/src/verifier/topLevel.js +5 -3
- package/lib/verify/declaration/metavariable.js +0 -89
- package/src/verify/declaration/metavariable.js +0 -125
package/lib/verifier/topLevel.js
CHANGED
|
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _rule = /*#__PURE__*/ _interop_require_default(require("../rule"));
|
|
12
|
+
var _combinator = /*#__PURE__*/ _interop_require_default(require("../declaration/combinator"));
|
|
13
|
+
var _metavariable = /*#__PURE__*/ _interop_require_default(require("../declaration/metavariable"));
|
|
12
14
|
var _verifier = /*#__PURE__*/ _interop_require_default(require("../verifier"));
|
|
13
15
|
var _error = /*#__PURE__*/ _interop_require_default(require("../verify/error"));
|
|
14
16
|
var _axiom = /*#__PURE__*/ _interop_require_default(require("../verify/axiom"));
|
|
@@ -17,11 +19,9 @@ var _theorem = /*#__PURE__*/ _interop_require_default(require("../verify/theorem
|
|
|
17
19
|
var _metaLemma = /*#__PURE__*/ _interop_require_default(require("../verify/metaLemma"));
|
|
18
20
|
var _conjecture = /*#__PURE__*/ _interop_require_default(require("../verify/conjecture"));
|
|
19
21
|
var _metatheorem = /*#__PURE__*/ _interop_require_default(require("../verify/metatheorem"));
|
|
20
|
-
var _combinator = /*#__PURE__*/ _interop_require_default(require("../declaration/combinator"));
|
|
21
22
|
var _type = /*#__PURE__*/ _interop_require_default(require("../verify/declaration/type"));
|
|
22
23
|
var _variable = /*#__PURE__*/ _interop_require_default(require("../verify/declaration/variable"));
|
|
23
24
|
var _constructor = /*#__PURE__*/ _interop_require_default(require("../verify/declaration/constructor"));
|
|
24
|
-
var _metavariable = /*#__PURE__*/ _interop_require_default(require("../verify/declaration/metavariable"));
|
|
25
25
|
var _query = require("../utilities/query");
|
|
26
26
|
function _assert_this_initialized(self) {
|
|
27
27
|
if (self === void 0) {
|
|
@@ -222,7 +222,7 @@ _define_property(TopLevelVerifier, "maps", [
|
|
|
222
222
|
{
|
|
223
223
|
nodeQuery: metavariableDeclarationNodeQuery,
|
|
224
224
|
verify: function(metavariableDeclarationNode, fileContext) {
|
|
225
|
-
var
|
|
225
|
+
var metavariableDeclaration = _metavariable.default.fromMetavariableDeclarationNode(metavariableDeclarationNode, fileContext), metavariableDeclarationVerified = metavariableDeclaration.verify(fileContext);
|
|
226
226
|
return metavariableDeclarationVerified;
|
|
227
227
|
}
|
|
228
228
|
}
|
|
@@ -230,4 +230,4 @@ _define_property(TopLevelVerifier, "maps", [
|
|
|
230
230
|
var topLevelVerifier = new TopLevelVerifier();
|
|
231
231
|
var _default = topLevelVerifier;
|
|
232
232
|
|
|
233
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZmllci90b3BMZXZlbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFJ1bGUgZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCBWZXJpZmllciBmcm9tIFwiLi4vdmVyaWZpZXJcIjtcbmltcG9ydCB2ZXJpZnlFcnJvciBmcm9tIFwiLi4vdmVyaWZ5L2Vycm9yXCI7XG5pbXBvcnQgdmVyaWZ5QXhpb20gZnJvbSBcIi4uL3ZlcmlmeS9heGlvbVwiO1xuaW1wb3J0IHZlcmlmeUxlbW1hIGZyb20gXCIuLi92ZXJpZnkvbGVtbWFcIjtcbmltcG9ydCB2ZXJpZnlUaGVvcmVtIGZyb20gXCIuLi92ZXJpZnkvdGhlb3JlbVwiO1xuaW1wb3J0IHZlcmlmeU1ldGFMZW1tYSBmcm9tIFwiLi4vdmVyaWZ5L21ldGFMZW1tYVwiO1xuaW1wb3J0IHZlcmlmeUNvbmplY3R1cmUgZnJvbSBcIi4uL3ZlcmlmeS9jb25qZWN0dXJlXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YXRoZW9yZW0gZnJvbSBcIi4uL3ZlcmlmeS9tZXRhdGhlb3JlbVwiO1xuaW1wb3J0IENvbWJpbmF0b3JEZWNsYXJhdGlvbiBmcm9tIFwiLi4vZGVjbGFyYXRpb24vY29tYmluYXRvclwiO1xuaW1wb3J0IHZlcmlmeVR5cGVEZWNsYXJhdGlvbiBmcm9tIFwiLi4vdmVyaWZ5L2RlY2xhcmF0aW9uL3R5cGVcIjtcbmltcG9ydCB2ZXJpZnlWYXJpYWJsZURlY2xhcmF0aW9uIGZyb20gXCIuLi92ZXJpZnkvZGVjbGFyYXRpb24vdmFyaWFibGVcIjtcbmltcG9ydCB2ZXJpZnlDb25zdHJ1Y3RvckRlY2xhcmF0aW9uIGZyb20gXCIuLi92ZXJpZnkvZGVjbGFyYXRpb24vY29uc3RydWN0b3JcIjtcbmltcG9ydCB2ZXJpZnlNZXRhdmFyaWFibGVEZWNsYXJhdGlvbiBmcm9tIFwiLi4vdmVyaWZ5L2RlY2xhcmF0aW9uL21ldGF2YXJpYWJsZVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGVycm9yTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2Vycm9yXCIpLFxuICAgICAgcnVsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlXCIpLFxuICAgICAgYXhpb21Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYXhpb21cIiksXG4gICAgICBsZW1tYU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9sZW1tYVwiKSxcbiAgICAgIHRoZW9yZW1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGhlb3JlbVwiKSxcbiAgICAgIG1ldGFMZW1tYU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhTGVtbWFcIiksXG4gICAgICBjb25qZWN0dXJlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbmplY3R1cmVcIiksXG4gICAgICBtZXRhdGhlb3JlbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdGhlb3JlbVwiKSxcbiAgICAgIHR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90eXBlRGVjbGFyYXRpb25cIiksXG4gICAgICB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3ZhcmlhYmxlRGVjbGFyYXRpb25cIiksXG4gICAgICBjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29tYmluYXRvckRlY2xhcmF0aW9uXCIpLFxuICAgICAgY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25zdHJ1Y3RvckRlY2xhcmF0aW9uXCIpLFxuICAgICAgbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25cIik7XG5cbmNsYXNzIFRvcExldmVsVmVyaWZpZXIgZXh0ZW5kcyBWZXJpZmllciB7XG4gIHZlcmlmeShub2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZDtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICB2ZXJpZmllZCA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAgLy8vXG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgbWFwcyA9IFtcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGVycm9yTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoZXJyb3JOb2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBlcnJvclZlcmlmaWVkID0gdmVyaWZ5RXJyb3IoZXJyb3JOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIGVycm9yVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHJ1bGVOb2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChydWxlTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgcnVsZSA9IFJ1bGUuZnJvbVJ1bGVOb2RlKHJ1bGVOb2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgICAgIHJ1bGVWZXJpZmllZCA9IHJ1bGUudmVyaWZ5KGZpbGVDb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gcnVsZVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBheGlvbU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGF4aW9tTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgYXhpb21WZXJpZmllZCA9IHZlcmlmeUF4aW9tKGF4aW9tTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBheGlvbVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBsZW1tYU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGxlbW1hTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgbGVtbWFWZXJpZmllZCA9IHZlcmlmeUxlbW1hKGxlbW1hTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBsZW1tYVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiB0aGVvcmVtTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAodGhlb3JlbU5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHRoZW9yZW1WZXJpZmllZCA9IHZlcmlmeVRoZW9yZW0odGhlb3JlbU5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gdGhlb3JlbVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBtZXRhTGVtbWFOb2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChtZXRhTGVtbWFOb2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBtZXRhTGVtbWFWZXJpZmllZCA9IHZlcmlmeU1ldGFMZW1tYShtZXRhTGVtbWFOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIG1ldGFMZW1tYVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBjb25qZWN0dXJlTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoY29uamVjdHVyZU5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmplY3R1cmVWZXJpZmllZCA9IHZlcmlmeUNvbmplY3R1cmUoY29uamVjdHVyZU5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gY29uamVjdHVyZVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBtZXRhdGhlb3JlbU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKG1ldGF0aGVvcmVtTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgbWV0YXRoZW9yZW1WZXJpZmllZCA9IHZlcmlmeU1ldGF0aGVvcmVtKG1ldGF0aGVvcmVtTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBtZXRhdGhlb3JlbVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiB0eXBlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6ICh0eXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB0eXBlRGVjbGFyYXRpb25WZXJpZmllZCA9IHZlcmlmeVR5cGVEZWNsYXJhdGlvbih0eXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIHR5cGVEZWNsYXJhdGlvblZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAodmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllZCA9IHZlcmlmeVZhcmlhYmxlRGVjbGFyYXRpb24odmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBjb21iaW5hdG9yRGVjbGFyYXRpb24gPSBDb21iaW5hdG9yRGVjbGFyYXRpb24uZnJvbUNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUoY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBjb21iaW5hdG9yRGVjbGFyYXRpb25WZXJpZmllZCA9IGNvbWJpbmF0b3JEZWNsYXJhdGlvbi52ZXJpZnkoZmlsZUNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBjb21iaW5hdG9yRGVjbGFyYXRpb25WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlDb25zdHJ1Y3RvckRlY2xhcmF0aW9uKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlNZXRhdmFyaWFibGVEZWNsYXJhdGlvbihtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9XG4gIF07XG59XG5cbmNvbnN0IHRvcExldmVsVmVyaWZpZXIgPSBuZXcgVG9wTGV2ZWxWZXJpZmllcigpO1xuXG5leHBvcnQgZGVmYXVsdCB0b3BMZXZlbFZlcmlmaWVyO1xuIl0sIm5hbWVzIjpbImVycm9yTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwicnVsZU5vZGVRdWVyeSIsImF4aW9tTm9kZVF1ZXJ5IiwibGVtbWFOb2RlUXVlcnkiLCJ0aGVvcmVtTm9kZVF1ZXJ5IiwibWV0YUxlbW1hTm9kZVF1ZXJ5IiwiY29uamVjdHVyZU5vZGVRdWVyeSIsIm1ldGF0aGVvcmVtTm9kZVF1ZXJ5IiwidHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwidmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsIlRvcExldmVsVmVyaWZpZXIiLCJ2ZXJpZnkiLCJub2RlIiwiZmlsZUNvbnRleHQiLCJ2ZXJpZmllZCIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwiVmVyaWZpZXIiLCJtYXBzIiwiZXJyb3JOb2RlIiwiZXJyb3JWZXJpZmllZCIsInZlcmlmeUVycm9yIiwicnVsZU5vZGUiLCJydWxlIiwiUnVsZSIsImZyb21SdWxlTm9kZSIsInJ1bGVWZXJpZmllZCIsImF4aW9tTm9kZSIsImF4aW9tVmVyaWZpZWQiLCJ2ZXJpZnlBeGlvbSIsImxlbW1hTm9kZSIsImxlbW1hVmVyaWZpZWQiLCJ2ZXJpZnlMZW1tYSIsInRoZW9yZW1Ob2RlIiwidGhlb3JlbVZlcmlmaWVkIiwidmVyaWZ5VGhlb3JlbSIsIm1ldGFMZW1tYU5vZGUiLCJtZXRhTGVtbWFWZXJpZmllZCIsInZlcmlmeU1ldGFMZW1tYSIsImNvbmplY3R1cmVOb2RlIiwiY29uamVjdHVyZVZlcmlmaWVkIiwidmVyaWZ5Q29uamVjdHVyZSIsIm1ldGF0aGVvcmVtTm9kZSIsIm1ldGF0aGVvcmVtVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhdGhlb3JlbSIsInR5cGVEZWNsYXJhdGlvbk5vZGUiLCJ0eXBlRGVjbGFyYXRpb25WZXJpZmllZCIsInZlcmlmeVR5cGVEZWNsYXJhdGlvbiIsInZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwidmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkIiwidmVyaWZ5VmFyaWFibGVEZWNsYXJhdGlvbiIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb21iaW5hdG9yRGVjbGFyYXRpb24iLCJDb21iaW5hdG9yRGVjbGFyYXRpb24iLCJmcm9tQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSIsImNvbWJpbmF0b3JEZWNsYXJhdGlvblZlcmlmaWVkIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlDb25zdHJ1Y3RvckRlY2xhcmF0aW9uIiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllZCIsInZlcmlmeU1ldGF2YXJpYWJsZURlY2xhcmF0aW9uIiwidG9wTGV2ZWxWZXJpZmllciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBNkpBOzs7ZUFBQTs7OzJEQTNKaUI7K0RBQ0k7NERBQ0c7NERBQ0E7NERBQ0E7OERBQ0U7Z0VBQ0U7aUVBQ0M7a0VBQ0M7aUVBQ0k7MkRBQ0E7K0RBQ0k7a0VBQ0c7bUVBQ0M7cUJBRWhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQSxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsV0FDM0JDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFB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
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZmllci90b3BMZXZlbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFJ1bGUgZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCBDb21iaW5hdG9yRGVjbGFyYXRpb24gZnJvbSBcIi4uL2RlY2xhcmF0aW9uL2NvbWJpbmF0b3JcIjtcbmltcG9ydCBNZXRhdmFyaWFibGVEZWNsYXJhdGlvbiBmcm9tIFwiLi4vZGVjbGFyYXRpb24vbWV0YXZhcmlhYmxlXCI7XG5cbmltcG9ydCBWZXJpZmllciBmcm9tIFwiLi4vdmVyaWZpZXJcIjtcbmltcG9ydCB2ZXJpZnlFcnJvciBmcm9tIFwiLi4vdmVyaWZ5L2Vycm9yXCI7XG5pbXBvcnQgdmVyaWZ5QXhpb20gZnJvbSBcIi4uL3ZlcmlmeS9heGlvbVwiO1xuaW1wb3J0IHZlcmlmeUxlbW1hIGZyb20gXCIuLi92ZXJpZnkvbGVtbWFcIjtcbmltcG9ydCB2ZXJpZnlUaGVvcmVtIGZyb20gXCIuLi92ZXJpZnkvdGhlb3JlbVwiO1xuaW1wb3J0IHZlcmlmeU1ldGFMZW1tYSBmcm9tIFwiLi4vdmVyaWZ5L21ldGFMZW1tYVwiO1xuaW1wb3J0IHZlcmlmeUNvbmplY3R1cmUgZnJvbSBcIi4uL3ZlcmlmeS9jb25qZWN0dXJlXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YXRoZW9yZW0gZnJvbSBcIi4uL3ZlcmlmeS9tZXRhdGhlb3JlbVwiO1xuaW1wb3J0IHZlcmlmeVR5cGVEZWNsYXJhdGlvbiBmcm9tIFwiLi4vdmVyaWZ5L2RlY2xhcmF0aW9uL3R5cGVcIjtcbmltcG9ydCB2ZXJpZnlWYXJpYWJsZURlY2xhcmF0aW9uIGZyb20gXCIuLi92ZXJpZnkvZGVjbGFyYXRpb24vdmFyaWFibGVcIjtcbmltcG9ydCB2ZXJpZnlDb25zdHJ1Y3RvckRlY2xhcmF0aW9uIGZyb20gXCIuLi92ZXJpZnkvZGVjbGFyYXRpb24vY29uc3RydWN0b3JcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBlcnJvck5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9lcnJvclwiKSxcbiAgICAgIHJ1bGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcnVsZVwiKSxcbiAgICAgIGF4aW9tTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2F4aW9tXCIpLFxuICAgICAgbGVtbWFOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbGVtbWFcIiksXG4gICAgICB0aGVvcmVtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3RoZW9yZW1cIiksXG4gICAgICBtZXRhTGVtbWFOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YUxlbW1hXCIpLFxuICAgICAgY29uamVjdHVyZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25qZWN0dXJlXCIpLFxuICAgICAgbWV0YXRoZW9yZW1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXRoZW9yZW1cIiksXG4gICAgICB0eXBlRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdHlwZURlY2xhcmF0aW9uXCIpLFxuICAgICAgdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi92YXJpYWJsZURlY2xhcmF0aW9uXCIpLFxuICAgICAgY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbWJpbmF0b3JEZWNsYXJhdGlvblwiKSxcbiAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uc3RydWN0b3JEZWNsYXJhdGlvblwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF2YXJpYWJsZURlY2xhcmF0aW9uXCIpO1xuXG5jbGFzcyBUb3BMZXZlbFZlcmlmaWVyIGV4dGVuZHMgVmVyaWZpZXIge1xuICB2ZXJpZnkobm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZWQ7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgdmVyaWZpZWQgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllZDsgIC8vL1xuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgc3RhdGljIG1hcHMgPSBbXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBlcnJvck5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGVycm9yTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgZXJyb3JWZXJpZmllZCA9IHZlcmlmeUVycm9yKGVycm9yTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBlcnJvclZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBydWxlTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAocnVsZU5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHJ1bGUgPSBSdWxlLmZyb21SdWxlTm9kZShydWxlTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgICAgICBydWxlVmVyaWZpZWQgPSBydWxlLnZlcmlmeShmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIHJ1bGVWZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogYXhpb21Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChheGlvbU5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGF4aW9tVmVyaWZpZWQgPSB2ZXJpZnlBeGlvbShheGlvbU5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gYXhpb21WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogbGVtbWFOb2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChsZW1tYU5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGxlbW1hVmVyaWZpZWQgPSB2ZXJpZnlMZW1tYShsZW1tYU5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gbGVtbWFWZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogdGhlb3JlbU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKHRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB0aGVvcmVtVmVyaWZpZWQgPSB2ZXJpZnlUaGVvcmVtKHRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIHRoZW9yZW1WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogbWV0YUxlbW1hTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAobWV0YUxlbW1hTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgbWV0YUxlbW1hVmVyaWZpZWQgPSB2ZXJpZnlNZXRhTGVtbWEobWV0YUxlbW1hTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBtZXRhTGVtbWFWZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogY29uamVjdHVyZU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGNvbmplY3R1cmVOb2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBjb25qZWN0dXJlVmVyaWZpZWQgPSB2ZXJpZnlDb25qZWN0dXJlKGNvbmplY3R1cmVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIGNvbmplY3R1cmVWZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogbWV0YXRoZW9yZW1Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChtZXRhdGhlb3JlbU5vZGUsIGZpbGVDb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IG1ldGF0aGVvcmVtVmVyaWZpZWQgPSB2ZXJpZnlNZXRhdGhlb3JlbShtZXRhdGhlb3JlbU5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gbWV0YXRoZW9yZW1WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogdHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAodHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgdHlwZURlY2xhcmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlUeXBlRGVjbGFyYXRpb24odHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiB0eXBlRGVjbGFyYXRpb25WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlWYXJpYWJsZURlY2xhcmF0aW9uKHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIHZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgY29tYmluYXRvckRlY2xhcmF0aW9uID0gQ29tYmluYXRvckRlY2xhcmF0aW9uLmZyb21Db21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlKGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgICAgY29tYmluYXRvckRlY2xhcmF0aW9uVmVyaWZpZWQgPSBjb21iaW5hdG9yRGVjbGFyYXRpb24udmVyaWZ5KGZpbGVDb250ZXh0KTtcblxuICAgICAgICByZXR1cm4gY29tYmluYXRvckRlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVkID0gdmVyaWZ5Q29uc3RydWN0b3JEZWNsYXJhdGlvbihjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAobWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbiA9IE1ldGF2YXJpYWJsZURlY2xhcmF0aW9uLmZyb21NZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUobWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgICAgIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQgPSBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbi52ZXJpZnkoZmlsZUNvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBtZXRhdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVkO1xuICAgICAgfVxuICAgIH1cbiAgXTtcbn1cblxuY29uc3QgdG9wTGV2ZWxWZXJpZmllciA9IG5ldyBUb3BMZXZlbFZlcmlmaWVyKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHRvcExldmVsVmVyaWZpZXI7XG4iXSwibmFtZXMiOlsiZXJyb3JOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJydWxlTm9kZVF1ZXJ5IiwiYXhpb21Ob2RlUXVlcnkiLCJsZW1tYU5vZGVRdWVyeSIsInRoZW9yZW1Ob2RlUXVlcnkiLCJtZXRhTGVtbWFOb2RlUXVlcnkiLCJjb25qZWN0dXJlTm9kZVF1ZXJ5IiwibWV0YXRoZW9yZW1Ob2RlUXVlcnkiLCJ0eXBlRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJ2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwiY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwiVG9wTGV2ZWxWZXJpZmllciIsInZlcmlmeSIsIm5vZGUiLCJmaWxlQ29udGV4dCIsInZlcmlmaWVkIiwibm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJWZXJpZmllciIsIm1hcHMiLCJlcnJvck5vZGUiLCJlcnJvclZlcmlmaWVkIiwidmVyaWZ5RXJyb3IiLCJydWxlTm9kZSIsInJ1bGUiLCJSdWxlIiwiZnJvbVJ1bGVOb2RlIiwicnVsZVZlcmlmaWVkIiwiYXhpb21Ob2RlIiwiYXhpb21WZXJpZmllZCIsInZlcmlmeUF4aW9tIiwibGVtbWFOb2RlIiwibGVtbWFWZXJpZmllZCIsInZlcmlmeUxlbW1hIiwidGhlb3JlbU5vZGUiLCJ0aGVvcmVtVmVyaWZpZWQiLCJ2ZXJpZnlUaGVvcmVtIiwibWV0YUxlbW1hTm9kZSIsIm1ldGFMZW1tYVZlcmlmaWVkIiwidmVyaWZ5TWV0YUxlbW1hIiwiY29uamVjdHVyZU5vZGUiLCJjb25qZWN0dXJlVmVyaWZpZWQiLCJ2ZXJpZnlDb25qZWN0dXJlIiwibWV0YXRoZW9yZW1Ob2RlIiwibWV0YXRoZW9yZW1WZXJpZmllZCIsInZlcmlmeU1ldGF0aGVvcmVtIiwidHlwZURlY2xhcmF0aW9uTm9kZSIsInR5cGVEZWNsYXJhdGlvblZlcmlmaWVkIiwidmVyaWZ5VHlwZURlY2xhcmF0aW9uIiwidmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJ2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlWYXJpYWJsZURlY2xhcmF0aW9uIiwiY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbiIsIkNvbWJpbmF0b3JEZWNsYXJhdGlvbiIsImZyb21Db21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29tYmluYXRvckRlY2xhcmF0aW9uVmVyaWZpZWQiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZCIsInZlcmlmeUNvbnN0cnVjdG9yRGVjbGFyYXRpb24iLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbiIsIk1ldGF2YXJpYWJsZURlY2xhcmF0aW9uIiwiZnJvbU1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZWQiLCJ0b3BMZXZlbFZlcmlmaWVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkErSkE7OztlQUFBOzs7MkRBN0ppQjtpRUFDaUI7bUVBQ0U7K0RBRWY7NERBQ0c7NERBQ0E7NERBQ0E7OERBQ0U7Z0VBQ0U7aUVBQ0M7a0VBQ0M7MkRBQ0k7K0RBQ0k7a0VBQ0c7cUJBRWY7Ozs7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
|
package/package.json
CHANGED
package/src/argument.js
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { nodeQuery } from "./utilities/query";
|
|
4
|
+
|
|
5
|
+
const termNodeQuery = nodeQuery("/argument/term"),
|
|
6
|
+
typeNodeQuery = nodeQuery("/argument//type");
|
|
7
|
+
|
|
8
|
+
export default class Argument {
|
|
9
|
+
constructor(string, node, fileContext) {
|
|
10
|
+
this.string = string;
|
|
11
|
+
this.node = node;
|
|
12
|
+
this.fileContext = fileContext;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
getString() {
|
|
16
|
+
return this.string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
getNode() {
|
|
20
|
+
return this.node;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
getFileContext() {
|
|
24
|
+
return this.fileContext;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
verify(fileContext) {
|
|
28
|
+
let verified = false;
|
|
29
|
+
|
|
30
|
+
const argumentString = this.string; ///
|
|
31
|
+
|
|
32
|
+
fileContext.trace(`Verifying the '${argumentString}' argument...`);
|
|
33
|
+
|
|
34
|
+
if (this.node === null) {
|
|
35
|
+
verified = true;
|
|
36
|
+
} else {
|
|
37
|
+
const termNode = termNodeQuery(this.node);
|
|
38
|
+
|
|
39
|
+
if (termNode !== null) {
|
|
40
|
+
const termString = this.fileContext.nodeAsString(termNode);
|
|
41
|
+
|
|
42
|
+
this.fileContext.debug(`The '${termString}' term was found when a type should have been present.`);
|
|
43
|
+
} else {
|
|
44
|
+
const typeNode = typeNodeQuery(this.node);
|
|
45
|
+
|
|
46
|
+
if (typeNode !== null) {
|
|
47
|
+
const typePresent = this.fileContext.isTypePresentByTypeNode(typeNode);
|
|
48
|
+
|
|
49
|
+
if (typePresent) {
|
|
50
|
+
verified = true;
|
|
51
|
+
} else {
|
|
52
|
+
const typeString = this.fileContext.nodeAsString(typeNode);
|
|
53
|
+
|
|
54
|
+
this.fileContext.debug(`The '${typeString}' type is not present.`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (verified) {
|
|
61
|
+
fileContext.debug(`...verified the '${argumentString}' argument.`);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return verified;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
static fromArgumentNode(argumentNode, fileContext) {
|
|
68
|
+
let argument = null;
|
|
69
|
+
|
|
70
|
+
if (argumentNode !== null) {
|
|
71
|
+
const node = argumentNode, ///
|
|
72
|
+
string = fileContext.nodeAsString(node);
|
|
73
|
+
|
|
74
|
+
argument = new Argument(string, node, fileContext);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return argument;
|
|
78
|
+
}
|
|
79
|
+
}
|
package/src/combinator.js
CHANGED
|
@@ -5,7 +5,6 @@ import Statement from "./statement";
|
|
|
5
5
|
import LocalContext from "./context/local";
|
|
6
6
|
|
|
7
7
|
import { nodeQuery } from "./utilities/query";
|
|
8
|
-
import { statementNodeFromStatementString } from "./utilities/node";
|
|
9
8
|
|
|
10
9
|
const statementNodeQuery = nodeQuery("/combinatorDeclaration/statement");
|
|
11
10
|
|
|
@@ -47,13 +46,13 @@ export default class Combinator {
|
|
|
47
46
|
static fromJSON(json, fileContext) {
|
|
48
47
|
let { statement } = json;
|
|
49
48
|
|
|
50
|
-
const
|
|
51
|
-
parser = fileContext.getParser(),
|
|
52
|
-
statementString = statement, ///
|
|
53
|
-
statementNode = statementNodeFromStatementString(statementString, lexer, parser),
|
|
54
|
-
localContext = LocalContext.fromFileContext(fileContext);
|
|
49
|
+
const string = statement; ///
|
|
55
50
|
|
|
56
|
-
|
|
51
|
+
json = { ///
|
|
52
|
+
string
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
statement = Statement.fromJSON(json, fileContext);
|
|
57
56
|
|
|
58
57
|
const combinator = new Combinator(statement);
|
|
59
58
|
|
package/src/conclusion.js
CHANGED
|
@@ -6,7 +6,6 @@ import UnqualifiedStatement from "./statement/unqualified";
|
|
|
6
6
|
|
|
7
7
|
import { trim } from "./utilities/string";
|
|
8
8
|
import { nodeQuery } from "./utilities/query";
|
|
9
|
-
import { unqualifiedStatementNodeFromUnqualifiedStatementString } from "./utilities/node";
|
|
10
9
|
|
|
11
10
|
const unqualifiedStatementNodeQuery = nodeQuery("/conclusion/unqualifiedStatement");
|
|
12
11
|
|
|
@@ -80,8 +79,8 @@ export default class Conclusion {
|
|
|
80
79
|
}
|
|
81
80
|
|
|
82
81
|
toJSON() {
|
|
83
|
-
const
|
|
84
|
-
unqualifiedStatement =
|
|
82
|
+
const unqualifiedStatementJSON = this.unqualifiedStatement.toJSON(),
|
|
83
|
+
unqualifiedStatement = unqualifiedStatementJSON, ///
|
|
85
84
|
json = {
|
|
86
85
|
unqualifiedStatement
|
|
87
86
|
};
|
|
@@ -92,17 +91,15 @@ export default class Conclusion {
|
|
|
92
91
|
static fromJSON(json, fileContext) {
|
|
93
92
|
let { unqualifiedStatement } = json;
|
|
94
93
|
|
|
95
|
-
|
|
96
|
-
parser = fileContext.getParser(),
|
|
97
|
-
unqualifiedStatementString = unqualifiedStatement, ///
|
|
98
|
-
unqualifiedStatementNode = unqualifiedStatementNodeFromUnqualifiedStatementString(unqualifiedStatementString, lexer, parser);
|
|
94
|
+
json = unqualifiedStatement; ///
|
|
99
95
|
|
|
100
|
-
unqualifiedStatement = UnqualifiedStatement.
|
|
96
|
+
unqualifiedStatement = UnqualifiedStatement.fromJSON(json, fileContext);
|
|
101
97
|
|
|
102
98
|
const conclusion = new Conclusion(fileContext, unqualifiedStatement);
|
|
103
99
|
|
|
104
100
|
return conclusion;
|
|
105
101
|
}
|
|
102
|
+
|
|
106
103
|
static fromConclusionNode(conclusionNode, fileContext) {
|
|
107
104
|
const unqualifiedStatementNode = unqualifiedStatementNodeQuery(conclusionNode),
|
|
108
105
|
unqualifiedStatement = UnqualifiedStatement.fromUnqualifiedStatementNode(unqualifiedStatementNode, fileContext),
|
package/src/context/release.js
CHANGED
|
@@ -470,7 +470,7 @@ export default class ReleaseContext {
|
|
|
470
470
|
parser = null,
|
|
471
471
|
verified = false,
|
|
472
472
|
initialised = false,
|
|
473
|
-
fileContexts =
|
|
473
|
+
fileContexts = [],
|
|
474
474
|
customGrammar = customGrammarFromNameAndEntries(name, entries),
|
|
475
475
|
dependencyReleaseContexts = null,
|
|
476
476
|
releaseContext = new ReleaseContext(log, name, json, entries, lexer, parser, verified, initialised, fileContexts, customGrammar, dependencyReleaseContexts);
|
|
@@ -3,33 +3,38 @@
|
|
|
3
3
|
import Combinator from "../combinator";
|
|
4
4
|
|
|
5
5
|
export default class CombinatorDeclaration {
|
|
6
|
-
constructor(combinator) {
|
|
6
|
+
constructor(fileContext, combinator) {
|
|
7
|
+
this.fileContext = fileContext;
|
|
7
8
|
this.combinator = combinator;
|
|
8
9
|
}
|
|
9
10
|
|
|
11
|
+
getFileContext() {
|
|
12
|
+
return this.fileContext;
|
|
13
|
+
}
|
|
14
|
+
|
|
10
15
|
getCombinator() {
|
|
11
16
|
return this.combinator;
|
|
12
17
|
}
|
|
13
18
|
|
|
14
19
|
getString() { return this.combinator.getString(); }
|
|
15
20
|
|
|
16
|
-
verify(
|
|
21
|
+
verify() {
|
|
17
22
|
let verified;
|
|
18
23
|
|
|
19
|
-
const
|
|
24
|
+
const combinatorDeclarationString = this.getString(); ///
|
|
20
25
|
|
|
21
|
-
fileContext.trace(`Verifying the '${
|
|
26
|
+
this.fileContext.trace(`Verifying the '${combinatorDeclarationString}' combinator declaration...`);
|
|
22
27
|
|
|
23
|
-
const combinatorVerified = this.combinator.verify(fileContext);
|
|
28
|
+
const combinatorVerified = this.combinator.verify(this.fileContext);
|
|
24
29
|
|
|
25
30
|
if (combinatorVerified) {
|
|
26
|
-
fileContext.addCombinator(this.combinator);
|
|
31
|
+
this.fileContext.addCombinator(this.combinator);
|
|
27
32
|
|
|
28
33
|
verified = true;
|
|
29
34
|
}
|
|
30
35
|
|
|
31
36
|
if (verified) {
|
|
32
|
-
fileContext.debug(`...verified the '${
|
|
37
|
+
this.fileContext.debug(`...verified the '${combinatorDeclarationString}' combinator declaration.`);
|
|
33
38
|
}
|
|
34
39
|
|
|
35
40
|
return verified;
|
|
@@ -37,7 +42,7 @@ export default class CombinatorDeclaration {
|
|
|
37
42
|
|
|
38
43
|
static fromCombinatorDeclarationNode(combinatorDeclarationNode, fileContext) {
|
|
39
44
|
const combinator = Combinator.fromCombinatorDeclarationNode(combinatorDeclarationNode, fileContext),
|
|
40
|
-
combinatorDeclaration = new CombinatorDeclaration(combinator);
|
|
45
|
+
combinatorDeclaration = new CombinatorDeclaration(fileContext, combinator);
|
|
41
46
|
|
|
42
47
|
return combinatorDeclaration;
|
|
43
48
|
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import MetaType from "../metaType";
|
|
4
|
+
import Metavariable from "../metavariable";
|
|
5
|
+
|
|
6
|
+
import { nodeQuery } from "../utilities/query";
|
|
7
|
+
|
|
8
|
+
const metaTypeNodeQuery = nodeQuery("/metavariableDeclaration/metaType");
|
|
9
|
+
|
|
10
|
+
export default class MetavariableDeclaration {
|
|
11
|
+
constructor(string, metavariable) {
|
|
12
|
+
this.string = string;
|
|
13
|
+
this.metavariable = metavariable;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
getString() {
|
|
17
|
+
return this.string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
getMetavariable() {
|
|
21
|
+
return this.metavariable;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
verify(fileContext) {
|
|
25
|
+
let verified;
|
|
26
|
+
|
|
27
|
+
const metavariableDeclarationString = this.string; ///
|
|
28
|
+
|
|
29
|
+
fileContext.trace(`Verifying the '${metavariableDeclarationString}' metavariable declaration...`);
|
|
30
|
+
|
|
31
|
+
const metavariableVerified = this.metavariable.verify(fileContext);
|
|
32
|
+
|
|
33
|
+
if (metavariableVerified) {
|
|
34
|
+
fileContext.addMetavariable(this.metavariable);
|
|
35
|
+
|
|
36
|
+
verified = true;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (verified) {
|
|
40
|
+
fileContext.debug(`...verified the '${metavariableDeclarationString}' metavariable declaration.`);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return verified;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
static fromMetavariableDeclarationNode(metavariableDeclarationNode, fileContext) {
|
|
47
|
+
const metaTypeNode = metaTypeNodeQuery(metavariableDeclarationNode),
|
|
48
|
+
metaType = MetaType.fromMetaTypeNode(metaTypeNode, fileContext),
|
|
49
|
+
metavariable = Metavariable.fromMetavariableDeclarationNode(metavariableDeclarationNode, fileContext),
|
|
50
|
+
metavariableString = metavariable.getString(),
|
|
51
|
+
metaTypeString = metaType.getString(),
|
|
52
|
+
string = `${metavariableString}:${metaTypeString}`,
|
|
53
|
+
metavariableDeclaration = new MetavariableDeclaration(string, metavariable);
|
|
54
|
+
|
|
55
|
+
return metavariableDeclaration;
|
|
56
|
+
}
|
|
57
|
+
}
|
package/src/metaType.js
CHANGED
|
@@ -13,6 +13,12 @@ class MetaType {
|
|
|
13
13
|
return this.name;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
+
getString() {
|
|
17
|
+
const string = this.name; ///
|
|
18
|
+
|
|
19
|
+
return string;
|
|
20
|
+
}
|
|
21
|
+
|
|
16
22
|
isEqualTo(metaType) {
|
|
17
23
|
const equalTo = (this === metaType);
|
|
18
24
|
|
|
@@ -69,15 +75,3 @@ Object.assign(shim, {
|
|
|
69
75
|
});
|
|
70
76
|
|
|
71
77
|
export default MetaType;
|
|
72
|
-
|
|
73
|
-
export function metaTypeFromJSON(json, fileContext) {
|
|
74
|
-
let metaType = null;
|
|
75
|
-
|
|
76
|
-
if (json !== null) {
|
|
77
|
-
const { name } = json;
|
|
78
|
-
|
|
79
|
-
metaType = new MetaType(name);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
return metaType;
|
|
83
|
-
}
|
package/src/metavariable.js
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import Argument from "./argument";
|
|
4
|
+
import MetaType from "./metaType";
|
|
5
|
+
import LocalContext from "./context/local";
|
|
6
|
+
|
|
7
|
+
import { nodeQuery } from "./utilities/query";
|
|
4
8
|
import { metavariableNameFromMetavariableNode } from "./utilities/name";
|
|
5
9
|
import { metavariableNodeFromMetavariableString } from "./utilities/node";
|
|
6
10
|
|
|
11
|
+
const argumentNodeQuery = nodeQuery("/metavariable/argument"),
|
|
12
|
+
metaTypeNodeQuery = nodeQuery("/metavariableDeclaration/metaType"),
|
|
13
|
+
metavariableNodeQuery = nodeQuery("/metavariableDeclaration/metavariable");
|
|
14
|
+
|
|
7
15
|
export default class Metavariable {
|
|
8
16
|
constructor(string, node, name, metaType) {
|
|
9
17
|
this.string = string;
|
|
@@ -46,6 +54,40 @@ export default class Metavariable {
|
|
|
46
54
|
return metavariableNodeMatches;
|
|
47
55
|
}
|
|
48
56
|
|
|
57
|
+
verify(fileContext) {
|
|
58
|
+
let metavariableVerified = false;
|
|
59
|
+
|
|
60
|
+
const metavariableString = this.string; ///
|
|
61
|
+
|
|
62
|
+
fileContext.trace(`Verifying the '${metavariableString}' metavariable...`);
|
|
63
|
+
|
|
64
|
+
const metavariableNode = this.node, ///
|
|
65
|
+
metavariablePresent = fileContext.isMetavariablePresentByMetavariableNode(metavariableNode);
|
|
66
|
+
|
|
67
|
+
if (metavariablePresent) {
|
|
68
|
+
fileContext.debug(`The metavariable '${metavariableString}' is already present.`);
|
|
69
|
+
} else {
|
|
70
|
+
const argumentNode = argumentNodeQuery(metavariableNode),
|
|
71
|
+
argument = Argument.fromArgumentNode(argumentNode, fileContext);
|
|
72
|
+
|
|
73
|
+
if (argument === null) {
|
|
74
|
+
metavariableVerified = true;
|
|
75
|
+
} else {
|
|
76
|
+
const argumentVerified = argument.verify(fileContext);
|
|
77
|
+
|
|
78
|
+
if (argumentVerified) {
|
|
79
|
+
metavariableVerified = true;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (metavariableVerified) {
|
|
85
|
+
fileContext.debug(`...verified the '${metavariableString}' metavariable.`);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return metavariableVerified;
|
|
89
|
+
}
|
|
90
|
+
|
|
49
91
|
toJSON() {
|
|
50
92
|
const metaTypeJSON = (this.metaType !== null) ?
|
|
51
93
|
this.metaType.toJSON() :
|
|
@@ -70,9 +112,11 @@ export default class Metavariable {
|
|
|
70
112
|
|
|
71
113
|
let { metaType } = json;
|
|
72
114
|
|
|
73
|
-
|
|
115
|
+
if (metaType !== null) {
|
|
116
|
+
json = metaType; ///
|
|
74
117
|
|
|
75
|
-
|
|
118
|
+
metaType = MetaType.fromJSON(json, fileContext);
|
|
119
|
+
}
|
|
76
120
|
|
|
77
121
|
const metavariableName = metavariableNameFromMetavariableNode(metavariableNode),
|
|
78
122
|
name = metavariableName, ///
|
|
@@ -83,8 +127,8 @@ export default class Metavariable {
|
|
|
83
127
|
|
|
84
128
|
static fromMetavariableNode(metavariableNode, fileContext) {
|
|
85
129
|
const metavariableName = metavariableNameFromMetavariableNode(metavariableNode),
|
|
86
|
-
name = metavariableName, ///
|
|
87
130
|
node = metavariableNode, ///
|
|
131
|
+
name = metavariableName, ///
|
|
88
132
|
string = fileContext.nodeAsString(node),
|
|
89
133
|
metaType = null,
|
|
90
134
|
metavariable = new Metavariable(string, node, name, metaType);
|
|
@@ -94,11 +138,26 @@ export default class Metavariable {
|
|
|
94
138
|
|
|
95
139
|
static fromMetavariableNodeAndMetaType(metavariableNode, metaType, fileContext) {
|
|
96
140
|
const metavariableName = metavariableNameFromMetavariableNode(metavariableNode),
|
|
97
|
-
name = metavariableName, ///
|
|
98
141
|
node = metavariableNode, ///
|
|
142
|
+
name = metavariableName, ///
|
|
99
143
|
string = fileContext.nodeAsString(node),
|
|
100
144
|
metavariable = new Metavariable(string, node, name, metaType);
|
|
101
145
|
|
|
102
146
|
return metavariable;
|
|
103
147
|
}
|
|
148
|
+
|
|
149
|
+
static fromMetavariableDeclarationNode(metavariableDeclarationNode, fileContext) {
|
|
150
|
+
const metaTypeNode = metaTypeNodeQuery(metavariableDeclarationNode),
|
|
151
|
+
metavariableNode = metavariableNodeQuery(metavariableDeclarationNode),
|
|
152
|
+
metavariableName = metavariableNameFromMetavariableNode(metavariableNode),
|
|
153
|
+
localContext = LocalContext.fromFileContext(fileContext),
|
|
154
|
+
metavariableString = fileContext.nodeAsString(metavariableNode),
|
|
155
|
+
string = metavariableString, ///
|
|
156
|
+
node = metavariableNode, ///
|
|
157
|
+
name = metavariableName, ///
|
|
158
|
+
metaType = MetaType.fromMetaTypeNode(metaTypeNode, localContext),
|
|
159
|
+
metavariable = new Metavariable(string, node, name, metaType);
|
|
160
|
+
|
|
161
|
+
return metavariable;
|
|
162
|
+
}
|
|
104
163
|
}
|
package/src/premise.js
CHANGED
|
@@ -143,8 +143,8 @@ export default class Premise {
|
|
|
143
143
|
}
|
|
144
144
|
|
|
145
145
|
toJSON() {
|
|
146
|
-
const
|
|
147
|
-
unqualifiedStatement =
|
|
146
|
+
const unqualifiedStatementJSON = this.unqualifiedStatement.toJSON(),
|
|
147
|
+
unqualifiedStatement = unqualifiedStatementJSON, ///
|
|
148
148
|
json = {
|
|
149
149
|
unqualifiedStatement
|
|
150
150
|
};
|
|
@@ -155,12 +155,9 @@ export default class Premise {
|
|
|
155
155
|
static fromJSON(json, fileContext) {
|
|
156
156
|
let { unqualifiedStatement } = json;
|
|
157
157
|
|
|
158
|
-
|
|
159
|
-
parser = fileContext.getParser(),
|
|
160
|
-
unqualifiedStatementString = unqualifiedStatement, ///
|
|
161
|
-
unqualifiedStatementNode = unqualifiedStatementNodeFromUnqualifiedStatementString(unqualifiedStatementString, lexer, parser);
|
|
158
|
+
json = unqualifiedStatement; ///
|
|
162
159
|
|
|
163
|
-
unqualifiedStatement = UnqualifiedStatement.
|
|
160
|
+
unqualifiedStatement = UnqualifiedStatement.fromJSON(json, fileContext);
|
|
164
161
|
|
|
165
162
|
const premise = new Premise(fileContext, unqualifiedStatement);
|
|
166
163
|
|
|
@@ -36,7 +36,7 @@ export default class QualifiedStatement {
|
|
|
36
36
|
verify(substitutions, localContext) {
|
|
37
37
|
let verified;
|
|
38
38
|
|
|
39
|
-
const qualifiedStatementString =
|
|
39
|
+
const qualifiedStatementString = this.string; ///
|
|
40
40
|
|
|
41
41
|
localContext.trace(`Verifying the '${qualifiedStatementString}' qualified statement...`);
|
|
42
42
|
|
|
@@ -89,12 +89,10 @@ export default class QualifiedStatement {
|
|
|
89
89
|
const statementNode = statementNodeQuery(qualifiedStatementNode),
|
|
90
90
|
referenceNode = referenceNodeQuery(qualifiedStatementNode),
|
|
91
91
|
localContext = LocalContext.fromFileContext(fileContext),
|
|
92
|
-
statement = (statementNode
|
|
93
|
-
Statement.fromStatementNode(statementNode, localContext) :
|
|
94
|
-
null,
|
|
92
|
+
statement = Statement.fromStatementNode(statementNode, localContext),
|
|
95
93
|
reference = Reference.fromReferenceNode(referenceNode, fileContext),
|
|
96
94
|
node = qualifiedStatementNode, ///
|
|
97
|
-
string = fileContext.nodeAsString(node);
|
|
95
|
+
string = trim(fileContext.nodeAsString(node)); ///
|
|
98
96
|
|
|
99
97
|
qualifiedStatement = new QualifiedStatement(string, statement, reference);
|
|
100
98
|
}
|
|
@@ -3,29 +3,25 @@
|
|
|
3
3
|
import Statement from "../statement";
|
|
4
4
|
import LocalContext from "../context/local";
|
|
5
5
|
|
|
6
|
-
import { trim } from "../utilities/string";
|
|
7
6
|
import { nodeQuery } from "../utilities/query";
|
|
8
7
|
|
|
9
8
|
const statementNodeQuery = nodeQuery("/unqualifiedStatement/statement");
|
|
10
9
|
|
|
11
10
|
export default class UnqualifiedStatement {
|
|
12
|
-
constructor(
|
|
13
|
-
this.string = string;
|
|
11
|
+
constructor(statement) {
|
|
14
12
|
this.statement = statement;
|
|
15
13
|
}
|
|
16
14
|
|
|
17
|
-
getString() {
|
|
18
|
-
return this.string;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
15
|
getStatement() {
|
|
22
16
|
return this.statement;
|
|
23
17
|
}
|
|
24
18
|
|
|
19
|
+
getString() { return this.statement.getString(); }
|
|
20
|
+
|
|
25
21
|
verify(assignments, stated, localContext) {
|
|
26
22
|
let verified;
|
|
27
23
|
|
|
28
|
-
const unqualifiedStatementString =
|
|
24
|
+
const unqualifiedStatementString = this.getString(); ///
|
|
29
25
|
|
|
30
26
|
localContext.trace(`Verifying the '${unqualifiedStatementString}' unqualified statement...`);
|
|
31
27
|
|
|
@@ -40,19 +36,37 @@ export default class UnqualifiedStatement {
|
|
|
40
36
|
return verified;
|
|
41
37
|
}
|
|
42
38
|
|
|
39
|
+
toJSON() {
|
|
40
|
+
const statementJSON = this.statement.toJSON(),
|
|
41
|
+
statement = statementJSON, ///
|
|
42
|
+
json = {
|
|
43
|
+
statement
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
return json;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
static fromJSON(json, fileContext) {
|
|
50
|
+
let { statement } = json;
|
|
51
|
+
|
|
52
|
+
json = statement; ///
|
|
53
|
+
|
|
54
|
+
statement = Statement.fromJSON(json, fileContext);
|
|
55
|
+
|
|
56
|
+
const unqualifiedStatement = new UnqualifiedStatement(statement);
|
|
57
|
+
|
|
58
|
+
return unqualifiedStatement;
|
|
59
|
+
}
|
|
60
|
+
|
|
43
61
|
static fromUnqualifiedStatementNode(unqualifiedStatementNode, fileContext) {
|
|
44
62
|
let unqualifiedStatement = null;
|
|
45
63
|
|
|
46
64
|
if (unqualifiedStatementNode !== null) {
|
|
47
65
|
const statementNode = statementNodeQuery(unqualifiedStatementNode),
|
|
48
66
|
localContext = LocalContext.fromFileContext(fileContext),
|
|
49
|
-
statement = (statementNode
|
|
50
|
-
Statement.fromStatementNode(statementNode, localContext) :
|
|
51
|
-
null,
|
|
52
|
-
node = unqualifiedStatementNode, ///
|
|
53
|
-
string = fileContext.nodeAsString(node);
|
|
67
|
+
statement = Statement.fromStatementNode(statementNode, localContext);
|
|
54
68
|
|
|
55
|
-
unqualifiedStatement = new UnqualifiedStatement(
|
|
69
|
+
unqualifiedStatement = new UnqualifiedStatement(statement);
|
|
56
70
|
}
|
|
57
71
|
|
|
58
72
|
return unqualifiedStatement;
|