occam-verify-cli 0.0.1003 → 0.0.1006

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/README.md +0 -2
  2. package/bin/abbreviations.js +1 -3
  3. package/bin/action/help.js +0 -2
  4. package/bin/action/verify.js +4 -24
  5. package/bin/defaults.js +0 -2
  6. package/bin/main.js +3 -4
  7. package/bin/options.js +0 -2
  8. package/bin/utilities/releaseContext.js +9 -2
  9. package/lib/assertion/subproof.js +106 -0
  10. package/lib/assignment/metavariable.js +2 -2
  11. package/lib/combinator.js +50 -16
  12. package/lib/conclusion.js +74 -14
  13. package/lib/context/file.js +191 -31
  14. package/lib/context/local.js +37 -49
  15. package/lib/context/release.js +25 -81
  16. package/lib/declaration/combinator.js +83 -0
  17. package/lib/derivation.js +86 -0
  18. package/lib/equality.js +3 -11
  19. package/lib/index.js +1 -1
  20. package/lib/judgement.js +3 -10
  21. package/lib/label.js +58 -16
  22. package/lib/log.js +3 -11
  23. package/lib/metaType.js +31 -19
  24. package/lib/metavariable.js +39 -12
  25. package/lib/mixins/statement/qualified/unify.js +118 -0
  26. package/lib/mixins/statement/unify.js +57 -0
  27. package/lib/mixins/statement/verify.js +184 -0
  28. package/lib/node/statement/combinator/bracketed.js +15 -11
  29. package/lib/ocmbinator/bracketed.js +52 -8
  30. package/lib/premise.js +109 -55
  31. package/lib/proof.js +91 -0
  32. package/lib/proofStep.js +78 -25
  33. package/lib/reference.js +62 -16
  34. package/lib/rule.js +146 -26
  35. package/lib/ruleNames.js +5 -5
  36. package/lib/statement/qualified.js +127 -0
  37. package/lib/statement/unqualified.js +89 -0
  38. package/lib/statement.js +176 -0
  39. package/lib/subDerivation.js +86 -0
  40. package/lib/subproof.js +155 -0
  41. package/lib/substitution/frameForMetavariable.js +14 -15
  42. package/lib/substitution/statementForMetavariable.js +23 -24
  43. package/lib/substitution/termForVariable.js +11 -12
  44. package/lib/substitution.js +9 -2
  45. package/lib/substitutions.js +14 -14
  46. package/lib/supposition.js +92 -61
  47. package/lib/unifier/statementWithCombinator.js +3 -3
  48. package/lib/unify/metavariableWithFrame.js +2 -2
  49. package/lib/unify/metavariableWithStatement.js +2 -2
  50. package/lib/unify/metavariableWithStatementGivenSubstitution.js +2 -2
  51. package/lib/unify/variableWithTerm.js +2 -2
  52. package/lib/utilities/node.js +13 -11
  53. package/lib/utilities/releaseContext.js +5 -6
  54. package/lib/utilities/string.js +8 -2
  55. package/lib/utilities/subproof.js +5 -5
  56. package/lib/utilities/tokens.js +10 -10
  57. package/lib/variable.js +1 -10
  58. package/lib/verifier/metaLevel.js +2 -2
  59. package/lib/verifier/topLevel.js +5 -5
  60. package/lib/verify/axiom.js +3 -5
  61. package/lib/verify/conjecture.js +4 -7
  62. package/lib/verify/consequent.js +2 -3
  63. package/lib/verify/declaration/combinator.js +2 -14
  64. package/lib/verify/declaration/metavariable.js +9 -10
  65. package/lib/verify/files.js +4 -4
  66. package/lib/verify/frame.js +12 -12
  67. package/lib/verify/lemma.js +4 -7
  68. package/lib/verify/metaLemma.js +4 -7
  69. package/lib/verify/metatheorem.js +4 -7
  70. package/lib/verify/proofStep.js +2 -31
  71. package/lib/verify/theorem.js +4 -7
  72. package/package.json +1 -1
  73. package/src/assertion/subproof.js +84 -0
  74. package/src/assignment/metavariable.js +2 -2
  75. package/src/combinator.js +45 -15
  76. package/src/conclusion.js +85 -13
  77. package/src/context/file.js +223 -11
  78. package/src/context/local.js +12 -16
  79. package/src/context/release.js +31 -100
  80. package/src/declaration/combinator.js +44 -0
  81. package/src/derivation.js +50 -0
  82. package/src/equality.js +2 -9
  83. package/src/index.js +0 -1
  84. package/src/judgement.js +2 -8
  85. package/src/label.js +56 -13
  86. package/src/log.js +2 -9
  87. package/src/metaType.js +26 -14
  88. package/src/metavariable.js +57 -9
  89. package/src/mixins/statement/qualified/unify.js +186 -0
  90. package/src/mixins/statement/unify.js +70 -0
  91. package/src/mixins/statement/verify.js +274 -0
  92. package/src/node/statement/combinator/bracketed.js +4 -3
  93. package/src/ocmbinator/bracketed.js +15 -12
  94. package/src/premise.js +138 -44
  95. package/src/proof.js +58 -0
  96. package/src/proofStep.js +92 -22
  97. package/src/reference.js +58 -12
  98. package/src/rule.js +199 -30
  99. package/src/ruleNames.js +1 -1
  100. package/src/statement/qualified.js +104 -0
  101. package/src/statement/unqualified.js +60 -0
  102. package/src/statement.js +179 -0
  103. package/src/subDerivation.js +52 -0
  104. package/src/subproof.js +99 -0
  105. package/src/substitution/frameForMetavariable.js +20 -17
  106. package/src/substitution/statementForMetavariable.js +31 -29
  107. package/src/substitution/termForVariable.js +15 -14
  108. package/src/substitution.js +8 -0
  109. package/src/substitutions.js +12 -13
  110. package/src/supposition.js +96 -51
  111. package/src/unifier/statementWithCombinator.js +6 -3
  112. package/src/unify/metavariableWithFrame.js +1 -1
  113. package/src/unify/metavariableWithStatement.js +1 -1
  114. package/src/unify/metavariableWithStatementGivenSubstitution.js +1 -1
  115. package/src/unify/variableWithTerm.js +1 -1
  116. package/src/utilities/node.js +18 -12
  117. package/src/utilities/releaseContext.js +5 -8
  118. package/src/utilities/string.js +6 -2
  119. package/src/utilities/subproof.js +2 -2
  120. package/src/utilities/tokens.js +7 -7
  121. package/src/variable.js +0 -10
  122. package/src/verifier/metaLevel.js +3 -2
  123. package/src/verifier/topLevel.js +6 -4
  124. package/src/verify/axiom.js +1 -2
  125. package/src/verify/conjecture.js +2 -3
  126. package/src/verify/consequent.js +1 -1
  127. package/src/verify/declaration/combinator.js +0 -20
  128. package/src/verify/declaration/metavariable.js +8 -12
  129. package/src/verify/files.js +3 -3
  130. package/src/verify/frame.js +11 -11
  131. package/src/verify/lemma.js +2 -3
  132. package/src/verify/metaLemma.js +2 -3
  133. package/src/verify/metatheorem.js +2 -3
  134. package/src/verify/proofStep.js +0 -41
  135. package/src/verify/theorem.js +2 -3
  136. package/lib/tokens/combinatorStatement/bracketed.js +0 -17
  137. package/lib/unify/premiseWithProofStep.js +0 -41
  138. package/lib/unify/premisesWithProofSteps.js +0 -31
  139. package/lib/unify/qualifiedStatement.js +0 -136
  140. package/lib/unify/statementWithBracketedCombinator.js +0 -30
  141. package/lib/unify/statementWithCombinator.js +0 -29
  142. package/lib/unify/statementWithCombinators.js +0 -31
  143. package/lib/unify/statementWithMetaType.js +0 -24
  144. package/lib/verify/conclusion.js +0 -39
  145. package/lib/verify/derivation.js +0 -31
  146. package/lib/verify/label.js +0 -37
  147. package/lib/verify/labels.js +0 -28
  148. package/lib/verify/premise.js +0 -45
  149. package/lib/verify/premises.js +0 -28
  150. package/lib/verify/proof.js +0 -34
  151. package/lib/verify/rule.js +0 -56
  152. package/lib/verify/statement/qualified.js +0 -41
  153. package/lib/verify/statement/unqualified.js +0 -45
  154. package/lib/verify/statement.js +0 -219
  155. package/lib/verify/statementAsCombinator.js +0 -33
  156. package/lib/verify/statementGivenMetaType.js +0 -52
  157. package/lib/verify/subproof.js +0 -34
  158. package/lib/verify/supposition.js +0 -45
  159. package/lib/verify/suppositions.js +0 -28
  160. package/src/tokens/combinatorStatement/bracketed.js +0 -10
  161. package/src/unify/premiseWithProofStep.js +0 -54
  162. package/src/unify/premisesWithProofSteps.js +0 -23
  163. package/src/unify/qualifiedStatement.js +0 -208
  164. package/src/unify/statementWithBracketedCombinator.js +0 -22
  165. package/src/unify/statementWithCombinator.js +0 -22
  166. package/src/unify/statementWithCombinators.js +0 -23
  167. package/src/unify/statementWithMetaType.js +0 -14
  168. package/src/verify/conclusion.js +0 -40
  169. package/src/verify/derivation.js +0 -23
  170. package/src/verify/label.js +0 -34
  171. package/src/verify/labels.js +0 -17
  172. package/src/verify/premise.js +0 -49
  173. package/src/verify/premises.js +0 -17
  174. package/src/verify/proof.js +0 -31
  175. package/src/verify/rule.js +0 -71
  176. package/src/verify/statement/qualified.js +0 -40
  177. package/src/verify/statement/unqualified.js +0 -49
  178. package/src/verify/statement.js +0 -312
  179. package/src/verify/statementAsCombinator.js +0 -27
  180. package/src/verify/statementGivenMetaType.js +0 -52
  181. package/src/verify/subproof.js +0 -32
  182. package/src/verify/supposition.js +0 -49
  183. package/src/verify/suppositions.js +0 -17
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return verifyPremises;
9
- }
10
- });
11
- var _premise = /*#__PURE__*/ _interop_require_default(require("../verify/premise"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
17
- function verifyPremises(premiseNodes, premises, localContext) {
18
- var premisesVerified;
19
- premisesVerified = premiseNodes.every(function(premiseNode) {
20
- var premiseVerified = (0, _premise.default)(premiseNode, premises, localContext);
21
- if (premiseVerified) {
22
- return true;
23
- }
24
- });
25
- return premisesVerified;
26
- }
27
-
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcHJlbWlzZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlQcmVtaXNlIGZyb20gXCIuLi92ZXJpZnkvcHJlbWlzZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlQcmVtaXNlcyhwcmVtaXNlTm9kZXMsIHByZW1pc2VzLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHByZW1pc2VzVmVyaWZpZWQ7XG5cbiAgcHJlbWlzZXNWZXJpZmllZCA9IHByZW1pc2VOb2Rlcy5ldmVyeSgocHJlbWlzZU5vZGUpID0+IHtcbiAgICBjb25zdCBwcmVtaXNlVmVyaWZpZWQgPSB2ZXJpZnlQcmVtaXNlKHByZW1pc2VOb2RlLCBwcmVtaXNlcywgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChwcmVtaXNlVmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHByZW1pc2VzVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5UHJlbWlzZXMiLCJwcmVtaXNlTm9kZXMiLCJwcmVtaXNlcyIsImxvY2FsQ29udGV4dCIsInByZW1pc2VzVmVyaWZpZWQiLCJldmVyeSIsInByZW1pc2VOb2RlIiwicHJlbWlzZVZlcmlmaWVkIiwidmVyaWZ5UHJlbWlzZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUF3QkE7Ozs4REFGRTs7Ozs7O0FBRVgsU0FBU0EsZUFBZUMsWUFBWSxFQUFFQyxRQUFRLEVBQUVDLFlBQVk7SUFDekUsSUFBSUM7SUFFSkEsbUJBQW1CSCxhQUFhSSxLQUFLLENBQUMsU0FBQ0M7UUFDckMsSUFBTUMsa0JBQWtCQyxJQUFBQSxnQkFBYSxFQUFDRixhQUFhSixVQUFVQztRQUU3RCxJQUFJSSxpQkFBaUI7WUFDbkIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPSDtBQUNUIn0=
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return verifyProof;
9
- }
10
- });
11
- var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
12
- var _derivation = /*#__PURE__*/ _interop_require_default(require("../verify/derivation"));
13
- var _query = require("../utilities/query");
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
- var derivationNodeQuery = (0, _query.nodeQuery)("/proof/derivation!");
20
- function verifyProof(proofNode, statementNode, substitutions, localContext) {
21
- var proofVerified = false;
22
- localContext = _local.default.fromLocalContext(localContext); ///
23
- var derivationNode = derivationNodeQuery(proofNode), derivationVerified = (0, _derivation.default)(derivationNode, substitutions, localContext);
24
- if (derivationVerified) {
25
- var lastProofStep = localContext.getLastProofStep();
26
- if (lastProofStep !== null) {
27
- var lastProofStepStatementNode = lastProofStep.getStatementNode(), lastStatementNode = lastProofStepStatementNode, statementNodeMatchesLastStatementNode = statementNode.match(lastStatementNode);
28
- proofVerified = statementNodeMatchesLastStatementNode; ///
29
- }
30
- }
31
- return proofVerified;
32
- }
33
-
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcHJvb2YuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBMb2NhbENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbG9jYWxcIjtcbmltcG9ydCB2ZXJpZnlEZXJpdmF0aW9uIGZyb20gXCIuLi92ZXJpZnkvZGVyaXZhdGlvblwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGRlcml2YXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcHJvb2YvZGVyaXZhdGlvbiFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVByb29mKHByb29mTm9kZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBwcm9vZlZlcmlmaWVkID0gZmFsc2U7XG5cbiAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21Mb2NhbENvbnRleHQobG9jYWxDb250ZXh0KTsgLy8vXG5cbiAgY29uc3QgZGVyaXZhdGlvbk5vZGUgPSBkZXJpdmF0aW9uTm9kZVF1ZXJ5KHByb29mTm9kZSksXG4gICAgICAgIGRlcml2YXRpb25WZXJpZmllZCA9IHZlcmlmeURlcml2YXRpb24oZGVyaXZhdGlvbk5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCk7XG5cbiAgaWYgKGRlcml2YXRpb25WZXJpZmllZCkge1xuICAgIGNvbnN0IGxhc3RQcm9vZlN0ZXAgPSBsb2NhbENvbnRleHQuZ2V0TGFzdFByb29mU3RlcCgpO1xuXG4gICAgaWYgKGxhc3RQcm9vZlN0ZXAgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGxhc3RQcm9vZlN0ZXBTdGF0ZW1lbnROb2RlID0gbGFzdFByb29mU3RlcC5nZXRTdGF0ZW1lbnROb2RlKCksXG4gICAgICAgICAgICBsYXN0U3RhdGVtZW50Tm9kZSA9IGxhc3RQcm9vZlN0ZXBTdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICAgIHN0YXRlbWVudE5vZGVNYXRjaGVzTGFzdFN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlLm1hdGNoKGxhc3RTdGF0ZW1lbnROb2RlKTtcblxuICAgICAgcHJvb2ZWZXJpZmllZCA9IHN0YXRlbWVudE5vZGVNYXRjaGVzTGFzdFN0YXRlbWVudE5vZGU7ICAvLy9cbiAgICB9XG4gIH1cblxuICByZXR1cm4gcHJvb2ZWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlQcm9vZiIsImRlcml2YXRpb25Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJwcm9vZk5vZGUiLCJzdGF0ZW1lbnROb2RlIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dCIsInByb29mVmVyaWZpZWQiLCJMb2NhbENvbnRleHQiLCJmcm9tTG9jYWxDb250ZXh0IiwiZGVyaXZhdGlvbk5vZGUiLCJkZXJpdmF0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlEZXJpdmF0aW9uIiwibGFzdFByb29mU3RlcCIsImdldExhc3RQcm9vZlN0ZXAiLCJsYXN0UHJvb2ZTdGVwU3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJsYXN0U3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGVNYXRjaGVzTGFzdFN0YXRlbWVudE5vZGUiLCJtYXRjaCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUF3QkE7Ozs0REFQQztpRUFDSTtxQkFFSDs7Ozs7O0FBRTFCLElBQU1DLHNCQUFzQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUV2QixTQUFTRixZQUFZRyxTQUFTLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxZQUFZO0lBQ3ZGLElBQUlDLGdCQUFnQjtJQUVwQkQsZUFBZUUsY0FBWSxDQUFDQyxnQkFBZ0IsQ0FBQ0gsZUFBZSxHQUFHO0lBRS9ELElBQU1JLGlCQUFpQlQsb0JBQW9CRSxZQUNyQ1EscUJBQXFCQyxJQUFBQSxtQkFBZ0IsRUFBQ0YsZ0JBQWdCTCxlQUFlQztJQUUzRSxJQUFJSyxvQkFBb0I7UUFDdEIsSUFBTUUsZ0JBQWdCUCxhQUFhUSxnQkFBZ0I7UUFFbkQsSUFBSUQsa0JBQWtCLE1BQU07WUFDMUIsSUFBTUUsNkJBQTZCRixjQUFjRyxnQkFBZ0IsSUFDM0RDLG9CQUFvQkYsNEJBQ3BCRyx3Q0FBd0NkLGNBQWNlLEtBQUssQ0FBQ0Y7WUFFbEVWLGdCQUFnQlcsdUNBQXdDLEdBQUc7UUFDN0Q7SUFDRjtJQUVBLE9BQU9YO0FBQ1QifQ==
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return verifyRule;
9
- }
10
- });
11
- var _rule = /*#__PURE__*/ _interop_require_default(require("../rule"));
12
- var _proof = /*#__PURE__*/ _interop_require_default(require("../verify/proof"));
13
- var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
14
- var _labels = /*#__PURE__*/ _interop_require_default(require("../verify/labels"));
15
- var _premises = /*#__PURE__*/ _interop_require_default(require("../verify/premises"));
16
- var _conclusion = /*#__PURE__*/ _interop_require_default(require("../verify/conclusion"));
17
- var _array = require("../utilities/array");
18
- var _query = require("../utilities/query");
19
- var _substitutions = /*#__PURE__*/ _interop_require_default(require("../substitutions"));
20
- function _interop_require_default(obj) {
21
- return obj && obj.__esModule ? obj : {
22
- default: obj
23
- };
24
- }
25
- var proofNodeQuery = (0, _query.nodeQuery)("/rule/proof!"), labelNodesQuery = (0, _query.nodesQuery)("/rule/label"), premisesNodeQuery = (0, _query.nodesQuery)("/rule/premise"), conclusionNodeQuery = (0, _query.nodeQuery)("/rule/conclusion!");
26
- function verifyRule(ruleNode, fileContext) {
27
- var ruleVerified = false;
28
- var labelNodes = labelNodesQuery(ruleNode), labelsString = fileContext.nodesAsString(labelNodes);
29
- fileContext.trace("Verifying the '".concat(labelsString, "' rule..."), ruleNode);
30
- var labels = [], labelsVerified = (0, _labels.default)(labelNodes, labels, fileContext);
31
- if (labelsVerified) {
32
- var localContext = _local.default.fromFileContext(fileContext), premises = [], premiseNodes = premisesNodeQuery(ruleNode), premisesVerified = (0, _premises.default)(premiseNodes, premises, localContext);
33
- if (premisesVerified) {
34
- var conclusions = [], conclusionNode = conclusionNodeQuery(ruleNode), conclusionVerified = (0, _conclusion.default)(conclusionNode, conclusions, localContext);
35
- if (conclusionVerified) {
36
- var proofVerified = true; ///
37
- var firstConclusion = (0, _array.first)(conclusions), proofNode = proofNodeQuery(ruleNode), conclusion = firstConclusion; ///
38
- if (proofNode !== null) {
39
- var substitutions = _substitutions.default.fromNothing(), statementNode = conclusion.getStatementNode();
40
- proofVerified = (0, _proof.default)(proofNode, statementNode, substitutions, localContext);
41
- }
42
- if (proofVerified) {
43
- var rule = _rule.default.fromLabelsPremisesConclusionAndFileContext(labels, premises, conclusion, fileContext);
44
- fileContext.addRule(rule);
45
- ruleVerified = true;
46
- }
47
- }
48
- }
49
- }
50
- if (ruleVerified) {
51
- fileContext.debug("...verified the '".concat(labelsString, "' rule."), ruleNode);
52
- }
53
- return ruleVerified;
54
- }
55
-
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvcnVsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFJ1bGUgZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCB2ZXJpZnlQcm9vZiBmcm9tIFwiLi4vdmVyaWZ5L3Byb29mXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgdmVyaWZ5TGFiZWxzIGZyb20gXCIuLi92ZXJpZnkvbGFiZWxzXCI7XG5pbXBvcnQgdmVyaWZ5UHJlbWlzZXMgZnJvbSBcIi4uL3ZlcmlmeS9wcmVtaXNlc1wiO1xuaW1wb3J0IHZlcmlmeUNvbmNsdXNpb24gZnJvbSBcIi4uL3ZlcmlmeS9jb25jbHVzaW9uXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IFN1YnN0aXR1dGlvbnMgZnJvbSBcIi4uL3N1YnN0aXR1dGlvbnNcIjtcblxuY29uc3QgcHJvb2ZOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcnVsZS9wcm9vZiFcIiksXG4gICAgICBsYWJlbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3J1bGUvbGFiZWxcIiksXG4gICAgICBwcmVtaXNlc05vZGVRdWVyeSA9IG5vZGVzUXVlcnkoXCIvcnVsZS9wcmVtaXNlXCIpLFxuICAgICAgY29uY2x1c2lvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlL2NvbmNsdXNpb24hXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlSdWxlKHJ1bGVOb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgcnVsZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgbGFiZWxOb2RlcyA9IGxhYmVsTm9kZXNRdWVyeShydWxlTm9kZSksXG4gICAgICAgIGxhYmVsc1N0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVzQXNTdHJpbmcobGFiZWxOb2Rlcyk7XG5cbiAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bGFiZWxzU3RyaW5nfScgcnVsZS4uLmAsIHJ1bGVOb2RlKTtcblxuICBjb25zdCBsYWJlbHMgPSBbXSxcbiAgICAgICAgbGFiZWxzVmVyaWZpZWQgPSB2ZXJpZnlMYWJlbHMobGFiZWxOb2RlcywgbGFiZWxzLCBmaWxlQ29udGV4dCk7XG5cbiAgaWYgKGxhYmVsc1ZlcmlmaWVkKSB7XG4gICAgY29uc3QgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCksXG4gICAgICAgICAgcHJlbWlzZXMgPSBbXSxcbiAgICAgICAgICBwcmVtaXNlTm9kZXMgPSBwcmVtaXNlc05vZGVRdWVyeShydWxlTm9kZSksXG4gICAgICAgICAgcHJlbWlzZXNWZXJpZmllZCA9IHZlcmlmeVByZW1pc2VzKHByZW1pc2VOb2RlcywgcHJlbWlzZXMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAocHJlbWlzZXNWZXJpZmllZCkge1xuICAgICAgY29uc3QgY29uY2x1c2lvbnMgPSBbXSxcbiAgICAgICAgICAgIGNvbmNsdXNpb25Ob2RlID0gY29uY2x1c2lvbk5vZGVRdWVyeShydWxlTm9kZSksXG4gICAgICAgICAgICBjb25jbHVzaW9uVmVyaWZpZWQgPSB2ZXJpZnlDb25jbHVzaW9uKGNvbmNsdXNpb25Ob2RlLCBjb25jbHVzaW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKGNvbmNsdXNpb25WZXJpZmllZCkge1xuICAgICAgICBsZXQgcHJvb2ZWZXJpZmllZCA9IHRydWU7IC8vL1xuXG4gICAgICAgIGNvbnN0IGZpcnN0Q29uY2x1c2lvbiA9IGZpcnN0KGNvbmNsdXNpb25zKSxcbiAgICAgICAgICAgICAgcHJvb2ZOb2RlID0gcHJvb2ZOb2RlUXVlcnkocnVsZU5vZGUpLFxuICAgICAgICAgICAgICBjb25jbHVzaW9uID0gZmlyc3RDb25jbHVzaW9uOyAvLy9cblxuICAgICAgICBpZiAocHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFN1YnN0aXR1dGlvbnMuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gY29uY2x1c2lvbi5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgICAgICAgICBwcm9vZlZlcmlmaWVkID0gdmVyaWZ5UHJvb2YocHJvb2ZOb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgICBjb25zdCBydWxlID0gUnVsZS5mcm9tTGFiZWxzUHJlbWlzZXNDb25jbHVzaW9uQW5kRmlsZUNvbnRleHQobGFiZWxzLCBwcmVtaXNlcywgY29uY2x1c2lvbiwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgICAgZmlsZUNvbnRleHQuYWRkUnVsZShydWxlKTtcblxuICAgICAgICAgIHJ1bGVWZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAocnVsZVZlcmlmaWVkKSB7XG4gICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtsYWJlbHNTdHJpbmd9JyBydWxlLmAsIHJ1bGVOb2RlKTtcbiAgfVxuXG4gIHJldHVybiBydWxlVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5UnVsZSIsInByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInByZW1pc2VzTm9kZVF1ZXJ5IiwiY29uY2x1c2lvbk5vZGVRdWVyeSIsInJ1bGVOb2RlIiwiZmlsZUNvbnRleHQiLCJydWxlVmVyaWZpZWQiLCJsYWJlbE5vZGVzIiwibGFiZWxzU3RyaW5nIiwibm9kZXNBc1N0cmluZyIsInRyYWNlIiwibGFiZWxzIiwibGFiZWxzVmVyaWZpZWQiLCJ2ZXJpZnlMYWJlbHMiLCJsb2NhbENvbnRleHQiLCJMb2NhbENvbnRleHQiLCJmcm9tRmlsZUNvbnRleHQiLCJwcmVtaXNlcyIsInByZW1pc2VOb2RlcyIsInByZW1pc2VzVmVyaWZpZWQiLCJ2ZXJpZnlQcmVtaXNlcyIsImNvbmNsdXNpb25zIiwiY29uY2x1c2lvbk5vZGUiLCJjb25jbHVzaW9uVmVyaWZpZWQiLCJ2ZXJpZnlDb25jbHVzaW9uIiwicHJvb2ZWZXJpZmllZCIsImZpcnN0Q29uY2x1c2lvbiIsImZpcnN0IiwicHJvb2ZOb2RlIiwiY29uY2x1c2lvbiIsInN1YnN0aXR1dGlvbnMiLCJTdWJzdGl0dXRpb25zIiwiZnJvbU5vdGhpbmciLCJzdGF0ZW1lbnROb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInZlcmlmeVByb29mIiwicnVsZSIsIlJ1bGUiLCJmcm9tTGFiZWxzUHJlbWlzZXNDb25jbHVzaW9uQW5kRmlsZUNvbnRleHQiLCJhZGRSdWxlIiwiZGVidWciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWtCQTs7O2VBQXdCQTs7OzJEQWhCUDs0REFDTzs0REFDQzs2REFDQTsrREFDRTtpRUFDRTtxQkFFUDtxQkFDZ0I7b0VBQ1o7Ozs7OztBQUUxQixJQUFNQyxpQkFBaUJDLElBQUFBLGdCQUFTLEVBQUMsaUJBQzNCQyxrQkFBa0JDLElBQUFBLGlCQUFVLEVBQUMsZ0JBQzdCQyxvQkFBb0JELElBQUFBLGlCQUFVLEVBQUMsa0JBQy9CRSxzQkFBc0JKLElBQUFBLGdCQUFTLEVBQUM7QUFFdkIsU0FBU0YsV0FBV08sUUFBUSxFQUFFQyxXQUFXO0lBQ3RELElBQUlDLGVBQWU7SUFFbkIsSUFBTUMsYUFBYVAsZ0JBQWdCSSxXQUM3QkksZUFBZUgsWUFBWUksYUFBYSxDQUFDRjtJQUUvQ0YsWUFBWUssS0FBSyxDQUFDLEFBQUMsa0JBQThCLE9BQWJGLGNBQWEsY0FBWUo7SUFFN0QsSUFBTU8sU0FBUyxFQUFFLEVBQ1hDLGlCQUFpQkMsSUFBQUEsZUFBWSxFQUFDTixZQUFZSSxRQUFRTjtJQUV4RCxJQUFJTyxnQkFBZ0I7UUFDbEIsSUFBTUUsZUFBZUMsY0FBWSxDQUFDQyxlQUFlLENBQUNYLGNBQzVDWSxXQUFXLEVBQUUsRUFDYkMsZUFBZWhCLGtCQUFrQkUsV0FDakNlLG1CQUFtQkMsSUFBQUEsaUJBQWMsRUFBQ0YsY0FBY0QsVUFBVUg7UUFFaEUsSUFBSUssa0JBQWtCO1lBQ3BCLElBQU1FLGNBQWMsRUFBRSxFQUNoQkMsaUJBQWlCbkIsb0JBQW9CQyxXQUNyQ21CLHFCQUFxQkMsSUFBQUEsbUJBQWdCLEVBQUNGLGdCQUFnQkQsYUFBYVA7WUFFekUsSUFBSVMsb0JBQW9CO2dCQUN0QixJQUFJRSxnQkFBZ0IsTUFBTSxHQUFHO2dCQUU3QixJQUFNQyxrQkFBa0JDLElBQUFBLFlBQUssRUFBQ04sY0FDeEJPLFlBQVk5QixlQUFlTSxXQUMzQnlCLGFBQWFILGlCQUFpQixHQUFHO2dCQUV2QyxJQUFJRSxjQUFjLE1BQU07b0JBQ3RCLElBQU1FLGdCQUFnQkMsc0JBQWEsQ0FBQ0MsV0FBVyxJQUN6Q0MsZ0JBQWdCSixXQUFXSyxnQkFBZ0I7b0JBRWpEVCxnQkFBZ0JVLElBQUFBLGNBQVcsRUFBQ1AsV0FBV0ssZUFBZUgsZUFBZWhCO2dCQUN2RTtnQkFFQSxJQUFJVyxlQUFlO29CQUNqQixJQUFNVyxPQUFPQyxhQUFJLENBQUNDLDBDQUEwQyxDQUFDM0IsUUFBUU0sVUFBVVksWUFBWXhCO29CQUUzRkEsWUFBWWtDLE9BQU8sQ0FBQ0g7b0JBRXBCOUIsZUFBZTtnQkFDakI7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxJQUFJQSxjQUFjO1FBQ2hCRCxZQUFZbUMsS0FBSyxDQUFDLEFBQUMsb0JBQWdDLE9BQWJoQyxjQUFhLFlBQVVKO0lBQy9EO0lBRUEsT0FBT0U7QUFDVCJ9
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return verifyQualifiedStatement;
9
- }
10
- });
11
- var _statement = /*#__PURE__*/ _interop_require_default(require("../../verify/statement"));
12
- var _qualifiedStatement = /*#__PURE__*/ _interop_require_default(require("../../unify/qualifiedStatement"));
13
- var _query = require("../../utilities/query");
14
- var _assignments = require("../../utilities/assignments");
15
- function _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
18
- };
19
- }
20
- var statementNodeQuery = (0, _query.nodeQuery)("/qualifiedStatement/statement!");
21
- function verifyQualifiedStatement(qualifiedStatementNode, substitutions, localContext) {
22
- var qualifiedStatementVerified = false;
23
- var qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
24
- localContext.trace("Verifying the '".concat(qualifiedStatementString, "' qualified statement..."), qualifiedStatementNode);
25
- if (!qualifiedStatementVerified) {
26
- var stated = true, assignments = [], statementNode = statementNodeQuery(qualifiedStatementNode), statementVerified = (0, _statement.default)(statementNode, assignments, stated, localContext);
27
- if (statementVerified) {
28
- var qualifiedStatementUnified = (0, _qualifiedStatement.default)(qualifiedStatementNode, substitutions, localContext);
29
- if (qualifiedStatementUnified) {
30
- var assignmentsAssigned = (0, _assignments.assignAssignments)(assignments, localContext);
31
- qualifiedStatementVerified = assignmentsAssigned; ///
32
- }
33
- }
34
- }
35
- if (qualifiedStatementVerified) {
36
- localContext.debug("...verified the '".concat(qualifiedStatementString, "' qualified statement."), qualifiedStatementNode);
37
- }
38
- return qualifiedStatementVerified;
39
- }
40
-
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50L3F1YWxpZmllZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeVN0YXRlbWVudCBmcm9tIFwiLi4vLi4vdmVyaWZ5L3N0YXRlbWVudFwiO1xuaW1wb3J0IHVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50IGZyb20gXCIuLi8uLi91bmlmeS9xdWFsaWZpZWRTdGF0ZW1lbnRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgYXNzaWduQXNzaWdubWVudHMgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2Fzc2lnbm1lbnRzXCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5UXVhbGlmaWVkU3RhdGVtZW50KHF1YWxpZmllZFN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50Li4uYCwgcXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKCFxdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGNvbnN0IHN0YXRlZCA9IHRydWUsXG4gICAgICAgICAgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHF1YWxpZmllZFN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWQgPSB1bmlmeVF1YWxpZmllZFN0YXRlbWVudChxdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZCkge1xuICAgICAgICBjb25zdCBhc3NpZ25tZW50c0Fzc2lnbmVkID0gYXNzaWduQXNzaWdubWVudHMoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSBhc3NpZ25tZW50c0Fzc2lnbmVkOyAvLy9cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgc3RhdGVtZW50LmAsIHF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVF1YWxpZmllZFN0YXRlbWVudCIsInN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0IiwicXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQiLCJxdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInN0YXRlZCIsImFzc2lnbm1lbnRzIiwic3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5U3RhdGVtZW50IiwicXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZCIsInVuaWZ5UXVhbGlmaWVkU3RhdGVtZW50IiwiYXNzaWdubWVudHNBc3NpZ25lZCIsImFzc2lnbkFzc2lnbm1lbnRzIiwiZGVidWciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBd0JBOzs7Z0VBUkk7eUVBQ1E7cUJBRVY7MkJBQ1E7Ozs7OztBQUVsQyxJQUFNQyxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUM7QUFFdEIsU0FBU0YseUJBQXlCRyxzQkFBc0IsRUFBRUMsYUFBYSxFQUFFQyxZQUFZO0lBQ2xHLElBQUlDLDZCQUE2QjtJQUVqQyxJQUFNQywyQkFBMkJGLGFBQWFHLFlBQVksQ0FBQ0w7SUFFM0RFLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUEwQyxPQUF6QkYsMEJBQXlCLDZCQUEyQko7SUFFekYsSUFBSSxDQUFDRyw0QkFBNEI7UUFDL0IsSUFBTUksU0FBUyxNQUNUQyxjQUFjLEVBQUUsRUFDaEJDLGdCQUFnQlgsbUJBQW1CRSx5QkFDbkNVLG9CQUFvQkMsSUFBQUEsa0JBQWUsRUFBQ0YsZUFBZUQsYUFBYUQsUUFBUUw7UUFFOUUsSUFBSVEsbUJBQW1CO1lBQ3JCLElBQU1FLDRCQUE0QkMsSUFBQUEsMkJBQXVCLEVBQUNiLHdCQUF3QkMsZUFBZUM7WUFFakcsSUFBSVUsMkJBQTJCO2dCQUM3QixJQUFNRSxzQkFBc0JDLElBQUFBLDhCQUFpQixFQUFDUCxhQUFhTjtnQkFFM0RDLDZCQUE2QlcscUJBQXFCLEdBQUc7WUFDdkQ7UUFDRjtJQUNGO0lBRUEsSUFBSVgsNEJBQTRCO1FBQzlCRCxhQUFhYyxLQUFLLENBQUMsQUFBQyxvQkFBNEMsT0FBekJaLDBCQUF5QiwyQkFBeUJKO0lBQzNGO0lBRUEsT0FBT0c7QUFDVCJ9
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return verifyUnqualifiedStatement;
9
- }
10
- });
11
- var _statement = /*#__PURE__*/ _interop_require_default(require("../../verify/statement"));
12
- var _unqualifiedStatement = /*#__PURE__*/ _interop_require_default(require("../../unify/unqualifiedStatement"));
13
- var _query = require("../../utilities/query");
14
- var _assignments = require("../../utilities/assignments");
15
- function _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
18
- };
19
- }
20
- var statementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement/statement!");
21
- function verifyUnqualifiedStatement(unqualifiedStatementNode, localContext) {
22
- var unqualifiedStatementVerified = false;
23
- var unqualifiedStatementString = localContext.nodeAsString(unqualifiedStatementNode);
24
- localContext.trace("Verifying the '".concat(unqualifiedStatementString, "' unqualified statement..."), unqualifiedStatementNode);
25
- if (!unqualifiedStatementVerified) {
26
- var stated = false, assignments = [], statementNode = statementNodeQuery(unqualifiedStatementNode), statementVerified = (0, _statement.default)(statementNode, assignments, stated, localContext);
27
- if (statementVerified) {
28
- var assignmentsAssigned = (0, _assignments.assignAssignments)(assignments, localContext);
29
- unqualifiedStatementVerified = assignmentsAssigned; ///
30
- }
31
- }
32
- if (!unqualifiedStatementVerified) {
33
- var stated1 = true, assignments1 = null, statementNode1 = statementNodeQuery(unqualifiedStatementNode), statementVerified1 = (0, _statement.default)(statementNode1, assignments1, stated1, localContext);
34
- if (statementVerified1) {
35
- var unqualifiedStatementUnified = (0, _unqualifiedStatement.default)(unqualifiedStatementNode, localContext);
36
- unqualifiedStatementVerified = unqualifiedStatementUnified; ///
37
- }
38
- }
39
- if (unqualifiedStatementVerified) {
40
- localContext.debug("...verified the '".concat(unqualifiedStatementString, "' unqualified statement."), unqualifiedStatementNode);
41
- }
42
- return unqualifiedStatementVerified;
43
- }
44
-
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50L3VucXVhbGlmaWVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5U3RhdGVtZW50IGZyb20gXCIuLi8uLi92ZXJpZnkvc3RhdGVtZW50XCI7XG5pbXBvcnQgdW5pZnlVbnF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vLi4vdW5pZnkvdW5xdWFsaWZpZWRTdGF0ZW1lbnRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgYXNzaWduQXNzaWdubWVudHMgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2Fzc2lnbm1lbnRzXCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHVucXVhbGlmaWVkIHN0YXRlbWVudC4uLmAsIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKCF1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgY29uc3Qgc3RhdGVkID0gZmFsc2UsXG4gICAgICAgICAgYXNzaWdubWVudHMgPSBbXSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgYXNzaWdubWVudHNBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnRzKGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gYXNzaWdubWVudHNBc3NpZ25lZDsgIC8vL1xuICAgIH1cbiAgfVxuXG4gIGlmICghdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGNvbnN0IHN0YXRlZCA9IHRydWUsXG4gICAgICAgICAgYXNzaWdubWVudHMgPSBudWxsLFxuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICBzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudFVuaWZpZWQgPSB1bmlmeVVucXVhbGlmaWVkU3RhdGVtZW50KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCA9IHVucXVhbGlmaWVkU3RhdGVtZW50VW5pZmllZDsgLy8vXG4gICAgfVxuICB9XG5cbiAgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZ30nIHVucXVhbGlmaWVkIHN0YXRlbWVudC5gLCB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJsb2NhbENvbnRleHQiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInN0YXRlZCIsImFzc2lnbm1lbnRzIiwic3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5U3RhdGVtZW50IiwiYXNzaWdubWVudHNBc3NpZ25lZCIsImFzc2lnbkFzc2lnbm1lbnRzIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRVbmlmaWVkIiwidW5pZnlVbnF1YWxpZmllZFN0YXRlbWVudCIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQXdCQTs7O2dFQVJJOzJFQUNVO3FCQUVaOzJCQUNROzs7Ozs7QUFFbEMsSUFBTUMscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXRCLFNBQVNGLDJCQUEyQkcsd0JBQXdCLEVBQUVDLFlBQVk7SUFDdkYsSUFBSUMsK0JBQStCO0lBRW5DLElBQU1DLDZCQUE2QkYsYUFBYUcsWUFBWSxDQUFDSjtJQUU3REMsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQTRDLE9BQTNCRiw0QkFBMkIsK0JBQTZCSDtJQUU3RixJQUFJLENBQUNFLDhCQUE4QjtRQUNqQyxJQUFNSSxTQUFTLE9BQ1RDLGNBQWMsRUFBRSxFQUNoQkMsZ0JBQWdCVixtQkFBbUJFLDJCQUNuQ1Msb0JBQW9CQyxJQUFBQSxrQkFBZSxFQUFDRixlQUFlRCxhQUFhRCxRQUFRTDtRQUU5RSxJQUFJUSxtQkFBbUI7WUFDckIsSUFBTUUsc0JBQXNCQyxJQUFBQSw4QkFBaUIsRUFBQ0wsYUFBYU47WUFFM0RDLCtCQUErQlMscUJBQXNCLEdBQUc7UUFDMUQ7SUFDRjtJQUVBLElBQUksQ0FBQ1QsOEJBQThCO1FBQ2pDLElBQU1JLFVBQVMsTUFDVEMsZUFBYyxNQUNkQyxpQkFBZ0JWLG1CQUFtQkUsMkJBQ25DUyxxQkFBb0JDLElBQUFBLGtCQUFlLEVBQUNGLGdCQUFlRCxjQUFhRCxTQUFRTDtRQUU5RSxJQUFJUSxvQkFBbUI7WUFDckIsSUFBTUksOEJBQThCQyxJQUFBQSw2QkFBeUIsRUFBQ2QsMEJBQTBCQztZQUV4RkMsK0JBQStCVyw2QkFBNkIsR0FBRztRQUNqRTtJQUNGO0lBRUEsSUFBSVgsOEJBQThCO1FBQ2hDRCxhQUFhYyxLQUFLLENBQUMsQUFBQyxvQkFBOEMsT0FBM0JaLDRCQUEyQiw2QkFBMkJIO0lBQy9GO0lBRUEsT0FBT0U7QUFDVCJ9
@@ -1,219 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
12
- var _frame = /*#__PURE__*/ _interop_require_default(require("../verify/frame"));
13
- var _equality = /*#__PURE__*/ _interop_require_default(require("../verify/equality"));
14
- var _judgement = /*#__PURE__*/ _interop_require_default(require("../verify/judgement"));
15
- var _declaration = /*#__PURE__*/ _interop_require_default(require("../verify/declaration"));
16
- var _type = /*#__PURE__*/ _interop_require_default(require("../verify/assertion/type"));
17
- var _metavariable = /*#__PURE__*/ _interop_require_default(require("../unifier/metavariable"));
18
- var _defined = /*#__PURE__*/ _interop_require_default(require("../verify/assertion/defined"));
19
- var _subproof = /*#__PURE__*/ _interop_require_default(require("../verify/assertion/subproof"));
20
- var _contained = /*#__PURE__*/ _interop_require_default(require("../verify/assertion/contained"));
21
- var _statementWithCombinators = /*#__PURE__*/ _interop_require_default(require("../unify/statementWithCombinators"));
22
- var _statementWithBracketedCombinator = /*#__PURE__*/ _interop_require_default(require("../unify/statementWithBracketedCombinator"));
23
- var _query = require("../utilities/query");
24
- var _name = require("../utilities/name");
25
- function _interop_require_default(obj) {
26
- return obj && obj.__esModule ? obj : {
27
- default: obj
28
- };
29
- }
30
- var frameNodeQuery = (0, _query.nodeQuery)("/statement/frame!"), equalityNodeQuery = (0, _query.nodeQuery)("/statement/equality!"), judgementNodeQuery = (0, _query.nodeQuery)("/statement/judgement!"), declarationNodeQuery = (0, _query.nodeQuery)("/statement/declaration!"), metavariableNodeQuery = (0, _query.nodeQuery)("/statement/metavariable!"), typeAssertionNodeQuery = (0, _query.nodeQuery)("/statement/typeAssertion!"), definedAssertionNodeQuery = (0, _query.nodeQuery)("/statement/definedAssertion!"), subproofAssertionNodeQuery = (0, _query.nodeQuery)("/statement/subproofAssertion!"), containedAssertionNodeQuery = (0, _query.nodeQuery)("/statement/containedAssertion!");
31
- var unifyStatementFunctions = [
32
- _statementWithBracketedCombinator.default,
33
- _statementWithCombinators.default
34
- ], verifyStatementFunctions = [
35
- verifyStatementAsMetavariable,
36
- verifyStatementAsEquality,
37
- verifyStatementAsFrame,
38
- verifyStatementAsJudgement,
39
- verifyStatementAsDeclaration,
40
- verifyStatementAsTypeAssertion,
41
- verifyStatementAsDefinedAssertion,
42
- verifyStatementAsSubproofAssertion,
43
- verifyStatementAsContainedAssertion
44
- ];
45
- function verifyStatement(statementNode, assignments, stated, localContext) {
46
- var statementVerified = false;
47
- var statementString = localContext.nodeAsString(statementNode);
48
- localContext.trace("Verifying the '".concat(statementString, "' statement..."), statementNode);
49
- if (!statementVerified) {
50
- var statementUnified = unifyStatementFunctions.some(function(unifyStatementFunction) {
51
- var statementUnified = unifyStatementFunction(statementNode, assignments, stated, localContext);
52
- if (statementUnified) {
53
- return true;
54
- }
55
- });
56
- statementVerified = statementUnified; ///
57
- }
58
- if (!statementVerified) {
59
- statementVerified = verifyStatementFunctions.some(function(verifyStatementFunction) {
60
- var statementVerified = verifyStatementFunction(statementNode, assignments, stated, localContext);
61
- if (statementVerified) {
62
- return true;
63
- }
64
- });
65
- }
66
- if (statementVerified) {
67
- localContext.debug("...verified the '".concat(statementString, "' statement."), statementNode);
68
- }
69
- return statementVerified;
70
- }
71
- Object.assign(_shim.default, {
72
- verifyStatement: verifyStatement
73
- });
74
- var _default = verifyStatement;
75
- function verifyStatementAsMetavariable(statementNode, assignments, stated, localContext) {
76
- var statementVerifiedAsMetavariable = false;
77
- var metavariableNode = metavariableNodeQuery(statementNode);
78
- if (metavariableNode !== null) {
79
- var statementString = localContext.nodeAsString(statementNode);
80
- localContext.trace("Verifying the '".concat(statementString, "' statement as a metavariable..."), statementNode);
81
- var metavariableUnified = unifyMetavariable(metavariableNode, localContext);
82
- statementVerifiedAsMetavariable = metavariableUnified; ///
83
- if (statementVerifiedAsMetavariable) {
84
- localContext.debug("...verified the '".concat(statementString, "' statement as a metavariable."), statementNode);
85
- }
86
- }
87
- return statementVerifiedAsMetavariable;
88
- }
89
- function verifyStatementAsEquality(statementNode, assignments, stated, localContext) {
90
- var statementVerifiedAsEquality = false;
91
- var equalityNode = equalityNodeQuery(statementNode);
92
- if (equalityNode !== null) {
93
- var statementString = localContext.nodeAsString(statementNode);
94
- localContext.trace("Verifying the '".concat(statementString, "' statement as an equality..."), statementNode);
95
- var equalityVerified = (0, _equality.default)(equalityNode, assignments, stated, localContext);
96
- statementVerifiedAsEquality = equalityVerified; ///
97
- if (statementVerifiedAsEquality) {
98
- localContext.debug("...verified the '".concat(statementString, "' statement as an equality."), statementNode);
99
- }
100
- }
101
- return statementVerifiedAsEquality;
102
- }
103
- function verifyStatementAsFrame(statementNode, assignments, stated, localContext) {
104
- var statementVerifiedAsFrame = false;
105
- var frameNode = frameNodeQuery(statementNode);
106
- if (frameNode !== null) {
107
- var statementString = localContext.nodeAsString(statementNode);
108
- localContext.trace("Verifying the '".concat(statementString, "' statement as a frame..."), statementNode);
109
- var frameVerified = (0, _frame.default)(frameNode, assignments, stated, localContext);
110
- statementVerifiedAsFrame = frameVerified; ///
111
- if (statementVerifiedAsFrame) {
112
- localContext.debug("...verified the '".concat(statementString, "' statement as a frame."), statementNode);
113
- }
114
- }
115
- return statementVerifiedAsFrame;
116
- }
117
- function verifyStatementAsJudgement(statementNode, assignments, stated, localContext) {
118
- var statementVerifiedAsJudgement = false;
119
- var judgementNode = judgementNodeQuery(statementNode);
120
- if (judgementNode !== null) {
121
- var statementString = localContext.nodeAsString(statementNode);
122
- localContext.trace("Verifying the '".concat(statementString, "' statement as a judgement..."), statementNode);
123
- var judgementVerified = (0, _judgement.default)(judgementNode, assignments, stated, localContext);
124
- statementVerifiedAsJudgement = judgementVerified; ///
125
- if (statementVerifiedAsJudgement) {
126
- localContext.debug("...verified the '".concat(statementString, "' statement as a judgement."), statementNode);
127
- }
128
- }
129
- return statementVerifiedAsJudgement;
130
- }
131
- function verifyStatementAsDeclaration(statementNode, assignments, stated, localContext) {
132
- var statementVerifiedAsDeclaration = false;
133
- var declarationNode = declarationNodeQuery(statementNode);
134
- if (declarationNode !== null) {
135
- var statementString = localContext.nodeAsString(statementNode);
136
- localContext.trace("Verifying the '".concat(statementString, "' statement as a declaration..."), statementNode);
137
- var declarationVerified = (0, _declaration.default)(declarationNode, assignments, stated, localContext);
138
- statementVerifiedAsDeclaration = declarationVerified; ///
139
- if (statementVerifiedAsDeclaration) {
140
- localContext.debug("...verified the '".concat(statementString, "' statement as a declaration."), statementNode);
141
- }
142
- }
143
- return statementVerifiedAsDeclaration;
144
- }
145
- function verifyStatementAsTypeAssertion(statementNode, assignments, stated, localContext) {
146
- var statementVerifiedAsTypeAssertion = false;
147
- var typeAssertionNode = typeAssertionNodeQuery(statementNode);
148
- if (typeAssertionNode !== null) {
149
- var statementString = localContext.nodeAsString(statementNode);
150
- localContext.trace("Verifying the '".concat(statementString, "' statement as a type assertion..."), statementNode);
151
- var typeAssertionVerified = (0, _type.default)(typeAssertionNode, assignments, stated, localContext);
152
- statementVerifiedAsTypeAssertion = typeAssertionVerified; ///
153
- if (statementVerifiedAsTypeAssertion) {
154
- localContext.debug("...verified the '".concat(statementString, "' statement as a type assertion."), statementNode);
155
- }
156
- }
157
- return statementVerifiedAsTypeAssertion;
158
- }
159
- function verifyStatementAsDefinedAssertion(statementNode, assignments, stated, localContext) {
160
- var statementVerifiedAsDefinedAssertion = false;
161
- var definedAssertionNode = definedAssertionNodeQuery(statementNode);
162
- if (definedAssertionNode !== null) {
163
- var statementString = localContext.nodeAsString(statementNode);
164
- localContext.trace("Verifying the '".concat(statementString, "' statement as a defined assertion..."), statementNode);
165
- var definedAssertionVerified = (0, _defined.default)(definedAssertionNode, assignments, stated, localContext);
166
- statementVerifiedAsDefinedAssertion = definedAssertionVerified; ///
167
- if (statementVerifiedAsDefinedAssertion) {
168
- localContext.debug("...verified the '".concat(statementString, "' statement as a defined assertion."), statementNode);
169
- }
170
- }
171
- return statementVerifiedAsDefinedAssertion;
172
- }
173
- function verifyStatementAsSubproofAssertion(statementNode, assignments, stated, localContext) {
174
- var statementVerifiedAsSubproofAssertion = false;
175
- var subproofAssertionNode = subproofAssertionNodeQuery(statementNode);
176
- if (subproofAssertionNode !== null) {
177
- var statementString = localContext.nodeAsString(statementNode);
178
- localContext.trace("Verifying the '".concat(statementString, "' statement as a subproof assertion..."), statementNode);
179
- var subproofAssertionVerified = (0, _subproof.default)(subproofAssertionNode, assignments, stated, localContext);
180
- statementVerifiedAsSubproofAssertion = subproofAssertionVerified; ///
181
- if (statementVerifiedAsSubproofAssertion) {
182
- localContext.debug("...verified the '".concat(statementString, "' statement as a subproof assertion."), statementNode);
183
- }
184
- }
185
- return statementVerifiedAsSubproofAssertion;
186
- }
187
- function verifyStatementAsContainedAssertion(statementNode, assignments, stated, localContext) {
188
- var statementVerifiedAsContainedAssertion = false;
189
- var containedAssertionNode = containedAssertionNodeQuery(statementNode);
190
- if (containedAssertionNode !== null) {
191
- var statementString = localContext.nodeAsString(statementNode);
192
- localContext.trace("Verifying the '".concat(statementString, "' statement as a contained assertion..."), statementNode);
193
- var containedAssertionVerified = (0, _contained.default)(containedAssertionNode, assignments, stated, localContext);
194
- statementVerifiedAsContainedAssertion = containedAssertionVerified; ///
195
- if (statementVerifiedAsContainedAssertion) {
196
- localContext.debug("...verified the '".concat(statementString, "' statement as a contained assertion."), statementNode);
197
- }
198
- }
199
- return statementVerifiedAsContainedAssertion;
200
- }
201
- function unifyMetavariable(metavariableNode, localContext) {
202
- var metavariableUnified;
203
- var metavariableString = localContext.nodeAsString(metavariableNode);
204
- localContext.trace("Unifying the '".concat(metavariableString, "' metavariable..."), metavariableNode);
205
- var metavariableName = (0, _name.metavariableNameFromMetavariableNode)(metavariableNode), metavariable = localContext.findMetavariableByMetavariableName(metavariableName);
206
- if (metavariable !== null) {
207
- var metavariableNodeA = metavariableNode; ///
208
- metavariableNode = metavariable.getNode();
209
- var metavariableNodeB = metavariableNode; ///
210
- var unified = _metavariable.default.unify(metavariableNodeA, metavariableNodeB, localContext);
211
- metavariableUnified = unified; ///
212
- }
213
- if (metavariableUnified) {
214
- localContext.debug("...unified the '".concat(metavariableString, "' metavariable."), metavariableNode);
215
- }
216
- return metavariableUnified;
217
- }
218
-
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi4vc2hpbVwiO1xuaW1wb3J0IHZlcmlmeUZyYW1lIGZyb20gXCIuLi92ZXJpZnkvZnJhbWVcIjtcbmltcG9ydCB2ZXJpZnlFcXVhbGl0eSBmcm9tIFwiLi4vdmVyaWZ5L2VxdWFsaXR5XCI7XG5pbXBvcnQgdmVyaWZ5SnVkZ2VtZW50IGZyb20gXCIuLi92ZXJpZnkvanVkZ2VtZW50XCI7XG5pbXBvcnQgdmVyaWZ5RGVjbGFyYXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9kZWNsYXJhdGlvblwiO1xuaW1wb3J0IHZlcmlmeVR5cGVBc3NlcnRpb24gZnJvbSBcIi4uL3ZlcmlmeS9hc3NlcnRpb24vdHlwZVwiO1xuaW1wb3J0IG1ldGF2YXJpYWJsZVVuaWZpZXIgZnJvbSBcIi4uL3VuaWZpZXIvbWV0YXZhcmlhYmxlXCI7XG5pbXBvcnQgdmVyaWZ5RGVmaW5lZEFzc2VydGlvbiBmcm9tIFwiLi4vdmVyaWZ5L2Fzc2VydGlvbi9kZWZpbmVkXCI7XG5pbXBvcnQgdmVyaWZ5U3VicHJvb2ZBc3NlcnRpb24gZnJvbSBcIi4uL3ZlcmlmeS9hc3NlcnRpb24vc3VicHJvb2ZcIjtcbmltcG9ydCB2ZXJpZnlDb250YWluZWRBc3NlcnRpb24gZnJvbSBcIi4uL3ZlcmlmeS9hc3NlcnRpb24vY29udGFpbmVkXCI7XG5pbXBvcnQgdW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvcnMgZnJvbSBcIi4uL3VuaWZ5L3N0YXRlbWVudFdpdGhDb21iaW5hdG9yc1wiO1xuaW1wb3J0IHVuaWZ5U3RhdGVtZW50V2l0aEJyYWNrZXRlZENvbWJpbmF0b3IgZnJvbSBcIi4uL3VuaWZ5L3N0YXRlbWVudFdpdGhCcmFja2V0ZWRDb21iaW5hdG9yXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvbmFtZVwiO1xuXG5jb25zdCBmcmFtZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvZnJhbWUhXCIpLFxuICAgICAgZXF1YWxpdHlOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L2VxdWFsaXR5IVwiKSxcbiAgICAgIGp1ZGdlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvanVkZ2VtZW50IVwiKSxcbiAgICAgIGRlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0YXRlbWVudC9kZWNsYXJhdGlvbiFcIiksXG4gICAgICBtZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L21ldGF2YXJpYWJsZSFcIiksXG4gICAgICB0eXBlQXNzZXJ0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0YXRlbWVudC90eXBlQXNzZXJ0aW9uIVwiKSxcbiAgICAgIGRlZmluZWRBc3NlcnRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L2RlZmluZWRBc3NlcnRpb24hXCIpLFxuICAgICAgc3VicHJvb2ZBc3NlcnRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L3N1YnByb29mQXNzZXJ0aW9uIVwiKSxcbiAgICAgIGNvbnRhaW5lZEFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvY29udGFpbmVkQXNzZXJ0aW9uIVwiKTtcblxuY29uc3QgdW5pZnlTdGF0ZW1lbnRGdW5jdGlvbnMgPSBbXG4gICAgICAgIHVuaWZ5U3RhdGVtZW50V2l0aEJyYWNrZXRlZENvbWJpbmF0b3IsXG4gICAgICAgIHVuaWZ5U3RhdGVtZW50V2l0aENvbWJpbmF0b3JzXG4gICAgICBdLFxuICAgICAgdmVyaWZ5U3RhdGVtZW50RnVuY3Rpb25zID0gW1xuICAgICAgICB2ZXJpZnlTdGF0ZW1lbnRBc01ldGF2YXJpYWJsZSxcbiAgICAgICAgdmVyaWZ5U3RhdGVtZW50QXNFcXVhbGl0eSxcbiAgICAgICAgdmVyaWZ5U3RhdGVtZW50QXNGcmFtZSxcbiAgICAgICAgdmVyaWZ5U3RhdGVtZW50QXNKdWRnZW1lbnQsXG4gICAgICAgIHZlcmlmeVN0YXRlbWVudEFzRGVjbGFyYXRpb24sXG4gICAgICAgIHZlcmlmeVN0YXRlbWVudEFzVHlwZUFzc2VydGlvbixcbiAgICAgICAgdmVyaWZ5U3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uLFxuICAgICAgICB2ZXJpZnlTdGF0ZW1lbnRBc1N1YnByb29mQXNzZXJ0aW9uLFxuICAgICAgICB2ZXJpZnlTdGF0ZW1lbnRBc0NvbnRhaW5lZEFzc2VydGlvblxuICAgICAgXTtcblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQuLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoIXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50VW5pZmllZCA9IHVuaWZ5U3RhdGVtZW50RnVuY3Rpb25zLnNvbWUoKHVuaWZ5U3RhdGVtZW50RnVuY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWQgPSB1bmlmeVN0YXRlbWVudEZ1bmN0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVkKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgc3RhdGVtZW50VmVyaWZpZWQgPSBzdGF0ZW1lbnRVbmlmaWVkOyAvLy9cbiAgfVxuXG4gIGlmICghc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9ucy5zb21lKCh2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbikgPT4ge1xuICAgICAgY29uc3Qgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbihzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBpZiAoc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQuYCwgc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWQ7XG59XG5cbk9iamVjdC5hc3NpZ24oc2hpbSwge1xuICB2ZXJpZnlTdGF0ZW1lbnRcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCB2ZXJpZnlTdGF0ZW1lbnQ7XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzTWV0YXZhcmlhYmxlKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWRBc01ldGF2YXJpYWJsZSA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkoc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKG1ldGF2YXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIG1ldGF2YXJpYWJsZS4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlVW5pZmllZCA9IHVuaWZ5TWV0YXZhcmlhYmxlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFzTWV0YXZhcmlhYmxlID0gbWV0YXZhcmlhYmxlVW5pZmllZDsgIC8vL1xuXG4gICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkQXNNZXRhdmFyaWFibGUpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIG1ldGF2YXJpYWJsZS5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc01ldGF2YXJpYWJsZTtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNFcXVhbGl0eShzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQXNFcXVhbGl0eSA9IGZhbHNlO1xuXG4gIGNvbnN0IGVxdWFsaXR5Tm9kZSA9IGVxdWFsaXR5Tm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChlcXVhbGl0eU5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhbiBlcXVhbGl0eS4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgZXF1YWxpdHlWZXJpZmllZCA9IHZlcmlmeUVxdWFsaXR5KGVxdWFsaXR5Tm9kZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIHN0YXRlbWVudFZlcmlmaWVkQXNFcXVhbGl0eSA9IGVxdWFsaXR5VmVyaWZpZWQ7IC8vL1xuXG4gICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkQXNFcXVhbGl0eSkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGFuIGVxdWFsaXR5LmAsIHN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFzRXF1YWxpdHk7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzRnJhbWUoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzRnJhbWUgPSBmYWxzZTtcblxuICBjb25zdCBmcmFtZU5vZGUgPSBmcmFtZU5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoZnJhbWVOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBmcmFtZS4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgZnJhbWVWZXJpZmllZCA9IHZlcmlmeUZyYW1lKGZyYW1lTm9kZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIHN0YXRlbWVudFZlcmlmaWVkQXNGcmFtZSA9IGZyYW1lVmVyaWZpZWQ7IC8vL1xuXG4gICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkQXNGcmFtZSkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgZnJhbWUuYCwgc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudFZlcmlmaWVkQXNGcmFtZTtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNKdWRnZW1lbnQoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzSnVkZ2VtZW50ID0gZmFsc2U7XG5cbiAgY29uc3QganVkZ2VtZW50Tm9kZSA9IGp1ZGdlbWVudE5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoanVkZ2VtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEganVkZ2VtZW50Li4uYCwgc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBqdWRnZW1lbnRWZXJpZmllZCA9IHZlcmlmeUp1ZGdlbWVudChqdWRnZW1lbnROb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgc3RhdGVtZW50VmVyaWZpZWRBc0p1ZGdlbWVudCA9IGp1ZGdlbWVudFZlcmlmaWVkOyAgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc0p1ZGdlbWVudCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEganVkZ2VtZW50LmAsIHN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFzSnVkZ2VtZW50O1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZW1lbnRBc0RlY2xhcmF0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWRBc0RlY2xhcmF0aW9uID0gZmFsc2U7XG5cbiAgY29uc3QgZGVjbGFyYXRpb25Ob2RlID0gZGVjbGFyYXRpb25Ob2RlUXVlcnkoc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKGRlY2xhcmF0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgZGVjbGFyYXRpb24uLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IGRlY2xhcmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlEZWNsYXJhdGlvbihkZWNsYXJhdGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFzRGVjbGFyYXRpb24gPSBkZWNsYXJhdGlvblZlcmlmaWVkOyAvLy9cblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZEFzRGVjbGFyYXRpb24pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIGRlY2xhcmF0aW9uLmAsIHN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFzRGVjbGFyYXRpb247XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzVHlwZUFzc2VydGlvbihzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQXNUeXBlQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgY29uc3QgdHlwZUFzc2VydGlvbk5vZGUgPSB0eXBlQXNzZXJ0aW9uTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpO1xuXG4gIGlmICh0eXBlQXNzZXJ0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgdHlwZSBhc3NlcnRpb24uLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHZlcmlmeVR5cGVBc3NlcnRpb24odHlwZUFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFzVHlwZUFzc2VydGlvbiA9IHR5cGVBc3NlcnRpb25WZXJpZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc1R5cGVBc3NlcnRpb24pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIHR5cGUgYXNzZXJ0aW9uLmAsIHN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFzVHlwZUFzc2VydGlvbjtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb24gPSBmYWxzZTtcblxuICBjb25zdCBkZWZpbmVkQXNzZXJ0aW9uTm9kZSA9IGRlZmluZWRBc3NlcnRpb25Ob2RlUXVlcnkoc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKGRlZmluZWRBc3NlcnRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBkZWZpbmVkIGFzc2VydGlvbi4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgZGVmaW5lZEFzc2VydGlvblZlcmlmaWVkID0gdmVyaWZ5RGVmaW5lZEFzc2VydGlvbihkZWZpbmVkQXNzZXJ0aW9uTm9kZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIHN0YXRlbWVudFZlcmlmaWVkQXNEZWZpbmVkQXNzZXJ0aW9uID0gZGVmaW5lZEFzc2VydGlvblZlcmlmaWVkOyAvLy9cblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbikge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgZGVmaW5lZCBhc3NlcnRpb24uYCwgc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudFZlcmlmaWVkQXNEZWZpbmVkQXNzZXJ0aW9uO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZW1lbnRBc1N1YnByb29mQXNzZXJ0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWRBc1N1YnByb29mQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgY29uc3Qgc3VicHJvb2ZBc3NlcnRpb25Ob2RlID0gc3VicHJvb2ZBc3NlcnRpb25Ob2RlUXVlcnkoc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKHN1YnByb29mQXNzZXJ0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgc3VicHJvb2YgYXNzZXJ0aW9uLi4uYCwgc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBzdWJwcm9vZkFzc2VydGlvblZlcmlmaWVkID0gdmVyaWZ5U3VicHJvb2ZBc3NlcnRpb24oc3VicHJvb2ZBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgc3RhdGVtZW50VmVyaWZpZWRBc1N1YnByb29mQXNzZXJ0aW9uID0gc3VicHJvb2ZBc3NlcnRpb25WZXJpZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc1N1YnByb29mQXNzZXJ0aW9uKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBzdWJwcm9vZiBhc3NlcnRpb24uYCwgc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudFZlcmlmaWVkQXNTdWJwcm9vZkFzc2VydGlvbjtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNDb250YWluZWRBc3NlcnRpb24oc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgY29uc3QgY29udGFpbmVkQXNzZXJ0aW9uTm9kZSA9IGNvbnRhaW5lZEFzc2VydGlvbk5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgY29udGFpbmVkIGFzc2VydGlvbi4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgY29udGFpbmVkQXNzZXJ0aW9uVmVyaWZpZWQgPSB2ZXJpZnlDb250YWluZWRBc3NlcnRpb24oY29udGFpbmVkQXNzZXJ0aW9uTm9kZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIHN0YXRlbWVudFZlcmlmaWVkQXNDb250YWluZWRBc3NlcnRpb24gPSBjb250YWluZWRBc3NlcnRpb25WZXJpZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc0NvbnRhaW5lZEFzc2VydGlvbikge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgY29udGFpbmVkIGFzc2VydGlvbi5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc0NvbnRhaW5lZEFzc2VydGlvbjtcbn1cblxuZnVuY3Rpb24gdW5pZnlNZXRhdmFyaWFibGUobWV0YXZhcmlhYmxlTm9kZSwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBtZXRhdmFyaWFibGVVbmlmaWVkO1xuXG4gIGNvbnN0IG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgbWV0YXZhcmlhYmxlLi4uYCwgbWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTmFtZSA9IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgbWV0YXZhcmlhYmxlID0gbG9jYWxDb250ZXh0LmZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5hbWUobWV0YXZhcmlhYmxlTmFtZSk7XG5cbiAgaWYgKG1ldGF2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVBID0gbWV0YXZhcmlhYmxlTm9kZTsgLy8vXG5cbiAgICBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlLmdldE5vZGUoKTtcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5vZGVCID0gbWV0YXZhcmlhYmxlTm9kZTsgLy8vXG5cbiAgICBjb25zdCB1bmlmaWVkID0gbWV0YXZhcmlhYmxlVW5pZmllci51bmlmeShtZXRhdmFyaWFibGVOb2RlQSwgbWV0YXZhcmlhYmxlTm9kZUIsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBtZXRhdmFyaWFibGVVbmlmaWVkID0gdW5pZmllZDsgIC8vL1xuICB9XG5cbiAgaWYgKG1ldGF2YXJpYWJsZVVuaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke21ldGF2YXJpYWJsZVN0cmluZ30nIG1ldGF2YXJpYWJsZS5gLCBtZXRhdmFyaWFibGVOb2RlKTtcbiAgfVxuXG4gIHJldHVybiBtZXRhdmFyaWFibGVVbmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbImZyYW1lTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiZXF1YWxpdHlOb2RlUXVlcnkiLCJqdWRnZW1lbnROb2RlUXVlcnkiLCJkZWNsYXJhdGlvbk5vZGVRdWVyeSIsIm1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsInR5cGVBc3NlcnRpb25Ob2RlUXVlcnkiLCJkZWZpbmVkQXNzZXJ0aW9uTm9kZVF1ZXJ5Iiwic3VicHJvb2ZBc3NlcnRpb25Ob2RlUXVlcnkiLCJjb250YWluZWRBc3NlcnRpb25Ob2RlUXVlcnkiLCJ1bmlmeVN0YXRlbWVudEZ1bmN0aW9ucyIsInVuaWZ5U3RhdGVtZW50V2l0aEJyYWNrZXRlZENvbWJpbmF0b3IiLCJ1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9ycyIsInZlcmlmeVN0YXRlbWVudEZ1bmN0aW9ucyIsInZlcmlmeVN0YXRlbWVudEFzTWV0YXZhcmlhYmxlIiwidmVyaWZ5U3RhdGVtZW50QXNFcXVhbGl0eSIsInZlcmlmeVN0YXRlbWVudEFzRnJhbWUiLCJ2ZXJpZnlTdGF0ZW1lbnRBc0p1ZGdlbWVudCIsInZlcmlmeVN0YXRlbWVudEFzRGVjbGFyYXRpb24iLCJ2ZXJpZnlTdGF0ZW1lbnRBc1R5cGVBc3NlcnRpb24iLCJ2ZXJpZnlTdGF0ZW1lbnRBc0RlZmluZWRBc3NlcnRpb24iLCJ2ZXJpZnlTdGF0ZW1lbnRBc1N1YnByb29mQXNzZXJ0aW9uIiwidmVyaWZ5U3RhdGVtZW50QXNDb250YWluZWRBc3NlcnRpb24iLCJ2ZXJpZnlTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRWZXJpZmllZCIsInN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwic3RhdGVtZW50VW5pZmllZCIsInNvbWUiLCJ1bmlmeVN0YXRlbWVudEZ1bmN0aW9uIiwidmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24iLCJkZWJ1ZyIsIk9iamVjdCIsImFzc2lnbiIsInNoaW0iLCJzdGF0ZW1lbnRWZXJpZmllZEFzTWV0YXZhcmlhYmxlIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZVVuaWZpZWQiLCJ1bmlmeU1ldGF2YXJpYWJsZSIsInN0YXRlbWVudFZlcmlmaWVkQXNFcXVhbGl0eSIsImVxdWFsaXR5Tm9kZSIsImVxdWFsaXR5VmVyaWZpZWQiLCJ2ZXJpZnlFcXVhbGl0eSIsInN0YXRlbWVudFZlcmlmaWVkQXNGcmFtZSIsImZyYW1lTm9kZSIsImZyYW1lVmVyaWZpZWQiLCJ2ZXJpZnlGcmFtZSIsInN0YXRlbWVudFZlcmlmaWVkQXNKdWRnZW1lbnQiLCJqdWRnZW1lbnROb2RlIiwianVkZ2VtZW50VmVyaWZpZWQiLCJ2ZXJpZnlKdWRnZW1lbnQiLCJzdGF0ZW1lbnRWZXJpZmllZEFzRGVjbGFyYXRpb24iLCJkZWNsYXJhdGlvbk5vZGUiLCJkZWNsYXJhdGlvblZlcmlmaWVkIiwidmVyaWZ5RGVjbGFyYXRpb24iLCJzdGF0ZW1lbnRWZXJpZmllZEFzVHlwZUFzc2VydGlvbiIsInR5cGVBc3NlcnRpb25Ob2RlIiwidHlwZUFzc2VydGlvblZlcmlmaWVkIiwidmVyaWZ5VHlwZUFzc2VydGlvbiIsInN0YXRlbWVudFZlcmlmaWVkQXNEZWZpbmVkQXNzZXJ0aW9uIiwiZGVmaW5lZEFzc2VydGlvbk5vZGUiLCJkZWZpbmVkQXNzZXJ0aW9uVmVyaWZpZWQiLCJ2ZXJpZnlEZWZpbmVkQXNzZXJ0aW9uIiwic3RhdGVtZW50VmVyaWZpZWRBc1N1YnByb29mQXNzZXJ0aW9uIiwic3VicHJvb2ZBc3NlcnRpb25Ob2RlIiwic3VicHJvb2ZBc3NlcnRpb25WZXJpZmllZCIsInZlcmlmeVN1YnByb29mQXNzZXJ0aW9uIiwic3RhdGVtZW50VmVyaWZpZWRBc0NvbnRhaW5lZEFzc2VydGlvbiIsImNvbnRhaW5lZEFzc2VydGlvbk5vZGUiLCJjb250YWluZWRBc3NlcnRpb25WZXJpZmllZCIsInZlcmlmeUNvbnRhaW5lZEFzc2VydGlvbiIsIm1ldGF2YXJpYWJsZVN0cmluZyIsIm1ldGF2YXJpYWJsZU5hbWUiLCJtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGUiLCJmaW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOYW1lIiwibWV0YXZhcmlhYmxlTm9kZUEiLCJnZXROb2RlIiwibWV0YXZhcmlhYmxlTm9kZUIiLCJ1bmlmaWVkIiwibWV0YXZhcmlhYmxlVW5pZmllciIsInVuaWZ5Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvRkE7OztlQUFBOzs7MkRBbEZpQjs0REFDTzsrREFDRztnRUFDQztrRUFDRTsyREFDRTttRUFDQTs4REFDRzsrREFDQztnRUFDQzsrRUFDSzt1RkFDUTtxQkFFeEI7b0JBQzJCOzs7Ozs7QUFFckQsSUFBTUEsaUJBQWlCQyxJQUFBQSxnQkFBUyxFQUFDLHNCQUMzQkMsb0JBQW9CRCxJQUFBQSxnQkFBUyxFQUFDLHlCQUM5QkUscUJBQXFCRixJQUFBQSxnQkFBUyxFQUFDLDBCQUMvQkcsdUJBQXVCSCxJQUFBQSxnQkFBUyxFQUFDLDRCQUNqQ0ksd0JBQXdCSixJQUFBQSxnQkFBUyxFQUFDLDZCQUNsQ0sseUJBQXlCTCxJQUFBQSxnQkFBUyxFQUFDLDhCQUNuQ00sNEJBQTRCTixJQUFBQSxnQkFBUyxFQUFDLGlDQUN0Q08sNkJBQTZCUCxJQUFBQSxnQkFBUyxFQUFDLGtDQUN2Q1EsOEJBQThCUixJQUFBQSxnQkFBUyxFQUFDO0FBRTlDLElBQU1TLDBCQUEwQjtJQUN4QkMseUNBQXFDO0lBQ3JDQyxpQ0FBNkI7Q0FDOUIsRUFDREMsMkJBQTJCO0lBQ3pCQztJQUNBQztJQUNBQztJQUNBQztJQUNBQztJQUNBQztJQUNBQztJQUNBQztJQUNBQztDQUNEO0FBRVAsU0FBU0MsZ0JBQWdCQyxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxZQUFZO0lBQ3ZFLElBQUlDLG9CQUFvQjtJQUV4QixJQUFNQyxrQkFBa0JGLGFBQWFHLFlBQVksQ0FBQ047SUFFbERHLGFBQWFJLEtB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
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return verifyStatementAsCombinator;
9
- }
10
- });
11
- var _combinator = /*#__PURE__*/ _interop_require_default(require("../combinator"));
12
- var _statementAsCombinator = /*#__PURE__*/ _interop_require_default(require("../verifier/statementAsCombinator"));
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- function verifyStatementAsCombinator(statementNode, fileContext) {
19
- var statementVerifiedAsCombinator;
20
- var statementString = fileContext.nodeAsString(statementNode);
21
- fileContext.trace("Verifying the '".concat(statementString, "' statement as a combinator..."), statementNode);
22
- statementVerifiedAsCombinator = _statementAsCombinator.default.verifyStatement(statementNode, fileContext);
23
- if (statementVerifiedAsCombinator) {
24
- var tokens = fileContext.getTokens(), combinator = _combinator.default.fromStatementNodeAndTokens(statementNode, tokens);
25
- fileContext.addCombinator(combinator);
26
- }
27
- if (statementVerifiedAsCombinator) {
28
- fileContext.debug("...verified the '".concat(statementString, "' statement as a combinator."), statementNode);
29
- }
30
- return statementVerifiedAsCombinator;
31
- }
32
-
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50QXNDb21iaW5hdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgQ29tYmluYXRvciBmcm9tIFwiLi4vY29tYmluYXRvclwiO1xuaW1wb3J0IHN0YXRlbWVudEFzQ29tYmluYXRvclZlcmlmaWVyIGZyb20gXCIuLi92ZXJpZmllci9zdGF0ZW1lbnRBc0NvbWJpbmF0b3JcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNDb21iaW5hdG9yKHN0YXRlbWVudE5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzQ29tYmluYXRvcjtcblxuICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgY29tYmluYXRvci4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gIHN0YXRlbWVudFZlcmlmaWVkQXNDb21iaW5hdG9yID0gc3RhdGVtZW50QXNDb21iaW5hdG9yVmVyaWZpZXIudmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGZpbGVDb250ZXh0KTtcblxuICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc0NvbWJpbmF0b3IpIHtcbiAgICBjb25zdCB0b2tlbnMgPSBmaWxlQ29udGV4dC5nZXRUb2tlbnMoKSxcbiAgICAgICAgICBjb21iaW5hdG9yID0gQ29tYmluYXRvci5mcm9tU3RhdGVtZW50Tm9kZUFuZFRva2VucyhzdGF0ZW1lbnROb2RlLCB0b2tlbnMpO1xuXG4gICAgZmlsZUNvbnRleHQuYWRkQ29tYmluYXRvcihjb21iaW5hdG9yKTtcbiAgfVxuXG4gIGlmIChzdGF0ZW1lbnRWZXJpZmllZEFzQ29tYmluYXRvcikge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgY29tYmluYXRvci5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFzQ29tYmluYXRvcjtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlTdGF0ZW1lbnRBc0NvbWJpbmF0b3IiLCJzdGF0ZW1lbnROb2RlIiwiZmlsZUNvbnRleHQiLCJzdGF0ZW1lbnRWZXJpZmllZEFzQ29tYmluYXRvciIsInN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwic3RhdGVtZW50QXNDb21iaW5hdG9yVmVyaWZpZXIiLCJ2ZXJpZnlTdGF0ZW1lbnQiLCJ0b2tlbnMiLCJnZXRUb2tlbnMiLCJjb21iaW5hdG9yIiwiQ29tYmluYXRvciIsImZyb21TdGF0ZW1lbnROb2RlQW5kVG9rZW5zIiwiYWRkQ29tYmluYXRvciIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFLQTs7O2VBQXdCQTs7O2lFQUhEOzRFQUNtQjs7Ozs7O0FBRTNCLFNBQVNBLDRCQUE0QkMsYUFBYSxFQUFFQyxXQUFXO0lBQzVFLElBQUlDO0lBRUosSUFBTUMsa0JBQWtCRixZQUFZRyxZQUFZLENBQUNKO0lBRWpEQyxZQUFZSSxLQUFLLENBQUMsQUFBQyxrQkFBaUMsT0FBaEJGLGlCQUFnQixtQ0FBaUNIO0lBRXJGRSxnQ0FBZ0NJLDhCQUE2QixDQUFDQyxlQUFlLENBQUNQLGVBQWVDO0lBRTdGLElBQUlDLCtCQUErQjtRQUNqQyxJQUFNTSxTQUFTUCxZQUFZUSxTQUFTLElBQzlCQyxhQUFhQyxtQkFBVSxDQUFDQywwQkFBMEIsQ0FBQ1osZUFBZVE7UUFFeEVQLFlBQVlZLGFBQWEsQ0FBQ0g7SUFDNUI7SUFFQSxJQUFJUiwrQkFBK0I7UUFDakNELFlBQVlhLEtBQUssQ0FBQyxBQUFDLG9CQUFtQyxPQUFoQlgsaUJBQWdCLGlDQUErQkg7SUFDdkY7SUFFQSxPQUFPRTtBQUNUIn0=
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return verifyStatementGivenMetaType;
9
- }
10
- });
11
- var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
12
- var _query = require("../utilities/query");
13
- var _name = require("../utilities/name");
14
- var _metaTypeNames = require("../metaTypeNames");
15
- function _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
18
- };
19
- }
20
- var metavariableNodeQuery = (0, _query.nodeQuery)("/statement/metavariable!");
21
- function verifyStatementGivenMetaType(statementNode, metaType, assignments, stated, localContext) {
22
- var statementVerifiedGivenMetaType;
23
- var metaTypeName = metaType.getName();
24
- switch(metaTypeName){
25
- case _metaTypeNames.FRAME_META_TYPE_NAME:
26
- case _metaTypeNames.REFERENCE_META_TYPE_NAME:
27
- {
28
- debugger;
29
- statementVerifiedGivenMetaType = false;
30
- var metavariableNode = metavariableNodeQuery(statementNode);
31
- if (metavariableNode !== null) {
32
- var metavariableName = (0, _name.metavariableNameFromMetavariableNode)(metavariableNode), metavariable = localContext.findMetavariableByMetavariableName(metavariableName);
33
- if (metavariable !== null) {
34
- var metavariableMetaType = metavariable.getMetaType();
35
- if (metavariableMetaType === metaType) {
36
- statementVerifiedGivenMetaType = true;
37
- }
38
- }
39
- }
40
- break;
41
- }
42
- case _metaTypeNames.STATEMENT_META_TYPE_NAME:
43
- {
44
- var verifyStatement = _shim.default.verifyStatement, statementVerified = verifyStatement(statementNode, assignments, stated, localContext);
45
- statementVerifiedGivenMetaType = statementVerified; ///
46
- break;
47
- }
48
- }
49
- return statementVerifiedGivenMetaType;
50
- }
51
-
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50R2l2ZW5NZXRhVHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4uL3NoaW1cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9uYW1lXCI7XG5pbXBvcnQgeyBGUkFNRV9NRVRBX1RZUEVfTkFNRSwgUkVGRVJFTkNFX01FVEFfVFlQRV9OQU1FLCBTVEFURU1FTlRfTUVUQV9UWVBFX05BTUUgfSBmcm9tIFwiLi4vbWV0YVR5cGVOYW1lc1wiO1xuXG5jb25zdCBtZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L21ldGF2YXJpYWJsZSFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEdpdmVuTWV0YVR5cGUoc3RhdGVtZW50Tm9kZSwgbWV0YVR5cGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWRHaXZlbk1ldGFUeXBlO1xuXG4gIGNvbnN0IG1ldGFUeXBlTmFtZSA9IG1ldGFUeXBlLmdldE5hbWUoKTtcblxuICBzd2l0Y2ggKG1ldGFUeXBlTmFtZSkge1xuICAgIGNhc2UgRlJBTUVfTUVUQV9UWVBFX05BTUU6XG4gICAgY2FzZSBSRUZFUkVOQ0VfTUVUQV9UWVBFX05BTUU6IHtcbiAgICAgIGRlYnVnZ2VyXG5cbiAgICAgIHN0YXRlbWVudFZlcmlmaWVkR2l2ZW5NZXRhVHlwZSA9IGZhbHNlO1xuXG4gICAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBpZiAobWV0YXZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBtZXRhdmFyaWFibGVOYW1lID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgICAgICBtZXRhdmFyaWFibGUgPSBsb2NhbENvbnRleHQuZmluZE1ldGF2YXJpYWJsZUJ5TWV0YXZhcmlhYmxlTmFtZShtZXRhdmFyaWFibGVOYW1lKTtcblxuICAgICAgICBpZiAobWV0YXZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTWV0YVR5cGUgPSBtZXRhdmFyaWFibGUuZ2V0TWV0YVR5cGUoKTtcblxuICAgICAgICAgIGlmIChtZXRhdmFyaWFibGVNZXRhVHlwZSA9PT0gbWV0YVR5cGUpIHtcbiAgICAgICAgICAgIHN0YXRlbWVudFZlcmlmaWVkR2l2ZW5NZXRhVHlwZSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNhc2UgU1RBVEVNRU5UX01FVEFfVFlQRV9OQU1FOiB7XG4gICAgICBjb25zdCB7IHZlcmlmeVN0YXRlbWVudCB9ID0gc2hpbSxcbiAgICAgICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dClcblxuICAgICAgc3RhdGVtZW50VmVyaWZpZWRHaXZlbk1ldGFUeXBlID0gc3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuXG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRHaXZlbk1ldGFUeXBlO1xufSJdLCJuYW1lcyI6WyJ2ZXJpZnlTdGF0ZW1lbnRHaXZlbk1ldGFUeXBlIiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3RhdGVtZW50Tm9kZSIsIm1ldGFUeXBlIiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRWZXJpZmllZEdpdmVuTWV0YVR5cGUiLCJtZXRhVHlwZU5hbWUiLCJnZXROYW1lIiwiRlJBTUVfTUVUQV9UWVBFX05BTUUiLCJSRUZFUkVOQ0VfTUVUQV9UWVBFX05BTUUiLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTmFtZSIsIm1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZSIsImZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5hbWUiLCJtZXRhdmFyaWFibGVNZXRhVHlwZSIsImdldE1ldGFUeXBlIiwiU1RBVEVNRU5UX01FVEFfVFlQRV9OQU1FIiwidmVyaWZ5U3RhdGVtZW50Iiwic2hpbSIsInN0YXRlbWVudFZlcmlmaWVkIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQXdCQTs7OzJEQVJQO3FCQUVTO29CQUMyQjs2QkFDb0M7Ozs7OztBQUV6RixJQUFNQyx3QkFBd0JDLElBQUFBLGdCQUFTLEVBQUM7QUFFekIsU0FBU0YsNkJBQTZCRyxhQUFhLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLFlBQVk7SUFDN0csSUFBSUM7SUFFSixJQUFNQyxlQUFlTCxTQUFTTSxPQUFPO0lBRXJDLE9BQVFEO1FBQ04sS0FBS0UsbUNBQW9CO1FBQ3pCLEtBQUtDLHVDQUF3QjtZQUFFO2dCQUM3QixRQUFRO2dCQUVSSixpQ0FBaUM7Z0JBRWpDLElBQU1LLG1CQUFtQlosc0JBQXNCRTtnQkFFL0MsSUFBSVUscUJBQXFCLE1BQU07b0JBQzdCLElBQU1DLG1CQUFtQkMsSUFBQUEsMENBQW9DLEVBQUNGLG1CQUN4REcsZUFBZVQsYUFBYVUsa0NBQWtDLENBQUNIO29CQUVyRSxJQUFJRSxpQkFBaUIsTUFBTTt3QkFDekIsSUFBTUUsdUJBQXVCRixhQUFhRyxXQUFXO3dCQUVyRCxJQUFJRCx5QkFBeUJkLFVBQVU7NEJBQ3JDSSxpQ0FBaUM7d0JBQ25DO29CQUNGO2dCQUNGO2dCQUVBO1lBQ0Y7UUFFQSxLQUFLWSx1Q0FBd0I7WUFBRTtnQkFDN0IsSUFBTSxBQUFFQyxrQkFBb0JDLGFBQUksQ0FBeEJELGlCQUNGRSxvQkFBb0JGLGdCQUFnQmxCLGVBQWVFLGFBQWFDLFFBQVFDO2dCQUU5RUMsaUNBQWlDZSxtQkFBbUIsR0FBRztnQkFFdkQ7WUFDRjtJQUNGO0lBRUEsT0FBT2Y7QUFDVCJ9