occam-verify-cli 0.0.967 → 0.0.968
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/bin/action/verify.js +0 -14
- package/bin/main.js +27 -0
- package/lib/metavariable.js +6 -37
- package/lib/verify/assertion/contained.js +3 -9
- package/lib/verify/assertion/defined.js +3 -3
- package/lib/verify/statementGivenMetaType.js +16 -7
- package/package.json +1 -1
- package/src/metavariable.js +3 -42
- package/src/verify/assertion/contained.js +2 -4
- package/src/verify/assertion/defined.js +2 -2
- package/src/verify/statementGivenMetaType.js +21 -10
package/bin/action/verify.js
CHANGED
|
@@ -53,25 +53,11 @@ function verifyAction(argument, log) {
|
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
let now;
|
|
57
|
-
|
|
58
|
-
now = Date.now();
|
|
59
|
-
|
|
60
56
|
const releaseVerified = verifyRelease(releaseName, releaseContextMap);
|
|
61
57
|
|
|
62
58
|
if (!releaseVerified) {
|
|
63
59
|
log.warning(`The '${name}' project or package context cannot be verified.`);
|
|
64
|
-
|
|
65
|
-
return;
|
|
66
60
|
}
|
|
67
|
-
|
|
68
|
-
const then = now; ///
|
|
69
|
-
|
|
70
|
-
now = Date.now();
|
|
71
|
-
|
|
72
|
-
const seconds = Math.floor(now - then) / 1000;
|
|
73
|
-
|
|
74
|
-
log.info(`Verification time ${seconds} seconds.`);
|
|
75
61
|
});
|
|
76
62
|
}
|
|
77
63
|
|
package/bin/main.js
CHANGED
|
@@ -31,8 +31,12 @@ function main(command, argument, options) {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
case VERIFY_COMMAND: {
|
|
34
|
+
let now = startClock();
|
|
35
|
+
|
|
34
36
|
verifyAction(argument, log);
|
|
35
37
|
|
|
38
|
+
stopClock(now, log);
|
|
39
|
+
|
|
36
40
|
break;
|
|
37
41
|
}
|
|
38
42
|
|
|
@@ -45,8 +49,12 @@ function main(command, argument, options) {
|
|
|
45
49
|
default: {
|
|
46
50
|
argument = command; ///
|
|
47
51
|
|
|
52
|
+
let now = startClock();
|
|
53
|
+
|
|
48
54
|
verifyAction(argument, log);
|
|
49
55
|
|
|
56
|
+
stopClock(now, log);
|
|
57
|
+
|
|
50
58
|
break;
|
|
51
59
|
}
|
|
52
60
|
}
|
|
@@ -65,3 +73,22 @@ function main(command, argument, options) {
|
|
|
65
73
|
}
|
|
66
74
|
|
|
67
75
|
module.exports = main;
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
function startClock() {
|
|
79
|
+
let now;
|
|
80
|
+
|
|
81
|
+
now = Date.now();
|
|
82
|
+
|
|
83
|
+
return now;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function stopClock(now, log) {
|
|
87
|
+
const then = now; ///
|
|
88
|
+
|
|
89
|
+
now = Date.now();
|
|
90
|
+
|
|
91
|
+
const seconds = Math.floor(now - then) / 1000;
|
|
92
|
+
|
|
93
|
+
log.info(`Time ${seconds} seconds.`);
|
|
94
|
+
}
|
package/lib/metavariable.js
CHANGED
|
@@ -2,22 +2,13 @@
|
|
|
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 Metavariable;
|
|
14
|
-
},
|
|
15
|
-
unifyTermWithTermType: function() {
|
|
16
|
-
return unifyTermWithTermType;
|
|
17
9
|
}
|
|
18
10
|
});
|
|
19
|
-
var
|
|
20
|
-
var _array = require("./utilities/array");
|
|
11
|
+
var _termGivenType = /*#__PURE__*/ _interop_require_default(require("./verify/termGivenType"));
|
|
21
12
|
var _query = require("./utilities/query");
|
|
22
13
|
var _string = require("./utilities/string");
|
|
23
14
|
var _name = require("./utilities/name");
|
|
@@ -107,7 +98,7 @@ var Metavariable = /*#__PURE__*/ function() {
|
|
|
107
98
|
} else if (termNode === null && this.termType === null) {
|
|
108
99
|
matchesNode = true;
|
|
109
100
|
} else if (termNode !== null && this.termType !== null) {
|
|
110
|
-
var termUnifiedWithTermType =
|
|
101
|
+
var type = this.termType, termUnifiedWithTermType = (0, _termGivenType.default)(termNode, type, localContext);
|
|
111
102
|
matchesNode = termUnifiedWithTermType; ///
|
|
112
103
|
}
|
|
113
104
|
}
|
|
@@ -135,27 +126,5 @@ var Metavariable = /*#__PURE__*/ function() {
|
|
|
135
126
|
]);
|
|
136
127
|
return Metavariable;
|
|
137
128
|
}();
|
|
138
|
-
function unifyTermWithTermType(termNode, termType, localContext) {
|
|
139
|
-
var termUnifiedWithTermType;
|
|
140
|
-
var type = termType, terms = [], termVerified = (0, _term.default)(termNode, terms, localContext, function() {
|
|
141
|
-
var verifiedAhead = false;
|
|
142
|
-
var firstTerm = (0, _array.first)(terms), term = firstTerm, _$termType = term.getType(), termTypeEqualToOrSubTypeOfType = _$termType.isEqualToOrSubTypeOf(type);
|
|
143
|
-
if (termTypeEqualToOrSubTypeOfType) {
|
|
144
|
-
verifiedAhead = true;
|
|
145
|
-
}
|
|
146
|
-
return verifiedAhead;
|
|
147
|
-
});
|
|
148
|
-
termUnifiedWithTermType = termVerified; ///
|
|
149
|
-
return termUnifiedWithTermType;
|
|
150
|
-
}
|
|
151
|
-
function termTypeFromMetavariableNode(metavariableNode, fileContext) {
|
|
152
|
-
var termType = null;
|
|
153
|
-
var typeNode = typeNodeQuery(metavariableNode);
|
|
154
|
-
if (typeNode !== null) {
|
|
155
|
-
var type = fileContext.findTypeByTypeNode(typeNode);
|
|
156
|
-
termType = type; ///
|
|
157
|
-
}
|
|
158
|
-
return termType;
|
|
159
|
-
}
|
|
160
129
|
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlUZXJtR2l2ZW5UeXBlIGZyb20gXCIuL3ZlcmlmeS90ZXJtR2l2ZW5UeXBlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgbmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIH0gZnJvbSBcIi4vdXRpbGl0aWVzL25hbWVcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdmFyaWFibGUvYXJndW1lbnQvdGVybSFcIiksXG4gICAgICB0eXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF2YXJpYWJsZS9hcmd1bWVudC90eXBlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWV0YXZhcmlhYmxlIHtcbiAgY29uc3RydWN0b3Iobm9kZSwgbmFtZSwgdGVybVR5cGUsIG1ldGFUeXBlKSB7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMudGVybVR5cGUgPSB0ZXJtVHlwZTtcbiAgICB0aGlzLm1ldGFUeXBlID0gbWV0YVR5cGU7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRUZXJtVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50ZXJtVHlwZTtcbiAgfVxuXG4gIGdldE1ldGFUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGFUeXBlO1xuICB9XG5cbiAgZ2V0TWV0YVR5cGVOYW1lKCkge1xuICAgIGNvbnN0IG1ldGFUeXBlTmFtZSA9IHRoaXMubWV0YVR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgcmV0dXJuIG1ldGFUeXBlTmFtZTtcbiAgfVxuXG4gIG1hdGNoTmFtZShuYW1lKSB7XG4gICAgY29uc3QgbWF0Y2hlc05hbWUgPSAodGhpcy5uYW1lID09PSBuYW1lKTtcblxuICAgIHJldHVybiBtYXRjaGVzTmFtZTtcbiAgfVxuXG4gIG1hdGNoTm9kZShub2RlLCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgbWF0Y2hlc05vZGUgPSBmYWxzZTtcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgdHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgaWYgKHR5cGVOb2RlID09PSBudWxsKSB7XG4gICAgICBjb25zdCBuYW1lID0gbmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgICBpZiAodGhpcy5uYW1lID09PSBuYW1lKSB7XG4gICAgICAgIGNvbnN0IHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeShtZXRhdmFyaWFibGVOb2RlKTtcblxuICAgICAgICBpZiAoZmFsc2UpIHtcbiAgICAgICAgICAvLy9cbiAgICAgICAgfSBlbHNlIGlmICgodGVybU5vZGUgPT09IG51bGwpICYmICh0aGlzLnRlcm1UeXBlID09PSBudWxsKSkge1xuICAgICAgICAgIG1hdGNoZXNOb2RlID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmICgodGVybU5vZGUgIT09IG51bGwpICYmICh0aGlzLnRlcm1UeXBlICE9PSBudWxsKSkge1xuICAgICAgICAgIGNvbnN0IHR5cGUgPSB0aGlzLnRlcm1UeXBlLCAgLy8vXG4gICAgICAgICAgICAgICAgdGVybVVuaWZpZWRXaXRoVGVybVR5cGUgPSB2ZXJpZnlUZXJtR2l2ZW5UeXBlKHRlcm1Ob2RlLCB0eXBlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICAgICAgbWF0Y2hlc05vZGUgPSB0ZXJtVW5pZmllZFdpdGhUZXJtVHlwZTsgIC8vL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hdGNoZXNOb2RlO1xuICB9XG5cbiAgYXNTdHJpbmcodG9rZW5zKSB7XG4gICAgY29uc3QgbWV0YVR5cGVOYW1lID0gdGhpcy5tZXRhVHlwZS5nZXROYW1lKCk7XG5cbiAgICBsZXQgc3RyaW5nID0gbm9kZUFzU3RyaW5nKHRoaXMubm9kZSwgdG9rZW5zKTtcblxuICAgIHN0cmluZyA9IGAke3N0cmluZ306JHttZXRhVHlwZU5hbWV9YDsgLy8vXG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob2RlTmFtZVRlcm1UeXBlQW5kTWV0YVR5cGUobm9kZSwgbmFtZSwgdGVybVR5cGUsIG1ldGFUeXBlKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlID0gbmV3IE1ldGF2YXJpYWJsZShub2RlLCBuYW1lLCB0ZXJtVHlwZSwgbWV0YVR5cGUpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIk1ldGF2YXJpYWJsZSIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5Iiwibm9kZSIsIm5hbWUiLCJ0ZXJtVHlwZSIsIm1ldGFUeXBlIiwiZ2V0Tm9kZSIsImdldE5hbWUiLCJnZXRUZXJtVHlwZSIsImdldE1ldGFUeXBlIiwiZ2V0TWV0YVR5cGVOYW1lIiwibWV0YVR5cGVOYW1lIiwibWF0Y2hOYW1lIiwibWF0Y2hlc05hbWUiLCJtYXRjaE5vZGUiLCJsb2NhbENvbnRleHQiLCJtYXRjaGVzTm9kZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJ0eXBlTm9kZSIsIm5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSIsInRlcm1Ob2RlIiwidHlwZSIsInRlcm1VbmlmaWVkV2l0aFRlcm1UeXBlIiwidmVyaWZ5VGVybUdpdmVuVHlwZSIsImFzU3RyaW5nIiwidG9rZW5zIiwic3RyaW5nIiwibm9kZUFzU3RyaW5n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
|
|
@@ -8,14 +8,8 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return verifyContainedAssertion;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../../verifier/metaLevel"));
|
|
12
11
|
var _verify = require("../../utilities/verify");
|
|
13
12
|
var _query = require("../../utilities/query");
|
|
14
|
-
function _interop_require_default(obj) {
|
|
15
|
-
return obj && obj.__esModule ? obj : {
|
|
16
|
-
default: obj
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
13
|
var termNodeQuery = (0, _query.nodeQuery)("/statement/term!"), statementTermNodesQuery = (0, _query.nodesQuery)("/statement/metaArgument/statement//term");
|
|
20
14
|
function verifyContainedAssertion(containedAssertionNode, assignments, derived, localContext) {
|
|
21
15
|
var containedAssertionVerified;
|
|
@@ -64,11 +58,11 @@ function verifyDerivedContainedAssertion(containedAssertionNode, assignments, de
|
|
|
64
58
|
return derivedContainedAssertionVerified;
|
|
65
59
|
}
|
|
66
60
|
function verifyStatedContainedAssertion(containedAssertionNode, assignments, derived, localContext) {
|
|
67
|
-
var statedContainedAssertionVerified
|
|
61
|
+
var statedContainedAssertionVerified;
|
|
68
62
|
if (!derived) {
|
|
69
63
|
var containedAssertionString = localContext.nodeAsString(containedAssertionNode);
|
|
70
64
|
localContext.trace("Verifying the '".concat(containedAssertionString, "' stated contained assertion..."), containedAssertionNode);
|
|
71
|
-
|
|
65
|
+
statedContainedAssertionVerified = true;
|
|
72
66
|
if (statedContainedAssertionVerified) {
|
|
73
67
|
localContext.debug("...verified the '".concat(containedAssertionString, "' stated contained assertion."), containedAssertionNode);
|
|
74
68
|
}
|
|
@@ -76,4 +70,4 @@ function verifyStatedContainedAssertion(containedAssertionNode, assignments, der
|
|
|
76
70
|
return statedContainedAssertionVerified;
|
|
77
71
|
}
|
|
78
72
|
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvYXNzZXJ0aW9uL2NvbnRhaW5lZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgaXNBc3NlcnRpb25OZWdhdGVkIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92ZXJpZnlcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSwgbm9kZXNRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvdGVybSFcIiksXG4gICAgICBzdGF0ZW1lbnRUZXJtTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvc3RhdGVtZW50L21ldGFBcmd1bWVudC9zdGF0ZW1lbnQvL3Rlcm1cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUNvbnRhaW5lZEFzc2VydGlvbihjb250YWluZWRBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBjb250YWluZWRBc3NlcnRpb25WZXJpZmllZDtcblxuICBjb25zdCBjb250YWluZWRBc3NlcnRpb25TdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGNvbnRhaW5lZEFzc2VydGlvbk5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtjb250YWluZWRBc3NlcnRpb25TdHJpbmd9JyBjb250YWluZWQgYXNzZXJ0aW9uLi4uYCwgY29udGFpbmVkQXNzZXJ0aW9uTm9kZSk7XG5cbiAgY29uc3QgdmVyaWZ5Q29udGFpbmVkQXNzZXJ0aW9uRnVuY3Rpb25zID0gW1xuICAgIHZlcmlmeURlcml2ZWRDb250YWluZWRBc3NlcnRpb24sXG4gICAgdmVyaWZ5U3RhdGVkQ29udGFpbmVkQXNzZXJ0aW9uXG4gIF07XG5cbiAgY29udGFpbmVkQXNzZXJ0aW9uVmVyaWZpZWQgPSB2ZXJpZnlDb250YWluZWRBc3NlcnRpb25GdW5jdGlvbnMuc29tZSgodmVyaWZ5Q29udGFpbmVkQXNzZXJ0aW9uRnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBjb250YWluZWRBc3NlcnRpb25WZXJpZmllZCA9IHZlcmlmeUNvbnRhaW5lZEFzc2VydGlvbkZ1bmN0aW9uKGNvbnRhaW5lZEFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKGNvbnRhaW5lZEFzc2VydGlvblZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChjb250YWluZWRBc3NlcnRpb25WZXJpZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NvbnRhaW5lZEFzc2VydGlvblN0cmluZ30nIGNvbnRhaW5lZCBhc3NlcnRpb24uYCwgY29udGFpbmVkQXNzZXJ0aW9uTm9kZSk7XG4gIH1cblxuICByZXR1cm4gY29udGFpbmVkQXNzZXJ0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeURlcml2ZWRDb250YWluZWRBc3NlcnRpb24oY29udGFpbmVkQXNzZXJ0aW9uTm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgZGVyaXZlZENvbnRhaW5lZEFzc2VydGlvblZlcmlmaWVkID0gZmFsc2U7XG5cbiAgaWYgKGRlcml2ZWQpIHtcbiAgICBjb25zdCBjb250YWluZWRBc3NlcnRpb25TdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGNvbnRhaW5lZEFzc2VydGlvbk5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbnRhaW5lZEFzc2VydGlvblN0cmluZ30nIGRlcml2ZWQgY29udGFpbmVkIGFzc2VydGlvbi4uLmAsIGNvbnRhaW5lZEFzc2VydGlvbk5vZGUpO1xuXG4gICAgY29uc3QgYXNzZXJ0aW9uTmVnYXRlZCA9IGlzQXNzZXJ0aW9uTmVnYXRlZChjb250YWluZWRBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgbmVnYXRlZCA9IGFzc2VydGlvbk5lZ2F0ZWQsIC8vL1xuICAgICAgICAgIHN0YXRlbWVudFRlcm1Ob2RlcyA9IHN0YXRlbWVudFRlcm1Ob2Rlc1F1ZXJ5KGNvbnRhaW5lZEFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgIHRlcm1Ob2RlTWF0Y2hlc01ldGFBcmd1bWVudFZhcmlhYmxlTm9kZSA9IHN0YXRlbWVudFRlcm1Ob2Rlcy5zb21lKChzdGF0ZW1lbnRUZXJtTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGVybU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlID0gdGVybU5vZGUubWF0Y2goc3RhdGVtZW50VGVybU5vZGUpO1xuXG4gICAgICAgICAgICBpZiAodGVybU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgaWYgKCFuZWdhdGVkKSB7XG4gICAgICBpZiAodGVybU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlKSB7XG4gICAgICAgIGRlcml2ZWRDb250YWluZWRBc3NlcnRpb25WZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG5lZ2F0ZWQpIHtcbiAgICAgIGlmICghdGVybU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlKSB7XG4gICAgICAgIGRlcml2ZWRDb250YWluZWRBc3NlcnRpb25WZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGRlcml2ZWRDb250YWluZWRBc3NlcnRpb25WZXJpZmllZCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7Y29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nfScgZGVyaXZlZCBjb250YWluZWQgYXNzZXJ0aW9uLmAsIGNvbnRhaW5lZEFzc2VydGlvbk5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkZXJpdmVkQ29udGFpbmVkQXNzZXJ0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlZENvbnRhaW5lZEFzc2VydGlvbihjb250YWluZWRBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZWRDb250YWluZWRBc3NlcnRpb25WZXJpZmllZDtcblxuICBpZiAoIWRlcml2ZWQpIHtcbiAgICBjb25zdCBjb250YWluZWRBc3NlcnRpb25TdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGNvbnRhaW5lZEFzc2VydGlvbk5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbnRhaW5lZEFzc2VydGlvblN0cmluZ30nIHN0YXRlZCBjb250YWluZWQgYXNzZXJ0aW9uLi4uYCwgY29udGFpbmVkQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBzdGF0ZWRDb250YWluZWRBc3NlcnRpb25WZXJpZmllZCA9IHRydWU7XG5cbiAgICBpZiAoc3RhdGVkQ29udGFpbmVkQXNzZXJ0aW9uVmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NvbnRhaW5lZEFzc2VydGlvblN0cmluZ30nIHN0YXRlZCBjb250YWluZWQgYXNzZXJ0aW9uLmAsIGNvbnRhaW5lZEFzc2VydGlvbk5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZWRDb250YWluZWRBc3NlcnRpb25WZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlDb250YWluZWRBc3NlcnRpb24iLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3RhdGVtZW50VGVybU5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwiY29udGFpbmVkQXNzZXJ0aW9uTm9kZSIsImFzc2lnbm1lbnRzIiwiZGVyaXZlZCIsImxvY2FsQ29udGV4dCIsImNvbnRhaW5lZEFzc2VydGlvblZlcmlmaWVkIiwiY29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJ2ZXJpZnlDb250YWluZWRBc3NlcnRpb25GdW5jdGlvbnMiLCJ2ZXJpZnlEZXJpdmVkQ29udGFpbmVkQXNzZXJ0aW9uIiwidmVyaWZ5U3RhdGVkQ29udGFpbmVkQXNzZXJ0aW9uIiwic29tZSIsInZlcmlmeUNvbnRhaW5lZEFzc2VydGlvbkZ1bmN0aW9uIiwiZGVidWciLCJkZXJpdmVkQ29udGFpbmVkQXNzZXJ0aW9uVmVyaWZpZWQiLCJhc3NlcnRpb25OZWdhdGVkIiwiaXNBc3NlcnRpb25OZWdhdGVkIiwidGVybU5vZGUiLCJuZWdhdGVkIiwic3RhdGVtZW50VGVybU5vZGVzIiwidGVybU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VmFyaWFibGVOb2RlIiwic3RhdGVtZW50VGVybU5vZGUiLCJtYXRjaCIsInN0YXRlZENvbnRhaW5lZEFzc2VydGlvblZlcmlmaWVkIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXdCQTs7O3NCQU5XO3FCQUNHO0FBRXRDLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyxxQkFDMUJDLDBCQUEwQkMsSUFBQUEsaUJBQVUsRUFBQztBQUU1QixTQUFTSix5QkFBeUJLLHNCQUFzQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUN6RyxJQUFJQztJQUVKLElBQU1DLDJCQUEyQkYsYUFBYUcsWUFBWSxDQUFDTjtJQUUzREcsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQTBDLE9BQXpCRiwwQkFBeUIsNkJBQTJCTDtJQUV6RixJQUFNUSxvQ0FBb0M7UUFDeENDO1FBQ0FDO0tBQ0Q7SUFFRE4sNkJBQTZCSSxrQ0FBa0NHLElBQUksQ0FBQyxTQUFDQztRQUNuRSxJQUFNUiw2QkFBNkJRLGlDQUFpQ1osd0JBQXdCQyxhQUFhQyxTQUFTQztRQUVsSCxJQUFJQyw0QkFBNEI7WUFDOUIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxJQUFJQSw0QkFBNEI7UUFDOUJELGFBQWFVLEtBQUssQ0FBQyxBQUFDLG9CQUE0QyxPQUF6QlIsMEJBQXlCLDJCQUF5Qkw7SUFDM0Y7SUFFQSxPQUFPSTtBQUNUO0FBRUEsU0FBU0ssZ0NBQWdDVCxzQkFBc0IsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLFlBQVk7SUFDakcsSUFBSVcsb0NBQW9DO0lBRXhDLElBQUlaLFNBQVM7UUFDWCxJQUFNRywyQkFBMkJGLGFBQWFHLFlBQVksQ0FBQ047UUFFM0RHLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUEwQyxPQUF6QkYsMEJBQXlCLHFDQUFtQ0w7UUFFakcsSUFBTWUsbUJBQW1CQyxJQUFBQSwwQkFBa0IsRUFBQ2hCLHlCQUN0Q2lCLFdBQVdyQixjQUFjSSx5QkFDekJrQixVQUFVSCxrQkFDVkkscUJBQXFCckIsd0JBQXdCRSx5QkFDN0NvQiwwQ0FBMENELG1CQUFtQlIsSUFBSSxDQUFDLFNBQUNVO1lBQ2pFLElBQU1ELDBDQUEwQ0gsU0FBU0ssS0FBSyxDQUFDRDtZQUUvRCxJQUFJRCx5Q0FBeUM7Z0JBQzNDLE9BQU87WUFDVDtRQUNGO1FBRU4sSUFBSSxDQUFDRixTQUFTO1lBQ1osSUFBSUUseUNBQXlDO2dCQUMzQ04sb0NBQW9DO1lBQ3RDO1FBQ0Y7UUFFQSxJQUFJSSxTQUFTO1lBQ1gsSUFBSSxDQUFDRSx5Q0FBeUM7Z0JBQzVDTixvQ0FBb0M7WUFDdEM7UUFDRjtRQUVBLElBQUlBLG1DQUFtQztZQUNyQ1gsYUFBYVUsS0FBSyxDQUFDLEFBQUMsb0JBQTRDLE9BQXpCUiwwQkFBeUIsbUNBQWlDTDtRQUNuRztJQUNGO0lBRUEsT0FBT2M7QUFDVDtBQUVBLFNBQVNKLCtCQUErQlYsc0JBQXNCLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxZQUFZO0lBQ2hHLElBQUlvQjtJQUVKLElBQUksQ0FBQ3JCLFNBQVM7UUFDWixJQUFNRywyQkFBMkJGLGFBQWFHLFlBQVksQ0FBQ047UUFFM0RHLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUEwQyxPQUF6QkYsMEJBQXlCLG9DQUFrQ0w7UUFFaEd1QixtQ0FBbUM7UUFFbkMsSUFBSUEsa0NBQWtDO1lBQ3BDcEIsYUFBYVUsS0FBSyxDQUFDLEFBQUMsb0JBQTRDLE9BQXpCUiwwQkFBeUIsa0NBQWdDTDtRQUNsRztJQUNGO0lBRUEsT0FBT3VCO0FBQ1QifQ==
|
|
@@ -86,11 +86,11 @@ function verifyDerivedDefinedAssertion(definedAssertionNode, assignments, derive
|
|
|
86
86
|
return derivedDefinedAssertionVerified;
|
|
87
87
|
}
|
|
88
88
|
function verifyStatedDefinedAssertion(definedAssertionNode, assignments, derived, localContext) {
|
|
89
|
-
var statedDefinedAssertionVerified
|
|
89
|
+
var statedDefinedAssertionVerified;
|
|
90
90
|
if (!derived) {
|
|
91
91
|
var definedAssertionString = localContext.nodeAsString(definedAssertionNode);
|
|
92
92
|
localContext.trace("Verifying the '".concat(definedAssertionString, "' stated defined assertion..."), definedAssertionNode);
|
|
93
|
-
|
|
93
|
+
statedDefinedAssertionVerified = true;
|
|
94
94
|
if (statedDefinedAssertionVerified) {
|
|
95
95
|
localContext.debug("...verified the '".concat(definedAssertionString, "' stated defined assertion."), definedAssertionNode);
|
|
96
96
|
}
|
|
@@ -98,4 +98,4 @@ function verifyStatedDefinedAssertion(definedAssertionNode, assignments, derived
|
|
|
98
98
|
return statedDefinedAssertionVerified;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvYXNzZXJ0aW9uL2RlZmluZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlUZXJtIGZyb20gXCIuLi8uLi92ZXJpZnkvdGVybVwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGlzQXNzZXJ0aW9uTmVnYXRlZCB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvdmVyaWZ5XCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L3Rlcm0hXCIpLFxuICAgICAgdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L3Rlcm0vdmFyaWFibGUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlEZWZpbmVkQXNzZXJ0aW9uKGRlZmluZWRBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBkZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQ7XG5cbiAgY29uc3QgZGVmaW5lZEFzc2VydGlvblN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoZGVmaW5lZEFzc2VydGlvbk5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtkZWZpbmVkQXNzZXJ0aW9uU3RyaW5nfScgZGVmaW5lZCBhc3NlcnRpb24uLi5gLCBkZWZpbmVkQXNzZXJ0aW9uTm9kZSk7XG5cbiAgY29uc3QgdmVyaWZ5RGVmaW5lZEFzc2VydGlvbkZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlEZXJpdmVkRGVmaW5lZEFzc2VydGlvbixcbiAgICB2ZXJpZnlTdGF0ZWREZWZpbmVkQXNzZXJ0aW9uXG4gIF07XG5cbiAgZGVmaW5lZEFzc2VydGlvblZlcmlmaWVkID0gdmVyaWZ5RGVmaW5lZEFzc2VydGlvbkZ1bmN0aW9ucy5zb21lKCh2ZXJpZnlEZWZpbmVkQXNzZXJ0aW9uRnVuY3Rpb24pID0+
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvYXNzZXJ0aW9uL2RlZmluZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlUZXJtIGZyb20gXCIuLi8uLi92ZXJpZnkvdGVybVwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGlzQXNzZXJ0aW9uTmVnYXRlZCB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvdmVyaWZ5XCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L3Rlcm0hXCIpLFxuICAgICAgdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L3Rlcm0vdmFyaWFibGUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlEZWZpbmVkQXNzZXJ0aW9uKGRlZmluZWRBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBkZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQ7XG5cbiAgY29uc3QgZGVmaW5lZEFzc2VydGlvblN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoZGVmaW5lZEFzc2VydGlvbk5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtkZWZpbmVkQXNzZXJ0aW9uU3RyaW5nfScgZGVmaW5lZCBhc3NlcnRpb24uLi5gLCBkZWZpbmVkQXNzZXJ0aW9uTm9kZSk7XG5cbiAgY29uc3QgdmVyaWZ5RGVmaW5lZEFzc2VydGlvbkZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlEZXJpdmVkRGVmaW5lZEFzc2VydGlvbixcbiAgICB2ZXJpZnlTdGF0ZWREZWZpbmVkQXNzZXJ0aW9uXG4gIF07XG5cbiAgZGVmaW5lZEFzc2VydGlvblZlcmlmaWVkID0gdmVyaWZ5RGVmaW5lZEFzc2VydGlvbkZ1bmN0aW9ucy5zb21lKCh2ZXJpZnlEZWZpbmVkQXNzZXJ0aW9uRnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBkZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQgPSB2ZXJpZnlEZWZpbmVkQXNzZXJ0aW9uRnVuY3Rpb24oZGVmaW5lZEFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKGRlZmluZWRBc3NlcnRpb25WZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBpZiAoZGVmaW5lZEFzc2VydGlvblZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7ZGVmaW5lZEFzc2VydGlvblN0cmluZ30nIGRlZmluZWQgYXNzZXJ0aW9uLmAsIGRlZmluZWRBc3NlcnRpb25Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiBkZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeURlcml2ZWREZWZpbmVkQXNzZXJ0aW9uKGRlZmluZWRBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBkZXJpdmVkRGVmaW5lZEFzc2VydGlvblZlcmlmaWVkID0gZmFsc2U7XG5cbiAgaWYgKGRlcml2ZWQpIHtcbiAgICBjb25zdCBkZWZpbmVkQXNzZXJ0aW9uU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhkZWZpbmVkQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZGVmaW5lZEFzc2VydGlvblN0cmluZ30nIGRlcml2ZWQgZGVmaW5lZCBhc3NlcnRpb24uLi5gLCBkZWZpbmVkQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBjb25zdCBzdGF0ZW1lbnROZWdhdGVkID0gaXNBc3NlcnRpb25OZWdhdGVkKGRlZmluZWRBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeShkZWZpbmVkQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGRlZmluZWRBc3NlcnRpb25Ob2RlKTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmICh2YXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlID0gbG9jYWxDb250ZXh0LmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSk7XG5cbiAgICAgIGlmICh2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCB2YXJpYWJsZURlZmluZWQgPSBsb2NhbENvbnRleHQuaXNWYXJpYWJsZURlZmluZWQodmFyaWFibGUpO1xuXG4gICAgICAgIGlmICghc3RhdGVtZW50TmVnYXRlZCkge1xuICAgICAgICAgIGlmICh2YXJpYWJsZURlZmluZWQpIHtcbiAgICAgICAgICAgIGRlcml2ZWREZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdGF0ZW1lbnROZWdhdGVkKSB7XG4gICAgICAgICAgaWYgKCF2YXJpYWJsZURlZmluZWQpIHtcbiAgICAgICAgICAgIGRlcml2ZWREZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGVybU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHRlcm1zID0gW10sXG4gICAgICAgICAgICB0ZXJtVmVyaWZpZWQgPSB2ZXJpZnlUZXJtKHRlcm1Ob2RlLCB0ZXJtcywgbG9jYWxDb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgIGlmICh0ZXJtVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgZmlyc3RUZXJtID0gZmlyc3QodGVybXMpLFxuICAgICAgICAgICAgICB0ZXJtID0gZmlyc3RUZXJtLCAvLy9cbiAgICAgICAgICAgICAgdGVybUdyb3VuZGVkID0gbG9jYWxDb250ZXh0LmlzVGVybUdyb3VuZGVkKHRlcm0pO1xuXG4gICAgICAgIGlmICghc3RhdGVtZW50TmVnYXRlZCkge1xuICAgICAgICAgIGlmICh0ZXJtR3JvdW5kZWQpIHtcbiAgICAgICAgICAgIGRlcml2ZWREZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdGF0ZW1lbnROZWdhdGVkKSB7XG4gICAgICAgICAgaWYgKCF0ZXJtR3JvdW5kZWQpIHtcbiAgICAgICAgICAgIGRlcml2ZWREZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZXJpdmVkRGVmaW5lZEFzc2VydGlvblZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtkZWZpbmVkQXNzZXJ0aW9uU3RyaW5nfScgZGVyaXZlZCBkZWZpbmVkIGFzc2VydGlvbi5gLCBkZWZpbmVkQXNzZXJ0aW9uTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRlcml2ZWREZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlZERlZmluZWRBc3NlcnRpb24oZGVmaW5lZEFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlZERlZmluZWRBc3NlcnRpb25WZXJpZmllZDtcblxuICBpZiAoIWRlcml2ZWQpIHtcbiAgICBjb25zdCBkZWZpbmVkQXNzZXJ0aW9uU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhkZWZpbmVkQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZGVmaW5lZEFzc2VydGlvblN0cmluZ30nIHN0YXRlZCBkZWZpbmVkIGFzc2VydGlvbi4uLmAsIGRlZmluZWRBc3NlcnRpb25Ob2RlKTtcblxuICAgIHN0YXRlZERlZmluZWRBc3NlcnRpb25WZXJpZmllZCA9IHRydWU7XG5cbiAgICBpZiAoc3RhdGVkRGVmaW5lZEFzc2VydGlvblZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtkZWZpbmVkQXNzZXJ0aW9uU3RyaW5nfScgc3RhdGVkIGRlZmluZWQgYXNzZXJ0aW9uLmAsIGRlZmluZWRBc3NlcnRpb25Ob2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVkRGVmaW5lZEFzc2VydGlvblZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeURlZmluZWRBc3NlcnRpb24iLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlUXVlcnkiLCJkZWZpbmVkQXNzZXJ0aW9uTm9kZSIsImFzc2lnbm1lbnRzIiwiZGVyaXZlZCIsImxvY2FsQ29udGV4dCIsImRlZmluZWRBc3NlcnRpb25WZXJpZmllZCIsImRlZmluZWRBc3NlcnRpb25TdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInZlcmlmeURlZmluZWRBc3NlcnRpb25GdW5jdGlvbnMiLCJ2ZXJpZnlEZXJpdmVkRGVmaW5lZEFzc2VydGlvbiIsInZlcmlmeVN0YXRlZERlZmluZWRBc3NlcnRpb24iLCJzb21lIiwidmVyaWZ5RGVmaW5lZEFzc2VydGlvbkZ1bmN0aW9uIiwiZGVidWciLCJkZXJpdmVkRGVmaW5lZEFzc2VydGlvblZlcmlmaWVkIiwic3RhdGVtZW50TmVnYXRlZCIsImlzQXNzZXJ0aW9uTmVnYXRlZCIsInZhcmlhYmxlTm9kZSIsInRlcm1Ob2RlIiwidmFyaWFibGUiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlTm9kZSIsInZhcmlhYmxlRGVmaW5lZCIsImlzVmFyaWFibGVEZWZpbmVkIiwidGVybXMiLCJ0ZXJtVmVyaWZpZWQiLCJ2ZXJpZnlUZXJtIiwidmVyaWZpZWRBaGVhZCIsImZpcnN0VGVybSIsImZpcnN0IiwidGVybSIsInRlcm1Hcm91bmRlZCIsImlzVGVybUdyb3VuZGVkIiwic3RhdGVkRGVmaW5lZEFzc2VydGlvblZlcmlmaWVkIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXQTs7O2VBQXdCQTs7OzJEQVREO3FCQUVEO3FCQUNJO3NCQUNTOzs7Ozs7QUFFbkMsSUFBTUMsZ0JBQWdCQyxJQUFBQSxnQkFBUyxFQUFDLHFCQUMxQkMsb0JBQW9CRCxJQUFBQSxnQkFBUyxFQUFDO0FBRXJCLFNBQVNGLHVCQUF1Qkksb0JBQW9CLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxZQUFZO0lBQ3JHLElBQUlDO0lBRUosSUFBTUMseUJBQXlCRixhQUFhRyxZQUFZLENBQUNOO0lBRXpERyxhQUFhSSxLQUFLLENBQUMsQUFBQyxrQkFBd0MsT0FBdkJGLHdCQUF1QiwyQkFBeUJMO0lBRXJGLElBQU1RLGtDQUFrQztRQUN0Q0M7UUFDQUM7S0FDRDtJQUVETiwyQkFBMkJJLGdDQUFnQ0csSUFBSSxDQUFDLFNBQUNDO1FBQy9ELElBQU1SLDJCQUEyQlEsK0JBQStCWixzQkFBc0JDLGFBQWFDLFNBQVNDO1FBRTVHLElBQUlDLDBCQUEwQjtZQUM1QixPQUFPO1FBQ1Q7SUFDRjtJQUVBLElBQUlBLDBCQUEwQjtRQUM1QkQsYUFBYVUsS0FBSyxDQUFDLEFBQUMsb0JBQTBDLE9BQXZCUix3QkFBdUIseUJBQXVCTDtJQUN2RjtJQUVBLE9BQU9JO0FBQ1Q7QUFFQSxTQUFTSyw4QkFBOEJULG9CQUFvQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUM3RixJQUFJVyxrQ0FBa0M7SUFFdEMsSUFBSVosU0FBUztRQUNYLElBQU1HLHlCQUF5QkYsYUFBYUcsWUFBWSxDQUFDTjtRQUV6REcsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQXdDLE9BQXZCRix3QkFBdUIsbUNBQWlDTDtRQUU3RixJQUFNZSxtQkFBbUJDLElBQUFBLDBCQUFrQixFQUFDaEIsdUJBQ3RDaUIsZUFBZWxCLGtCQUFrQkMsdUJBQ2pDa0IsV0FBV3JCLGNBQWNHO1FBRS9CLElBQUksT0FBTztRQUNULEdBQUc7UUFDTCxPQUFPLElBQUlpQixpQkFBaUIsTUFBTTtZQUNoQyxJQUFNRSxXQUFXaEIsYUFBYWlCLDBCQUEwQixDQUFDSDtZQUV6RCxJQUFJRSxhQUFhLE1BQU07Z0JBQ3JCLElBQU1FLGtCQUFrQmxCLGFBQWFtQixpQkFBaUIsQ0FBQ0g7Z0JBRXZELElBQUksQ0FBQ0osa0JBQWtCO29CQUNyQixJQUFJTSxpQkFBaUI7d0JBQ25CUCxrQ0FBa0M7b0JBQ3BDO2dCQUNGO2dCQUVBLElBQUlDLGtCQUFrQjtvQkFDcEIsSUFBSSxDQUFDTSxpQkFBaUI7d0JBQ3BCUCxrQ0FBa0M7b0JBQ3BDO2dCQUNGO1lBQ0Y7UUFDRixPQUFPLElBQUlJLGFBQWEsTUFBTTtZQUM1QixJQUFNSyxRQUFRLEVBQUUsRUFDVkMsZUFBZUMsSUFBQUEsYUFBVSxFQUFDUCxVQUFVSyxPQUFPcEIsY0FBYztnQkFDdkQsSUFBTXVCLGdCQUFnQjtnQkFFdEIsT0FBT0E7WUFDVDtZQUVOLElBQUlGLGNBQWM7Z0JBQ2hCLElBQU1HLFlBQVlDLElBQUFBLFlBQUssRUFBQ0wsUUFDbEJNLE9BQU9GLFdBQ1BHLGVBQWUzQixhQUFhNEIsY0FBYyxDQUFDRjtnQkFFakQsSUFBSSxDQUFDZCxrQkFBa0I7b0JBQ3JCLElBQUllLGNBQWM7d0JBQ2hCaEIsa0NBQWtDO29CQUNwQztnQkFDRjtnQkFFQSxJQUFJQyxrQkFBa0I7b0JBQ3BCLElBQUksQ0FBQ2UsY0FBYzt3QkFDakJoQixrQ0FBa0M7b0JBQ3BDO2dCQUNGO1lBQ0Y7UUFDRjtRQUVBLElBQUlBLGlDQUFpQztZQUNuQ1gsYUFBYVUsS0FBSyxDQUFDLEFBQUMsb0JBQTBDLE9BQXZCUix3QkFBdUIsaUNBQStCTDtRQUMvRjtJQUNGO0lBRUEsT0FBT2M7QUFDVDtBQUVBLFNBQVNKLDZCQUE2QlYsb0JBQW9CLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxZQUFZO0lBQzVGLElBQUk2QjtJQUVKLElBQUksQ0FBQzlCLFNBQVM7UUFDWixJQUFNRyx5QkFBeUJGLGFBQWFHLFlBQVksQ0FBQ047UUFFekRHLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUF3QyxPQUF2QkYsd0JBQXVCLGtDQUFnQ0w7UUFFNUZnQyxpQ0FBaUM7UUFFakMsSUFBSUEsZ0NBQWdDO1lBQ2xDN0IsYUFBYVUsS0FBSyxDQUFDLEFBQUMsb0JBQTBDLE9BQXZCUix3QkFBdUIsZ0NBQThCTDtRQUM5RjtJQUNGO0lBRUEsT0FBT2dDO0FBQ1QifQ==
|
|
@@ -9,33 +9,42 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
|
|
12
|
+
var _query = require("../utilities/query");
|
|
12
13
|
var _metaTypeNames = require("../metaTypeNames");
|
|
13
14
|
function _interop_require_default(obj) {
|
|
14
15
|
return obj && obj.__esModule ? obj : {
|
|
15
16
|
default: obj
|
|
16
17
|
};
|
|
17
18
|
}
|
|
19
|
+
var metavariableNodeQuery = (0, _query.nodeQuery)("/statement/metavariable!");
|
|
18
20
|
function verifyStatementGivenMetaType(statementNode, metaType, assignments, derived, localContext) {
|
|
19
21
|
var statementVerifiedGivenMetaType;
|
|
20
22
|
var metaTypeName = metaType.getName();
|
|
21
23
|
switch(metaTypeName){
|
|
22
24
|
case _metaTypeNames.FRAME_META_TYPE_NAME:
|
|
25
|
+
case _metaTypeNames.REFERENCE_META_TYPE_NAME:
|
|
23
26
|
{
|
|
24
|
-
|
|
27
|
+
statementVerifiedGivenMetaType = false;
|
|
28
|
+
var metavariableNode = metavariableNodeQuery(statementNode);
|
|
29
|
+
if (metavariableNode !== null) {
|
|
30
|
+
var metavariable = localContext.findMetavariableByMetavariableNode(metavariableNode);
|
|
31
|
+
if (metavariable !== null) {
|
|
32
|
+
var metavariableMetaType = metavariable.getMetaType();
|
|
33
|
+
if (metavariableMetaType === metaType) {
|
|
34
|
+
statementVerifiedGivenMetaType = true;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
25
38
|
break;
|
|
26
39
|
}
|
|
27
40
|
case _metaTypeNames.STATEMENT_META_TYPE_NAME:
|
|
28
41
|
{
|
|
29
42
|
var verifyStatement = _shim.default.verifyStatement, statementVerified = verifyStatement(statementNode, assignments, derived, localContext);
|
|
30
|
-
statementVerifiedGivenMetaType = statementVerified;
|
|
43
|
+
statementVerifiedGivenMetaType = statementVerified; ///
|
|
31
44
|
break;
|
|
32
45
|
}
|
|
33
|
-
default:
|
|
34
|
-
{
|
|
35
|
-
debugger;
|
|
36
|
-
}
|
|
37
46
|
}
|
|
38
47
|
return statementVerifiedGivenMetaType;
|
|
39
48
|
}
|
|
40
49
|
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50R2l2ZW5NZXRhVHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4uL3NoaW1cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgRlJBTUVfTUVUQV9UWVBFX05BTUUsIFJFRkVSRU5DRV9NRVRBX1RZUEVfTkFNRSwgU1RBVEVNRU5UX01FVEFfVFlQRV9OQU1FIH0gZnJvbSBcIi4uL21ldGFUeXBlTmFtZXNcIjtcblxuY29uc3QgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0YXRlbWVudC9tZXRhdmFyaWFibGUhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlTdGF0ZW1lbnRHaXZlbk1ldGFUeXBlKHN0YXRlbWVudE5vZGUsIG1ldGFUeXBlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEdpdmVuTWV0YVR5cGU7XG5cbiAgY29uc3QgbWV0YVR5cGVOYW1lID0gbWV0YVR5cGUuZ2V0TmFtZSgpO1xuXG4gIHN3aXRjaCAobWV0YVR5cGVOYW1lKSB7XG4gICAgY2FzZSBGUkFNRV9NRVRBX1RZUEVfTkFNRTpcbiAgICBjYXNlIFJFRkVSRU5DRV9NRVRBX1RZUEVfTkFNRToge1xuICAgICAgc3RhdGVtZW50VmVyaWZpZWRHaXZlbk1ldGFUeXBlID0gZmFsc2U7XG5cbiAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGlmIChtZXRhdmFyaWFibGVOb2RlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZSA9IGxvY2FsQ29udGV4dC5maW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gICAgICAgIGlmIChtZXRhdmFyaWFibGUgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBtZXRhdmFyaWFibGVNZXRhVHlwZSA9IG1ldGF2YXJpYWJsZS5nZXRNZXRhVHlwZSgpO1xuXG4gICAgICAgICAgaWYgKG1ldGF2YXJpYWJsZU1ldGFUeXBlID09PSBtZXRhVHlwZSkge1xuICAgICAgICAgICAgc3RhdGVtZW50VmVyaWZpZWRHaXZlbk1ldGFUeXBlID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY2FzZSBTVEFURU1FTlRfTUVUQV9UWVBFX05BTUU6IHtcbiAgICAgIGNvbnN0IHsgdmVyaWZ5U3RhdGVtZW50IH0gPSBzaGltLFxuICAgICAgICAgICAgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dClcblxuICAgICAgc3RhdGVtZW50VmVyaWZpZWRHaXZlbk1ldGFUeXBlID0gc3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuXG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRHaXZlbk1ldGFUeXBlO1xufSJdLCJuYW1lcyI6WyJ2ZXJpZnlTdGF0ZW1lbnRHaXZlbk1ldGFUeXBlIiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3RhdGVtZW50Tm9kZSIsIm1ldGFUeXBlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxDb250ZXh0Iiwic3RhdGVtZW50VmVyaWZpZWRHaXZlbk1ldGFUeXBlIiwibWV0YVR5cGVOYW1lIiwiZ2V0TmFtZSIsIkZSQU1FX01FVEFfVFlQRV9OQU1FIiwiUkVGRVJFTkNFX01FVEFfVFlQRV9OQU1FIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZSIsImZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVNZXRhVHlwZSIsImdldE1ldGFUeXBlIiwiU1RBVEVNRU5UX01FVEFfVFlQRV9OQU1FIiwidmVyaWZ5U3RhdGVtZW50Iiwic2hpbSIsInN0YXRlbWVudFZlcmlmaWVkIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQXdCQTs7OzJEQVBQO3FCQUVTOzZCQUMrRDs7Ozs7O0FBRXpGLElBQU1DLHdCQUF3QkMsSUFBQUEsZ0JBQVMsRUFBQztBQUV6QixTQUFTRiw2QkFBNkJHLGFBQWEsRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUM5RyxJQUFJQztJQUVKLElBQU1DLGVBQWVMLFNBQVNNLE9BQU87SUFFckMsT0FBUUQ7UUFDTixLQUFLRSxtQ0FBb0I7UUFDekIsS0FBS0MsdUNBQXdCO1lBQUU7Z0JBQzdCSixpQ0FBaUM7Z0JBRWpDLElBQU1LLG1CQUFtQlosc0JBQXNCRTtnQkFFL0MsSUFBSVUscUJBQXFCLE1BQU07b0JBQzdCLElBQU1DLGVBQWVQLGFBQWFRLGtDQUFrQyxDQUFDRjtvQkFFckUsSUFBSUMsaUJBQWlCLE1BQU07d0JBQ3pCLElBQU1FLHVCQUF1QkYsYUFBYUcsV0FBVzt3QkFFckQsSUFBSUQseUJBQXlCWixVQUFVOzRCQUNyQ0ksaUNBQWlDO3dCQUNuQztvQkFDRjtnQkFDRjtnQkFFQTtZQUNGO1FBRUEsS0FBS1UsdUNBQXdCO1lBQUU7Z0JBQzdCLElBQU0sQUFBRUMsa0JBQW9CQyxhQUFJLENBQXhCRCxpQkFDRkUsb0JBQW9CRixnQkFBZ0JoQixlQUFlRSxhQUFhQyxTQUFTQztnQkFFL0VDLGlDQUFpQ2EsbUJBQW1CLEdBQUc7Z0JBRXZEO1lBQ0Y7SUFDRjtJQUVBLE9BQU9iO0FBQ1QifQ==
|
package/package.json
CHANGED
package/src/metavariable.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import verifyTermGivenType from "./verify/termGivenType";
|
|
4
4
|
|
|
5
|
-
import { first } from "./utilities/array";
|
|
6
5
|
import { nodeQuery } from "./utilities/query";
|
|
7
6
|
import { nodeAsString } from "./utilities/string";
|
|
8
7
|
import { nameFromMetavariableNode } from "./utilities/name";
|
|
@@ -63,7 +62,8 @@ export default class Metavariable {
|
|
|
63
62
|
} else if ((termNode === null) && (this.termType === null)) {
|
|
64
63
|
matchesNode = true;
|
|
65
64
|
} else if ((termNode !== null) && (this.termType !== null)) {
|
|
66
|
-
const
|
|
65
|
+
const type = this.termType, ///
|
|
66
|
+
termUnifiedWithTermType = verifyTermGivenType(termNode, type, localContext);
|
|
67
67
|
|
|
68
68
|
matchesNode = termUnifiedWithTermType; ///
|
|
69
69
|
}
|
|
@@ -89,42 +89,3 @@ export default class Metavariable {
|
|
|
89
89
|
return metavariable;
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
|
-
|
|
93
|
-
export function unifyTermWithTermType(termNode, termType, localContext) {
|
|
94
|
-
let termUnifiedWithTermType;
|
|
95
|
-
|
|
96
|
-
const type = termType, ///
|
|
97
|
-
terms = [],
|
|
98
|
-
termVerified = verifyTerm(termNode, terms, localContext, () => {
|
|
99
|
-
let verifiedAhead = false;
|
|
100
|
-
|
|
101
|
-
const firstTerm = first(terms),
|
|
102
|
-
term = firstTerm, ///
|
|
103
|
-
termType = term.getType(),
|
|
104
|
-
termTypeEqualToOrSubTypeOfType = termType.isEqualToOrSubTypeOf(type);
|
|
105
|
-
|
|
106
|
-
if (termTypeEqualToOrSubTypeOfType) {
|
|
107
|
-
verifiedAhead = true;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
return verifiedAhead;
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
termUnifiedWithTermType = termVerified; ///
|
|
114
|
-
|
|
115
|
-
return termUnifiedWithTermType;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
function termTypeFromMetavariableNode(metavariableNode, fileContext) {
|
|
119
|
-
let termType = null;
|
|
120
|
-
|
|
121
|
-
const typeNode = typeNodeQuery(metavariableNode);
|
|
122
|
-
|
|
123
|
-
if (typeNode !== null) {
|
|
124
|
-
const type = fileContext.findTypeByTypeNode(typeNode);
|
|
125
|
-
|
|
126
|
-
termType = type; ///
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
return termType;
|
|
130
|
-
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import metaLevelVerifier from "../../verifier/metaLevel";
|
|
4
|
-
|
|
5
3
|
import { isAssertionNegated } from "../../utilities/verify";
|
|
6
4
|
import { nodeQuery, nodesQuery } from "../../utilities/query";
|
|
7
5
|
|
|
@@ -76,14 +74,14 @@ function verifyDerivedContainedAssertion(containedAssertionNode, assignments, de
|
|
|
76
74
|
}
|
|
77
75
|
|
|
78
76
|
function verifyStatedContainedAssertion(containedAssertionNode, assignments, derived, localContext) {
|
|
79
|
-
let statedContainedAssertionVerified
|
|
77
|
+
let statedContainedAssertionVerified;
|
|
80
78
|
|
|
81
79
|
if (!derived) {
|
|
82
80
|
const containedAssertionString = localContext.nodeAsString(containedAssertionNode);
|
|
83
81
|
|
|
84
82
|
localContext.trace(`Verifying the '${containedAssertionString}' stated contained assertion...`, containedAssertionNode);
|
|
85
83
|
|
|
86
|
-
|
|
84
|
+
statedContainedAssertionVerified = true;
|
|
87
85
|
|
|
88
86
|
if (statedContainedAssertionVerified) {
|
|
89
87
|
localContext.debug(`...verified the '${containedAssertionString}' stated contained assertion.`, containedAssertionNode);
|
|
@@ -104,14 +104,14 @@ function verifyDerivedDefinedAssertion(definedAssertionNode, assignments, derive
|
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
function verifyStatedDefinedAssertion(definedAssertionNode, assignments, derived, localContext) {
|
|
107
|
-
let statedDefinedAssertionVerified
|
|
107
|
+
let statedDefinedAssertionVerified;
|
|
108
108
|
|
|
109
109
|
if (!derived) {
|
|
110
110
|
const definedAssertionString = localContext.nodeAsString(definedAssertionNode);
|
|
111
111
|
|
|
112
112
|
localContext.trace(`Verifying the '${definedAssertionString}' stated defined assertion...`, definedAssertionNode);
|
|
113
113
|
|
|
114
|
-
|
|
114
|
+
statedDefinedAssertionVerified = true;
|
|
115
115
|
|
|
116
116
|
if (statedDefinedAssertionVerified) {
|
|
117
117
|
localContext.debug(`...verified the '${definedAssertionString}' stated defined assertion.`, definedAssertionNode);
|
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
import shim from "../shim";
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { nodeQuery } from "../utilities/query";
|
|
6
|
+
import { FRAME_META_TYPE_NAME, REFERENCE_META_TYPE_NAME, STATEMENT_META_TYPE_NAME } from "../metaTypeNames";
|
|
7
|
+
|
|
8
|
+
const metavariableNodeQuery = nodeQuery("/statement/metavariable!");
|
|
6
9
|
|
|
7
10
|
export default function verifyStatementGivenMetaType(statementNode, metaType, assignments, derived, localContext) {
|
|
8
11
|
let statementVerifiedGivenMetaType;
|
|
@@ -10,9 +13,23 @@ export default function verifyStatementGivenMetaType(statementNode, metaType, as
|
|
|
10
13
|
const metaTypeName = metaType.getName();
|
|
11
14
|
|
|
12
15
|
switch (metaTypeName) {
|
|
13
|
-
case FRAME_META_TYPE_NAME:
|
|
16
|
+
case FRAME_META_TYPE_NAME:
|
|
17
|
+
case REFERENCE_META_TYPE_NAME: {
|
|
18
|
+
statementVerifiedGivenMetaType = false;
|
|
19
|
+
|
|
20
|
+
const metavariableNode = metavariableNodeQuery(statementNode);
|
|
21
|
+
|
|
22
|
+
if (metavariableNode !== null) {
|
|
23
|
+
const metavariable = localContext.findMetavariableByMetavariableNode(metavariableNode);
|
|
24
|
+
|
|
25
|
+
if (metavariable !== null) {
|
|
26
|
+
const metavariableMetaType = metavariable.getMetaType();
|
|
14
27
|
|
|
15
|
-
|
|
28
|
+
if (metavariableMetaType === metaType) {
|
|
29
|
+
statementVerifiedGivenMetaType = true;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
16
33
|
|
|
17
34
|
break;
|
|
18
35
|
}
|
|
@@ -21,16 +38,10 @@ export default function verifyStatementGivenMetaType(statementNode, metaType, as
|
|
|
21
38
|
const { verifyStatement } = shim,
|
|
22
39
|
statementVerified = verifyStatement(statementNode, assignments, derived, localContext)
|
|
23
40
|
|
|
24
|
-
statementVerifiedGivenMetaType = statementVerified;
|
|
41
|
+
statementVerifiedGivenMetaType = statementVerified; ///
|
|
25
42
|
|
|
26
43
|
break;
|
|
27
44
|
}
|
|
28
|
-
|
|
29
|
-
default: {
|
|
30
|
-
|
|
31
|
-
debugger
|
|
32
|
-
|
|
33
|
-
}
|
|
34
45
|
}
|
|
35
46
|
|
|
36
47
|
return statementVerifiedGivenMetaType;
|