occam-verify-cli 0.0.1067 → 0.0.1068

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 (73) hide show
  1. package/lib/assertion/contained.js +2 -2
  2. package/lib/assertion/defined.js +2 -2
  3. package/lib/assignment/judgement.js +3 -3
  4. package/lib/conclusion.js +4 -4
  5. package/lib/consequent.js +4 -4
  6. package/lib/declaration.js +90 -3
  7. package/lib/frame.js +109 -48
  8. package/lib/judgement.js +84 -5
  9. package/lib/metaType.js +24 -3
  10. package/lib/metavariable.js +93 -25
  11. package/lib/mixins/statement/unify.js +2 -17
  12. package/lib/mixins/statement/verify.js +13 -13
  13. package/lib/premise.js +10 -6
  14. package/lib/reference.js +11 -9
  15. package/lib/rule.js +5 -2
  16. package/lib/ruleNames.js +5 -1
  17. package/lib/statement/unqualified.js +26 -2
  18. package/lib/statement.js +4 -2
  19. package/lib/substitution/frameForMetavariable.js +61 -60
  20. package/lib/substitution/statementForMetavariable.js +52 -29
  21. package/lib/substitution/termForVariable.js +53 -52
  22. package/lib/substitution.js +28 -28
  23. package/lib/substitutions.js +46 -40
  24. package/lib/supposition.js +4 -4
  25. package/lib/unifier/intrinsicLevel.js +4 -4
  26. package/lib/unifier/metaLevel.js +11 -7
  27. package/lib/unifier/statementWithCombinator.js +2 -2
  28. package/lib/utilities/node.js +24 -10
  29. package/lib/utilities/tokens.js +8 -1
  30. package/lib/variable.js +9 -5
  31. package/package.json +1 -1
  32. package/src/assertion/contained.js +1 -1
  33. package/src/assertion/defined.js +1 -1
  34. package/src/assignment/judgement.js +3 -4
  35. package/src/conclusion.js +4 -4
  36. package/src/consequent.js +4 -4
  37. package/src/declaration.js +57 -4
  38. package/src/frame.js +149 -90
  39. package/src/judgement.js +109 -3
  40. package/src/metaType.js +29 -3
  41. package/src/metavariable.js +145 -42
  42. package/src/mixins/statement/unify.js +1 -23
  43. package/src/mixins/statement/verify.js +15 -13
  44. package/src/premise.js +13 -6
  45. package/src/reference.js +11 -7
  46. package/src/rule.js +7 -1
  47. package/src/ruleNames.js +1 -0
  48. package/src/statement/unqualified.js +31 -1
  49. package/src/statement.js +3 -1
  50. package/src/substitution/frameForMetavariable.js +65 -84
  51. package/src/substitution/statementForMetavariable.js +63 -32
  52. package/src/substitution/termForVariable.js +56 -77
  53. package/src/substitution.js +21 -21
  54. package/src/substitutions.js +51 -46
  55. package/src/supposition.js +4 -4
  56. package/src/unifier/intrinsicLevel.js +4 -3
  57. package/src/unifier/metaLevel.js +19 -7
  58. package/src/unifier/statementWithCombinator.js +1 -1
  59. package/src/utilities/node.js +26 -10
  60. package/src/utilities/tokens.js +7 -0
  61. package/src/variable.js +14 -5
  62. package/lib/unify/metavariableWithFrame.js +0 -40
  63. package/lib/unify/simpleSubstitutionStatementWithComplexSubstitutionStatement.js +0 -31
  64. package/lib/verify/declaration.js +0 -83
  65. package/lib/verify/frame.js +0 -120
  66. package/lib/verify/judgement.js +0 -88
  67. package/lib/verify/metavariableGivenMetaType.js +0 -44
  68. package/src/unify/metavariableWithFrame.js +0 -40
  69. package/src/unify/simpleSubstitutionStatementWithComplexSubstitutionStatement.js +0 -27
  70. package/src/verify/declaration.js +0 -113
  71. package/src/verify/frame.js +0 -157
  72. package/src/verify/judgement.js +0 -127
  73. package/src/verify/metavariableGivenMetaType.js +0 -45
@@ -34,26 +34,24 @@ export default class Substitutions {
34
34
  return firstSubstitution;
35
35
  }
36
36
 
