occam-verify-cli 0.0.1066 → 0.0.1067
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/assertion/contained.js +2 -1
- package/lib/assertion/defined.js +2 -1
- package/lib/conclusion.js +6 -2
- package/lib/consequent.js +6 -2
- package/lib/context/file.js +7 -7
- package/lib/context/local.js +12 -25
- package/lib/metavariable.js +15 -54
- package/lib/mixins/statement/unify.js +17 -2
- package/lib/mixins/statement/verify.js +2 -11
- package/lib/premise.js +6 -2
- package/lib/proofStep.js +22 -13
- package/lib/rule.js +6 -2
- package/lib/statement/qualified.js +30 -17
- package/lib/statement/unqualified.js +5 -5
- package/lib/statement.js +18 -9
- package/lib/subproof.js +1 -1
- package/lib/substitution/frameForMetavariable.js +35 -27
- package/lib/substitution/statementForMetavariable.js +93 -54
- package/lib/substitution/termForVariable.js +30 -31
- package/lib/substitution.js +48 -13
- package/lib/substitutions.js +22 -19
- package/lib/supposition.js +6 -2
- package/lib/unifier/metaLevel.js +14 -11
- package/lib/unify/metavariableWithFrame.js +2 -2
- package/lib/variable.js +10 -10
- package/package.json +2 -2
- package/src/assertion/contained.js +2 -0
- package/src/assertion/defined.js +2 -0
- package/src/conclusion.js +8 -1
- package/src/consequent.js +8 -1
- package/src/context/file.js +6 -8
- package/src/context/local.js +12 -33
- package/src/metavariable.js +24 -74
- package/src/mixins/statement/unify.js +24 -1
- package/src/mixins/statement/verify.js +1 -15
- package/src/premise.js +8 -1
- package/src/proofStep.js +28 -12
- package/src/rule.js +7 -1
- package/src/statement/qualified.js +38 -21
- package/src/statement/unqualified.js +4 -4
- package/src/statement.js +18 -12
- package/src/subproof.js +0 -1
- package/src/substitution/frameForMetavariable.js +47 -42
- package/src/substitution/statementForMetavariable.js +102 -61
- package/src/substitution/termForVariable.js +41 -50
- package/src/substitution.js +40 -11
- package/src/substitutions.js +32 -25
- package/src/supposition.js +8 -1
- package/src/unifier/metaLevel.js +23 -17
- package/src/unify/metavariableWithFrame.js +2 -2
- package/src/variable.js +7 -7
- package/lib/resolve/complexSubstitutionAgainstSimpleSubstitution.js +0 -62
- package/lib/resolve/substitution.js +0 -27
- package/lib/resolve/substitutions.js +0 -37
- package/src/resolve/complexSubstitutionAgainstSimpleSubstitution.js +0 -79
- package/src/resolve/substitution.js +0 -19
- package/src/resolve/substitutions.js +0 -31
package/src/substitutions.js
CHANGED
|
@@ -113,6 +113,7 @@ export default class Substitutions {
|
|
|
113
113
|
|
|
114
114
|
return substitution;
|
|
115
115
|
}
|
|
116
|
+
|
|
116
117
|
findSubstitutionsByMetavariableNode(metavariableNode) {
|
|
117
118
|
const substitutions = this.findSubstitutions((substitution) => {
|
|
118
119
|
const metavariableNodeMatches = substitution.matchMetavariableNode(metavariableNode);
|
|
@@ -153,31 +154,25 @@ export default class Substitutions {
|
|
|
153
154
|
return complexSubstitutions;
|
|
154
155
|
}
|
|
155
156
|
|
|
156
|
-
|
|
157
|
+
findSubstitutionByMetavariableNodeAndSubstitutionNode(metavariableNode, substitutionNode) {
|
|
157
158
|
const substitutions = this.findSubstitutions((substitution) => {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
if (metavariableNodeAndSubstitutionNodeMatch) {
|
|
161
|
-
return true;
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
return substitutions;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
findComplexSubstitutionByMetavariableNodeAndSubstitutionNode(metavariableNode, substitutionNode) {
|
|
169
|
-
const substitutions = this.findSubstitutionsByMetavariableNodeAndSubstitutionNode(metavariableNode, substitutionNode),
|
|
170
|
-
complexSubstitutions = substitutions.filterSubstitution((substitution) => {
|
|
171
|
-
const substitutionComplex = substitution.isComplex();
|
|
159
|
+
const metavariableNodeAndSubstitutionNodeMatch = substitution.matchMetavariableNodeAndSubstitutionNode(metavariableNode, substitutionNode);
|
|
172
160
|
|
|
173
|
-
if (
|
|
161
|
+
if (metavariableNodeAndSubstitutionNodeMatch) {
|
|
174
162
|
return true;
|
|
175
163
|
}
|
|
176
164
|
}),
|
|
177
|
-
|
|
178
|
-
|
|
165
|
+
firstSubstitution = substitutions.getFirstSubstitution(),
|
|
166
|
+
substitution = firstSubstitution; ///
|
|
167
|
+
|
|
168
|
+
return substitution;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
isSubstitutionPresentByMetavariableNodeAndSubstitutionNode(metavariableNode, substitutionNode) {
|
|
172
|
+
const substitution = this.findSubstitutionByMetavariableNodeAndSubstitutionNode(metavariableNode, substitutionNode),
|
|
173
|
+
substitutionPresent = (substitution !== null);
|
|
179
174
|
|
|
180
|
-
return
|
|
175
|
+
return substitutionPresent;
|
|
181
176
|
}
|
|
182
177
|
|
|
183
178
|
addSubstitution(substitution, localContext) {
|
|
@@ -218,12 +213,24 @@ export default class Substitutions {
|
|
|
218
213
|
return unifiedWithEquivalences;
|
|
219
214
|
}
|
|
220
215
|
|
|
221
|
-
|
|
222
|
-
const
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
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
|
+
});
|
|
227
234
|
|
|
228
235
|
return resolved;
|
|
229
236
|
}
|
package/src/supposition.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import shim from "./shim";
|
|
4
|
+
import LocalContext from "./context/local";
|
|
4
5
|
import SubproofAssertion from "./assertion/subproof";
|
|
5
6
|
import UnqualifiedStatement from "./statement/unqualified";
|
|
6
7
|
|
|
@@ -114,7 +115,13 @@ export default class Supposition {
|
|
|
114
115
|
|
|
115
116
|
localContext.trace(`Unifying the '${statementString}' statement with the '${suppositionString}' supposition...`);
|
|
116
117
|
|
|
117
|
-
|
|
118
|
+
const localContextB = localContext;
|
|
119
|
+
|
|
120
|
+
localContext = LocalContext.fromFileContext(this.fileContext);
|
|
121
|
+
|
|
122
|
+
const localContextA = localContext; ///
|
|
123
|
+
|
|
124
|
+
statementUnified = this.unqualifiedStatement.unifyStatement(statement, substitutions, localContextA, localContextB);
|
|
118
125
|
|
|
119
126
|
if (statementUnified) {
|
|
120
127
|
localContext.debug(`...unified the '${statementString}' statement with the '${suppositionString}' supposition.`);
|
package/src/unifier/metaLevel.js
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import shim from "../shim";
|
|
4
4
|
import Unifier from "../unifier";
|
|
5
|
-
import
|
|
5
|
+
import TermForVariableSubstitution from "../substitution/termForVariable";
|
|
6
|
+
import FrameForMetavariableSubstitution from "../substitution/frameForMetavariable";
|
|
6
7
|
|
|
7
8
|
import { nodeQuery } from "../utilities/query";
|
|
8
9
|
import { variableNameFromVariableNode, metavariableNameFromMetavariableNode } from "../utilities/name";
|
|
@@ -39,27 +40,32 @@ class MetaLevelUnifier extends Unifier {
|
|
|
39
40
|
if (matches) {
|
|
40
41
|
statementUnified = true;
|
|
41
42
|
} else {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
let localContext,
|
|
44
|
+
statementNode;
|
|
45
|
+
|
|
46
|
+
localContext = localContextA; ///
|
|
47
|
+
|
|
48
|
+
statementNode = statementNodeA; ///
|
|
49
|
+
|
|
50
|
+
const statementMetavariableNode = statementMetavariableNodeQuery(statementNode);
|
|
45
51
|
|
|
46
52
|
if (statementMetavariableNode !== null) {
|
|
53
|
+
const substitution = FrameForMetavariableSubstitution.fromStatementNode(statementNode, localContext) ||
|
|
54
|
+
TermForVariableSubstitution.fromStatementNode(statementNode, localContext) ||
|
|
55
|
+
null;
|
|
56
|
+
|
|
47
57
|
const { Statement } = shim,
|
|
48
58
|
metavariableNode = statementMetavariableNode, ///
|
|
49
59
|
metavariableName = metavariableNameFromMetavariableNode(metavariableNode),
|
|
50
|
-
metavariable = localContextA.findMetavariableByMetavariableName(metavariableName)
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const statementUnifiedGivenSubstitution = metavariable.unifyStatementGivenSubstitution(statement, substitution, substitutions, localContext);
|
|
60
|
-
|
|
61
|
-
statementUnified = statementUnifiedGivenSubstitution; ///
|
|
62
|
-
}
|
|
60
|
+
metavariable = localContextA.findMetavariableByMetavariableName(metavariableName);
|
|
61
|
+
|
|
62
|
+
localContext = localContextB; ///
|
|
63
|
+
|
|
64
|
+
statementNode = statementNodeB; ///
|
|
65
|
+
|
|
66
|
+
const statement = Statement.fromStatementNode(statementNode, localContext);
|
|
67
|
+
|
|
68
|
+
statementUnified = metavariable.unifyStatement(statement, substitution, substitutions, localContext);
|
|
63
69
|
} else {
|
|
64
70
|
statementUnified = unifyStatementWithStatement(statementNodeA, statementNodeB, substitutions, localContextA, localContextB);
|
|
65
71
|
}
|
|
@@ -26,8 +26,8 @@ export default function unifyMetavariableWithFrame(metavariableNodeA, frameNodeB
|
|
|
26
26
|
metavariableUnifiedWithFrame = true;
|
|
27
27
|
} else {
|
|
28
28
|
const frameNode = frameNodeB, ///
|
|
29
|
-
|
|
30
|
-
frameForMetavariableSubstitution = FrameForMetavariableSubstitution.
|
|
29
|
+
metavariable = metavariableA, ///
|
|
30
|
+
frameForMetavariableSubstitution = FrameForMetavariableSubstitution.fromFrameAndMetavariable(frame, metavariable, localContextA, localContextB),
|
|
31
31
|
substitution = frameForMetavariableSubstitution; ///
|
|
32
32
|
|
|
33
33
|
substitutions.addSubstitution(substitution, localContextA, localContextB);
|
package/src/variable.js
CHANGED
|
@@ -46,16 +46,16 @@ class Variable {
|
|
|
46
46
|
this.type = type;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
const
|
|
49
|
+
matchVariableName(variableName) {
|
|
50
|
+
const variableNameMatches = (this.name === variableName);
|
|
51
51
|
|
|
52
|
-
return
|
|
52
|
+
return variableNameMatches;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
const
|
|
55
|
+
matchVariableNode(variableNode) {
|
|
56
|
+
const variableNodeMatches = this.node.match(variableNode);
|
|
57
57
|
|
|
58
|
-
return
|
|
58
|
+
return variableNodeMatches;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
verify(localContext) {
|
|
@@ -165,7 +165,7 @@ class Variable {
|
|
|
165
165
|
if (termVariable === variable) {
|
|
166
166
|
termUnified = true;
|
|
167
167
|
} else {
|
|
168
|
-
const termForVariableSubstitution = TermForVariableSubstitution.fromTernAndVariable(term, variable),
|
|
168
|
+
const termForVariableSubstitution = TermForVariableSubstitution.fromTernAndVariable(term, variable, localContext),
|
|
169
169
|
substitution = termForVariableSubstitution; ///
|
|
170
170
|
|
|
171
171
|
substitutions.addSubstitution(substitution, localContext);
|
|
@@ -1,62 +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 resolveComplexSubstitutionAgainstSimpleSubstitution;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _substitutions = /*#__PURE__*/ _interop_require_default(require("../substitutions"));
|
|
12
|
-
var _simpleSubstitutionStatementWithComplexSubstitutionStatement = /*#__PURE__*/ _interop_require_default(require("../unify/simpleSubstitutionStatementWithComplexSubstitutionStatement"));
|
|
13
|
-
function _interop_require_default(obj) {
|
|
14
|
-
return obj && obj.__esModule ? obj : {
|
|
15
|
-
default: obj
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
function resolveComplexSubstitutionAgainstSimpleSubstitution(complexSubstitution, simpleSubstitution, substitutions, localContextA, localContextB) {
|
|
19
|
-
var complexSubstitutionResolvedAgainstSimpleSubstitution = false;
|
|
20
|
-
var statementNode = complexSubstitution.getStatementNode(), simpleSubstitutionString = simpleSubstitution.asString(localContextA, localContextB), complexSubstitutionString = complexSubstitution.asString(localContextA, localContextB);
|
|
21
|
-
localContextB.trace("Resolving the complex ".concat(complexSubstitutionString, " substitution against the simple ").concat(simpleSubstitutionString, " substitution..."), statementNode);
|
|
22
|
-
var transformedSubstitution = transformedSubstitutionFromComplexSubstitution(complexSubstitution, substitutions, localContextA, localContextB);
|
|
23
|
-
if (transformedSubstitution !== null) {
|
|
24
|
-
var substitution = substitutionFromComplexSubstitutionAndAndSimpleSubstitution(complexSubstitution, simpleSubstitution, localContextA, localContextB);
|
|
25
|
-
if (substitution !== null) {
|
|
26
|
-
var substitutionString = substitution.asString(localContextB, localContextB), transformedSubstitutionString = transformedSubstitution.asString(localContextB, localContextB);
|
|
27
|
-
localContextB.trace("Equating the ".concat(substitutionString, " substitution to the transformed ").concat(transformedSubstitutionString, " substitution..."), statementNode);
|
|
28
|
-
var substitutionEqualToTransformedSubstitution = substitution.isEqualTo(transformedSubstitution);
|
|
29
|
-
complexSubstitutionResolvedAgainstSimpleSubstitution = substitutionEqualToTransformedSubstitution; ///
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
if (complexSubstitutionResolvedAgainstSimpleSubstitution) {
|
|
33
|
-
localContextB.debug("...resolved the complex ".concat(complexSubstitutionString, " substitution against the simple ").concat(simpleSubstitutionString, " substitution."), statementNode);
|
|
34
|
-
}
|
|
35
|
-
return complexSubstitutionResolvedAgainstSimpleSubstitution;
|
|
36
|
-
}
|
|
37
|
-
function transformedSubstitutionFromComplexSubstitution(complexSubstitution, substitutions, localContextA, localContextB) {
|
|
38
|
-
var substitution = complexSubstitution.getSubstitution(), substitutionString = substitution.asString(localContextA, localContextA), complexSubstitutionStatementNode = complexSubstitution.getStatementNode();
|
|
39
|
-
localContextB.trace("Transforming the complex substitution's '".concat(substitutionString, "' substitution...."), complexSubstitutionStatementNode);
|
|
40
|
-
var transformedSubstitution = substitution.transformed(substitutions);
|
|
41
|
-
if (transformedSubstitution !== null) {
|
|
42
|
-
var transformedSubstitutionString = transformedSubstitution.asString(localContextB, localContextB);
|
|
43
|
-
localContextB.debug("Transformed the complex substitution's '".concat(substitutionString, "' substitution into the '").concat(transformedSubstitutionString, "' substitution."), complexSubstitutionStatementNode);
|
|
44
|
-
}
|
|
45
|
-
return transformedSubstitution;
|
|
46
|
-
}
|
|
47
|
-
function substitutionFromComplexSubstitutionAndAndSimpleSubstitution(complexSubstitution, simpleSubstitution, localContextA, localContextB) {
|
|
48
|
-
var substitution = null;
|
|
49
|
-
var substitutions = _substitutions.default.fromNothing(), simpleSubstitutionStatementNode = simpleSubstitution.getStatementNode(), complexSubstitutionStatementNode = complexSubstitution.getStatementNode();
|
|
50
|
-
localContextA = localContextB; ///
|
|
51
|
-
var simpleSubstitutionStatementUnifiedWithComplexSubstitutionStatement = (0, _simpleSubstitutionStatementWithComplexSubstitutionStatement.default)(complexSubstitutionStatementNode, simpleSubstitutionStatementNode, substitutions, localContextA, localContextB);
|
|
52
|
-
if (simpleSubstitutionStatementUnifiedWithComplexSubstitutionStatement) {
|
|
53
|
-
var substitutionsLength = substitutions.getLength();
|
|
54
|
-
if (substitutionsLength === 1) {
|
|
55
|
-
var firstSubstitution = substitutions.getFirstSubstitution();
|
|
56
|
-
substitution = firstSubstitution; ///
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return substitution;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXNvbHZlL2NvbXBsZXhTdWJzdGl0dXRpb25BZ2FpbnN0U2ltcGxlU3Vic3RpdHV0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgU3Vic3RpdHV0aW9ucyBmcm9tIFwiLi4vc3Vic3RpdHV0aW9uc1wiO1xuaW1wb3J0IHVuaWZ5Q29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudFdpdGhTaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnQgZnJvbSBcIi4uL3VuaWZ5L3NpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudFdpdGhDb21wbGV4U3Vic3RpdHV0aW9uU3RhdGVtZW50XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHJlc29sdmVDb21wbGV4U3Vic3RpdHV0aW9uQWdhaW5zdFNpbXBsZVN1YnN0aXR1dGlvbihjb21wbGV4U3Vic3RpdHV0aW9uLCBzaW1wbGVTdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgbGV0IGNvbXBsZXhTdWJzdGl0dXRpb25SZXNvbHZlZEFnYWluc3RTaW1wbGVTdWJzdGl0dXRpb24gPSBmYWxzZTtcblxuICBjb25zdCBzdGF0ZW1lbnROb2RlID0gY29tcGxleFN1YnN0aXR1dGlvbi5nZXRTdGF0ZW1lbnROb2RlKCksXG4gICAgICAgIHNpbXBsZVN1YnN0aXR1dGlvblN0cmluZyA9IHNpbXBsZVN1YnN0aXR1dGlvbi5hc1N0cmluZyhsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCKSxcbiAgICAgICAgY29tcGxleFN1YnN0aXR1dGlvblN0cmluZyA9IGNvbXBsZXhTdWJzdGl0dXRpb24uYXNTdHJpbmcobG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgbG9jYWxDb250ZXh0Qi50cmFjZShgUmVzb2x2aW5nIHRoZSBjb21wbGV4ICR7Y29tcGxleFN1YnN0aXR1dGlvblN0cmluZ30gc3Vic3RpdHV0aW9uIGFnYWluc3QgdGhlIHNpbXBsZSAke3NpbXBsZVN1YnN0aXR1dGlvblN0cmluZ30gc3Vic3RpdHV0aW9uLi4uYCwgc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWRTdWJzdGl0dXRpb24gPSB0cmFuc2Zvcm1lZFN1YnN0aXR1dGlvbkZyb21Db21wbGV4U3Vic3RpdHV0aW9uKGNvbXBsZXhTdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gIGlmICh0cmFuc2Zvcm1lZFN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbkZyb21Db21wbGV4U3Vic3RpdHV0aW9uQW5kQW5kU2ltcGxlU3Vic3RpdHV0aW9uKGNvbXBsZXhTdWJzdGl0dXRpb24sIHNpbXBsZVN1YnN0aXR1dGlvbiwgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICBpZiAoc3Vic3RpdHV0aW9uICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdWJzdGl0dXRpb25TdHJpbmcgPSBzdWJzdGl0dXRpb24uYXNTdHJpbmcobG9jYWxDb250ZXh0QiwgbG9jYWxDb250ZXh0QiksXG4gICAgICAgICAgICB0cmFuc2Zvcm1lZFN1YnN0aXR1dGlvblN0cmluZyA9IHRyYW5zZm9ybWVkU3Vic3RpdHV0aW9uLmFzU3RyaW5nKGxvY2FsQ29udGV4dEIsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgICBsb2NhbENvbnRleHRCLnRyYWNlKGBFcXVhdGluZyB0aGUgJHtzdWJzdGl0dXRpb25TdHJpbmd9IHN1YnN0aXR1dGlvbiB0byB0aGUgdHJhbnNmb3JtZWQgJHt0cmFuc2Zvcm1lZFN1YnN0aXR1dGlvblN0cmluZ30gc3Vic3RpdHV0aW9uLi4uYCwgc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbkVxdWFsVG9UcmFuc2Zvcm1lZFN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbi5pc0VxdWFsVG8odHJhbnNmb3JtZWRTdWJzdGl0dXRpb24pO1xuXG4gICAgICBjb21wbGV4U3Vic3RpdHV0aW9uUmVzb2x2ZWRBZ2FpbnN0U2ltcGxlU3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9uRXF1YWxUb1RyYW5zZm9ybWVkU3Vic3RpdHV0aW9uOyAgLy8vXG4gICAgfVxuICB9XG5cbiAgaWYgKGNvbXBsZXhTdWJzdGl0dXRpb25SZXNvbHZlZEFnYWluc3RTaW1wbGVTdWJzdGl0dXRpb24pIHtcbiAgICBsb2NhbENvbnRleHRCLmRlYnVnKGAuLi5yZXNvbHZlZCB0aGUgY29tcGxleCAke2NvbXBsZXhTdWJzdGl0dXRpb25TdHJpbmd9IHN1YnN0aXR1dGlvbiBhZ2FpbnN0IHRoZSBzaW1wbGUgJHtzaW1wbGVTdWJzdGl0dXRpb25TdHJpbmd9IHN1YnN0aXR1dGlvbi5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBjb21wbGV4U3Vic3RpdHV0aW9uUmVzb2x2ZWRBZ2FpbnN0U2ltcGxlU3Vic3RpdHV0aW9uO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1lZFN1YnN0aXR1dGlvbkZyb21Db21wbGV4U3Vic3RpdHV0aW9uKGNvbXBsZXhTdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgY29uc3Qgc3Vic3RpdHV0aW9uID0gY29tcGxleFN1YnN0aXR1dGlvbi5nZXRTdWJzdGl0dXRpb24oKSxcbiAgICAgICAgc3Vic3RpdHV0aW9uU3RyaW5nID0gc3Vic3RpdHV0aW9uLmFzU3RyaW5nKGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEEpLFxuICAgICAgICBjb21wbGV4U3Vic3RpdHV0aW9uU3RhdGVtZW50Tm9kZSA9IGNvbXBsZXhTdWJzdGl0dXRpb24uZ2V0U3RhdGVtZW50Tm9kZSgpO1xuXG4gIGxvY2FsQ29udGV4dEIudHJhY2UoYFRyYW5zZm9ybWluZyB0aGUgY29tcGxleCBzdWJzdGl0dXRpb24ncyAnJHtzdWJzdGl0dXRpb25TdHJpbmd9JyBzdWJzdGl0dXRpb24uLi4uYCwgY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkU3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9uLnRyYW5zZm9ybWVkKHN1YnN0aXR1dGlvbnMpO1xuXG4gIGlmICh0cmFuc2Zvcm1lZFN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHRyYW5zZm9ybWVkU3Vic3RpdHV0aW9uU3RyaW5nID0gdHJhbnNmb3JtZWRTdWJzdGl0dXRpb24uYXNTdHJpbmcobG9jYWxDb250ZXh0QiwgbG9jYWxDb250ZXh0Qik7XG5cbiAgICBsb2NhbENvbnRleHRCLmRlYnVnKGBUcmFuc2Zvcm1lZCB0aGUgY29tcGxleCBzdWJzdGl0dXRpb24ncyAnJHtzdWJzdGl0dXRpb25TdHJpbmd9JyBzdWJzdGl0dXRpb24gaW50byB0aGUgJyR7dHJhbnNmb3JtZWRTdWJzdGl0dXRpb25TdHJpbmd9JyBzdWJzdGl0dXRpb24uYCwgY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkU3Vic3RpdHV0aW9uO1xufVxuXG5mdW5jdGlvbiBzdWJzdGl0dXRpb25Gcm9tQ29tcGxleFN1YnN0aXR1dGlvbkFuZEFuZFNpbXBsZVN1YnN0aXR1dGlvbihjb21wbGV4U3Vic3RpdHV0aW9uLCBzaW1wbGVTdWJzdGl0dXRpb24sIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgbGV0IHN1YnN0aXR1dGlvbiA9IG51bGw7XG5cbiAgY29uc3Qgc3Vic3RpdHV0aW9ucyA9IFN1YnN0aXR1dGlvbnMuZnJvbU5vdGhpbmcoKSwgIC8vL1xuICAgICAgICBzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnROb2RlID0gc2ltcGxlU3Vic3RpdHV0aW9uLmdldFN0YXRlbWVudE5vZGUoKSxcbiAgICAgICAgY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUgPSBjb21wbGV4U3Vic3RpdHV0aW9uLmdldFN0YXRlbWVudE5vZGUoKTtcblxuICBsb2NhbENvbnRleHRBID0gbG9jYWxDb250ZXh0QjsgIC8vL1xuXG4gIGNvbnN0IHNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudFVuaWZpZWRXaXRoQ29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudCA9IHVuaWZ5Q29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudFdpdGhTaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnQoY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUsIHNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gIGlmIChzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnRVbmlmaWVkV2l0aENvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnQpIHtcbiAgICBjb25zdCBzdWJzdGl0dXRpb25zTGVuZ3RoID0gc3Vic3RpdHV0aW9ucy5nZXRMZW5ndGgoKTtcblxuICAgIGlmIChzdWJzdGl0dXRpb25zTGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBmaXJzdFN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbnMuZ2V0Rmlyc3RTdWJzdGl0dXRpb24oKTtcblxuICAgICAgc3Vic3RpdHV0aW9uID0gZmlyc3RTdWJzdGl0dXRpb247IC8vL1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdWJzdGl0dXRpb247XG59XG4iXSwibmFtZXMiOlsicmVzb2x2ZUNvbXBsZXhTdWJzdGl0dXRpb25BZ2FpbnN0U2ltcGxlU3Vic3RpdHV0aW9uIiwiY29tcGxleFN1YnN0aXR1dGlvbiIsInNpbXBsZVN1YnN0aXR1dGlvbiIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsImNvbXBsZXhTdWJzdGl0dXRpb25SZXNvbHZlZEFnYWluc3RTaW1wbGVTdWJzdGl0dXRpb24iLCJzdGF0ZW1lbnROb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInNpbXBsZVN1YnN0aXR1dGlvblN0cmluZyIsImFzU3RyaW5nIiwiY29tcGxleFN1YnN0aXR1dGlvblN0cmluZyIsInRyYWNlIiwidHJhbnNmb3JtZWRTdWJzdGl0dXRpb24iLCJ0cmFuc2Zvcm1lZFN1YnN0aXR1dGlvbkZyb21Db21wbGV4U3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9uIiwic3Vic3RpdHV0aW9uRnJvbUNvbXBsZXhTdWJzdGl0dXRpb25BbmRBbmRTaW1wbGVTdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb25TdHJpbmciLCJ0cmFuc2Zvcm1lZFN1YnN0aXR1dGlvblN0cmluZyIsInN1YnN0aXR1dGlvbkVxdWFsVG9UcmFuc2Zvcm1lZFN1YnN0aXR1dGlvbiIsImlzRXF1YWxUbyIsImRlYnVnIiwiZ2V0U3Vic3RpdHV0aW9uIiwiY29tcGxleFN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUiLCJ0cmFuc2Zvcm1lZCIsIlN1YnN0aXR1dGlvbnMiLCJmcm9tTm90aGluZyIsInNpbXBsZVN1YnN0aXR1dGlvblN0YXRlbWVudE5vZGUiLCJzaW1wbGVTdWJzdGl0dXRpb25TdGF0ZW1lbnRVbmlmaWVkV2l0aENvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnQiLCJ1bmlmeUNvbXBsZXhTdWJzdGl0dXRpb25TdGF0ZW1lbnRXaXRoU2ltcGxlU3Vic3RpdHV0aW9uU3RhdGVtZW50Iiwic3Vic3RpdHV0aW9uc0xlbmd0aCIsImdldExlbmd0aCIsImZpcnN0U3Vic3RpdHV0aW9uIiwiZ2V0Rmlyc3RTdWJzdGl0dXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUtBOzs7ZUFBd0JBOzs7b0VBSEU7a0hBQ21EOzs7Ozs7QUFFOUQsU0FBU0Esb0RBQW9EQyxtQkFBbUIsRUFBRUMsa0JBQWtCLEVBQUVDLGFBQWEsRUFBRUMsYUFBYSxFQUFFQyxhQUFhO0lBQzlKLElBQUlDLHVEQUF1RDtJQUUzRCxJQUFNQyxnQkFBZ0JOLG9CQUFvQk8sZ0JBQWdCLElBQ3BEQywyQkFBMkJQLG1CQUFtQlEsUUFBUSxDQUFDTixlQUFlQyxnQkFDdEVNLDRCQUE0QlYsb0JBQW9CUyxRQUFRLENBQUNOLGVBQWVDO0lBRTlFQSxjQUFjTyxLQUFLLENBQUMsQUFBQyx5QkFBcUZILE9BQTdERSwyQkFBMEIscUNBQTRELE9BQXpCRiwwQkFBeUIscUJBQW1CRjtJQUV0SixJQUFNTSwwQkFBMEJDLCtDQUErQ2IscUJBQXFCRSxlQUFlQyxlQUFlQztJQUVsSSxJQUFJUSw0QkFBNEIsTUFBTTtRQUNwQyxJQUFNRSxlQUFlQyw0REFBNERmLHFCQUFxQkMsb0JBQW9CRSxlQUFlQztRQUV6SSxJQUFJVSxpQkFBaUIsTUFBTTtZQUN6QixJQUFNRSxxQkFBcUJGLGFBQWFMLFFBQVEsQ0FBQ0wsZUFBZUEsZ0JBQzFEYSxnQ0FBZ0NMLHdCQUF3QkgsUUFBUSxDQUFDTCxlQUFlQTtZQUV0RkEsY0FBY08sS0FBSyxDQUFDLEFBQUMsZ0JBQXFFTSxPQUF0REQsb0JBQW1CLHFDQUFpRSxPQUE5QkMsK0JBQThCLHFCQUFtQlg7WUFFM0ksSUFBTVksNkNBQTZDSixhQUFhSyxTQUFTLENBQUNQO1lBRTFFUCx1REFBdURhLDRDQUE2QyxHQUFHO1FBQ3pHO0lBQ0Y7SUFFQSxJQUFJYixzREFBc0Q7UUFDeERELGNBQWNnQixLQUFLLENBQUMsQUFBQywyQkFBdUZaLE9BQTdERSwyQkFBMEIscUNBQTRELE9BQXpCRiwwQkFBeUIsbUJBQWlCRjtJQUN4SjtJQUVBLE9BQU9EO0FBQ1Q7QUFFQSxTQUFTUSwrQ0FBK0NiLG1CQUFtQixFQUFFRSxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsYUFBYTtJQUN0SCxJQUFNVSxlQUFlZCxvQkFBb0JxQixlQUFlLElBQ2xETCxxQkFBcUJGLGFBQWFMLFFBQVEsQ0FBQ04sZUFBZUEsZ0JBQzFEbUIsbUNBQW1DdEIsb0JBQW9CTyxnQkFBZ0I7SUFFN0VILGNBQWNPLEtBQUssQ0FBQyxBQUFDLDRDQUE4RCxPQUFuQkssb0JBQW1CLHVCQUFxQk07SUFFeEcsSUFBTVYsMEJBQTBCRSxhQUFhUyxXQUFXLENBQUNyQjtJQUV6RCxJQUFJVSw0QkFBNEIsTUFBTTtRQUNwQyxJQUFNSyxnQ0FBZ0NMLHdCQUF3QkgsUUFBUSxDQUFDTCxlQUFlQTtRQUV0RkEsY0FBY2dCLEtBQUssQ0FBQyxBQUFDLDJDQUF3RkgsT0FBOUNELG9CQUFtQiw2QkFBeUQsT0FBOUJDLCtCQUE4QixvQkFBa0JLO0lBQy9KO0lBRUEsT0FBT1Y7QUFDVDtBQUVBLFNBQVNHLDREQUE0RGYsbUJBQW1CLEVBQUVDLGtCQUFrQixFQUFFRSxhQUFhLEVBQUVDLGFBQWE7SUFDeEksSUFBSVUsZUFBZTtJQUVuQixJQUFNWixnQkFBZ0JzQixzQkFBYSxDQUFDQyxXQUFXLElBQ3pDQyxrQ0FBa0N6QixtQkFBbUJNLGdCQUFnQixJQUNyRWUsbUNBQW1DdEIsb0JBQW9CTyxnQkFBZ0I7SUFFN0VKLGdCQUFnQkMsZUFBZ0IsR0FBRztJQUVuQyxJQUFNdUIscUVBQXFFQyxJQUFBQSxvRUFBZ0UsRUFBQ04sa0NBQWtDSSxpQ0FBaUN4QixlQUFlQyxlQUFlQztJQUU3TyxJQUFJdUIsb0VBQW9FO1FBQ3RFLElBQU1FLHNCQUFzQjNCLGNBQWM0QixTQUFTO1FBRW5ELElBQUlELHdCQUF3QixHQUFHO1lBQzdCLElBQU1FLG9CQUFvQjdCLGNBQWM4QixvQkFBb0I7WUFFNURsQixlQUFlaUIsbUJBQW1CLEdBQUc7UUFDdkM7SUFDRjtJQUVBLE9BQU9qQjtBQUNUIn0=
|
|
@@ -1,27 +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 resolveSubstitution;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _complexSubstitutionAgainstSimpleSubstitution = /*#__PURE__*/ _interop_require_default(require("../resolve/complexSubstitutionAgainstSimpleSubstitution"));
|
|
12
|
-
function _interop_require_default(obj) {
|
|
13
|
-
return obj && obj.__esModule ? obj : {
|
|
14
|
-
default: obj
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
function resolveSubstitution(substitution, substitutions, localContextA, localContextB) {
|
|
18
|
-
var complexSubstitutionResolved = false;
|
|
19
|
-
var metavariableNode = substitution.getMetavariableNode(), simpleSubstitution = substitutions.findSimpleSubstitutionByMetavariableNode(metavariableNode);
|
|
20
|
-
if (simpleSubstitution !== null) {
|
|
21
|
-
var complexSubstitution = substitution, complexSubstitutionResolvedAgainstSimpleSubstitution = (0, _complexSubstitutionAgainstSimpleSubstitution.default)(complexSubstitution, simpleSubstitution, substitutions, localContextA, localContextB);
|
|
22
|
-
complexSubstitutionResolved = complexSubstitutionResolvedAgainstSimpleSubstitution; ///
|
|
23
|
-
}
|
|
24
|
-
return complexSubstitutionResolved;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXNvbHZlL3N1YnN0aXR1dGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHJlc29sdmVDb21wbGV4U3Vic3RpdHV0aW9uQWdhaW5zdFNpbXBsZVN1YnN0aXR1dGlvbiBmcm9tIFwiLi4vcmVzb2x2ZS9jb21wbGV4U3Vic3RpdHV0aW9uQWdhaW5zdFNpbXBsZVN1YnN0aXR1dGlvblwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZXNvbHZlU3Vic3RpdHV0aW9uKHN1YnN0aXR1dGlvbiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0Qikge1xuICBsZXQgY29tcGxleFN1YnN0aXR1dGlvblJlc29sdmVkID0gZmFsc2U7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IHN1YnN0aXR1dGlvbi5nZXRNZXRhdmFyaWFibGVOb2RlKCksXG4gICAgICAgIHNpbXBsZVN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbnMuZmluZFNpbXBsZVN1YnN0aXR1dGlvbkJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKTtcblxuICBpZiAoc2ltcGxlU3Vic3RpdHV0aW9uICE9PSBudWxsKSB7XG4gICAgY29uc3QgY29tcGxleFN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbiwgLy8vXG4gICAgICAgICAgY29tcGxleFN1YnN0aXR1dGlvblJlc29sdmVkQWdhaW5zdFNpbXBsZVN1YnN0aXR1dGlvbiA9IHJlc29sdmVDb21wbGV4U3Vic3RpdHV0aW9uQWdhaW5zdFNpbXBsZVN1YnN0aXR1dGlvbihjb21wbGV4U3Vic3RpdHV0aW9uLCBzaW1wbGVTdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgY29tcGxleFN1YnN0aXR1dGlvblJlc29sdmVkID0gY29tcGxleFN1YnN0aXR1dGlvblJlc29sdmVkQWdhaW5zdFNpbXBsZVN1YnN0aXR1dGlvbjsgLy8vXG4gIH1cblxuICByZXR1cm4gY29tcGxleFN1YnN0aXR1dGlvblJlc29sdmVkO1xufVxuIl0sIm5hbWVzIjpbInJlc29sdmVTdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb24iLCJzdWJzdGl0dXRpb25zIiwibG9jYWxDb250ZXh0QSIsImxvY2FsQ29udGV4dEIiLCJjb21wbGV4U3Vic3RpdHV0aW9uUmVzb2x2ZWQiLCJtZXRhdmFyaWFibGVOb2RlIiwiZ2V0TWV0YXZhcmlhYmxlTm9kZSIsInNpbXBsZVN1YnN0aXR1dGlvbiIsImZpbmRTaW1wbGVTdWJzdGl0dXRpb25CeU1ldGF2YXJpYWJsZU5vZGUiLCJjb21wbGV4U3Vic3RpdHV0aW9uIiwiY29tcGxleFN1YnN0aXR1dGlvblJlc29sdmVkQWdhaW5zdFNpbXBsZVN1YnN0aXR1dGlvbiIsInJlc29sdmVDb21wbGV4U3Vic3RpdHV0aW9uQWdhaW5zdFNpbXBsZVN1YnN0aXR1dGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUF3QkE7OzttR0FGd0M7Ozs7OztBQUVqRCxTQUFTQSxvQkFBb0JDLFlBQVksRUFBRUMsYUFBYSxFQUFFQyxhQUFhLEVBQUVDLGFBQWE7SUFDbkcsSUFBSUMsOEJBQThCO0lBRWxDLElBQU1DLG1CQUFtQkwsYUFBYU0sbUJBQW1CLElBQ25EQyxxQkFBcUJOLGNBQWNPLHdDQUF3QyxDQUFDSDtJQUVsRixJQUFJRSx1QkFBdUIsTUFBTTtRQUMvQixJQUFNRSxzQkFBc0JULGNBQ3RCVSx1REFBdURDLElBQUFBLHFEQUFtRCxFQUFDRixxQkFBcUJGLG9CQUFvQk4sZUFBZUMsZUFBZUM7UUFFeExDLDhCQUE4Qk0sc0RBQXNELEdBQUc7SUFDekY7SUFFQSxPQUFPTjtBQUNUIn0=
|
|
@@ -1,37 +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 resolveSubstitutions;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
|
|
12
|
-
var _substitution = /*#__PURE__*/ _interop_require_default(require("../resolve/substitution"));
|
|
13
|
-
function _interop_require_default(obj) {
|
|
14
|
-
return obj && obj.__esModule ? obj : {
|
|
15
|
-
default: obj
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
function resolveSubstitutions(substitutions, fileContextA, localContextB) {
|
|
19
|
-
var substitutionsResolved = substitutions.areResolved();
|
|
20
|
-
if (!substitutionsResolved) {
|
|
21
|
-
var localContextA = _local.default.fromFileContext(fileContextA), metavariableNodes = substitutions.getMetavariableNodes();
|
|
22
|
-
substitutionsResolved = metavariableNodes.every(function(metavariableNode) {
|
|
23
|
-
var complexSubstitutions = substitutions.findComplexSubstitutionsByMetavariableNode(metavariableNode), complexSubstitutionsResolved = complexSubstitutions.everySubstitution(function(complexSubstitution) {
|
|
24
|
-
var substitution = complexSubstitution, complexSubstitutionResolved = (0, _substitution.default)(substitution, substitutions, localContextA, localContextB);
|
|
25
|
-
if (complexSubstitutionResolved) {
|
|
26
|
-
return true;
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
if (complexSubstitutionsResolved) {
|
|
30
|
-
return true;
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
return substitutionsResolved;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXNvbHZlL3N1YnN0aXR1dGlvbnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBMb2NhbENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvbG9jYWxcIjtcbmltcG9ydCByZXNvbHZlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9yZXNvbHZlL3N1YnN0aXR1dGlvblwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZXNvbHZlU3Vic3RpdHV0aW9ucyhzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpIHtcbiAgbGV0IHN1YnN0aXR1dGlvbnNSZXNvbHZlZCA9IHN1YnN0aXR1dGlvbnMuYXJlUmVzb2x2ZWQoKTtcblxuICBpZiAoIXN1YnN0aXR1dGlvbnNSZXNvbHZlZCkge1xuICAgIGNvbnN0IGxvY2FsQ29udGV4dEEgPSBMb2NhbENvbnRleHQuZnJvbUZpbGVDb250ZXh0KGZpbGVDb250ZXh0QSksXG4gICAgICAgICAgbWV0YXZhcmlhYmxlTm9kZXMgPSBzdWJzdGl0dXRpb25zLmdldE1ldGF2YXJpYWJsZU5vZGVzKCk7XG5cbiAgICBzdWJzdGl0dXRpb25zUmVzb2x2ZWQgPSBtZXRhdmFyaWFibGVOb2Rlcy5ldmVyeSgobWV0YXZhcmlhYmxlTm9kZSkgPT4ge1xuICAgICAgY29uc3QgY29tcGxleFN1YnN0aXR1dGlvbnMgPSBzdWJzdGl0dXRpb25zLmZpbmRDb21wbGV4U3Vic3RpdHV0aW9uc0J5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICAgIGNvbXBsZXhTdWJzdGl0dXRpb25zUmVzb2x2ZWQgPSBjb21wbGV4U3Vic3RpdHV0aW9ucy5ldmVyeVN1YnN0aXR1dGlvbigoY29tcGxleFN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzdWJzdGl0dXRpb24gPSBjb21wbGV4U3Vic3RpdHV0aW9uLCAvLy9cbiAgICAgICAgICAgICAgICAgICAgY29tcGxleFN1YnN0aXR1dGlvblJlc29sdmVkID0gcmVzb2x2ZVN1YnN0aXR1dGlvbihzdWJzdGl0dXRpb24sIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIpO1xuXG4gICAgICAgICAgICAgIGlmIChjb21wbGV4U3Vic3RpdHV0aW9uUmVzb2x2ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgIGlmIChjb21wbGV4U3Vic3RpdHV0aW9uc1Jlc29sdmVkKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHN1YnN0aXR1dGlvbnNSZXNvbHZlZDtcbn1cbiJdLCJuYW1lcyI6WyJyZXNvbHZlU3Vic3RpdHV0aW9ucyIsInN1YnN0aXR1dGlvbnMiLCJmaWxlQ29udGV4dEEiLCJsb2NhbENvbnRleHRCIiwic3Vic3RpdHV0aW9uc1Jlc29sdmVkIiwiYXJlUmVzb2x2ZWQiLCJsb2NhbENvbnRleHRBIiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwibWV0YXZhcmlhYmxlTm9kZXMiLCJnZXRNZXRhdmFyaWFibGVOb2RlcyIsImV2ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZSIsImNvbXBsZXhTdWJzdGl0dXRpb25zIiwiZmluZENvbXBsZXhTdWJzdGl0dXRpb25zQnlNZXRhdmFyaWFibGVOb2RlIiwiY29tcGxleFN1YnN0aXR1dGlvbnNSZXNvbHZlZCIsImV2ZXJ5U3Vic3RpdHV0aW9uIiwiY29tcGxleFN1YnN0aXR1dGlvbiIsInN1YnN0aXR1dGlvbiIsImNvbXBsZXhTdWJzdGl0dXRpb25SZXNvbHZlZCIsInJlc29sdmVTdWJzdGl0dXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUtBOzs7ZUFBd0JBOzs7NERBSEM7bUVBQ087Ozs7OztBQUVqQixTQUFTQSxxQkFBcUJDLGFBQWEsRUFBRUMsWUFBWSxFQUFFQyxhQUFhO0lBQ3JGLElBQUlDLHdCQUF3QkgsY0FBY0ksV0FBVztJQUVyRCxJQUFJLENBQUNELHVCQUF1QjtRQUMxQixJQUFNRSxnQkFBZ0JDLGNBQVksQ0FBQ0MsZUFBZSxDQUFDTixlQUM3Q08sb0JBQW9CUixjQUFjUyxvQkFBb0I7UUFFNUROLHdCQUF3Qkssa0JBQWtCRSxLQUFLLENBQUMsU0FBQ0M7WUFDL0MsSUFBTUMsdUJBQXVCWixjQUFjYSwwQ0FBMEMsQ0FBQ0YsbUJBQ2hGRywrQkFBK0JGLHFCQUFxQkcsaUJBQWlCLENBQUMsU0FBQ0M7Z0JBQ3JFLElBQU1DLGVBQWVELHFCQUNmRSw4QkFBOEJDLElBQUFBLHFCQUFtQixFQUFDRixjQUFjakIsZUFBZUssZUFBZUg7Z0JBRXBHLElBQUlnQiw2QkFBNkI7b0JBQy9CLE9BQU87Z0JBQ1Q7WUFDRjtZQUVOLElBQUlKLDhCQUE4QjtnQkFDaEMsT0FBTztZQUNUO1FBQ0Y7SUFDRjtJQUVBLE9BQU9YO0FBQ1QifQ==
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import Substitutions from "../substitutions";
|
|
4
|
-
import unifyComplexSubstitutionStatementWithSimpleSubstitutionStatement from "../unify/simpleSubstitutionStatementWithComplexSubstitutionStatement";
|
|
5
|
-
|
|
6
|
-
export default function resolveComplexSubstitutionAgainstSimpleSubstitution(complexSubstitution, simpleSubstitution, substitutions, localContextA, localContextB) {
|
|
7
|
-
let complexSubstitutionResolvedAgainstSimpleSubstitution = false;
|
|
8
|
-
|
|
9
|
-
const statementNode = complexSubstitution.getStatementNode(),
|
|
10
|
-
simpleSubstitutionString = simpleSubstitution.asString(localContextA, localContextB),
|
|
11
|
-
complexSubstitutionString = complexSubstitution.asString(localContextA, localContextB);
|
|
12
|
-
|
|
13
|
-
localContextB.trace(`Resolving the complex ${complexSubstitutionString} substitution against the simple ${simpleSubstitutionString} substitution...`, statementNode);
|
|
14
|
-
|
|
15
|
-
const transformedSubstitution = transformedSubstitutionFromComplexSubstitution(complexSubstitution, substitutions, localContextA, localContextB);
|
|
16
|
-
|
|
17
|
-
if (transformedSubstitution !== null) {
|
|
18
|
-
const substitution = substitutionFromComplexSubstitutionAndAndSimpleSubstitution(complexSubstitution, simpleSubstitution, localContextA, localContextB);
|
|
19
|
-
|
|
20
|
-
if (substitution !== null) {
|
|
21
|
-
const substitutionString = substitution.asString(localContextB, localContextB),
|
|
22
|
-
transformedSubstitutionString = transformedSubstitution.asString(localContextB, localContextB);
|
|
23
|
-
|
|
24
|
-
localContextB.trace(`Equating the ${substitutionString} substitution to the transformed ${transformedSubstitutionString} substitution...`, statementNode);
|
|
25
|
-
|
|
26
|
-
const substitutionEqualToTransformedSubstitution = substitution.isEqualTo(transformedSubstitution);
|
|
27
|
-
|
|
28
|
-
complexSubstitutionResolvedAgainstSimpleSubstitution = substitutionEqualToTransformedSubstitution; ///
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
if (complexSubstitutionResolvedAgainstSimpleSubstitution) {
|
|
33
|
-
localContextB.debug(`...resolved the complex ${complexSubstitutionString} substitution against the simple ${simpleSubstitutionString} substitution.`, statementNode);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return complexSubstitutionResolvedAgainstSimpleSubstitution;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
function transformedSubstitutionFromComplexSubstitution(complexSubstitution, substitutions, localContextA, localContextB) {
|
|
40
|
-
const substitution = complexSubstitution.getSubstitution(),
|
|
41
|
-
substitutionString = substitution.asString(localContextA, localContextA),
|
|
42
|
-
complexSubstitutionStatementNode = complexSubstitution.getStatementNode();
|
|
43
|
-
|
|
44
|
-
localContextB.trace(`Transforming the complex substitution's '${substitutionString}' substitution....`, complexSubstitutionStatementNode);
|
|
45
|
-
|
|
46
|
-
const transformedSubstitution = substitution.transformed(substitutions);
|
|
47
|
-
|
|
48
|
-
if (transformedSubstitution !== null) {
|
|
49
|
-
const transformedSubstitutionString = transformedSubstitution.asString(localContextB, localContextB);
|
|
50
|
-
|
|
51
|
-
localContextB.debug(`Transformed the complex substitution's '${substitutionString}' substitution into the '${transformedSubstitutionString}' substitution.`, complexSubstitutionStatementNode);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return transformedSubstitution;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
function substitutionFromComplexSubstitutionAndAndSimpleSubstitution(complexSubstitution, simpleSubstitution, localContextA, localContextB) {
|
|
58
|
-
let substitution = null;
|
|
59
|
-
|
|
60
|
-
const substitutions = Substitutions.fromNothing(), ///
|
|
61
|
-
simpleSubstitutionStatementNode = simpleSubstitution.getStatementNode(),
|
|
62
|
-
complexSubstitutionStatementNode = complexSubstitution.getStatementNode();
|
|
63
|
-
|
|
64
|
-
localContextA = localContextB; ///
|
|
65
|
-
|
|
66
|
-
const simpleSubstitutionStatementUnifiedWithComplexSubstitutionStatement = unifyComplexSubstitutionStatementWithSimpleSubstitutionStatement(complexSubstitutionStatementNode, simpleSubstitutionStatementNode, substitutions, localContextA, localContextB);
|
|
67
|
-
|
|
68
|
-
if (simpleSubstitutionStatementUnifiedWithComplexSubstitutionStatement) {
|
|
69
|
-
const substitutionsLength = substitutions.getLength();
|
|
70
|
-
|
|
71
|
-
if (substitutionsLength === 1) {
|
|
72
|
-
const firstSubstitution = substitutions.getFirstSubstitution();
|
|
73
|
-
|
|
74
|
-
substitution = firstSubstitution; ///
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
return substitution;
|
|
79
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import resolveComplexSubstitutionAgainstSimpleSubstitution from "../resolve/complexSubstitutionAgainstSimpleSubstitution";
|
|
4
|
-
|
|
5
|
-
export default function resolveSubstitution(substitution, substitutions, localContextA, localContextB) {
|
|
6
|
-
let complexSubstitutionResolved = false;
|
|
7
|
-
|
|
8
|
-
const metavariableNode = substitution.getMetavariableNode(),
|
|
9
|
-
simpleSubstitution = substitutions.findSimpleSubstitutionByMetavariableNode(metavariableNode);
|
|
10
|
-
|
|
11
|
-
if (simpleSubstitution !== null) {
|
|
12
|
-
const complexSubstitution = substitution, ///
|
|
13
|
-
complexSubstitutionResolvedAgainstSimpleSubstitution = resolveComplexSubstitutionAgainstSimpleSubstitution(complexSubstitution, simpleSubstitution, substitutions, localContextA, localContextB);
|
|
14
|
-
|
|
15
|
-
complexSubstitutionResolved = complexSubstitutionResolvedAgainstSimpleSubstitution; ///
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
return complexSubstitutionResolved;
|
|
19
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import LocalContext from "../context/local";
|
|
4
|
-
import resolveSubstitution from "../resolve/substitution";
|
|
5
|
-
|
|
6
|
-
export default function resolveSubstitutions(substitutions, fileContextA, localContextB) {
|
|
7
|
-
let substitutionsResolved = substitutions.areResolved();
|
|
8
|
-
|
|
9
|
-
if (!substitutionsResolved) {
|
|
10
|
-
const localContextA = LocalContext.fromFileContext(fileContextA),
|
|
11
|
-
metavariableNodes = substitutions.getMetavariableNodes();
|
|
12
|
-
|
|
13
|
-
substitutionsResolved = metavariableNodes.every((metavariableNode) => {
|
|
14
|
-
const complexSubstitutions = substitutions.findComplexSubstitutionsByMetavariableNode(metavariableNode),
|
|
15
|
-
complexSubstitutionsResolved = complexSubstitutions.everySubstitution((complexSubstitution) => {
|
|
16
|
-
const substitution = complexSubstitution, ///
|
|
17
|
-
complexSubstitutionResolved = resolveSubstitution(substitution, substitutions, localContextA, localContextB);
|
|
18
|
-
|
|
19
|
-
if (complexSubstitutionResolved) {
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
if (complexSubstitutionsResolved) {
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return substitutionsResolved;
|
|
31
|
-
}
|