occam-verify-cli 0.0.702 → 0.0.705
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/verifier/node/statementAsCombinator.js +7 -20
- package/lib/verifier/node/termAsConstructor.js +9 -20
- package/lib/verifier/nodes/statement.js +33 -42
- package/lib/verifier/nodes/term.js +40 -49
- package/lib/verify/metastatement.js +5 -23
- package/lib/verify/statement.js +23 -4
- package/lib/verify/term.js +23 -4
- package/lib/verify/type.js +28 -4
- package/package.json +5 -5
- package/src/verifier/node/statementAsCombinator.js +5 -30
- package/src/verifier/node/termAsConstructor.js +5 -26
- package/src/verifier/nodes/statement.js +29 -36
- package/src/verifier/nodes/term.js +42 -49
- package/src/verify/metastatement.js +6 -33
- package/src/verify/statement.js +21 -0
- package/src/verify/term.js +20 -0
- package/src/verify/type.js +26 -0
|
@@ -9,8 +9,9 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _node = /*#__PURE__*/ _interop_require_default(require("../../verifier/node"));
|
|
12
|
-
var
|
|
13
|
-
var
|
|
12
|
+
var _type = require("./../../verify/type");
|
|
13
|
+
var _term = require("./../../verify/term");
|
|
14
|
+
var _statement = require("../../verify/statement");
|
|
14
15
|
var _ruleNames = require("../../ruleNames");
|
|
15
16
|
function _assert_this_initialized(self) {
|
|
16
17
|
if (self === void 0) {
|
|
@@ -141,22 +142,19 @@ var StatementAsCombinatorNodeVerifier = /*#__PURE__*/ function(NodeVerifier) {
|
|
|
141
142
|
switch(ruleName){
|
|
142
143
|
case _ruleNames.TYPE_RULE_NAME:
|
|
143
144
|
{
|
|
144
|
-
|
|
145
|
-
var typeNode = nonTerminalNode, typeVerified = (0, _termAsConstructor.verifyType)(typeNode, fileContext, verifyAhead), typeNodeVerified = typeVerified; ///
|
|
145
|
+
var typeNode = nonTerminalNode, standaloneTypeVerified = (0, _type.verifyStandaloneType)(typeNode, fileContext, verifyAhead), typeNodeVerified = standaloneTypeVerified; ///
|
|
146
146
|
nonTerminalNodeVerified = typeNodeVerified; ///
|
|
147
147
|
break;
|
|
148
148
|
}
|
|
149
149
|
case _ruleNames.TERM_RULE_NAME:
|
|
150
150
|
{
|
|
151
|
-
|
|
152
|
-
var termNode = nonTerminalNode, standaloneTermVerified = (0, _termAsConstructor.verifyStandaloneTerm)(termNode, fileContext, verifyAhead), termNodeVerified = standaloneTermVerified; ///
|
|
151
|
+
var termNode = nonTerminalNode, standaloneTermVerified = (0, _term.verifyStandaloneTerm)(termNode, fileContext, verifyAhead), termNodeVerified = standaloneTermVerified; ///
|
|
153
152
|
nonTerminalNodeVerified = termNodeVerified; ///
|
|
154
153
|
break;
|
|
155
154
|
}
|
|
156
155
|
case _ruleNames.STATEMENT_RULE_NAME:
|
|
157
156
|
{
|
|
158
|
-
|
|
159
|
-
var statementNode = nonTerminalNode, standaloneStatementVerified = verifyStandaloneStatement(statementNode, fileContext, verifyAhead), statementNodeVerified = standaloneStatementVerified; ///
|
|
157
|
+
var statementNode = nonTerminalNode, standaloneStatementVerified = (0, _statement.verifyStandaloneStatement)(statementNode, fileContext, verifyAhead), statementNodeVerified = standaloneStatementVerified; ///
|
|
160
158
|
nonTerminalNodeVerified = statementNodeVerified; ///
|
|
161
159
|
break;
|
|
162
160
|
}
|
|
@@ -174,16 +172,5 @@ var StatementAsCombinatorNodeVerifier = /*#__PURE__*/ function(NodeVerifier) {
|
|
|
174
172
|
}(_node.default);
|
|
175
173
|
var statementAsCombinatorNodeVerifier = new StatementAsCombinatorNodeVerifier();
|
|
176
174
|
var _default = statementAsCombinatorNodeVerifier;
|
|
177
|
-
function verifyStandaloneStatement(statementNode, fileContext, verifyAhead) {
|
|
178
|
-
var standaloneStatementVerified;
|
|
179
|
-
var statementString = fileContext.nodeAsString(statementNode);
|
|
180
|
-
fileContext.trace("Verifying the '".concat(statementString, "' standalone statement..."), statementNode);
|
|
181
|
-
var context = fileContext, derived = false, assignments = [], statementVerified = (0, _statement.default)(statementNode, assignments, derived, context, verifyAhead);
|
|
182
|
-
standaloneStatementVerified = statementVerified; ///
|
|
183
|
-
if (standaloneStatementVerified) {
|
|
184
|
-
fileContext.debug("...verified the '".concat(statementString, "' standalone statement."), statementNode);
|
|
185
|
-
}
|
|
186
|
-
return standaloneStatementVerified;
|
|
187
|
-
}
|
|
188
175
|
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2RlL3N0YXRlbWVudEFzQ29tYmluYXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE5vZGVWZXJpZmllciBmcm9tIFwiLi4vLi4vdmVyaWZpZXIvbm9kZVwiO1xuXG5pbXBvcnQgeyB2ZXJpZnlTdGFuZGFsb25lVHlwZSB9IGZyb20gXCIuLy4uLy4uL3ZlcmlmeS90eXBlXCI7XG5pbXBvcnQgeyB2ZXJpZnlTdGFuZGFsb25lVGVybSB9IGZyb20gXCIuLy4uLy4uL3ZlcmlmeS90ZXJtXCI7XG5pbXBvcnQgeyB2ZXJpZnlTdGFuZGFsb25lU3RhdGVtZW50IH0gZnJvbSBcIi4uLy4uL3ZlcmlmeS9zdGF0ZW1lbnRcIjtcbmltcG9ydCB7IFRZUEVfUlVMRV9OQU1FLCBURVJNX1JVTEVfTkFNRSwgU1RBVEVNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi8uLi9ydWxlTmFtZXNcIjtcblxuY2xhc3MgU3RhdGVtZW50QXNDb21iaW5hdG9yTm9kZVZlcmlmaWVyIGV4dGVuZHMgTm9kZVZlcmlmaWVyIHtcbiAgdmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgZmlsZUNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gICAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTtcblxuICAgIHN3aXRjaCAocnVsZU5hbWUpIHtcbiAgICAgIGNhc2UgVFlQRV9SVUxFX05BTUU6IHtcbiAgICAgICAgY29uc3QgdHlwZU5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgICBzdGFuZGFsb25lVHlwZVZlcmlmaWVkID0gdmVyaWZ5U3RhbmRhbG9uZVR5cGUodHlwZU5vZGUsIGZpbGVDb250ZXh0LCB2ZXJpZnlBaGVhZCksXG4gICAgICAgICAgICAgIHR5cGVOb2RlVmVyaWZpZWQgPSBzdGFuZGFsb25lVHlwZVZlcmlmaWVkOyAgLy8vXG5cbiAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSB0eXBlTm9kZVZlcmlmaWVkOyAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBURVJNX1JVTEVfTkFNRToge1xuICAgICAgICBjb25zdCB0ZXJtTm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgLy8vXG4gICAgICAgICAgICAgIHN0YW5kYWxvbmVUZXJtVmVyaWZpZWQgPSB2ZXJpZnlTdGFuZGFsb25lVGVybSh0ZXJtTm9kZSwgZmlsZUNvbnRleHQsIHZlcmlmeUFoZWFkKSxcbiAgICAgICAgICAgICAgdGVybU5vZGVWZXJpZmllZCA9IHN0YW5kYWxvbmVUZXJtVmVyaWZpZWQ7ICAvLy9cblxuICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHRlcm1Ob2RlVmVyaWZpZWQ7IC8vL1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIFNUQVRFTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgLy8vXG4gICAgICAgICAgICAgIHN0YW5kYWxvbmVTdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVN0YW5kYWxvbmVTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgZmlsZUNvbnRleHQsIHZlcmlmeUFoZWFkKSxcbiAgICAgICAgICAgICAgc3RhdGVtZW50Tm9kZVZlcmlmaWVkID0gc3RhbmRhbG9uZVN0YXRlbWVudFZlcmlmaWVkOyAvLy9cblxuICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHN0YXRlbWVudE5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBzdXBlci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBmaWxlQ29udGV4dCwgdmVyaWZ5QWhlYWQpOyAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG4gIH1cbn1cblxuY29uc3Qgc3RhdGVtZW50QXNDb21iaW5hdG9yTm9kZVZlcmlmaWVyID0gbmV3IFN0YXRlbWVudEFzQ29tYmluYXRvck5vZGVWZXJpZmllcigpO1xuXG5leHBvcnQgZGVmYXVsdCBzdGF0ZW1lbnRBc0NvbWJpbmF0b3JOb2RlVmVyaWZpZXI7XG5cbiJdLCJuYW1lcyI6WyJTdGF0ZW1lbnRBc0NvbWJpbmF0b3JOb2RlVmVyaWZpZXIiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJmaWxlQ29udGV4dCIsInZlcmlmeUFoZWFkIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwiVFlQRV9SVUxFX05BTUUiLCJ0eXBlTm9kZSIsInN0YW5kYWxvbmVUeXBlVmVyaWZpZWQiLCJ2ZXJpZnlTdGFuZGFsb25lVHlwZSIsInR5cGVOb2RlVmVyaWZpZWQiLCJURVJNX1JVTEVfTkFNRSIsInRlcm1Ob2RlIiwic3RhbmRhbG9uZVRlcm1WZXJpZmllZCIsInZlcmlmeVN0YW5kYWxvbmVUZXJtIiwidGVybU5vZGVWZXJpZmllZCIsIlNUQVRFTUVOVF9SVUxFX05BTUUiLCJzdGF0ZW1lbnROb2RlIiwic3RhbmRhbG9uZVN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5U3RhbmRhbG9uZVN0YXRlbWVudCIsInN0YXRlbWVudE5vZGVWZXJpZmllZCIsIk5vZGVWZXJpZmllciIsInN0YXRlbWVudEFzQ29tYmluYXRvck5vZGVWZXJpZmllciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBMkRBOzs7ZUFBQTs7OzJEQXpEeUI7b0JBRVk7b0JBQ0E7eUJBQ0s7eUJBQzBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFcEUsSUFBQSxBQUFNQSxrREFBRCxBQUFMO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztrQkFBQUE7O1lBQ0pDLEtBQUFBO21CQUFBQSxTQUFBQSxzQkFBc0JDLGVBQWUsRUFBRUMsV0FBVyxFQUFFQyxXQUFXO2dCQUM3RCxJQUFJQztnQkFFSixJQUFNQyxXQUFXSixnQkFBZ0JLLFdBQVc7Z0JBRTVDLE9BQVFEO29CQUNOLEtBQUtFLHlCQUFjO3dCQUFFOzRCQUNuQixJQUFNQyxXQUFXUCxpQkFDWFEseUJBQXlCQyxJQUFBQSwwQkFBb0IsRUFBQ0YsVUFBVU4sYUFBYUMsY0FDckVRLG1CQUFtQkYsd0JBQXlCLEdBQUc7NEJBRXJETCwwQkFBMEJPLGtCQUFrQixHQUFHOzRCQUUvQzt3QkFDRjtvQkFFQSxLQUFLQyx5QkFBYzt3QkFBRTs0QkFDbkIsSUFBTUMsV0FBV1osaUJBQ1hhLHlCQUF5QkMsSUFBQUEsMEJBQW9CLEVBQUNGLFVBQVVYLGFBQWFDLGNBQ3JFYSxtQkFBbUJGLHdCQUF5QixHQUFHOzRCQUVyRFYsMEJBQTBCWSxrQkFBa0IsR0FBRzs0QkFFL0M7d0JBQ0Y7b0JBRUEsS0FBS0MsOEJBQW1CO3dCQUFFOzRCQUN4QixJQUFNQyxnQkFBZ0JqQixpQkFDaEJrQiw4QkFBOEJDLElBQUFBLG9DQUF5QixFQUFDRixlQUFlaEIsYUFBYUMsY0FDcEZrQix3QkFBd0JGLDZCQUE2QixHQUFHOzRCQUU5RGYsMEJBQTBCaUIsdUJBQXVCLEdBQUc7NEJBRXBEO3dCQUNGO29CQUVBO3dCQUFTOzRCQUNQakIsMEJBQTBCLHVCQXRDNUJMLDhDQXNDa0NDLHlCQUFOLElBQUssYUFBdUJDLGlCQUFpQkMsYUFBYUMsY0FBYyxHQUFHOzRCQUVyRzt3QkFDRjtnQkFDRjtnQkFFQSxPQUFPQztZQUNUOzs7V0E3Q0lMO0VBQTBDdUIsYUFBWTtBQWdENUQsSUFBTUMsb0NBQW9DLElBQUl4QjtJQUU5QyxXQUFld0IifQ==
|
|
@@ -12,14 +12,14 @@ _export(exports, {
|
|
|
12
12
|
default: function() {
|
|
13
13
|
return _default;
|
|
14
14
|
},
|
|
15
|
-
|
|
16
|
-
return
|
|
15
|
+
verifyArgument: function() {
|
|
16
|
+
return verifyArgument;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
-
var _term = /*#__PURE__*/ _interop_require_default(require("../../verify/term"));
|
|
20
19
|
var _node = /*#__PURE__*/ _interop_require_default(require("../../verifier/node"));
|
|
21
|
-
var _givenType = /*#__PURE__*/ _interop_require_default(require("../../verify/givenType"));
|
|
22
20
|
var _query = require("../../utilities/query");
|
|
21
|
+
var _type = require("../../verify/type");
|
|
22
|
+
var _term = require("../../verify/term");
|
|
23
23
|
var _ruleNames = require("../../ruleNames");
|
|
24
24
|
function _assert_this_initialized(self) {
|
|
25
25
|
if (self === void 0) {
|
|
@@ -151,7 +151,7 @@ var TermAsConstructorNodeVerifier = /*#__PURE__*/ function(NodeVerifier) {
|
|
|
151
151
|
switch(ruleName){
|
|
152
152
|
case _ruleNames.TERM_RULE_NAME:
|
|
153
153
|
{
|
|
154
|
-
var termNode = nonTerminalNode, standaloneTermVerified = verifyStandaloneTerm(termNode, fileContext, verifyAhead), termNodeVerified = standaloneTermVerified; ///
|
|
154
|
+
var termNode = nonTerminalNode, standaloneTermVerified = (0, _term.verifyStandaloneTerm)(termNode, fileContext, verifyAhead), termNodeVerified = standaloneTermVerified; ///
|
|
155
155
|
nonTerminalNodeVerified = termNodeVerified; ///
|
|
156
156
|
break;
|
|
157
157
|
}
|
|
@@ -175,28 +175,17 @@ var TermAsConstructorNodeVerifier = /*#__PURE__*/ function(NodeVerifier) {
|
|
|
175
175
|
}(_node.default);
|
|
176
176
|
var termAsConstructorNodeVerifier = new TermAsConstructorNodeVerifier();
|
|
177
177
|
var _default = termAsConstructorNodeVerifier;
|
|
178
|
-
function verifyStandaloneTerm(termNode, fileContext, verifyAhead) {
|
|
179
|
-
var standaloneTermVerified;
|
|
180
|
-
var termString = fileContext.nodeAsString(termNode);
|
|
181
|
-
fileContext.trace("Verifying the '".concat(termString, "' standalone term..."), termNode);
|
|
182
|
-
var terms = [], context = fileContext, termVerified = (0, _term.default)(termNode, terms, context, verifyAhead);
|
|
183
|
-
standaloneTermVerified = termVerified; ///
|
|
184
|
-
if (standaloneTermVerified) {
|
|
185
|
-
fileContext.debug("...verified the '".concat(termString, "' standalone term."), termNode);
|
|
186
|
-
}
|
|
187
|
-
return standaloneTermVerified;
|
|
188
|
-
}
|
|
189
178
|
function verifyArgument(argumentNode, fileContext, verifyAhead) {
|
|
190
179
|
var argumentVerified;
|
|
191
180
|
var argumentString = fileContext.nodeAsString(argumentNode);
|
|
192
181
|
fileContext.trace("Verifying the '".concat(argumentString, "' argument..."), argumentNode);
|
|
193
182
|
var typeNode = typeNodeQuery(argumentNode), termNode = termNodeQuery(argumentNode);
|
|
194
183
|
if (typeNode !== null) {
|
|
195
|
-
var
|
|
196
|
-
argumentVerified =
|
|
184
|
+
var standaloneTypeVerified = (0, _type.verifyStandaloneType)(typeNode, fileContext, verifyAhead);
|
|
185
|
+
argumentVerified = standaloneTypeVerified; ///
|
|
197
186
|
}
|
|
198
187
|
if (termNode !== null) {
|
|
199
|
-
var standaloneTermVerified = verifyStandaloneTerm(termNode, fileContext, verifyAhead);
|
|
188
|
+
var standaloneTermVerified = (0, _term.verifyStandaloneTerm)(termNode, fileContext, verifyAhead);
|
|
200
189
|
argumentVerified = standaloneTermVerified; ///
|
|
201
190
|
}
|
|
202
191
|
if (argumentVerified) {
|
|
@@ -205,4 +194,4 @@ function verifyArgument(argumentNode, fileContext, verifyAhead) {
|
|
|
205
194
|
return argumentVerified;
|
|
206
195
|
}
|
|
207
196
|
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2RlL3Rlcm1Bc0NvbnN0cnVjdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTm9kZVZlcmlmaWVyIGZyb20gXCIuLi8uLi92ZXJpZmllci9ub2RlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IHZlcmlmeVN0YW5kYWxvbmVUeXBlIH0gZnJvbSBcIi4uLy4uL3ZlcmlmeS90eXBlXCI7XG5pbXBvcnQgeyB2ZXJpZnlTdGFuZGFsb25lVGVybSB9IGZyb20gXCIuLi8uLi92ZXJpZnkvdGVybVwiO1xuaW1wb3J0IHsgVEVSTV9SVUxFX05BTUUsIEFSR1VNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi8uLi9ydWxlTmFtZXNcIjtcblxuY29uc3QgdHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9hcmd1bWVudC90eXBlXCIpLFxuICAgICAgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9hcmd1bWVudC90ZXJtXCIpO1xuXG5jbGFzcyBUZXJtQXNDb25zdHJ1Y3Rvck5vZGVWZXJpZmllciBleHRlbmRzIE5vZGVWZXJpZmllciB7XG4gIHZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGZpbGVDb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcblxuICAgIGNvbnN0IHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCk7XG5cbiAgICBzd2l0Y2ggKHJ1bGVOYW1lKSB7XG4gICAgICBjYXNlIFRFUk1fUlVMRV9OQU1FOiB7XG4gICAgICAgIGNvbnN0IHRlcm1Ob2RlID0gbm9uVGVybWluYWxOb2RlLCAvLy9cbiAgICAgICAgICAgICAgc3RhbmRhbG9uZVRlcm1WZXJpZmllZCA9IHZlcmlmeVN0YW5kYWxvbmVUZXJtKHRlcm1Ob2RlLCBmaWxlQ29udGV4dCwgdmVyaWZ5QWhlYWQpLFxuICAgICAgICAgICAgICB0ZXJtTm9kZVZlcmlmaWVkID0gc3RhbmRhbG9uZVRlcm1WZXJpZmllZDsgIC8vL1xuXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdGVybU5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgQVJHVU1FTlRfUlVMRV9OQU1FOiB7XG4gICAgICAgIGNvbnN0IGFyZ3VtZW50Tm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgLy8vXG4gICAgICAgICAgICAgIGFyZ3VtZW50VmVyaWZpZWQgPSB2ZXJpZnlBcmd1bWVudChhcmd1bWVudE5vZGUsIGZpbGVDb250ZXh0LCB2ZXJpZnlBaGVhZCksXG4gICAgICAgICAgICAgIGFyZ3VtZW50Tm9kZVZlcmlmaWVkID0gYXJndW1lbnRWZXJpZmllZDsgIC8vL1xuXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gYXJndW1lbnROb2RlVmVyaWZpZWQ7IC8vL1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gc3VwZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgZmlsZUNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG4gIH1cbn1cblxuY29uc3QgdGVybUFzQ29uc3RydWN0b3JOb2RlVmVyaWZpZXIgPSBuZXcgVGVybUFzQ29uc3RydWN0b3JOb2RlVmVyaWZpZXIoKTtcblxuZXhwb3J0IGRlZmF1bHQgdGVybUFzQ29uc3RydWN0b3JOb2RlVmVyaWZpZXI7XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlBcmd1bWVudChhcmd1bWVudE5vZGUsIGZpbGVDb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgYXJndW1lbnRWZXJpZmllZDtcblxuICBjb25zdCBhcmd1bWVudFN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyhhcmd1bWVudE5vZGUpO1xuXG4gIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2FyZ3VtZW50U3RyaW5nfScgYXJndW1lbnQuLi5gLCBhcmd1bWVudE5vZGUpO1xuXG4gIGNvbnN0IHR5cGVOb2RlID0gdHlwZU5vZGVRdWVyeShhcmd1bWVudE5vZGUpLFxuICAgICAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoYXJndW1lbnROb2RlKTtcblxuICBpZiAodHlwZU5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGFuZGFsb25lVHlwZVZlcmlmaWVkID0gdmVyaWZ5U3RhbmRhbG9uZVR5cGUodHlwZU5vZGUsIGZpbGVDb250ZXh0LCB2ZXJpZnlBaGVhZCk7XG5cbiAgICBhcmd1bWVudFZlcmlmaWVkID0gc3RhbmRhbG9uZVR5cGVWZXJpZmllZDsgLy8vXG4gIH1cblxuICBpZiAodGVybU5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGFuZGFsb25lVGVybVZlcmlmaWVkID0gdmVyaWZ5U3RhbmRhbG9uZVRlcm0odGVybU5vZGUsIGZpbGVDb250ZXh0LCB2ZXJpZnlBaGVhZCk7XG5cbiAgICBhcmd1bWVudFZlcmlmaWVkID0gc3RhbmRhbG9uZVRlcm1WZXJpZmllZDsgIC8vL1xuICB9XG5cbiAgaWYgKGFyZ3VtZW50VmVyaWZpZWQpIHtcbiAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2FyZ3VtZW50U3RyaW5nfScgYXJndW1lbnQuYCwgYXJndW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBhcmd1bWVudFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUFyZ3VtZW50IiwidHlwZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInRlcm1Ob2RlUXVlcnkiLCJUZXJtQXNDb25zdHJ1Y3Rvck5vZGVWZXJpZmllciIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsImZpbGVDb250ZXh0IiwidmVyaWZ5QWhlYWQiLCJub25UZXJtaW5hbE5vZGVWZXJpZmllZCIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJURVJNX1JVTEVfTkFNRSIsInRlcm1Ob2RlIiwic3RhbmRhbG9uZVRlcm1WZXJpZmllZCIsInZlcmlmeVN0YW5kYWxvbmVUZXJtIiwidGVybU5vZGVWZXJpZmllZCIsIkFSR1VNRU5UX1JVTEVfTkFNRSIsImFyZ3VtZW50Tm9kZSIsImFyZ3VtZW50VmVyaWZpZWQiLCJhcmd1bWVudE5vZGVWZXJpZmllZCIsIk5vZGVWZXJpZmllciIsInRlcm1Bc0NvbnN0cnVjdG9yTm9kZVZlcmlmaWVyIiwiYXJndW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInR5cGVOb2RlIiwic3RhbmRhbG9uZVR5cGVWZXJpZmllZCIsInZlcmlmeVN0YW5kYWxvbmVUeXBlIiwiZGVidWciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQW9EQSxPQUE2QztlQUE3Qzs7SUFFZ0JBLGNBQWM7ZUFBZEE7OzsyREFwRFM7cUJBRUM7b0JBQ1c7b0JBQ0E7eUJBQ2M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVuRCxJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsbUJBQzFCQyxnQkFBZ0JELElBQUFBLGdCQUFTLEVBQUM7QUFFaEMsSUFBQSxBQUFNRSw4Q0FBRCxBQUFMO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztrQkFBQUE7O1lBQ0pDLEtBQUFBO21CQUFBQSxTQUFBQSxzQkFBc0JDLGVBQWUsRUFBRUMsV0FBVyxFQUFFQyxXQUFXO2dCQUM3RCxJQUFJQztnQkFFSixJQUFNQyxXQUFXSixnQkFBZ0JLLFdBQVc7Z0JBRTVDLE9BQVFEO29CQUNOLEtBQUtFLHlCQUFjO3dCQUFFOzRCQUNuQixJQUFNQyxXQUFXUCxpQkFDWFEseUJBQXlCQyxJQUFBQSwwQkFBb0IsRUFBQ0YsVUFBVU4sYUFBYUMsY0FDckVRLG1CQUFtQkYsd0JBQXlCLEdBQUc7NEJBRXJETCwwQkFBMEJPLGtCQUFrQixHQUFHOzRCQUUvQzt3QkFDRjtvQkFFQSxLQUFLQyw2QkFBa0I7d0JBQUU7NEJBQ3ZCLElBQU1DLGVBQWVaLGlCQUNmYSxtQkFBbUJuQixlQUFla0IsY0FBY1gsYUFBYUMsY0FDN0RZLHVCQUF1QkQsa0JBQW1CLEdBQUc7NEJBRW5EViwwQkFBMEJXLHNCQUFzQixHQUFHOzRCQUVuRDt3QkFDRjtvQkFFQTt3QkFBUzs0QkFDUFgsMEJBQTBCLHVCQTVCNUJMLDBDQTRCa0NDLHlCQUFOLElBQUssYUFBdUJDLGlCQUFpQkMsYUFBYUM7NEJBRXBGO3dCQUNGO2dCQUNGO2dCQUVBLE9BQU9DO1lBQ1Q7OztXQW5DSUw7RUFBc0NpQixhQUFZO0FBc0N4RCxJQUFNQyxnQ0FBZ0MsSUFBSWxCO0lBRTFDLFdBQWVrQjtBQUVSLFNBQVN0QixlQUFla0IsWUFBWSxFQUFFWCxXQUFXLEVBQUVDLFdBQVc7SUFDbkUsSUFBSVc7SUFFSixJQUFNSSxpQkFBaUJoQixZQUFZaUIsWUFBWSxDQUFDTjtJQUVoRFgsWUFBWWtCLEtBQUssQ0FBQyxBQUFDLGtCQUFnQyxPQUFmRixnQkFBZSxrQkFBZ0JMO0lBRW5FLElBQU1RLFdBQVd6QixjQUFjaUIsZUFDekJMLFdBQVdWLGNBQWNlO0lBRS9CLElBQUlRLGFBQWEsTUFBTTtRQUNyQixJQUFNQyx5QkFBeUJDLElBQUFBLDBCQUFvQixFQUFDRixVQUFVbkIsYUFBYUM7UUFFM0VXLG1CQUFtQlEsd0JBQXdCLEdBQUc7SUFDaEQ7SUFFQSxJQUFJZCxhQUFhLE1BQU07UUFDckIsSUFBTUMseUJBQXlCQyxJQUFBQSwwQkFBb0IsRUFBQ0YsVUFBVU4sYUFBYUM7UUFFM0VXLG1CQUFtQkwsd0JBQXlCLEdBQUc7SUFDakQ7SUFFQSxJQUFJSyxrQkFBa0I7UUFDcEJaLFlBQVlzQixLQUFLLENBQUMsQUFBQyxvQkFBa0MsT0FBZk4sZ0JBQWUsZ0JBQWNMO0lBQ3JFO0lBRUEsT0FBT0M7QUFDVCJ9
|
|
@@ -2,23 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
default: function() {
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
13
8
|
return _default;
|
|
14
|
-
},
|
|
15
|
-
verifyMetaargument: function() {
|
|
16
|
-
return verifyMetaargument;
|
|
17
9
|
}
|
|
18
10
|
});
|
|
19
11
|
var _nodes = /*#__PURE__*/ _interop_require_default(require("../../verifier/nodes"));
|
|
12
|
+
var _term = /*#__PURE__*/ _interop_require_default(require("../../verifier/nodes/term"));
|
|
20
13
|
var _query = require("../../utilities/query");
|
|
21
|
-
var _term = require("../../verifier/nodes/term");
|
|
22
14
|
var _metaTypes = require("../../metaTypes");
|
|
23
15
|
var _ruleNames = require("../../ruleNames");
|
|
24
16
|
function _assert_this_initialized(self) {
|
|
@@ -153,13 +145,13 @@ var StatementNodesVerifier = /*#__PURE__*/ function(NodesVerifier) {
|
|
|
153
145
|
switch(ruleName){
|
|
154
146
|
case _ruleNames.ARGUMENT_RULE_NAME:
|
|
155
147
|
{
|
|
156
|
-
var argumentNode = nonTerminalNode, constructorArgumentNode = combinatorNonTerminalNode,
|
|
157
|
-
nonTerminalNodeVerified =
|
|
148
|
+
var argumentNode = nonTerminalNode, constructorArgumentNode = combinatorNonTerminalNode, argumentNodeVerified = _term.default.verifyArgumentNode(argumentNode, constructorArgumentNode, context, verifyAhead);
|
|
149
|
+
nonTerminalNodeVerified = argumentNodeVerified; ///
|
|
158
150
|
break;
|
|
159
151
|
}
|
|
160
152
|
case _ruleNames.META_ARGUMENT_RULE_NAME:
|
|
161
153
|
{
|
|
162
|
-
var metaArgumentNode = nonTerminalNode, combinatorMetaargumentNode = combinatorNonTerminalNode,
|
|
154
|
+
var metaArgumentNode = nonTerminalNode, combinatorMetaargumentNode = combinatorNonTerminalNode, metaArgumentNodeVerified = this.verifyMetaargumentNode(metaArgumentNode, combinatorMetaargumentNode, context, verifyAhead);
|
|
163
155
|
nonTerminalNodeVerified = metaArgumentNodeVerified; ///
|
|
164
156
|
break;
|
|
165
157
|
}
|
|
@@ -172,37 +164,36 @@ var StatementNodesVerifier = /*#__PURE__*/ function(NodesVerifier) {
|
|
|
172
164
|
}
|
|
173
165
|
return nonTerminalNodeVerified;
|
|
174
166
|
}
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
key: "verifyMetaargumentNode",
|
|
170
|
+
value: function verifyMetaargumentNode(metaArgumentNode, combinatorMetaargumentNode, context, verifyAhead) {
|
|
171
|
+
var metaArgumentNodeVerified = false;
|
|
172
|
+
var metaArgumentString = context.nodeAsString(metaArgumentNode);
|
|
173
|
+
var statementNode = statementNodeQuery(metaArgumentNode), combinatorMetaTYpeNode = metaTypeNodeQuery(combinatorMetaargumentNode);
|
|
174
|
+
if (statementNode === null) {
|
|
175
|
+
context.debug("Expected a statement but got a '".concat(metaArgumentString, "' meta-type."), metaArgumentNode);
|
|
176
|
+
} else {
|
|
177
|
+
if (combinatorMetaTYpeNode === null) {
|
|
178
|
+
var combinatorMetaargumentString = context.nodeAsString(combinatorMetaargumentNode);
|
|
179
|
+
context.debug("Expected a meta-type but got a '".concat(combinatorMetaargumentString, "' statement."), metaArgumentNode);
|
|
180
|
+
} else {
|
|
181
|
+
var combinatorMetaTypeTerminalNode = metaTypeTerminalNodeQuery(combinatorMetaTYpeNode), content = combinatorMetaTypeTerminalNode.getContent(), contentStatementMetaType = content === _metaTypes.STATEMENT_META_TYPE;
|
|
182
|
+
if (!contentStatementMetaType) {
|
|
183
|
+
context.debug("Expected the meta-type of the combinator to be '".concat(_metaTypes.STATEMENT_META_TYPE, "' but got '").concat(content, "' instead."), metaArgumentNode);
|
|
184
|
+
} else {
|
|
185
|
+
var verifiedAhead = verifyAhead();
|
|
186
|
+
metaArgumentNodeVerified = verifiedAhead; ///
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return metaArgumentNodeVerified;
|
|
191
|
+
}
|
|
175
192
|
}
|
|
176
193
|
]);
|
|
177
194
|
return StatementNodesVerifier;
|
|
178
195
|
}(_nodes.default);
|
|
179
196
|
var statementNodesVerifier = new StatementNodesVerifier();
|
|
180
197
|
var _default = statementNodesVerifier;
|
|
181
|
-
function verifyMetaargument(metaArgumentNode, combinatorMetaargumentNode, context, verifyAhead) {
|
|
182
|
-
var metaArgumentVerified = false;
|
|
183
|
-
var metaArgumentString = context.nodeAsString(metaArgumentNode);
|
|
184
|
-
context.trace("Verifying the '".concat(metaArgumentString, "' metaargument..."), metaArgumentNode);
|
|
185
|
-
var statementNode = statementNodeQuery(metaArgumentNode), combinatorMetaTYpeNode = metaTypeNodeQuery(combinatorMetaargumentNode);
|
|
186
|
-
if (statementNode === null) {
|
|
187
|
-
context.debug("Expected a statement but got a '".concat(metaArgumentString, "' meta-type."), metaArgumentNode);
|
|
188
|
-
} else {
|
|
189
|
-
if (combinatorMetaTYpeNode === null) {
|
|
190
|
-
var combinatorMetaargumentString = context.nodeAsString(combinatorMetaargumentNode);
|
|
191
|
-
context.debug("Expected a meta-type but got a '".concat(combinatorMetaargumentString, "' statement."), metaArgumentNode);
|
|
192
|
-
} else {
|
|
193
|
-
var combinatorMetaTypeTerminalNode = metaTypeTerminalNodeQuery(combinatorMetaTYpeNode), content = combinatorMetaTypeTerminalNode.getContent(), contentStatementMetaType = content === _metaTypes.STATEMENT_META_TYPE;
|
|
194
|
-
if (!contentStatementMetaType) {
|
|
195
|
-
context.debug("Expected the meta-type of the combinator to be '".concat(_metaTypes.STATEMENT_META_TYPE, "' but got '").concat(content, "' instead."), metaArgumentNode);
|
|
196
|
-
} else {
|
|
197
|
-
var verifiedAhead = verifyAhead();
|
|
198
|
-
metaArgumentVerified = verifiedAhead; ///
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
if (metaArgumentVerified) {
|
|
203
|
-
context.debug("...verified the '".concat(metaArgumentString, "' metaargument."), metaArgumentNode);
|
|
204
|
-
}
|
|
205
|
-
return metaArgumentVerified;
|
|
206
|
-
}
|
|
207
198
|
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy9zdGF0ZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb2Rlc1ZlcmlmaWVyIGZyb20gXCIuLi8uLi92ZXJpZmllci9ub2Rlc1wiO1xuaW1wb3J0IHRlcm1Ob2Rlc1ZlcmlmaWVyIGZyb20gXCIuLi8uLi92ZXJpZmllci9ub2Rlcy90ZXJtXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IFNUQVRFTUVOVF9NRVRBX1RZUEUgfSBmcm9tIFwiLi4vLi4vbWV0YVR5cGVzXCI7XG5pbXBvcnQgeyBBUkdVTUVOVF9SVUxFX05BTUUsIE1FVEFfQVJHVU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lc1wiO1xuXG5jb25zdCBtZXRhVHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhQXJndW1lbnQvbWV0YVR5cGUhXCIpLFxuICAgICAgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFBcmd1bWVudC9zdGF0ZW1lbnQhXCIpLFxuICAgICAgbWV0YVR5cGVUZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhVHlwZS9AbWV0YS10eXBlXCIpO1xuXG5jbGFzcyBTdGF0ZW1lbnROb2Rlc1ZlcmlmaWVyIGV4dGVuZHMgTm9kZXNWZXJpZmllciB7XG4gIHZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbm9uVGVybWluYWxOb2RlQSwgLy8vXG4gICAgICAgICAgY29tYmluYXRvck5vblRlcm1pbmFsTm9kZSA9IG5vblRlcm1pbmFsTm9kZUI7IC8vL1xuXG4gICAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSwgLy8vXG4gICAgICAgICAgY29tYmluYXRvclJ1bGVOYW1lID0gY29tYmluYXRvck5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpOyAvLy9cblxuICAgIGlmIChydWxlTmFtZSA9PT0gY29tYmluYXRvclJ1bGVOYW1lKSB7XG4gICAgICBzd2l0Y2ggKHJ1bGVOYW1lKSB7XG4gICAgICAgIGNhc2UgQVJHVU1FTlRfUlVMRV9OQU1FOiB7XG4gICAgICAgICAgY29uc3QgYXJndW1lbnROb2RlID0gbm9uVGVybWluYWxOb2RlLCAvLy9cbiAgICAgICAgICAgICAgICBjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSA9IGNvbWJpbmF0b3JOb25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgICAgIGFyZ3VtZW50Tm9kZVZlcmlmaWVkID0gdGVybU5vZGVzVmVyaWZpZXIudmVyaWZ5QXJndW1lbnROb2RlKGFyZ3VtZW50Tm9kZSwgY29uc3RydWN0b3JBcmd1bWVudE5vZGUsIGNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gYXJndW1lbnROb2RlVmVyaWZpZWQ7IC8vL1xuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlIE1FVEFfQVJHVU1FTlRfUlVMRV9OQU1FOiB7XG4gICAgICAgICAgY29uc3QgbWV0YUFyZ3VtZW50Tm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgLy8vXG4gICAgICAgICAgICAgICAgY29tYmluYXRvck1ldGFhcmd1bWVudE5vZGUgPSBjb21iaW5hdG9yTm9uVGVybWluYWxOb2RlLCAvLy9cbiAgICAgICAgICAgICAgICBtZXRhQXJndW1lbnROb2RlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeU1ldGFhcmd1bWVudE5vZGUobWV0YUFyZ3VtZW50Tm9kZSwgY29tYmluYXRvck1ldGFhcmd1bWVudE5vZGUsIGNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gbWV0YUFyZ3VtZW50Tm9kZVZlcmlmaWVkOyAvLy9cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gc3VwZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIGNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5TWV0YWFyZ3VtZW50Tm9kZShtZXRhQXJndW1lbnROb2RlLCBjb21iaW5hdG9yTWV0YWFyZ3VtZW50Tm9kZSwgY29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgICBsZXQgbWV0YUFyZ3VtZW50Tm9kZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBtZXRhQXJndW1lbnRTdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhQXJndW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkobWV0YUFyZ3VtZW50Tm9kZSksXG4gICAgICAgICAgY29tYmluYXRvck1ldGFUWXBlTm9kZSA9IG1ldGFUeXBlTm9kZVF1ZXJ5KGNvbWJpbmF0b3JNZXRhYXJndW1lbnROb2RlKTtcblxuICAgIGlmIChzdGF0ZW1lbnROb2RlID09PSBudWxsKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGBFeHBlY3RlZCBhIHN0YXRlbWVudCBidXQgZ290IGEgJyR7bWV0YUFyZ3VtZW50U3RyaW5nfScgbWV0YS10eXBlLmAsIG1ldGFBcmd1bWVudE5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoY29tYmluYXRvck1ldGFUWXBlTm9kZSA9PT0gbnVsbCkge1xuICAgICAgICBjb25zdCBjb21iaW5hdG9yTWV0YWFyZ3VtZW50U3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcoY29tYmluYXRvck1ldGFhcmd1bWVudE5vZGUpO1xuXG4gICAgICAgIGNvbnRleHQuZGVidWcoYEV4cGVjdGVkIGEgbWV0YS10eXBlIGJ1dCBnb3QgYSAnJHtjb21iaW5hdG9yTWV0YWFyZ3VtZW50U3RyaW5nfScgc3RhdGVtZW50LmAsIG1ldGFBcmd1bWVudE5vZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgY29tYmluYXRvck1ldGFUeXBlVGVybWluYWxOb2RlID0gbWV0YVR5cGVUZXJtaW5hbE5vZGVRdWVyeShjb21iaW5hdG9yTWV0YVRZcGVOb2RlKSxcbiAgICAgICAgICAgICAgY29udGVudCA9IGNvbWJpbmF0b3JNZXRhVHlwZVRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgICAgICAgIGNvbnRlbnRTdGF0ZW1lbnRNZXRhVHlwZSA9IChjb250ZW50ID09PSBTVEFURU1FTlRfTUVUQV9UWVBFKTtcblxuICAgICAgICBpZiAoIWNvbnRlbnRTdGF0ZW1lbnRNZXRhVHlwZSkge1xuICAgICAgICAgIGNvbnRleHQuZGVidWcoYEV4cGVjdGVkIHRoZSBtZXRhLXR5cGUgb2YgdGhlIGNvbWJpbmF0b3IgdG8gYmUgJyR7U1RBVEVNRU5UX01FVEFfVFlQRX0nIGJ1dCBnb3QgJyR7Y29udGVudH0nIGluc3RlYWQuYCwgbWV0YUFyZ3VtZW50Tm9kZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHZlcmlmeUFoZWFkKCk7XG5cbiAgICAgICAgICBtZXRhQXJndW1lbnROb2RlVmVyaWZpZWQgPSB2ZXJpZmllZEFoZWFkOyAvLy9cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtZXRhQXJndW1lbnROb2RlVmVyaWZpZWQ7XG4gIH1cbn1cblxuY29uc3Qgc3RhdGVtZW50Tm9kZXNWZXJpZmllciA9IG5ldyBTdGF0ZW1lbnROb2Rlc1ZlcmlmaWVyKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHN0YXRlbWVudE5vZGVzVmVyaWZpZXI7XG4iXSwibmFtZXMiOlsibWV0YVR5cGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJtZXRhVHlwZVRlcm1pbmFsTm9kZVF1ZXJ5IiwiU3RhdGVtZW50Tm9kZXNWZXJpZmllciIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwiY29udGV4dCIsInZlcmlmeUFoZWFkIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJub25UZXJtaW5hbE5vZGUiLCJjb21iaW5hdG9yTm9uVGVybWluYWxOb2RlIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsImNvbWJpbmF0b3JSdWxlTmFtZSIsIkFSR1VNRU5UX1JVTEVfTkFNRSIsImFyZ3VtZW50Tm9kZSIsImNvbnN0cnVjdG9yQXJndW1lbnROb2RlIiwiYXJndW1lbnROb2RlVmVyaWZpZWQiLCJ0ZXJtTm9kZXNWZXJpZmllciIsInZlcmlmeUFyZ3VtZW50Tm9kZSIsIk1FVEFfQVJHVU1FTlRfUlVMRV9OQU1FIiwibWV0YUFyZ3VtZW50Tm9kZSIsImNvbWJpbmF0b3JNZXRhYXJndW1lbnROb2RlIiwibWV0YUFyZ3VtZW50Tm9kZVZlcmlmaWVkIiwidmVyaWZ5TWV0YWFyZ3VtZW50Tm9kZSIsIm1ldGFBcmd1bWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInN0YXRlbWVudE5vZGUiLCJjb21iaW5hdG9yTWV0YVRZcGVOb2RlIiwiZGVidWciLCJjb21iaW5hdG9yTWV0YWFyZ3VtZW50U3RyaW5nIiwiY29tYmluYXRvck1ldGFUeXBlVGVybWluYWxOb2RlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJjb250ZW50U3RhdGVtZW50TWV0YVR5cGUiLCJTVEFURU1FTlRfTUVUQV9UWVBFIiwidmVyaWZpZWRBaGVhZCIsIk5vZGVzVmVyaWZpZXIiLCJzdGF0ZW1lbnROb2Rlc1ZlcmlmaWVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkE0RkE7OztlQUFBOzs7NERBMUYwQjsyREFDSTtxQkFFSjt5QkFDVTt5QkFDd0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RCxJQUFNQSxvQkFBb0JDLElBQUFBLGdCQUFTLEVBQUMsNEJBQzlCQyxxQkFBcUJELElBQUFBLGdCQUFTLEVBQUMsNkJBQy9CRSw0QkFBNEJGLElBQUFBLGdCQUFTLEVBQUM7QUFFNUMsSUFBQSxBQUFNRyx1Q0FBRCxBQUFMO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztrQkFBQUE7O1lBQ0pDLEtBQUFBO21CQUFBQSxTQUFBQSxzQkFBc0JDLGdCQUFnQixFQUFFQyxnQkFBZ0IsRUFBRUMsT0FBTyxFQUFFQyxXQUFXO2dCQUM1RSxJQUFJQywwQkFBMEI7Z0JBRTlCLElBQU1DLGtCQUFrQkwsa0JBQ2xCTSw0QkFBNEJMLGtCQUFrQixHQUFHO2dCQUV2RCxJQUFNTSxXQUFXRixnQkFBZ0JHLFdBQVcsSUFDdENDLHFCQUFxQkgsMEJBQTBCRSxXQUFXLElBQUksR0FBRztnQkFFdkUsSUFBSUQsYUFBYUUsb0JBQW9CO29CQUNuQyxPQUFRRjt3QkFDTixLQUFLRyw2QkFBa0I7NEJBQUU7Z0NBQ3ZCLElBQU1DLGVBQWVOLGlCQUNmTywwQkFBMEJOLDJCQUMxQk8sdUJBQXVCQyxhQUFpQixDQUFDQyxrQkFBa0IsQ0FBQ0osY0FBY0MseUJBQXlCVixTQUFTQztnQ0FFbEhDLDBCQUEwQlMsc0JBQXNCLEdBQUc7Z0NBRW5EOzRCQUNGO3dCQUVBLEtBQUtHLGtDQUF1Qjs0QkFBRTtnQ0FDNUIsSUFBTUMsbUJBQW1CWixpQkFDbkJhLDZCQUE2QlosMkJBQzdCYSwyQkFBMkIsSUFBSSxDQUFDQyxzQkFBc0IsQ0FBQ0gsa0JBQWtCQyw0QkFBNEJoQixTQUFTQztnQ0FFcEhDLDBCQUEwQmUsMEJBQTBCLEdBQUc7Z0NBRXZEOzRCQUNGO3dCQUVBOzRCQUFTO2dDQUNQZiwwQkFBMEIsdUJBakM5Qk4sbUNBaUNvQ0MseUJBQU4sSUFBSyxhQUF1QkMsa0JBQWtCQyxrQkFBa0JDLFNBQVNDO2dDQUVuRzs0QkFDRjtvQkFDRjtnQkFDRjtnQkFFQSxPQUFPQztZQUNUOzs7WUFFQWdCLEtBQUFBO21CQUFBQSxTQUFBQSx1QkFBdUJILGdCQUFnQixFQUFFQywwQkFBMEIsRUFBRWhCLE9BQU8sRUFBRUMsV0FBVztnQkFDdkYsSUFBSWdCLDJCQUEyQjtnQkFFL0IsSUFBTUUscUJBQXFCbkIsUUFBUW9CLFlBQVksQ0FBQ0w7Z0JBRWhELElBQU1NLGdCQUFnQjNCLG1CQUFtQnFCLG1CQUNuQ08seUJBQXlCOUIsa0JBQWtCd0I7Z0JBRWpELElBQUlLLGtCQUFrQixNQUFNO29CQUMxQnJCLFFBQVF1QixLQUFLLENBQUMsQUFBQyxtQ0FBcUQsT0FBbkJKLG9CQUFtQixpQkFBZUo7Z0JBQ3JGLE9BQU87b0JBQ0wsSUFBSU8sMkJBQTJCLE1BQU07d0JBQ25DLElBQU1FLCtCQUErQnhCLFFBQVFvQixZQUFZLENBQUNKO3dCQUUxRGhCLFFBQVF1QixLQUFLLENBQUMsQUFBQyxtQ0FBK0QsT0FBN0JDLDhCQUE2QixpQkFBZVQ7b0JBQy9GLE9BQU87d0JBQ0wsSUFBTVUsaUNBQWlDOUIsMEJBQTBCMkIseUJBQzNESSxVQUFVRCwrQkFBK0JFLFVBQVUsSUFDbkRDLDJCQUE0QkYsWUFBWUcsOEJBQW1CO3dCQUVqRSxJQUFJLENBQUNELDBCQUEwQjs0QkFDN0I1QixRQUFRdUIsS0FBSyxDQUFDLEFBQUMsbURBQW1GRyxPQUFqQ0csOEJBQW1CLEVBQUMsZUFBcUIsT0FBUkgsU0FBUSxlQUFhWDt3QkFDekgsT0FBTzs0QkFDTCxJQUFNZSxnQkFBZ0I3Qjs0QkFFdEJnQiwyQkFBMkJhLGVBQWUsR0FBRzt3QkFDL0M7b0JBQ0Y7Z0JBQ0Y7Z0JBRUEsT0FBT2I7WUFDVDs7O1dBMUVJckI7RUFBK0JtQyxjQUFhO0FBNkVsRCxJQUFNQyx5QkFBeUIsSUFBSXBDO0lBRW5DLFdBQWVvQyJ9
|
|
@@ -2,18 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
default: function() {
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
13
8
|
return _default;
|
|
14
|
-
},
|
|
15
|
-
verifyArgument: function() {
|
|
16
|
-
return verifyArgument;
|
|
17
9
|
}
|
|
18
10
|
});
|
|
19
11
|
var _nodes = /*#__PURE__*/ _interop_require_default(require("../../verifier/nodes"));
|
|
@@ -151,7 +143,7 @@ var TermNodesVerifier = /*#__PURE__*/ function(NodesVerifier) {
|
|
|
151
143
|
switch(ruleName){
|
|
152
144
|
case _ruleNames.ARGUMENT_RULE_NAME:
|
|
153
145
|
{
|
|
154
|
-
var argumentNode = nonTerminalNode, constructorArgumentNode = constructorNonTerminalNode,
|
|
146
|
+
var argumentNode = nonTerminalNode, constructorArgumentNode = constructorNonTerminalNode, argumentNodeVerified = this.verifyArgumentNode(argumentNode, constructorArgumentNode, context, verifyAhead);
|
|
155
147
|
nonTerminalNodeVerified = argumentNodeVerified; ///
|
|
156
148
|
break;
|
|
157
149
|
}
|
|
@@ -164,47 +156,46 @@ var TermNodesVerifier = /*#__PURE__*/ function(NodesVerifier) {
|
|
|
164
156
|
}
|
|
165
157
|
return nonTerminalNodeVerified;
|
|
166
158
|
}
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
key: "verifyArgumentNode",
|
|
162
|
+
value: function verifyArgumentNode(argumentNode, constructorArgumentNode, context, verifyAhead) {
|
|
163
|
+
var argumentNodeVerified = false;
|
|
164
|
+
var argumentString = context.nodeAsString(argumentNode);
|
|
165
|
+
var typeNode = typeNodeQuery(argumentNode);
|
|
166
|
+
if (typeNode !== null) {
|
|
167
|
+
context.debug("The '".concat(argumentString, "' argument should be a term, not a type."), argumentNode);
|
|
168
|
+
} else {
|
|
169
|
+
var termNode = termNodeQuery(argumentNode);
|
|
170
|
+
if (!argumentNodeVerified) {
|
|
171
|
+
var constructorTermNode = termNodeQuery(constructorArgumentNode);
|
|
172
|
+
if (constructorTermNode !== null) {
|
|
173
|
+
var node = termNode, constructorNode = constructorTermNode, nodeVerified = this.verifyNode(node, constructorNode, context, verifyAhead);
|
|
174
|
+
argumentNodeVerified = nodeVerified; ///
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
if (!argumentNodeVerified) {
|
|
178
|
+
var constructorTypeNode = typeNodeQuery(constructorArgumentNode);
|
|
179
|
+
if (constructorTypeNode !== null) {
|
|
180
|
+
var verifyTerm = termNodesVerifier.verifyTerm, terms = [], termVerified = verifyTerm(termNode, terms, context, function() {
|
|
181
|
+
var verifiedAhead = false;
|
|
182
|
+
var constructorTypeName = (0, _query.typeNameFromTypeNode)(constructorTypeNode), firstTerm = (0, _array.first)(terms), term = firstTerm, termType = term.getType(), constructorType = context.findTypeByTypeName(constructorTypeName), termTypeEqualToOrSubTypeOfType = termType.isEqualToOrSubTypeOf(constructorType);
|
|
183
|
+
if (termTypeEqualToOrSubTypeOfType) {
|
|
184
|
+
verifiedAhead = verifyAhead();
|
|
185
|
+
}
|
|
186
|
+
return verifiedAhead;
|
|
187
|
+
});
|
|
188
|
+
argumentNodeVerified = termVerified; ///
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return argumentNodeVerified;
|
|
193
|
+
}
|
|
167
194
|
}
|
|
168
195
|
]);
|
|
169
196
|
return TermNodesVerifier;
|
|
170
197
|
}(_nodes.default);
|
|
171
198
|
var termNodesVerifier = new TermNodesVerifier();
|
|
172
199
|
var _default = termNodesVerifier;
|
|
173
|
-
function verifyArgument(argumentNode, constructorArgumentNode, context, verifyAhead) {
|
|
174
|
-
var argumentVerified = false;
|
|
175
|
-
var argumentString = context.nodeAsString(argumentNode);
|
|
176
|
-
context.trace("Verifying the '".concat(argumentString, "' argument..."), argumentNode);
|
|
177
|
-
var typeNode = typeNodeQuery(argumentNode);
|
|
178
|
-
if (typeNode !== null) {
|
|
179
|
-
context.debug("The '".concat(argumentString, "' argument should be a term, not a type."), argumentNode);
|
|
180
|
-
} else {
|
|
181
|
-
var termNode = termNodeQuery(argumentNode);
|
|
182
|
-
if (!argumentVerified) {
|
|
183
|
-
var constructorTermNode = termNodeQuery(constructorArgumentNode);
|
|
184
|
-
if (constructorTermNode !== null) {
|
|
185
|
-
var node = termNode, constructorNode = constructorTermNode, nodeVerified = this.verifyNode(node, constructorNode, context, verifyAhead);
|
|
186
|
-
argumentVerified = nodeVerified; ///
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
if (!argumentVerified) {
|
|
190
|
-
var constructorTypeNode = typeNodeQuery(constructorArgumentNode);
|
|
191
|
-
if (constructorTypeNode !== null) {
|
|
192
|
-
var verifyTerm = termNodesVerifier.verifyTerm, terms = [], termVerified = verifyTerm(termNode, terms, context, function() {
|
|
193
|
-
var verifiedAhead = false;
|
|
194
|
-
var constructorTypeName = (0, _query.typeNameFromTypeNode)(constructorTypeNode), firstTerm = (0, _array.first)(terms), term = firstTerm, termType = term.getType(), constructorType = context.findTypeByTypeName(constructorTypeName), termTypeEqualToOrSubTypeOfType = termType.isEqualToOrSubTypeOf(constructorType);
|
|
195
|
-
if (termTypeEqualToOrSubTypeOfType) {
|
|
196
|
-
verifiedAhead = verifyAhead();
|
|
197
|
-
}
|
|
198
|
-
return verifiedAhead;
|
|
199
|
-
});
|
|
200
|
-
argumentVerified = termVerified; ///
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
if (argumentVerified) {
|
|
205
|
-
context.debug("...verified the '".concat(argumentString, "' argument."), argumentNode);
|
|
206
|
-
}
|
|
207
|
-
return argumentVerified;
|
|
208
|
-
}
|
|
209
200
|
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy90ZXJtLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTm9kZXNWZXJpZmllciBmcm9tIFwiLi4vLi4vdmVyaWZpZXIvbm9kZXNcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBBUkdVTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi4vLi4vcnVsZU5hbWVzXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIHR5cGVOYW1lRnJvbVR5cGVOb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2FyZ3VtZW50L3Rlcm0hXCIpLFxuICAgICAgdHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9hcmd1bWVudC90eXBlIVwiKTtcblxuY2xhc3MgVGVybU5vZGVzVmVyaWZpZXIgZXh0ZW5kcyBOb2Rlc1ZlcmlmaWVyIHtcbiAgdmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUsIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLCAvLy9cbiAgICAgICAgICBjb25zdHJ1Y3RvclJ1bGVOYW1lID0gY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgICBpZiAocnVsZU5hbWUgPT09IGNvbnN0cnVjdG9yUnVsZU5hbWUpIHtcbiAgICAgIHN3aXRjaCAocnVsZU5hbWUpIHtcbiAgICAgICAgY2FzZSBBUkdVTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgICAgICBjb25zdCBhcmd1bWVudE5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgICAgIGNvbnN0cnVjdG9yQXJndW1lbnROb2RlID0gY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgICAgIGFyZ3VtZW50Tm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlBcmd1bWVudE5vZGUoYXJndW1lbnROb2RlLCBjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSwgY29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBhcmd1bWVudE5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHN1cGVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeUFyZ3VtZW50Tm9kZShhcmd1bWVudE5vZGUsIGNvbnN0cnVjdG9yQXJndW1lbnROb2RlLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBhcmd1bWVudE5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgYXJndW1lbnRTdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhhcmd1bWVudE5vZGUpO1xuXG4gICAgY29uc3QgdHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KGFyZ3VtZW50Tm9kZSk7XG5cbiAgICBpZiAodHlwZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYFRoZSAnJHthcmd1bWVudFN0cmluZ30nIGFyZ3VtZW50IHNob3VsZCBiZSBhIHRlcm0sIG5vdCBhIHR5cGUuYCwgYXJndW1lbnROb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGFyZ3VtZW50Tm9kZSk7XG5cbiAgICAgIGlmICghYXJndW1lbnROb2RlVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgY29uc3RydWN0b3JUZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoY29uc3RydWN0b3JBcmd1bWVudE5vZGUpO1xuXG4gICAgICAgIGlmIChjb25zdHJ1Y3RvclRlcm1Ob2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3Qgbm9kZSA9IHRlcm1Ob2RlLCAgLy8vXG4gICAgICAgICAgICAgICAgY29uc3RydWN0b3JOb2RlID0gY29uc3RydWN0b3JUZXJtTm9kZSwgIC8vL1xuICAgICAgICAgICAgICAgIG5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5Tm9kZShub2RlLCBjb25zdHJ1Y3Rvck5vZGUsIGNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgICAgIGFyZ3VtZW50Tm9kZVZlcmlmaWVkID0gbm9kZVZlcmlmaWVkOyAgLy8vXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCFhcmd1bWVudE5vZGVWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBjb25zdHJ1Y3RvclR5cGVOb2RlID0gdHlwZU5vZGVRdWVyeShjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSk7XG5cbiAgICAgICAgaWYgKGNvbnN0cnVjdG9yVHlwZU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCB7IHZlcmlmeVRlcm0gfSA9IHRlcm1Ob2Rlc1ZlcmlmaWVyLFxuICAgICAgICAgICAgICAgIHRlcm1zID0gW10sXG4gICAgICAgICAgICAgICAgdGVybVZlcmlmaWVkID0gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdGVybXMsIGNvbnRleHQsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGxldCB2ZXJpZmllZEFoZWFkID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnN0cnVjdG9yVHlwZU5hbWUgPSB0eXBlTmFtZUZyb21UeXBlTm9kZShjb25zdHJ1Y3RvclR5cGVOb2RlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0VGVybSA9IGZpcnN0KHRlcm1zKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlcm0gPSBmaXJzdFRlcm0sIC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgdGVybVR5cGUgPSB0ZXJtLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0cnVjdG9yVHlwZSA9IGNvbnRleHQuZmluZFR5cGVCeVR5cGVOYW1lKGNvbnN0cnVjdG9yVHlwZU5hbWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGVybVR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZUeXBlID0gdGVybVR5cGUuaXNFcXVhbFRvT3JTdWJUeXBlT2YoY29uc3RydWN0b3JUeXBlKTtcblxuICAgICAgICAgICAgICAgICAgaWYgKHRlcm1UeXBlRXF1YWxUb09yU3ViVHlwZU9mVHlwZSkge1xuICAgICAgICAgICAgICAgICAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICBhcmd1bWVudE5vZGVWZXJpZmllZCA9IHRlcm1WZXJpZmllZDsgIC8vL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFyZ3VtZW50Tm9kZVZlcmlmaWVkO1xuICB9XG59XG5cbmNvbnN0IHRlcm1Ob2Rlc1ZlcmlmaWVyID0gbmV3IFRlcm1Ob2Rlc1ZlcmlmaWVyKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHRlcm1Ob2Rlc1ZlcmlmaWVyO1xuIl0sIm5hbWVzIjpbInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5IiwiVGVybU5vZGVzVmVyaWZpZXIiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJjb25zdHJ1Y3Rvck5vblRlcm1pbmFsTm9kZSIsImNvbnRleHQiLCJ2ZXJpZnlBaGVhZCIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsImNvbnN0cnVjdG9yUnVsZU5hbWUiLCJBUkdVTUVOVF9SVUxFX05BTUUiLCJhcmd1bWVudE5vZGUiLCJjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSIsImFyZ3VtZW50Tm9kZVZlcmlmaWVkIiwidmVyaWZ5QXJndW1lbnROb2RlIiwiYXJndW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0eXBlTm9kZSIsImRlYnVnIiwidGVybU5vZGUiLCJjb25zdHJ1Y3RvclRlcm1Ob2RlIiwibm9kZSIsImNvbnN0cnVjdG9yTm9kZSIsIm5vZGVWZXJpZmllZCIsInZlcmlmeU5vZGUiLCJjb25zdHJ1Y3RvclR5cGVOb2RlIiwidmVyaWZ5VGVybSIsInRlcm1Ob2Rlc1ZlcmlmaWVyIiwidGVybXMiLCJ0ZXJtVmVyaWZpZWQiLCJ2ZXJpZmllZEFoZWFkIiwiY29uc3RydWN0b3JUeXBlTmFtZSIsInR5cGVOYW1lRnJvbVR5cGVOb2RlIiwiZmlyc3RUZXJtIiwiZmlyc3QiLCJ0ZXJtIiwidGVybVR5cGUiLCJnZXRUeXBlIiwiY29uc3RydWN0b3JUeXBlIiwiZmluZFR5cGVCeVR5cGVOYW1lIiwidGVybVR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZUeXBlIiwiaXNFcXVhbFRvT3JTdWJUeXBlT2YiLCJOb2Rlc1ZlcmlmaWVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFtR0E7OztlQUFBOzs7NERBakcwQjtxQkFFSjt5QkFDYTtxQkFDYTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
@@ -18,15 +18,11 @@ function verifyMetastatement(metastatementNode, derived, localMetaContext) {
|
|
|
18
18
|
var metastatementVerified;
|
|
19
19
|
var metastatementString = localMetaContext.nodeAsString(metastatementNode);
|
|
20
20
|
localMetaContext.trace("Verifying the '".concat(metastatementString, "' metastatement..."), metastatementNode);
|
|
21
|
-
var
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
metastatementVerified = verifyMetastatementFunctions.some(function(verifyMetastatementFunction) {
|
|
25
|
-
var metastatementVerified = verifyMetastatementFunction(metastatementNode, derived, localMetaContext);
|
|
26
|
-
if (metastatementVerified) {
|
|
27
|
-
return true;
|
|
28
|
-
}
|
|
21
|
+
var nonTerminalNode = metastatementNode, nonTerminalNodeVerified = _metastatement.default.verifyNonTerminalNode(nonTerminalNode, localMetaContext, function() {
|
|
22
|
+
var verifiedAhead = true;
|
|
23
|
+
return verifiedAhead;
|
|
29
24
|
});
|
|
25
|
+
metastatementVerified = nonTerminalNodeVerified; ///
|
|
30
26
|
if (metastatementVerified) {
|
|
31
27
|
localMetaContext.debug("...verified the '".concat(metastatementString, "' metastatement."), metastatementNode);
|
|
32
28
|
}
|
|
@@ -36,19 +32,5 @@ Object.assign(_metastatement.default, {
|
|
|
36
32
|
verifyMetastatement: verifyMetastatement
|
|
37
33
|
});
|
|
38
34
|
var _default = verifyMetastatement;
|
|
39
|
-
function verifyStandaloneMetastatement(metastatementNode, derived, localMetaContext) {
|
|
40
|
-
var standaloneMetastatementVerified;
|
|
41
|
-
var metastatementString = localMetaContext.nodeAsString(metastatementNode);
|
|
42
|
-
localMetaContext.trace("Verifying the '".concat(metastatementString, "' standalone metastatement..."), metastatementNode);
|
|
43
|
-
var nonTerminalNode = metastatementNode, nonTerminalNodeVerified = _metastatement.default.verifyNonTerminalNode(nonTerminalNode, localMetaContext, function() {
|
|
44
|
-
var verifiedAhead = true;
|
|
45
|
-
return verifiedAhead;
|
|
46
|
-
});
|
|
47
|
-
standaloneMetastatementVerified = nonTerminalNodeVerified; ///
|
|
48
|
-
if (standaloneMetastatementVerified) {
|
|
49
|
-
localMetaContext.debug("...verified the '".concat(metastatementString, "' standalone metastatement."), metastatementNode);
|
|
50
|
-
}
|
|
51
|
-
return standaloneMetastatementVerified;
|
|
52
|
-
}
|
|
53
35
|
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG1ldGFzdGF0ZW1lbnROb2RlVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyL25vZGUvbWV0YXN0YXRlbWVudFwiO1xuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBkZXJpdmVkLCBsb2NhbE1ldGFDb250ZXh0KSB7XG4gIGxldCBtZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsTWV0YUNvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50Li4uYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGxvY2FsTWV0YUNvbnRleHQsICgpID0+IHtcbiAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICB9KTtcblxuICBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllZDsgIC8vL1xuXG4gIGlmIChtZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBsb2NhbE1ldGFDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuT2JqZWN0LmFzc2lnbihtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyLCB7XG4gIHZlcmlmeU1ldGFzdGF0ZW1lbnRcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCB2ZXJpZnlNZXRhc3RhdGVtZW50O1xuIl0sIm5hbWVzIjpbInZlcmlmeU1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImRlcml2ZWQiLCJsb2NhbE1ldGFDb250ZXh0IiwibWV0YXN0YXRlbWVudFZlcmlmaWVkIiwibWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwibm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVyIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwidmVyaWZpZWRBaGVhZCIsImRlYnVnIiwiT2JqZWN0IiwiYXNzaWduIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkErQkE7OztlQUFBOzs7b0VBN0JzQzs7Ozs7O0FBRXRDLFNBQVNBLG9CQUFvQkMsaUJBQWlCLEVBQUVDLE9BQU8sRUFBRUMsZ0JBQWdCO0lBQ3ZFLElBQUlDO0lBRUosSUFBTUMsc0JBQXNCRixpQkFBaUJHLFlBQVksQ0FBQ0w7SUFFMURFLGlCQUFpQkksS0FBSyxDQUFDLEFBQUMsa0JBQXFDLE9BQXBCRixxQkFBb0IsdUJBQXFCSjtJQUVsRixJQUFNTyxrQkFBa0JQLG1CQUNsQlEsMEJBQTBCQyxzQkFBeUIsQ0FBQ0MscUJBQXFCLENBQUNILGlCQUFpQkwsa0JBQWtCO1FBQzNHLElBQU1TLGdCQUFnQjtRQUV0QixPQUFPQTtJQUNUO0lBRU5SLHdCQUF3QksseUJBQTBCLEdBQUc7SUFFckQsSUFBSUwsdUJBQXVCO1FBQ3pCRCxpQkFBaUJVLEtBQUssQ0FBQyxBQUFDLG9CQUF1QyxPQUFwQlIscUJBQW9CLHFCQUFtQko7SUFDcEY7SUFFQSxPQUFPRztBQUNUO0FBRUFVLE9BQU9DLE1BQU0sQ0FBQ0wsc0JBQXlCLEVBQUU7SUFDdkNWLHFCQUFBQTtBQUNGO0lBRUEsV0FBZUEifQ==
|