37
- getMetavariableNodes() {
38
- const metavariableNodes = [];
37
+ getMetavariableNames() {
38
+ const metavariableNames = [];
39
39
 
40
40
  this.forEachSubstitution((substitution) => {
41
- const metavariableNode = substitution.getMetavariableNode();
41
+ const metavariableName = substitution.getMetavariableName();
42
42
 
43
- if (metavariableNode !== null) {
44
- metavariableNodes.push(metavariableNode);
43
+ if (metavariableName !== null) {
44
+ metavariableNames.push(metavariableName);
45
45
  }
46
46
  });
47
47
 
48
- compress(metavariableNodes, (metavariableNodeA, metavariableNodeB) => {
49
- const metavariableNodeAMatchesMetavariableNodeB = metavariableNodeA.match(metavariableNodeB);
50
-
51
- if (metavariableNodeAMatchesMetavariableNodeB) {
48
+ compress(metavariableNames, (metavariableNameA, metavariableNameB) => {
49
+ if (metavariableNameA === metavariableNameB) {
52
50
  return true;
53
51
  }
54
52
  });
55
53
 
56
- return metavariableNodes;
54
+ return metavariableNames;
57
55
  }
58
56
 
59
57
  findSubstitution(callback) { return this.array.find(callback) || null; } ///
@@ -90,11 +88,11 @@ export default class Substitutions {
90
88
  return simpleSubstitution;
91
89
  }
92
90
 
93
- findSubstitutionByVariableNode(variableNode) {
91
+ findSubstitutionByVariableName(variableName) {
94
92
  const substitution = this.findSubstitution((substitution) => {
95
- const variableNodeMatches = substitution.matchVariableNode(variableNode);
93
+ const variableNameMatches = substitution.matchVariableName(variableName);
96
94
 
97
- if (variableNodeMatches) {
95
+ if (variableNameMatches) {
98
96
  return true;
99
97
  }
100
98
  });
@@ -102,11 +100,11 @@ export default class Substitutions {
102
100
  return substitution;
103
101
  }
104
102
 
105
- findSubstitutionByMetavariableNode(metavariableNode) {
103
+ findSubstitutionByMetavariableName(metavariableName) {
106
104
  const substitution = this.findSubstitution((substitution) => {
107
- const metavariableNodeMatches = substitution.matchMetavariableNode(metavariableNode);
105
+ const metavariableNameMatches = substitution.matchMetavariableName(metavariableName);
108
106
 
109
- if (metavariableNodeMatches) {
107
+ if (metavariableNameMatches) {
110
108
  return true;
111
109
  }
112
110
  });
@@ -114,11 +112,11 @@ export default class Substitutions {
114
112
  return substitution;
115
113
  }
116
114
 
117
- findSubstitutionsByMetavariableNode(metavariableNode) {
115
+ findSubstitutionsByMetavariableName(metavariableName) {
118
116
  const substitutions = this.findSubstitutions((substitution) => {
119
- const metavariableNodeMatches = substitution.matchMetavariableNode(metavariableNode);
117
+ const metavariableNameMatches = substitution.matchMetavariableName(metavariableName);
120
118
 
121
- if (metavariableNodeMatches) {
119
+ if (metavariableNameMatches) {
122
120
  return true;
123
121
  }
124
122
  });
@@ -126,8 +124,8 @@ export default class Substitutions {
126
124
  return substitutions;
127
125
  }
128
126
 
129
- findSimpleSubstitutionByMetavariableNode(metavariableNode) {
130
- const substitutions = this.findSubstitutionsByMetavariableNode(metavariableNode),
127
+ findSimpleSubstitutionByMetavariableName(metavariableName) {
128
+ const substitutions = this.findSubstitutionsByMetavariableName(metavariableName),
131
129
  simpleSubstitutions = substitutions.filterSubstitution((substitution) => {
132
130
  const substitutionSimple = substitution.isSimple();
133
131
 
@@ -141,8 +139,8 @@ export default class Substitutions {
141
139
  return simpleSubstitution;
142
140
  }
143
141
 
144
- findComplexSubstitutionsByMetavariableNode(metavariableNode) {
145
- const substitutions = this.findSubstitutionsByMetavariableNode(metavariableNode),
142
+ findComplexSubstitutionsByMetavariableName(metavariableName) {
143
+ const substitutions = this.findSubstitutionsByMetavariableName(metavariableName),
146
144
  complexSubstitutions = substitutions.filterSubstitution((substitution) => {
147
145
  const substitutionComplex = substitution.isComplex();
148
146
 
@@ -154,11 +152,11 @@ export default class Substitutions {
154
152
  return complexSubstitutions;
155
153
  }
156
154
 
157
- findSubstitutionByMetavariableNodeAndSubstitutionNode(metavariableNode, substitutionNode) {
155
+ findSubstitutionByMetavariableNameAndSubstitutionNode(metavariableName, substitutionNode) {
158
156
  const substitutions = this.findSubstitutions((substitution) => {
159
- const metavariableNodeAndSubstitutionNodeMatch = substitution.matchMetavariableNodeAndSubstitutionNode(metavariableNode, substitutionNode);
157
+ const metavariableNameAndSubstitutionNodeMatch = substitution.matchMetavariableNameAndSubstitutionNode(metavariableName, substitutionNode);
160
158
 
161
- if (metavariableNodeAndSubstitutionNodeMatch) {
159
+ if (metavariableNameAndSubstitutionNodeMatch) {
162
160
  return true;
163
161
  }
164
162
  }),
@@ -168,8 +166,15 @@ export default class Substitutions {
168
166
  return substitution;
169
167
  }
170
168
 
171
- isSubstitutionPresentByMetavariableNodeAndSubstitutionNode(metavariableNode, substitutionNode) {
172
- const substitution = this.findSubstitutionByMetavariableNodeAndSubstitutionNode(metavariableNode, substitutionNode),
169
+ isSimpleSubstitutionPresentByMetavariableName(metavariableName) {
170
+ const simpleSubstitution = this.findSimpleSubstitutionByMetavariableName(metavariableName),
171
+ simpleSubstitutionPresent = (simpleSubstitution !== null);
172
+
173
+ return simpleSubstitutionPresent;
174
+ }
175
+
176
+ isSubstitutionPresentByMetavariableNameAndSubstitutionNode(metavariableName, substitutionNode) {
177
+ const substitution = this.findSubstitutionByMetavariableNameAndSubstitutionNode(metavariableName, substitutionNode),
173
178
  substitutionPresent = (substitution !== null);
174
179
 
175
180
  return substitutionPresent;
@@ -213,24 +218,24 @@ export default class Substitutions {
213
218
  return unifiedWithEquivalences;
214
219
  }
215
220
 
216
- resolve(localContext) {
217
- const metavariableNodes = this.getMetavariableNodes(),
218
- resolved = metavariableNodes.every((metavariableNode) => {
219
- const complexSubstitutions = this.findComplexSubstitutionsByMetavariableNode(metavariableNode),
220
- complexSubstitutionsResolved = complexSubstitutions.everySubstitution((complexSubstitution) => {
221
- const substitution = complexSubstitution, ///
222
- substitutions = this, ///
223
- substitutionResolved = substitution.resolve(substitutions, localContext);
224
-
225
- if (substitutionResolved) {
226
- return true;
227
- }
228
- });
229
-
230
- if (complexSubstitutionsResolved) {
231
- return true;
232
- }
233
- });
221
+ resolve(localContextA, localContextB) {
222
+ const metavariableNames = this.getMetavariableNames(),
223
+ resolved = metavariableNames.every((metavariableName) => {
224
+ const complexSubstitutions = this.findComplexSubstitutionsByMetavariableName(metavariableName),
225
+ complexSubstitutionsResolved = complexSubstitutions.everySubstitution((complexSubstitution) => {
226
+ const substitution = complexSubstitution, ///
227
+ substitutions = this, ///
228
+ substitutionResolved = substitution.resolve(substitutions, localContextA, localContextB);
229
+
230
+ if (substitutionResolved) {
231
+ return true;
232
+ }
233
+ });
234
+
235
+ if (complexSubstitutionsResolved) {
236
+ return true;
237
+ }
238
+ });
234
239
 
235
240
  return resolved;
236
241
  }
@@ -113,18 +113,18 @@ export default class Supposition {
113
113
  const statementString = statement.getString(),
114
114
  suppositionString = this.getString();
115
115
 
116
- localContext.trace(`Unifying the '${statementString}' statement with the '${suppositionString}' supposition...`);
117
-
118
- const localContextB = localContext;
116
+ const localContextB = localContext; ///
119
117
 
120
118
  localContext = LocalContext.fromFileContext(this.fileContext);
121
119
 
122
120
  const localContextA = localContext; ///
123
121
 
122
+ localContextB.trace(`Unifying the '${statementString}' statement with the '${suppositionString}' supposition...`);
123
+
124
124
  statementUnified = this.unqualifiedStatement.unifyStatement(statement, substitutions, localContextA, localContextB);
125
125
 
126
126
  if (statementUnified) {
127
- localContext.debug(`...unified the '${statementString}' statement with the '${suppositionString}' supposition.`);
127
+ localContextB.debug(`...unified the '${statementString}' statement with the '${suppositionString}' supposition.`);
128
128
  }
129
129
 
130
130
  return statementUnified;
@@ -31,12 +31,13 @@ class IntrinsicLevelUnifier extends Unifier {
31
31
 
32
32
  const variableNode = termVariableNodeA, ///
33
33
  variableName = variableNameFromVariableNode(variableNode),
34
- variable = localContextA.findVariableByVariableName(variableName);
34
+ variablePresent = localContextA.isVariablePresentByVariableName(variableName);
35
35
 
36
- if (variable !== null) {
37
- const { Term } = shim,
36
+ if (variablePresent !== null) {
37
+ const { Term, Variable } = shim,
38
38
  localContext = localContextB, ///
39
39
  termNode = termNodeB, ///
40
+ variable = Variable.fromVariableNode(variableNode, localContextA),
40
41
  term = Term.fromTermNode(termNode, localContextB);
41
42
 
42
43
  termUnified = variable.unifyTerm(term, substitutions, localContext);
@@ -78,12 +78,23 @@ class MetaLevelUnifier extends Unifier {
78
78
  nodeQueryA: frameMetavariableNodeQuery,
79
79
  nodeQueryB: frameNodeQuery,
80
80
  unify: (frameMetavariableNodeA, frameNodeB, substitutions, localContextA, localContextB) => {
81
- debugger
81
+ let frameUnified = false;
82
82
 
83
- const metavariableNodeA = frameMetavariableNodeA, ///
84
- metavariableUnifiedWithFrame = unifyMetavariableWithFrame(metavariableNodeA, frameNodeB, substitutions, localContextA, localContextB);
83
+ const metavariableNode = frameMetavariableNodeA, ///
84
+ metavariableName = metavariableNameFromMetavariableNode(metavariableNode),
85
+ metavariablePresent = localContextA.findMetavariableByMetavariableName(metavariableName);
85
86
 
86
- return metavariableUnifiedWithFrame;
87
+ if (metavariablePresent) {
88
+ const { Frame, Metavariable } = shim,
89
+ localContext = localContextB, ///
90
+ frameNode = frameNodeB, ///
91
+ metavariable = Metavariable.fromMetavariableNode(metavariableNode, localContextA),
92
+ frame = Frame.fromFrameNode(frameNode, localContextB);
93
+
94
+ frameUnified = metavariable.unifyFrame(frame, substitutions, localContext);
95
+ }
96
+
97
+ return frameUnified;
87
98
  }
88
99
  },
89
100
  {
@@ -94,12 +105,13 @@ class MetaLevelUnifier extends Unifier {
94
105
 
95
106
  const variableNode = termVariableNodeA, ///
96
107
  variableName = variableNameFromVariableNode(variableNode),
97
- variable = localContextA.findVariableByVariableName(variableName);
108
+ variablePresent = localContextA.isVariablePresentByVariableName(variableName);
98
109
 
99
- if (variable !== null) {
100
- const { Term } = shim,
110
+ if (variablePresent !== null) {
111
+ const { Term, Variable } = shim,
101
112
  localContext = localContextB, ///
102
113
  termNode = termNodeB, ///
114
+ variable = Variable.fromVariableNode(variableNode, localContextA),
103
115
  term = Term.fromTermNode(termNode, localContextB);
104
116
 
105
117
  termUnified = variable.unifyTerm(term, substitutions, localContext);
@@ -55,7 +55,7 @@ class StatementWithCombinatorUnifier extends Unifier {
55
55
  frameNode = frameNodeA, ///
56
56
  metaType = MetaType.fromMetaTypeNode(metaTypeNode, localContext),
57
57
  frame = Frame.fromFrameNode(frameNode, localContext),
58
- frameVerifiedGivenType = frame.verifyGivenMetaType(metaType, localContext);
58
+ frameVerifiedGivenType = frame.verifyGivenMetaType(metaType, assignments, stated, localContext);
59
59
 
60
60
  unified = frameVerifiedGivenType;
61
61
 
@@ -6,10 +6,12 @@ import { nodeQuery } from "../utilities/query";
6
6
  import { combinedCustomGrammarFromNothing } from "./customGrammar";
7
7
  import { VARIABLE_RULE_NAME,
8
8
  METAVARIABLE_RULE_NAME,
9
+ SUBSTITUTION_RULE_NAME,
9
10
  UNQUALIFIED_STATEMENT_RULE_NAME,
10
11
  CONSTRUCTOR_DECLARATION_RULE_NAME } from "../ruleNames";
11
12
  import { variableTokensFromVariableString,
12
13
  metavariableTokensFromMetavariableString,
14
+ substitutionTokensFromSubstitutionString,
13
15
  unqualifiedStatementTokensFromUnqualifiedStatementString,
14
16
  constructorDeclarationTokensFromConstructorDeclarationString } from "../utilities/tokens";
15
17
 
@@ -46,16 +48,18 @@ export function statementNodeFromStatementString(statementString, lexer, parser)
46
48
  return statementNode;
47
49
  }
48
50
 
49
- export function termNodeFromConstructorDeclarationNode(constructorDeclarationNode) {
50
- const termNode = termNodeQuery(constructorDeclarationNode, constructorDeclarationNode);
51
+ export function metavariableNodeFromMetavariableString(metavariableString, lexer, parser) {
52
+ const metavariableTokens = metavariableTokensFromMetavariableString(metavariableString, lexer),
53
+ metavariableNode = metavariableNodeFromMetavariableTokens(metavariableTokens, parser);
51
54
 
52
- return termNode;
55
+ return metavariableNode;
53
56
  }
54
57
 
55
- export function statementNodeFromUnqualifiedStatementNode(unqualifiedStatementNode) {
56
- const statementNode = statementNodeQuery(unqualifiedStatementNode);
58
+ export function substitutionNodeFromSubstitutionString(substitutionString, lexer, parser) {
59
+ const substitutionTokens = substitutionTokensFromSubstitutionString(substitutionString, lexer),
60
+ substitutionNode = substitutionNodeFromSubstitutionTokens(substitutionTokens, parser);
57
61
 
58
- return statementNode;
62
+ return substitutionNode;
59
63
  }
60
64
 
61
65
  export function constructorDeclarationStringFromTermString(termString) {
@@ -72,11 +76,16 @@ export function unqualifiedStatementStringFromStatementString(statementString) {
72
76
  return unqualifiedStatementString;
73
77
  }
74
78
 
75
- export function metavariableNodeFromMetavariableString(metavariableString, lexer, parser) {
76
- const metavariableTokens = metavariableTokensFromMetavariableString(metavariableString, lexer),
77
- metavariableNode = metavariableNodeFromMetavariableTokens(metavariableTokens, parser);
79
+ export function termNodeFromConstructorDeclarationNode(constructorDeclarationNode) {
80
+ const termNode = termNodeQuery(constructorDeclarationNode, constructorDeclarationNode);
78
81
 
79
- return metavariableNode;
82
+ return termNode;
83
+ }
84
+
85
+ export function statementNodeFromUnqualifiedStatementNode(unqualifiedStatementNode) {
86
+ const statementNode = statementNodeQuery(unqualifiedStatementNode);
87
+
88
+ return statementNode;
80
89
  }
81
90
 
82
91
  export function variableNodeFromVariableTokens(variableTokens, parser) {
@@ -93,6 +102,13 @@ export function metavariableNodeFromMetavariableTokens(metavariableTokens, parse
93
102
  return metavariableNode;
94
103
  }
95
104
 
105
+ export function substitutionNodeFromSubstitutionTokens(substitutionTokens, parser) {
106
+ const ruleName = SUBSTITUTION_RULE_NAME,
107
+ substitutionNode = nodeFromTokensRuleNameAndParser(substitutionTokens, ruleName, parser);
108
+
109
+ return substitutionNode;
110
+ }
111
+
96
112
  export function unqualifiedStatementNodeFromUnqualifiedStatementTokens(unqualifiedStatementTokens, parser) {
97
113
  const tokens = unqualifiedStatementTokens, ///
98
114
  ruleName = UNQUALIFIED_STATEMENT_RULE_NAME,
@@ -25,6 +25,13 @@ export function metavariableTokensFromMetavariableString(metavariableString, lex
25
25
  return metavariableTokens;
26
26
  }
27
27
 
28
+ export function substitutionTokensFromSubstitutionString(substitutionString, lexer) {
29
+ const substitutionContent = `${substitutionString}`,
30
+ substitutionTokens = tokensFromContentAndLexer(substitutionContent, lexer);
31
+
32
+ return substitutionTokens;
33
+ }
34
+
28
35
  export function unqualifiedStatementTokensFromUnqualifiedStatementString(unqualifiedStatementString, lexer) {
29
36
  const content = unqualifiedStatementString, ///
30
37
  unqualifiedStatementTokens = tokensFromContentAndLexer(content, lexer);
package/src/variable.js CHANGED
@@ -149,8 +149,8 @@ class Variable {
149
149
  localContext.trace(`Unifying the '${termString}' term with the '${variableString}' variable...`);
150
150
 
151
151
  const termNode = term.getNode(),
152
- variableNode = this.node, ///
153
- substitution = substitutions.findSubstitutionByVariableNode(variableNode);
152
+ variableName = this.name, ///
153
+ substitution = substitutions.findSubstitutionByVariableName(variableName);
154
154
 
155
155
  if (substitution !== null) {
156
156
  const termNodeMatches = substitution.matchTermNode(termNode);
@@ -159,13 +159,15 @@ class Variable {
159
159
  termUnified = true;
160
160
  }
161
161
  } else {
162
- const variable = this, ///
162
+ const variableNode = this.node, ///
163
+ variable = variableFromVariableNode(variableNode, localContext),
163
164
  termVariable = termVariableFromTermNode(termNode, localContext);
164
165
 
165
- if (termVariable === variable) {
166
+ if (variable === termVariable) {
166
167
  termUnified = true;
167
168
  } else {
168
- const termForVariableSubstitution = TermForVariableSubstitution.fromTernAndVariable(term, variable, localContext),
169
+ const variable = this, ///
170
+ termForVariableSubstitution = TermForVariableSubstitution.fromTernAndVariable(term, variable, localContext),
169
171
  substitution = termForVariableSubstitution; ///
170
172
 
171
173
  substitutions.addSubstitution(substitution, localContext);
@@ -300,4 +302,11 @@ function termVariableFromTermNode(termNode, localContext) {
300
302
  }
301
303
 
302
304
  return termVariable;
305
+ }
306
+
307
+ function variableFromVariableNode(variableNode, localContext) {
308
+ const variableName = variableNameFromVariableNode(variableNode),
309
+ variable = localContext.findVariableByVariableName(variableName);
310
+
311
+ return variable;
303
312
  }
@@ -1,40 +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 unifyMetavariableWithFrame;
9
- }
10
- });
11
- var _frameForMetavariable = /*#__PURE__*/ _interop_require_default(require("../substitution/frameForMetavariable"));
12
- var _unify = require("../utilities/unify");
13
- var _name = require("../utilities/name");
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
- function unifyMetavariableWithFrame(metavariableNodeA, frameNodeB, substitutions, localContextA, localContextB) {
20
- var metavariableUnifiedWithFrame = false;
21
- var simpleSubstitution = substitutions.findSimpleSubstitutionByMetavariableNode(metavariableNodeA), substitution = simpleSubstitution; ///
22
- if (substitution !== null) {
23
- var frameNodeMatches = substitution.matchFrameNode(frameNodeB);
24
- if (frameNodeMatches) {
25
- metavariableUnifiedWithFrame = true;
26
- }
27
- } else {
28
- var metavariableNameA = (0, _name.metavariableNameFromMetavariableNode)(metavariableNodeA), metavariableA = localContextA.findMetavariableByMetavariableName(metavariableNameA), metavariableB = (0, _unify.metavariableFromFrameNode)(frameNodeB, localContextB);
29
- if (metavariableA === metavariableB) {
30
- metavariableUnifiedWithFrame = true;
31
- } else {
32
- var frameNode = frameNodeB, metavariable = metavariableA, frameForMetavariableSubstitution = _frameForMetavariable.default.fromFrameAndMetavariable(frame, metavariable, localContextA, localContextB), substitution1 = frameForMetavariableSubstitution; ///
33
- substitutions.addSubstitution(substitution1, localContextA, localContextB);
34
- metavariableUnifiedWithFrame = true;
35
- }
36
- }
37
- return metavariableUnifiedWithFrame;
38
- }
39
-
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9tZXRhdmFyaWFibGVXaXRoRnJhbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBGcmFtZUZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiBmcm9tIFwiLi4vc3Vic3RpdHV0aW9uL2ZyYW1lRm9yTWV0YXZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IG1ldGF2YXJpYWJsZUZyb21GcmFtZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3VuaWZ5XCI7XG5pbXBvcnQge21ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZX0gZnJvbSBcIi4uL3V0aWxpdGllcy9uYW1lXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5TWV0YXZhcmlhYmxlV2l0aEZyYW1lKG1ldGF2YXJpYWJsZU5vZGVBLCBmcmFtZU5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSB7XG4gIGxldCBtZXRhdmFyaWFibGVVbmlmaWVkV2l0aEZyYW1lID0gZmFsc2U7XG5cbiAgY29uc3Qgc2ltcGxlU3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9ucy5maW5kU2ltcGxlU3Vic3RpdHV0aW9uQnlNZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGVBKSxcbiAgICAgICAgc3Vic3RpdHV0aW9uID0gc2ltcGxlU3Vic3RpdHV0aW9uOyAgLy8vXG5cbiAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGZyYW1lTm9kZU1hdGNoZXMgPSBzdWJzdGl0dXRpb24ubWF0Y2hGcmFtZU5vZGUoZnJhbWVOb2RlQik7XG5cbiAgICBpZiAoZnJhbWVOb2RlTWF0Y2hlcykge1xuICAgICAgbWV0YXZhcmlhYmxlVW5pZmllZFdpdGhGcmFtZSA9IHRydWU7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5hbWVBID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGVBKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVBID0gbG9jYWxDb250ZXh0QS5maW5kTWV0YXZhcmlhYmxlQnlNZXRhdmFyaWFibGVOYW1lKG1ldGF2YXJpYWJsZU5hbWVBKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVCID0gbWV0YXZhcmlhYmxlRnJvbUZyYW1lTm9kZShmcmFtZU5vZGVCLCBsb2NhbENvbnRleHRCKTtcblxuICAgIGlmIChtZXRhdmFyaWFibGVBID09PSBtZXRhdmFyaWFibGVCKSB7XG4gICAgICBtZXRhdmFyaWFibGVVbmlmaWVkV2l0aEZyYW1lID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZnJhbWVOb2RlID0gZnJhbWVOb2RlQiwgLy8vXG4gICAgICAgICAgICBtZXRhdmFyaWFibGUgPSBtZXRhdmFyaWFibGVBLCAvLy9cbiAgICAgICAgICAgIGZyYW1lRm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uID0gRnJhbWVGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbUZyYW1lQW5kTWV0YXZhcmlhYmxlKGZyYW1lLCBtZXRhdmFyaWFibGUsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpLFxuICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gZnJhbWVGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb247ICAvLy9cblxuICAgICAgc3Vic3RpdHV0aW9ucy5hZGRTdWJzdGl0dXRpb24oc3Vic3RpdHV0aW9uLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKTtcblxuICAgICAgbWV0YXZhcmlhYmxlVW5pZmllZFdpdGhGcmFtZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZVVuaWZpZWRXaXRoRnJhbWU7XG59XG4iXSwibmFtZXMiOlsidW5pZnlNZXRhdmFyaWFibGVXaXRoRnJhbWUiLCJtZXRhdmFyaWFibGVOb2RlQSIsImZyYW1lTm9kZUIiLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJtZXRhdmFyaWFibGVVbmlmaWVkV2l0aEZyYW1lIiwic2ltcGxlU3Vic3RpdHV0aW9uIiwiZmluZFNpbXBsZVN1YnN0aXR1dGlvbkJ5TWV0YXZhcmlhYmxlTm9kZSIsInN1YnN0aXR1dGlvbiIsImZyYW1lTm9kZU1hdGNoZXMiLCJtYXRjaEZyYW1lTm9kZSIsIm1ldGF2YXJpYWJsZU5hbWVBIiwibWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlQSIsImZpbmRNZXRhdmFyaWFibGVCeU1ldGF2YXJpYWJsZU5hbWUiLCJtZXRhdmFyaWFibGVCIiwibWV0YXZhcmlhYmxlRnJvbUZyYW1lTm9kZSIsImZyYW1lTm9kZSIsIm1ldGF2YXJpYWJsZSIsImZyYW1lRm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiRnJhbWVGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24iLCJmcm9tRnJhbWVBbmRNZXRhdmFyaWFibGUiLCJmcmFtZSIsImFkZFN1YnN0aXR1dGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBT0E7OztlQUF3QkE7OzsyRUFMcUI7cUJBRUg7b0JBQ1M7Ozs7OztBQUVwQyxTQUFTQSwyQkFBMkJDLGlCQUFpQixFQUFFQyxVQUFVLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhO0lBQzNILElBQUlDLCtCQUErQjtJQUVuQyxJQUFNQyxxQkFBcUJKLGNBQWNLLHdDQUF3QyxDQUFDUCxvQkFDNUVRLGVBQWVGLG9CQUFxQixHQUFHO0lBRTdDLElBQUlFLGlCQUFpQixNQUFNO1FBQ3pCLElBQU1DLG1CQUFtQkQsYUFBYUUsY0FBYyxDQUFDVDtRQUVyRCxJQUFJUSxrQkFBa0I7WUFDcEJKLCtCQUErQjtRQUNqQztJQUNGLE9BQU87UUFDTCxJQUFNTSxvQkFBb0JDLElBQUFBLDBDQUFvQyxFQUFDWixvQkFDekRhLGdCQUFnQlYsY0FBY1csa0NBQWtDLENBQUNILG9CQUNqRUksZ0JBQWdCQyxJQUFBQSxnQ0FBeUIsRUFBQ2YsWUFBWUc7UUFFNUQsSUFBSVMsa0JBQWtCRSxlQUFlO1lBQ25DViwrQkFBK0I7UUFDakMsT0FBTztZQUNMLElBQU1ZLFlBQVloQixZQUNaaUIsZUFBZUwsZUFDZk0sbUNBQW1DQyw2QkFBZ0MsQ0FBQ0Msd0JBQXdCLENBQUNDLE9BQU9KLGNBQWNmLGVBQWVDLGdCQUNqSUksZ0JBQWVXLGtDQUFtQyxHQUFHO1lBRTNEakIsY0FBY3FCLGVBQWUsQ0FBQ2YsZUFBY0wsZUFBZUM7WUFFM0RDLCtCQUErQjtRQUNqQztJQUNGO0lBRUEsT0FBT0E7QUFDVCJ9
@@ -1,31 +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 unifyComplexSubstitutionStatementWithSimpleSubstitutionStatement;
9
- }
10
- });
11
- var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../unifier/metaLevel"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
17
- function unifyComplexSubstitutionStatementWithSimpleSubstitutionStatement(simpleSubstitutionStatementNode, complexSubstitutionStatementNode, substitutions, localContextA, localContextB) {
18
- var simpleSubstitutionStatementUnifiedWithComplexSubstitutionStatement;
19
- var simpleSubstitutionStatementString = localContextB.nodeAsString(simpleSubstitutionStatementNode), complexSubstitutionStatementString = localContextB.nodeAsString(complexSubstitutionStatementNode);
20
- localContextB.trace("Unifying the simple substitution's '".concat(simpleSubstitutionStatementString, "' statement with the complex substitution's '").concat(complexSubstitutionStatementString, "' statement..."), simpleSubstitutionStatementNode);
21
- var nodeA = complexSubstitutionStatementNode, nodeB = simpleSubstitutionStatementNode; ///
22
- localContextA = localContextB; ///
23
- var unifiedAtMetaLevel = _metaLevel.default.unify(nodeA, nodeB, substitutions, localContextA, localContextB);
24
- simpleSubstitutionStatementUnifiedWithComplexSubstitutionStatement = unifiedAtMetaLevel; ///
25
- if (simpleSubstitutionStatementUnifiedWithComplexSubstitutionStatement) {
26
- localContextB.trace("...unified the simple substitution's '".concat(simpleSubstitutionStatementString, "' statement with the complex substitution's '").concat(complexSubstitutionStatementString, "' statement."), simpleSubstitutionStatementNode);
27
- }
28
- return simpleSubstitutionStatementUnifiedWithComplexSubstitutionStatement;
29
- }
30
-
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmeS9zaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnRXaXRoQ29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG1ldGFMZXZlbFVuaWZpZXIgZnJvbSBcIi4uL3VuaWZpZXIvbWV0YUxldmVsXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVuaWZ5Q29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudFdpdGhTaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnQoc2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50Tm9kZSwgY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgbGV0IHNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudFVuaWZpZWRXaXRoQ29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudDtcblxuICBjb25zdCBzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHRCLm5vZGVBc1N0cmluZyhzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dEIubm9kZUFzU3RyaW5nKGNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHRCLnRyYWNlKGBVbmlmeWluZyB0aGUgc2ltcGxlIHN1YnN0aXR1dGlvbidzICcke3NpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSBjb21wbGV4IHN1YnN0aXR1dGlvbidzICcke2NvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQuLi5gLCBzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBub2RlQSA9IGNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgIG5vZGVCID0gc2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50Tm9kZTsgIC8vL1xuXG4gIGxvY2FsQ29udGV4dEEgPSBsb2NhbENvbnRleHRCOyAgLy8vXG5cbiAgY29uc3QgdW5pZmllZEF0TWV0YUxldmVsID0gbWV0YUxldmVsVW5pZmllci51bmlmeShub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gIHNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudFVuaWZpZWRXaXRoQ29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudCA9IHVuaWZpZWRBdE1ldGFMZXZlbDsgIC8vL1xuXG4gIGlmIChzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnRVbmlmaWVkV2l0aENvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnQpIHtcbiAgICBsb2NhbENvbnRleHRCLnRyYWNlKGAuLi51bmlmaWVkIHRoZSBzaW1wbGUgc3Vic3RpdHV0aW9uJ3MgJyR7c2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IHdpdGggdGhlIGNvbXBsZXggc3Vic3RpdHV0aW9uJ3MgJyR7Y29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC5gLCBzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnRVbmlmaWVkV2l0aENvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnQ7XG59XG4iXSwibmFtZXMiOlsidW5pZnlDb21wbGV4U3Vic3RpdHV0aW9uU3RhdGVtZW50V2l0aFNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudCIsInNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUiLCJjb21wbGV4U3Vic3RpdHV0aW9uU3RhdGVtZW50Tm9kZSIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudFVuaWZpZWRXaXRoQ29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudCIsInNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsImNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnRTdHJpbmciLCJ0cmFjZSIsIm5vZGVBIiwibm9kZUIiLCJ1bmlmaWVkQXRNZXRhTGV2ZWwiLCJtZXRhTGV2ZWxVbmlmaWVyIiwidW5pZnkiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBd0JBOzs7Z0VBRks7Ozs7OztBQUVkLFNBQVNBLGlFQUFpRUMsK0JBQStCLEVBQUVDLGdDQUFnQyxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYTtJQUNyTSxJQUFJQztJQUVKLElBQU1DLG9DQUFvQ0YsY0FBY0csWUFBWSxDQUFDUCxrQ0FDL0RRLHFDQUFxQ0osY0FBY0csWUFBWSxDQUFDTjtJQUV0RUcsY0FBY0ssS0FBSyxDQUFDLEFBQUMsdUNBQXVIRCxPQUFqRkYsbUNBQWtDLGlEQUFrRixPQUFuQ0Usb0NBQW1DLG1CQUFpQlI7SUFFaE0sSUFBTVUsUUFBUVQsa0NBQ1JVLFFBQVFYLGlDQUFrQyxHQUFHO0lBRW5ERyxnQkFBZ0JDLGVBQWdCLEdBQUc7SUFFbkMsSUFBTVEscUJBQXFCQyxrQkFBZ0IsQ0FBQ0MsS0FBSyxDQUFDSixPQUFPQyxPQUFPVCxlQUFlQyxlQUFlQztJQUU5RkMscUVBQXFFTyxvQkFBcUIsR0FBRztJQUU3RixJQUFJUCxvRUFBb0U7UUFDdEVELGNBQWNLLEtBQUssQ0FBQyxBQUFDLHlDQUF5SEQsT0FBakZGLG1DQUFrQyxpREFBa0YsT0FBbkNFLG9DQUFtQyxpQkFBZVI7SUFDbE07SUFFQSxPQUFPSztBQUNUIn0=
@@ -1,83 +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 verifyDeclaration;
9
- }
10
- });
11
- var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
12
- var _reference = /*#__PURE__*/ _interop_require_default(require("../reference"));
13
- var _declaration = /*#__PURE__*/ _interop_require_default(require("../declaration"));
14
- var _metavariableGivenMetaType = /*#__PURE__*/ _interop_require_default(require("../verify/metavariableGivenMetaType"));
15
- var _query = require("../utilities/query");
16
- var _metaType = require("../metaType");
17
- function _interop_require_default(obj) {
18
- return obj && obj.__esModule ? obj : {
19
- default: obj
20
- };
21
- }
22
- var statementNodeQuery = (0, _query.nodeQuery)("/declaration/statement"), metavariableNodeQuery = (0, _query.nodeQuery)("/declaration/reference/metavariable"); ///
23
- var verifyDeclarationFunctions = [
24
- verifyDerivedDeclaration,
25
- verifyStatedDeclaration
26
- ];
27
- function verifyDeclaration(declarationNode, declarations, stated, localContext) {
28
- var declarationVerified;
29
- var declarationString = localContext.nodeAsString(declarationNode);
30
- localContext.trace("Verifying the '".concat(declarationString, "' declaration..."), declarationNode);
31
- declarationVerified = verifyDeclarationFunctions.some(function(verifyDeclarationFunction) {
32
- var declarationVerified = verifyDeclarationFunction(declarationNode, declarations, stated, localContext);
33
- if (declarationVerified) {
34
- return true;
35
- }
36
- });
37
- if (declarationVerified) {
38
- localContext.debug("...verified the '".concat(declarationString, "' declaration."), declarationNode);
39
- }
40
- return declarationVerified;
41
- }
42
- function verifyDerivedDeclaration(declarationNode, declarations, stated, localContext) {
43
- var derivedDeclarationVerified;
44
- if (!stated) {
45
- var declarationString = localContext.nodeAsString(declarationNode);
46
- localContext.trace("Verifying the '".concat(declarationString, "' derived declaration..."), declarationNode);
47
- var metaType = _metaType.referenceMetaType, metavariableNode = metavariableNodeQuery(declarationNode), metavariableVerifiedGivenMetaType = (0, _metavariableGivenMetaType.default)(metavariableNode, metaType, localContext);
48
- if (metavariableVerifiedGivenMetaType) {
49
- var verifyStatement = _shim.default.verifyStatement, _$stated = true, assignments = null, statementNode = statementNodeQuery(declarationNode), statementVerified = verifyStatement(statementNode, assignments, _$stated, localContext);
50
- if (statementVerified) {
51
- var reference = _reference.default.fromMetavariableNode(metavariableNode), declaration = _declaration.default.fromReferenceAndStatementNode(reference, statementNode);
52
- declarations.push(declaration);
53
- derivedDeclarationVerified = true;
54
- }
55
- }
56
- if (derivedDeclarationVerified) {
57
- localContext.debug("...verified the '".concat(declarationString, "' derived declaration."), declarationNode);
58
- }
59
- }
60
- return derivedDeclarationVerified;
61
- }
62
- function verifyStatedDeclaration(declarationNode, declarations, stated, localContext) {
63
- var statedDeclarationVerified = false;
64
- if (stated) {
65
- var declarationString = localContext.nodeAsString(declarationNode);
66
- localContext.trace("Verifying the '".concat(declarationString, "' stated declaration..."), declarationNode);
67
- var metaType = _metaType.referenceMetaType, metavariableNode = metavariableNodeQuery(declarationNode), metavariableVerifiedGivenMetaType = (0, _metavariableGivenMetaType.default)(metavariableNode, metaType, localContext);
68
- if (metavariableVerifiedGivenMetaType) {
69
- var verifyStatement = _shim.default.verifyStatement, _$stated = true, assignments = null, statementNode = statementNodeQuery(declarationNode), statementVerified = verifyStatement(statementNode, assignments, _$stated, localContext);
70
- if (statementVerified) {
71
- var reference = _reference.default.fromMetavariableNode(metavariableNode), declaration = _declaration.default.fromReferenceAndStatementNode(reference, statementNode);
72
- declarations.push(declaration);
73
- statedDeclarationVerified = true;
74
- }
75
- }
76
- if (statedDeclarationVerified) {
77
- localContext.debug("...verified the '".concat(declarationString, "' stated declaration."), declarationNode);
78
- }
79
- }
80
- return statedDeclarationVerified;
81
- }
82
-
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5pbXBvcnQgUmVmZXJlbmNlIGZyb20gXCIuLi9yZWZlcmVuY2VcIjtcbmltcG9ydCBEZWNsYXJhdGlvbiBmcm9tIFwiLi4vZGVjbGFyYXRpb25cIlxuaW1wb3J0IHZlcmlmeU1ldGF2YXJpYWJsZUdpdmVuTWV0YVR5cGUgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhdmFyaWFibGVHaXZlbk1ldGFUeXBlXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IHJlZmVyZW5jZU1ldGFUeXBlIH0gZnJvbSBcIi4uL21ldGFUeXBlXCI7XG5cbmNvbnN0IHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9kZWNsYXJhdGlvbi9zdGF0ZW1lbnRcIiksXG4gICAgICBtZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZGVjbGFyYXRpb24vcmVmZXJlbmNlL21ldGF2YXJpYWJsZVwiKTsgLy8vXG5cbmNvbnN0IHZlcmlmeURlY2xhcmF0aW9uRnVuY3Rpb25zID0gW1xuICB2ZXJpZnlEZXJpdmVkRGVjbGFyYXRpb24sXG4gIHZlcmlmeVN0YXRlZERlY2xhcmF0aW9uXG5dO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlEZWNsYXJhdGlvbihkZWNsYXJhdGlvbk5vZGUsIGRlY2xhcmF0aW9ucywgc3RhdGVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGRlY2xhcmF0aW9uVmVyaWZpZWQ7XG5cbiAgY29uc3QgZGVjbGFyYXRpb25TdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGRlY2xhcmF0aW9uTm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2RlY2xhcmF0aW9uU3RyaW5nfScgZGVjbGFyYXRpb24uLi5gLCBkZWNsYXJhdGlvbk5vZGUpO1xuXG4gIGRlY2xhcmF0aW9uVmVyaWZpZWQgPSB2ZXJpZnlEZWNsYXJhdGlvbkZ1bmN0aW9ucy5zb21lKCh2ZXJpZnlEZWNsYXJhdGlvbkZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QgZGVjbGFyYXRpb25WZXJpZmllZCA9IHZlcmlmeURlY2xhcmF0aW9uRnVuY3Rpb24oZGVjbGFyYXRpb25Ob2RlLCBkZWNsYXJhdGlvbnMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChkZWNsYXJhdGlvblZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChkZWNsYXJhdGlvblZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7ZGVjbGFyYXRpb25TdHJpbmd9JyBkZWNsYXJhdGlvbi5gLCBkZWNsYXJhdGlvbk5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGRlY2xhcmF0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeURlcml2ZWREZWNsYXJhdGlvbihkZWNsYXJhdGlvbk5vZGUsIGRlY2xhcmF0aW9ucywgc3RhdGVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGRlcml2ZWREZWNsYXJhdGlvblZlcmlmaWVkO1xuXG4gIGlmICghc3RhdGVkKSB7XG4gICAgY29uc3QgZGVjbGFyYXRpb25TdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGRlY2xhcmF0aW9uTm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZGVjbGFyYXRpb25TdHJpbmd9JyBkZXJpdmVkIGRlY2xhcmF0aW9uLi4uYCwgZGVjbGFyYXRpb25Ob2RlKTtcblxuICAgIGNvbnN0IG1ldGFUeXBlID0gcmVmZXJlbmNlTWV0YVR5cGUsIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkoZGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZEdpdmVuTWV0YVR5cGUgPSB2ZXJpZnlNZXRhdmFyaWFibGVHaXZlbk1ldGFUeXBlKG1ldGF2YXJpYWJsZU5vZGUsIG1ldGFUeXBlLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZVZlcmlmaWVkR2l2ZW5NZXRhVHlwZSkge1xuICAgICAgY29uc3QgeyB2ZXJpZnlTdGF0ZW1lbnQgfSA9IHNoaW0sXG4gICAgICAgICAgICBzdGF0ZWQgPSB0cnVlLFxuICAgICAgICAgICAgYXNzaWdubWVudHMgPSBudWxsLFxuICAgICAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeShkZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICAgICAgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnQoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZSA9IFJlZmVyZW5jZS5mcm9tTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICAgICAgZGVjbGFyYXRpb24gPSBEZWNsYXJhdGlvbi5mcm9tUmVmZXJlbmNlQW5kU3RhdGVtZW50Tm9kZShyZWZlcmVuY2UsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgICAgIGRlY2xhcmF0aW9ucy5wdXNoKGRlY2xhcmF0aW9uKTtcblxuICAgICAgICBkZXJpdmVkRGVjbGFyYXRpb25WZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGRlcml2ZWREZWNsYXJhdGlvblZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtkZWNsYXJhdGlvblN0cmluZ30nIGRlcml2ZWQgZGVjbGFyYXRpb24uYCwgZGVjbGFyYXRpb25Ob2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGVyaXZlZERlY2xhcmF0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlZERlY2xhcmF0aW9uKGRlY2xhcmF0aW9uTm9kZSwgZGVjbGFyYXRpb25zLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVkRGVjbGFyYXRpb25WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmIChzdGF0ZWQpIHtcbiAgICBjb25zdCBkZWNsYXJhdGlvblN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoZGVjbGFyYXRpb25Ob2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtkZWNsYXJhdGlvblN0cmluZ30nIHN0YXRlZCBkZWNsYXJhdGlvbi4uLmAsIGRlY2xhcmF0aW9uTm9kZSk7XG5cbiAgICBjb25zdCBtZXRhVHlwZSA9IHJlZmVyZW5jZU1ldGFUeXBlLCAvLy9cbiAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5KGRlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWRHaXZlbk1ldGFUeXBlID0gdmVyaWZ5TWV0YXZhcmlhYmxlR2l2ZW5NZXRhVHlwZShtZXRhdmFyaWFibGVOb2RlLCBtZXRhVHlwZSwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChtZXRhdmFyaWFibGVWZXJpZmllZEdpdmVuTWV0YVR5cGUpIHtcbiAgICAgIGNvbnN0IHsgdmVyaWZ5U3RhdGVtZW50IH0gPSBzaGltLFxuICAgICAgICAgICAgc3RhdGVkID0gdHJ1ZSxcbiAgICAgICAgICAgIGFzc2lnbm1lbnRzID0gbnVsbCxcbiAgICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkoZGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgICAgIHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICBjb25zdCByZWZlcmVuY2UgPSBSZWZlcmVuY2UuZnJvbU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgICAgIGRlY2xhcmF0aW9uID0gRGVjbGFyYXRpb24uZnJvbVJlZmVyZW5jZUFuZFN0YXRlbWVudE5vZGUocmVmZXJlbmNlLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgICBkZWNsYXJhdGlvbnMucHVzaChkZWNsYXJhdGlvbik7XG5cbiAgICAgICAgc3RhdGVkRGVjbGFyYXRpb25WZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlZERlY2xhcmF0aW9uVmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2RlY2xhcmF0aW9uU3RyaW5nfScgc3RhdGVkIGRlY2xhcmF0aW9uLmAsIGRlY2xhcmF0aW9uTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlZERlY2xhcmF0aW9uVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5RGVjbGFyYXRpb24iLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJ2ZXJpZnlEZWNsYXJhdGlvbkZ1bmN0aW9ucyIsInZlcmlmeURlcml2ZWREZWNsYXJhdGlvbiIsInZlcmlmeVN0YXRlZERlY2xhcmF0aW9uIiwiZGVjbGFyYXRpb25Ob2RlIiwiZGVjbGFyYXRpb25zIiwic3RhdGVkIiwibG9jYWxDb250ZXh0IiwiZGVjbGFyYXRpb25WZXJpZmllZCIsImRlY2xhcmF0aW9uU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJzb21lIiwidmVyaWZ5RGVjbGFyYXRpb25GdW5jdGlvbiIsImRlYnVnIiwiZGVyaXZlZERlY2xhcmF0aW9uVmVyaWZpZWQiLCJtZXRhVHlwZSIsInJlZmVyZW5jZU1ldGFUeXBlIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZVZlcmlmaWVkR2l2ZW5NZXRhVHlwZSIsInZlcmlmeU1ldGF2YXJpYWJsZUdpdmVuTWV0YVR5cGUiLCJ2ZXJpZnlTdGF0ZW1lbnQiLCJzaGltIiwiYXNzaWdubWVudHMiLCJzdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50VmVyaWZpZWQiLCJyZWZlcmVuY2UiLCJSZWZlcmVuY2UiLCJmcm9tTWV0YXZhcmlhYmxlTm9kZSIsImRlY2xhcmF0aW9uIiwiRGVjbGFyYXRpb24iLCJmcm9tUmVmZXJlbmNlQW5kU3RhdGVtZW50Tm9kZSIsInB1c2giLCJzdGF0ZWREZWNsYXJhdGlvblZlcmlmaWVkIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFrQkE7OztlQUF3QkE7OzsyREFoQlA7Z0VBQ0s7a0VBQ0U7Z0ZBQ29CO3FCQUVsQjt3QkFDUTs7Ozs7O0FBRWxDLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQywyQkFDL0JDLHdCQUF3QkQsSUFBQUEsZ0JBQVMsRUFBQyx3Q0FBd0MsR0FBRztBQUVuRixJQUFNRSw2QkFBNkI7SUFDakNDO0lBQ0FDO0NBQ0Q7QUFFYyxTQUFTTixrQkFBa0JPLGVBQWUsRUFBRUMsWUFBWSxFQUFFQyxNQUFNLEVBQUVDLFlBQVk7SUFDM0YsSUFBSUM7SUFFSixJQUFNQyxvQkFBb0JGLGFBQWFHLFlBQVksQ0FBQ047SUFFcERHLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUFtQyxPQUFsQkYsbUJBQWtCLHFCQUFtQkw7SUFFMUVJLHNCQUFzQlAsMkJBQTJCVyxJQUFJLENBQUMsU0FBQ0M7UUFDckQsSUFBTUwsc0JBQXNCSywwQkFBMEJULGlCQUFpQkMsY0FBY0MsUUFBUUM7UUFFN0YsSUFBSUMscUJBQXFCO1lBQ3ZCLE9BQU87UUFDVDtJQUNGO0lBRUEsSUFBSUEscUJBQXFCO1FBQ3ZCRCxhQUFhTyxLQUFLLENBQUMsQUFBQyxvQkFBcUMsT0FBbEJMLG1CQUFrQixtQkFBaUJMO0lBQzVFO0lBRUEsT0FBT0k7QUFDVDtBQUVBLFNBQVNOLHlCQUF5QkUsZUFBZSxFQUFFQyxZQUFZLEVBQUVDLE1BQU0sRUFBRUMsWUFBWTtJQUNuRixJQUFJUTtJQUVKLElBQUksQ0FBQ1QsUUFBUTtRQUNYLElBQU1HLG9CQUFvQkYsYUFBYUcsWUFBWSxDQUFDTjtRQUVwREcsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQW1DLE9BQWxCRixtQkFBa0IsNkJBQTJCTDtRQUVsRixJQUFNWSxXQUFXQywyQkFBaUIsRUFDNUJDLG1CQUFtQmxCLHNCQUFzQkksa0JBQ3pDZSxvQ0FBb0NDLElBQUFBLGtDQUErQixFQUFDRixrQkFBa0JGLFVBQVVUO1FBRXRHLElBQUlZLG1DQUFtQztZQUNyQyxJQUFNLEFBQUVFLGtCQUFvQkMsYUFBSSxDQUF4QkQsaUJBQ0ZmLFdBQVMsTUFDVGlCLGNBQWMsTUFDZEMsZ0JBQWdCMUIsbUJBQW1CTSxrQkFDbkNxQixvQkFBb0JKLGdCQUFnQkcsZUFBZUQsYUFBYWpCLFVBQVFDO1lBRTlFLElBQUlrQixtQkFBbUI7Z0JBQ3JCLElBQU1DLFlBQVlDLGtCQUFTLENBQUNDLG9CQUFvQixDQUFDVixtQkFDM0NXLGNBQWNDLG9CQUFXLENBQUNDLDZCQUE2QixDQUFDTCxXQUFXRjtnQkFFekVuQixhQUFhMkIsSUFBSSxDQUFDSDtnQkFFbEJkLDZCQUE2QjtZQUMvQjtRQUNGO1FBRUEsSUFBSUEsNEJBQTRCO1lBQzlCUixhQUFhTyxLQUFLLENBQUMsQUFBQyxvQkFBcUMsT0FBbEJMLG1CQUFrQiwyQkFBeUJMO1FBQ3BGO0lBQ0Y7SUFFQSxPQUFPVztBQUNUO0FBRUEsU0FBU1osd0JBQXdCQyxlQUFlLEVBQUVDLFlBQVksRUFBRUMsTUFBTSxFQUFFQyxZQUFZO0lBQ2xGLElBQUkwQiw0QkFBNEI7SUFFaEMsSUFBSTNCLFFBQVE7UUFDVixJQUFNRyxvQkFBb0JGLGFBQWFHLFlBQVksQ0FBQ047UUFFcERHLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUFtQyxPQUFsQkYsbUJBQWtCLDRCQUEwQkw7UUFFakYsSUFBTVksV0FBV0MsMkJBQWlCLEVBQzVCQyxtQkFBbUJsQixzQkFBc0JJLGtCQUN6Q2Usb0NBQW9DQyxJQUFBQSxrQ0FBK0IsRUFBQ0Ysa0JBQWtCRixVQUFVVDtRQUV0RyxJQUFJWSxtQ0FBbUM7WUFDckMsSUFBTSxBQUFFRSxrQkFBb0JDLGFBQUksQ0FBeEJELGlCQUNGZixXQUFTLE1BQ1RpQixjQUFjLE1BQ2RDLGdCQUFnQjFCLG1CQUFtQk0sa0JBQ25DcUIsb0JBQW9CSixnQkFBZ0JHLGVBQWVELGFBQWFqQixVQUFRQztZQUU5RSxJQUFJa0IsbUJBQW1CO2dCQUNyQixJQUFNQyxZQUFZQyxrQkFBUyxDQUFDQyxvQkFBb0IsQ0FBQ1YsbUJBQzNDVyxjQUFjQyxvQkFBVyxDQUFDQyw2QkFBNkIsQ0FBQ0wsV0FBV0Y7Z0JBRXpFbkIsYUFBYTJCLElBQUksQ0FBQ0g7Z0JBRWxCSSw0QkFBNEI7WUFDOUI7UUFDRjtRQUVBLElBQUlBLDJCQUEyQjtZQUM3QjFCLGFBQWFPLEtBQUssQ0FBQyxBQUFDLG9CQUFxQyxPQUFsQkwsbUJBQWtCLDBCQUF3Qkw7UUFDbkY7SUFDRjtJQUVBLE9BQU82QjtBQUNUIn0=