occam-verify-cli 0.0.506 → 0.0.507
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/conclusion.js +5 -160
- package/lib/consequence.js +3 -81
- package/lib/matcher/conclusion.js +194 -0
- package/lib/matcher/consequence.js +194 -0
- package/lib/matcher/premise.js +199 -0
- package/lib/matcher/supposition.js +199 -0
- package/lib/matcher.js +36 -0
- package/lib/metaMatcher/conclusion.js +194 -0
- package/lib/metaMatcher/premise.js +199 -0
- package/lib/metaMatcher.js +36 -0
- package/lib/metaSubstitution.js +7 -6
- package/lib/mixins/matcher.js +109 -0
- package/lib/premise.js +9 -178
- package/lib/ruleNames.js +5 -1
- package/lib/step/metaproof.js +5 -5
- package/lib/substitution.js +7 -6
- package/lib/supposition.js +5 -92
- package/lib/utilities/substitution.js +61 -0
- package/lib/verify/metaproof.js +3 -3
- package/lib/verify/proof.js +3 -3
- package/lib/verify/ruleProof.js +3 -3
- package/package.json +1 -1
- package/src/conclusion.js +6 -277
- package/src/consequence.js +3 -141
- package/src/matcher/conclusion.js +86 -0
- package/src/matcher/consequence.js +89 -0
- package/src/matcher/premise.js +94 -0
- package/src/matcher/supposition.js +97 -0
- package/src/matcher.js +9 -0
- package/src/metaMatcher/conclusion.js +86 -0
- package/src/metaMatcher/premise.js +94 -0
- package/src/metaMatcher.js +9 -0
- package/src/metaSubstitution.js +4 -3
- package/src/mixins/matcher.js +81 -0
- package/src/premise.js +10 -298
- package/src/ruleNames.js +1 -0
- package/src/step/metaproof.js +1 -1
- package/src/substitution.js +3 -2
- package/src/supposition.js +12 -159
- package/src/utilities/{node.js → substitution.js} +4 -74
- package/src/verify/metaproof.js +2 -2
- package/src/verify/proof.js +2 -2
- package/src/verify/ruleProof.js +2 -2
- package/lib/metaSupposition.js +0 -167
- package/lib/utilities/node.js +0 -106
- package/lib/verify/metaSupposition.js +0 -41
- package/src/metaSupposition.js +0 -196
- package/src/verify/metaSupposition.js +0 -44
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "consequenceMatcher", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return consequenceMatcher;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _matcher = /*#__PURE__*/ _interopRequireDefault(require("../matcher"));
|
|
12
|
+
var _array = require("../utilities/array");
|
|
13
|
+
var _query = require("../utilities/query");
|
|
14
|
+
var _ruleNames = require("../ruleNames");
|
|
15
|
+
function _assertThisInitialized(self) {
|
|
16
|
+
if (self === void 0) {
|
|
17
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
18
|
+
}
|
|
19
|
+
return self;
|
|
20
|
+
}
|
|
21
|
+
function _classCallCheck(instance, Constructor) {
|
|
22
|
+
if (!(instance instanceof Constructor)) {
|
|
23
|
+
throw new TypeError("Cannot call a class as a function");
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function _defineProperties(target, props) {
|
|
27
|
+
for(var i = 0; i < props.length; i++){
|
|
28
|
+
var descriptor = props[i];
|
|
29
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
30
|
+
descriptor.configurable = true;
|
|
31
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
32
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
36
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
37
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
38
|
+
return Constructor;
|
|
39
|
+
}
|
|
40
|
+
function _get(target, property, receiver) {
|
|
41
|
+
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
42
|
+
_get = Reflect.get;
|
|
43
|
+
} else {
|
|
44
|
+
_get = function _get(target, property, receiver) {
|
|
45
|
+
var base = _superPropBase(target, property);
|
|
46
|
+
if (!base) return;
|
|
47
|
+
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
48
|
+
if (desc.get) {
|
|
49
|
+
return desc.get.call(receiver);
|
|
50
|
+
}
|
|
51
|
+
return desc.value;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
return _get(target, property, receiver || target);
|
|
55
|
+
}
|
|
56
|
+
function _getPrototypeOf(o) {
|
|
57
|
+
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
58
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
59
|
+
};
|
|
60
|
+
return _getPrototypeOf(o);
|
|
61
|
+
}
|
|
62
|
+
function _inherits(subClass, superClass) {
|
|
63
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
64
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
65
|
+
}
|
|
66
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
67
|
+
constructor: {
|
|
68
|
+
value: subClass,
|
|
69
|
+
writable: true,
|
|
70
|
+
configurable: true
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
74
|
+
}
|
|
75
|
+
function _interopRequireDefault(obj) {
|
|
76
|
+
return obj && obj.__esModule ? obj : {
|
|
77
|
+
default: obj
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function _possibleConstructorReturn(self, call) {
|
|
81
|
+
if (call && (_typeof(call) === "object" || typeof call === "function")) {
|
|
82
|
+
return call;
|
|
83
|
+
}
|
|
84
|
+
return _assertThisInitialized(self);
|
|
85
|
+
}
|
|
86
|
+
function _setPrototypeOf(o, p) {
|
|
87
|
+
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
88
|
+
o.__proto__ = p;
|
|
89
|
+
return o;
|
|
90
|
+
};
|
|
91
|
+
return _setPrototypeOf(o, p);
|
|
92
|
+
}
|
|
93
|
+
function _superPropBase(object, property) {
|
|
94
|
+
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
95
|
+
object = _getPrototypeOf(object);
|
|
96
|
+
if (object === null) break;
|
|
97
|
+
}
|
|
98
|
+
return object;
|
|
99
|
+
}
|
|
100
|
+
var _typeof = function(obj) {
|
|
101
|
+
"@swc/helpers - typeof";
|
|
102
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
103
|
+
};
|
|
104
|
+
function _isNativeReflectConstruct() {
|
|
105
|
+
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
106
|
+
if (Reflect.construct.sham) return false;
|
|
107
|
+
if (typeof Proxy === "function") return true;
|
|
108
|
+
try {
|
|
109
|
+
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
110
|
+
return true;
|
|
111
|
+
} catch (e) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function _createSuper(Derived) {
|
|
116
|
+
var hasNativeReflectConstruct = _isNativeReflectConstruct();
|
|
117
|
+
return function _createSuperInternal() {
|
|
118
|
+
var Super = _getPrototypeOf(Derived), result;
|
|
119
|
+
if (hasNativeReflectConstruct) {
|
|
120
|
+
var NewTarget = _getPrototypeOf(this).constructor;
|
|
121
|
+
result = Reflect.construct(Super, arguments, NewTarget);
|
|
122
|
+
} else {
|
|
123
|
+
result = Super.apply(this, arguments);
|
|
124
|
+
}
|
|
125
|
+
return _possibleConstructorReturn(this, result);
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
var ConsequenceMatcher = /*#__PURE__*/ function(Matcher) {
|
|
129
|
+
_inherits(ConsequenceMatcher, Matcher);
|
|
130
|
+
var _super = _createSuper(ConsequenceMatcher);
|
|
131
|
+
function ConsequenceMatcher() {
|
|
132
|
+
_classCallCheck(this, ConsequenceMatcher);
|
|
133
|
+
return _super.apply(this, arguments);
|
|
134
|
+
}
|
|
135
|
+
_createClass(ConsequenceMatcher, [
|
|
136
|
+
{
|
|
137
|
+
key: "matchNonTerminalNode",
|
|
138
|
+
value: function matchNonTerminalNode(consequenceNonTerminalNode, nonTerminalNode, metaSubstitutions) {
|
|
139
|
+
var nonTerminalNodeMatches = false;
|
|
140
|
+
var ruleName = nonTerminalNode.getRuleName(), consequenceRuleName = consequenceNonTerminalNode.getRuleName(); ///
|
|
141
|
+
if (ruleName === consequenceRuleName) {
|
|
142
|
+
nonTerminalNodeMatches = _get(_getPrototypeOf(ConsequenceMatcher.prototype), "matchNonTerminalNode", this).call(this, consequenceNonTerminalNode, nonTerminalNode, metaSubstitutions);
|
|
143
|
+
if (!nonTerminalNodeMatches) {
|
|
144
|
+
var ruleNameStatementRuleName = ruleName === _ruleNames.STATEMENT_RULE_NAME;
|
|
145
|
+
if (ruleNameStatementRuleName) {
|
|
146
|
+
var statementNode = nonTerminalNode, consequenceStatementNode = consequenceNonTerminalNode, statementNodeMatches = this.matchStatementNode(consequenceStatementNode, statementNode, metaSubstitutions);
|
|
147
|
+
nonTerminalNodeMatches = statementNodeMatches; ///
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return nonTerminalNodeMatches;
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
key: "matchStatementNode",
|
|
156
|
+
value: function matchStatementNode(consequenceStatementNode, statementNode, metaSubstitutions) {
|
|
157
|
+
var statementNodeMatches = false;
|
|
158
|
+
var consequenceNonTerminalNode = consequenceStatementNode, consequenceChildNodes = consequenceNonTerminalNode.getChildNodes(), consequenceChildNodesLength = consequenceChildNodes.length;
|
|
159
|
+
if (consequenceChildNodesLength === 1) {
|
|
160
|
+
var firstConsequenceChildNode = (0, _array.first)(consequenceChildNodes), consequenceChildNode = firstConsequenceChildNode, consequenceChildNodeNonTerminalNode = consequenceChildNode.isNonTerminalNode();
|
|
161
|
+
if (consequenceChildNodeNonTerminalNode) {
|
|
162
|
+
var consequenceNonTerminalChildNode = consequenceChildNode, consequenceNonTerminalChildNodeRuleName = consequenceNonTerminalChildNode.getRuleName(), consequenceNonTerminalChildNodeRuleNameVariableRuleName = consequenceNonTerminalChildNodeRuleName === _ruleNames.VARIABLE_RULE_NAME;
|
|
163
|
+
if (consequenceNonTerminalChildNodeRuleNameVariableRuleName) {
|
|
164
|
+
var consequenceVariableNode = consequenceNonTerminalChildNode, nonTerminalNode = statementNode, childNodes = nonTerminalNode.getChildNodes(), nodes = childNodes, variableMatches = this.matchVariable(consequenceVariableNode, nodes, metaSubstitutions);
|
|
165
|
+
statementNodeMatches = variableMatches; ///
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return statementNodeMatches;
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
key: "matchVariable",
|
|
174
|
+
value: function matchVariable(consequenceVariableNode, nodes, metaSubstitutions) {
|
|
175
|
+
var variableMatches = true;
|
|
176
|
+
var consequenceVariableName = (0, _query.variableNameFromVariableNode)(consequenceVariableNode), metaSubstitution = metaSubstitutions.find(function(metaSubstitution) {
|
|
177
|
+
var variableName = metaSubstitution.getVariableName();
|
|
178
|
+
if (variableName === consequenceVariableName) {
|
|
179
|
+
return true;
|
|
180
|
+
}
|
|
181
|
+
}) || null;
|
|
182
|
+
if (metaSubstitution !== null) {
|
|
183
|
+
var metaSubstitutionNodesMatch = metaSubstitution.matchNodes(nodes);
|
|
184
|
+
variableMatches = metaSubstitutionNodesMatch; ///
|
|
185
|
+
}
|
|
186
|
+
return variableMatches;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
]);
|
|
190
|
+
return ConsequenceMatcher;
|
|
191
|
+
}(_matcher.default);
|
|
192
|
+
var consequenceMatcher = new ConsequenceMatcher();
|
|
193
|
+
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRjaGVyL2NvbnNlcXVlbmNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWF0Y2hlciBmcm9tIFwiLi4vbWF0Y2hlclwiO1xuXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IHZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBWQVJJQUJMRV9SVUxFX05BTUUsIFNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5cbmNsYXNzIENvbnNlcXVlbmNlTWF0Y2hlciBleHRlbmRzIE1hdGNoZXIge1xuICBtYXRjaE5vblRlcm1pbmFsTm9kZShjb25zZXF1ZW5jZU5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlLCBtZXRhU3Vic3RpdHV0aW9ucykge1xuICAgIGxldCBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgIGNvbnNlcXVlbmNlUnVsZU5hbWUgPSBjb25zZXF1ZW5jZU5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpOyAvLy9cblxuICAgIGlmIChydWxlTmFtZSA9PT0gY29uc2VxdWVuY2VSdWxlTmFtZSkge1xuICAgICAgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHN1cGVyLm1hdGNoTm9uVGVybWluYWxOb2RlKGNvbnNlcXVlbmNlTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgICAgaWYgKCFub25UZXJtaW5hbE5vZGVNYXRjaGVzKSB7XG4gICAgICAgIGNvbnN0IHJ1bGVOYW1lU3RhdGVtZW50UnVsZU5hbWUgPSAocnVsZU5hbWUgPT09IFNUQVRFTUVOVF9SVUxFX05BTUUpO1xuXG4gICAgICAgIGlmIChydWxlTmFtZVN0YXRlbWVudFJ1bGVOYW1lKSB7XG4gICAgICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgIC8vL1xuICAgICAgICAgICAgICAgIGNvbnNlcXVlbmNlU3RhdGVtZW50Tm9kZSA9IGNvbnNlcXVlbmNlTm9uVGVybWluYWxOb2RlLCAgLy8vXG4gICAgICAgICAgICAgICAgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSB0aGlzLm1hdGNoU3RhdGVtZW50Tm9kZShjb25zZXF1ZW5jZVN0YXRlbWVudE5vZGUsIHN0YXRlbWVudE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKTtcblxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBzdGF0ZW1lbnROb2RlTWF0Y2hlczsgLy8vXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoU3RhdGVtZW50Tm9kZShjb25zZXF1ZW5jZVN0YXRlbWVudE5vZGUsIHN0YXRlbWVudE5vZGUsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IHN0YXRlbWVudE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBjb25zZXF1ZW5jZU5vblRlcm1pbmFsTm9kZSA9IGNvbnNlcXVlbmNlU3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIGNvbnNlcXVlbmNlQ2hpbGROb2RlcyA9IGNvbnNlcXVlbmNlTm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBjb25zZXF1ZW5jZUNoaWxkTm9kZXNMZW5ndGggPSBjb25zZXF1ZW5jZUNoaWxkTm9kZXMubGVuZ3RoO1xuXG4gICAgaWYgKGNvbnNlcXVlbmNlQ2hpbGROb2Rlc0xlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgZmlyc3RDb25zZXF1ZW5jZUNoaWxkTm9kZSA9IGZpcnN0KGNvbnNlcXVlbmNlQ2hpbGROb2RlcyksXG4gICAgICAgICAgICBjb25zZXF1ZW5jZUNoaWxkTm9kZSA9IGZpcnN0Q29uc2VxdWVuY2VDaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgIGNvbnNlcXVlbmNlQ2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY29uc2VxdWVuY2VDaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgICAgaWYgKGNvbnNlcXVlbmNlQ2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICAgIGNvbnN0IGNvbnNlcXVlbmNlTm9uVGVybWluYWxDaGlsZE5vZGUgPSBjb25zZXF1ZW5jZUNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgICBjb25zZXF1ZW5jZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUgPSBjb25zZXF1ZW5jZU5vblRlcm1pbmFsQ2hpbGROb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgICAgIGNvbnNlcXVlbmNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZVZhcmlhYmxlUnVsZU5hbWUgPSAoY29uc2VxdWVuY2VOb25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lID09PSBWQVJJQUJMRV9SVUxFX05BTUUpO1xuXG4gICAgICAgIGlmIChjb25zZXF1ZW5jZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWVWYXJpYWJsZVJ1bGVOYW1lKSB7XG4gICAgICAgICAgY29uc3QgY29uc2VxdWVuY2VWYXJpYWJsZU5vZGUgPSBjb25zZXF1ZW5jZU5vblRlcm1pbmFsQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlID0gc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgICAgICAgIGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgICAgIG5vZGVzID0gY2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgICAgICAgdmFyaWFibGVNYXRjaGVzID0gdGhpcy5tYXRjaFZhcmlhYmxlKGNvbnNlcXVlbmNlVmFyaWFibGVOb2RlLCBub2RlcywgbWV0YVN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSB2YXJpYWJsZU1hdGNoZXM7IC8vL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hWYXJpYWJsZShjb25zZXF1ZW5jZVZhcmlhYmxlTm9kZSwgbm9kZXMsIG1ldGFTdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IHZhcmlhYmxlTWF0Y2hlcyA9IHRydWU7XG5cbiAgICBjb25zdCBjb25zZXF1ZW5jZVZhcmlhYmxlTmFtZSA9IHZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUoY29uc2VxdWVuY2VWYXJpYWJsZU5vZGUpLFxuICAgICAgICAgIG1ldGFTdWJzdGl0dXRpb24gPSBtZXRhU3Vic3RpdHV0aW9ucy5maW5kKChtZXRhU3Vic3RpdHV0aW9uKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YXJpYWJsZU5hbWUgPSBtZXRhU3Vic3RpdHV0aW9uLmdldFZhcmlhYmxlTmFtZSgpO1xuXG4gICAgICAgICAgICBpZiAodmFyaWFibGVOYW1lID09PSBjb25zZXF1ZW5jZVZhcmlhYmxlTmFtZSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgaWYgKG1ldGFTdWJzdGl0dXRpb24gIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1ldGFTdWJzdGl0dXRpb25Ob2Rlc01hdGNoID0gbWV0YVN1YnN0aXR1dGlvbi5tYXRjaE5vZGVzKG5vZGVzKTtcblxuICAgICAgdmFyaWFibGVNYXRjaGVzID0gbWV0YVN1YnN0aXR1dGlvbk5vZGVzTWF0Y2g7ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gdmFyaWFibGVNYXRjaGVzO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBjb25zZXF1ZW5jZU1hdGNoZXIgPSBuZXcgQ29uc2VxdWVuY2VNYXRjaGVyKCk7XG4iXSwibmFtZXMiOlsiY29uc2VxdWVuY2VNYXRjaGVyIiwiQ29uc2VxdWVuY2VNYXRjaGVyIiwibWF0Y2hOb25UZXJtaW5hbE5vZGUiLCJjb25zZXF1ZW5jZU5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsIm1ldGFTdWJzdGl0dXRpb25zIiwibm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJjb25zZXF1ZW5jZVJ1bGVOYW1lIiwicnVsZU5hbWVTdGF0ZW1lbnRSdWxlTmFtZSIsIlNUQVRFTUVOVF9SVUxFX05BTUUiLCJzdGF0ZW1lbnROb2RlIiwiY29uc2VxdWVuY2VTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZU1hdGNoZXMiLCJtYXRjaFN0YXRlbWVudE5vZGUiLCJjb25zZXF1ZW5jZUNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwiY29uc2VxdWVuY2VDaGlsZE5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3RDb25zZXF1ZW5jZUNoaWxkTm9kZSIsImZpcnN0IiwiY29uc2VxdWVuY2VDaGlsZE5vZGUiLCJjb25zZXF1ZW5jZUNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwiY29uc2VxdWVuY2VOb25UZXJtaW5hbENoaWxkTm9kZSIsImNvbnNlcXVlbmNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZSIsImNvbnNlcXVlbmNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZVZhcmlhYmxlUnVsZU5hbWUiLCJWQVJJQUJMRV9SVUxFX05BTUUiLCJjb25zZXF1ZW5jZVZhcmlhYmxlTm9kZSIsImNoaWxkTm9kZXMiLCJub2RlcyIsInZhcmlhYmxlTWF0Y2hlcyIsIm1hdGNoVmFyaWFibGUiLCJjb25zZXF1ZW5jZVZhcmlhYmxlTmFtZSIsInZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUiLCJtZXRhU3Vic3RpdHV0aW9uIiwiZmluZCIsInZhcmlhYmxlTmFtZSIsImdldFZhcmlhYmxlTmFtZSIsIm1ldGFTdWJzdGl0dXRpb25Ob2Rlc01hdGNoIiwibWF0Y2hOb2RlcyIsIk1hdGNoZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXdGYUE7OztlQUFBQTs7OzREQXRGTztxQkFFRTtxQkFDdUI7eUJBQ1c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV4RCxJQUFBLEFBQU1DLG1DQWdGSCxBQWhGSDtjQUFNQTs4QkFBQUE7YUFBQUE7OEJBQUFBOzs7aUJBQUFBOztZQUNKQyxLQUFBQTttQkFBQUEsU0FBQUEscUJBQXFCQywwQkFBMEIsRUFBRUMsZUFBZSxFQUFFQyxpQkFBaUIsRUFBRTtnQkFDbkYsSUFBSUMseUJBQXlCLEtBQUs7Z0JBRWxDLElBQU1DLFdBQVdILGdCQUFnQkksV0FBVyxJQUN0Q0Msc0JBQXNCTiwyQkFBMkJLLFdBQVcsSUFBSSxHQUFHO2dCQUV6RSxJQUFJRCxhQUFhRSxxQkFBcUI7b0JBQ3BDSCx5QkFBeUIscUJBUnpCTCwrQkFRK0JDLHdCQUFOLElBQUssYUFBc0JDLDRCQUE0QkMsaUJBQWlCQztvQkFFakcsSUFBSSxDQUFDQyx3QkFBd0I7d0JBQzNCLElBQU1JLDRCQUE2QkgsYUFBYUksOEJBQW1CO3dCQUVuRSxJQUFJRCwyQkFBMkI7NEJBQzdCLElBQU1FLGdCQUFnQlIsaUJBQ2hCUywyQkFBMkJWLDRCQUMzQlcsdUJBQXVCLElBQUksQ0FBQ0Msa0JBQWtCLENBQUNGLDBCQUEwQkQsZUFBZVA7NEJBRTlGQyx5QkFBeUJRLHNCQUFzQixHQUFHO3dCQUNwRCxDQUFDO29CQUNILENBQUM7Z0JBQ0gsQ0FBQztnQkFFRCxPQUFPUjtZQUNUOzs7WUFFQVMsS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQkYsd0JBQXdCLEVBQUVELGFBQWEsRUFBRVAsaUJBQWlCLEVBQUU7Z0JBQzdFLElBQUlTLHVCQUF1QixLQUFLO2dCQUVoQyxJQUFNWCw2QkFBNkJVLDBCQUM3Qkcsd0JBQXdCYiwyQkFBMkJjLGFBQWEsSUFDaEVDLDhCQUE4QkYsc0JBQXNCRyxNQUFNO2dCQUVoRSxJQUFJRCxnQ0FBZ0MsR0FBRztvQkFDckMsSUFBTUUsNEJBQTRCQyxJQUFBQSxZQUFLLEVBQUNMLHdCQUNsQ00sdUJBQXVCRiwyQkFDdkJHLHNDQUFzQ0QscUJBQXFCRSxpQkFBaUI7b0JBRWxGLElBQUlELHFDQUFxQzt3QkFDdkMsSUFBTUUsa0NBQWtDSCxzQkFDbENJLDBDQUEwQ0QsZ0NBQWdDakIsV0FBVyxJQUNyRm1CLDBEQUEyREQsNENBQTRDRSw2QkFBa0I7d0JBRS9ILElBQUlELHlEQUF5RDs0QkFDM0QsSUFBTUUsMEJBQTBCSixpQ0FDMUJyQixrQkFBa0JRLGVBQ2xCa0IsYUFBYTFCLGdCQUFnQmEsYUFBYSxJQUMxQ2MsUUFBUUQsWUFDUkUsa0JBQWtCLElBQUksQ0FBQ0MsYUFBYSxDQUFDSix5QkFBeUJFLE9BQU8xQjs0QkFFM0VTLHVCQUF1QmtCLGlCQUFpQixHQUFHO3dCQUM3QyxDQUFDO29CQUNILENBQUM7Z0JBQ0gsQ0FBQztnQkFFRCxPQUFPbEI7WUFDVDs7O1lBRUFtQixLQUFBQTttQkFBQUEsU0FBQUEsY0FBY0osdUJBQXVCLEVBQUVFLEtBQUssRUFBRTFCLGlCQUFpQixFQUFFO2dCQUMvRCxJQUFJMkIsa0JBQWtCLElBQUk7Z0JBRTFCLElBQU1FLDBCQUEwQkMsSUFBQUEsbUNBQTRCLEVBQUNOLDBCQUN2RE8sbUJBQW1CL0Isa0JBQWtCZ0MsSUFBSSxDQUFDLFNBQUNELGtCQUFxQjtvQkFDOUQsSUFBTUUsZUFBZUYsaUJBQWlCRyxlQUFlO29CQUVyRCxJQUFJRCxpQkFBaUJKLHlCQUF5Qjt3QkFDNUMsT0FBTyxJQUFJO29CQUNiLENBQUM7Z0JBQ0gsTUFBTSxJQUFJO2dCQUVoQixJQUFJRSxxQkFBcUIsSUFBSSxFQUFFO29CQUM3QixJQUFNSSw2QkFBNkJKLGlCQUFpQkssVUFBVSxDQUFDVjtvQkFFL0RDLGtCQUFrQlEsNEJBQTZCLEdBQUc7Z0JBQ3BELENBQUM7Z0JBRUQsT0FBT1I7WUFDVDs7O1dBN0VJL0I7RUFBMkJ5QyxnQkFBTztBQWdGakMsSUFBTTFDLHFCQUFxQixJQUFJQyJ9
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "premiseMatcher", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return premiseMatcher;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _matcher = /*#__PURE__*/ _interopRequireDefault(require("../matcher"));
|
|
12
|
+
var _substitution = /*#__PURE__*/ _interopRequireDefault(require("../substitution"));
|
|
13
|
+
var _array = require("../utilities/array");
|
|
14
|
+
var _query = require("../utilities/query");
|
|
15
|
+
var _ruleNames = require("../ruleNames");
|
|
16
|
+
function _assertThisInitialized(self) {
|
|
17
|
+
if (self === void 0) {
|
|
18
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
19
|
+
}
|
|
20
|
+
return self;
|
|
21
|
+
}
|
|
22
|
+
function _classCallCheck(instance, Constructor) {
|
|
23
|
+
if (!(instance instanceof Constructor)) {
|
|
24
|
+
throw new TypeError("Cannot call a class as a function");
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function _defineProperties(target, props) {
|
|
28
|
+
for(var i = 0; i < props.length; i++){
|
|
29
|
+
var descriptor = props[i];
|
|
30
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
31
|
+
descriptor.configurable = true;
|
|
32
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
33
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
37
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
38
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
39
|
+
return Constructor;
|
|
40
|
+
}
|
|
41
|
+
function _get(target, property, receiver) {
|
|
42
|
+
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
43
|
+
_get = Reflect.get;
|
|
44
|
+
} else {
|
|
45
|
+
_get = function _get(target, property, receiver) {
|
|
46
|
+
var base = _superPropBase(target, property);
|
|
47
|
+
if (!base) return;
|
|
48
|
+
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
49
|
+
if (desc.get) {
|
|
50
|
+
return desc.get.call(receiver);
|
|
51
|
+
}
|
|
52
|
+
return desc.value;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
return _get(target, property, receiver || target);
|
|
56
|
+
}
|
|
57
|
+
function _getPrototypeOf(o) {
|
|
58
|
+
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
59
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
60
|
+
};
|
|
61
|
+
return _getPrototypeOf(o);
|
|
62
|
+
}
|
|
63
|
+
function _inherits(subClass, superClass) {
|
|
64
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
65
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
66
|
+
}
|
|
67
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
68
|
+
constructor: {
|
|
69
|
+
value: subClass,
|
|
70
|
+
writable: true,
|
|
71
|
+
configurable: true
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
75
|
+
}
|
|
76
|
+
function _interopRequireDefault(obj) {
|
|
77
|
+
return obj && obj.__esModule ? obj : {
|
|
78
|
+
default: obj
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
function _possibleConstructorReturn(self, call) {
|
|
82
|
+
if (call && (_typeof(call) === "object" || typeof call === "function")) {
|
|
83
|
+
return call;
|
|
84
|
+
}
|
|
85
|
+
return _assertThisInitialized(self);
|
|
86
|
+
}
|
|
87
|
+
function _setPrototypeOf(o, p) {
|
|
88
|
+
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
89
|
+
o.__proto__ = p;
|
|
90
|
+
return o;
|
|
91
|
+
};
|
|
92
|
+
return _setPrototypeOf(o, p);
|
|
93
|
+
}
|
|
94
|
+
function _superPropBase(object, property) {
|
|
95
|
+
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
96
|
+
object = _getPrototypeOf(object);
|
|
97
|
+
if (object === null) break;
|
|
98
|
+
}
|
|
99
|
+
return object;
|
|
100
|
+
}
|
|
101
|
+
var _typeof = function(obj) {
|
|
102
|
+
"@swc/helpers - typeof";
|
|
103
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
104
|
+
};
|
|
105
|
+
function _isNativeReflectConstruct() {
|
|
106
|
+
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
107
|
+
if (Reflect.construct.sham) return false;
|
|
108
|
+
if (typeof Proxy === "function") return true;
|
|
109
|
+
try {
|
|
110
|
+
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
111
|
+
return true;
|
|
112
|
+
} catch (e) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
function _createSuper(Derived) {
|
|
117
|
+
var hasNativeReflectConstruct = _isNativeReflectConstruct();
|
|
118
|
+
return function _createSuperInternal() {
|
|
119
|
+
var Super = _getPrototypeOf(Derived), result;
|
|
120
|
+
if (hasNativeReflectConstruct) {
|
|
121
|
+
var NewTarget = _getPrototypeOf(this).constructor;
|
|
122
|
+
result = Reflect.construct(Super, arguments, NewTarget);
|
|
123
|
+
} else {
|
|
124
|
+
result = Super.apply(this, arguments);
|
|
125
|
+
}
|
|
126
|
+
return _possibleConstructorReturn(this, result);
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
var PremiseMatcher = /*#__PURE__*/ function(Matcher) {
|
|
130
|
+
_inherits(PremiseMatcher, Matcher);
|
|
131
|
+
var _super = _createSuper(PremiseMatcher);
|
|
132
|
+
function PremiseMatcher() {
|
|
133
|
+
_classCallCheck(this, PremiseMatcher);
|
|
134
|
+
return _super.apply(this, arguments);
|
|
135
|
+
}
|
|
136
|
+
_createClass(PremiseMatcher, [
|
|
137
|
+
{
|
|
138
|
+
key: "matchNonTerminalNode",
|
|
139
|
+
value: function matchNonTerminalNode(premiseNonTerminalNode, nonTerminalNode, substitutions) {
|
|
140
|
+
var nonTerminalNodeMatches = false;
|
|
141
|
+
var ruleName = nonTerminalNode.getRuleName(), premiseNonTerminalNodeRuleName = premiseNonTerminalNode.getRuleName(), ruleNameStatementRuleName = ruleName === _ruleNames.STATEMENT_RULE_NAME, premiseNonTerminalNodeRuleNameMetastatementRuleName = premiseNonTerminalNodeRuleName === _ruleNames.METASTATEMENT_RULE_NAME;
|
|
142
|
+
if (ruleNameStatementRuleName && premiseNonTerminalNodeRuleNameMetastatementRuleName) {
|
|
143
|
+
var statementNode = nonTerminalNode, premiseMetastatementNode = premiseNonTerminalNode, metastatementNodeMatches = this.matchMetastatementNode(premiseMetastatementNode, statementNode, substitutions);
|
|
144
|
+
if (metastatementNodeMatches) {
|
|
145
|
+
nonTerminalNodeMatches = true;
|
|
146
|
+
} else {
|
|
147
|
+
nonTerminalNodeMatches = _get(_getPrototypeOf(PremiseMatcher.prototype), "matchNonTerminalNode", this).call(this, premiseNonTerminalNode, nonTerminalNode, substitutions);
|
|
148
|
+
}
|
|
149
|
+
} else if (ruleName === premiseNonTerminalNodeRuleName) {
|
|
150
|
+
nonTerminalNodeMatches = _get(_getPrototypeOf(PremiseMatcher.prototype), "matchNonTerminalNode", this).call(this, premiseNonTerminalNode, nonTerminalNode, substitutions);
|
|
151
|
+
}
|
|
152
|
+
return nonTerminalNodeMatches;
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
key: "matchMetavariableNode",
|
|
157
|
+
value: function matchMetavariableNode(premiseMetavariableNode, statementNode, substitutions) {
|
|
158
|
+
var metavariableNodeMatches;
|
|
159
|
+
var premiseMetavariableName = (0, _query.metavariableNameFromMetavariableNode)(premiseMetavariableNode), substitution = substitutions.find(function(substitution) {
|
|
160
|
+
var metavariableName = substitution.getMetavariableName();
|
|
161
|
+
if (metavariableName === premiseMetavariableName) {
|
|
162
|
+
return true;
|
|
163
|
+
}
|
|
164
|
+
}) || null;
|
|
165
|
+
if (substitution !== null) {
|
|
166
|
+
var substitutionNodesMatch = substitution.matchStatementNode(statementNode);
|
|
167
|
+
metavariableNodeMatches = substitutionNodesMatch; ///
|
|
168
|
+
} else {
|
|
169
|
+
var metavariableName = premiseMetavariableName, substitution1 = _substitution.default.fromMetavariableNameAndStatementNode(metavariableName, statementNode);
|
|
170
|
+
substitutions.push(substitution1);
|
|
171
|
+
metavariableNodeMatches = true;
|
|
172
|
+
}
|
|
173
|
+
return metavariableNodeMatches;
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
key: "matchMetastatementNode",
|
|
178
|
+
value: function matchMetastatementNode(premiseMetastatementNode, statementNode, substitutions) {
|
|
179
|
+
var metastatementNodeMatches = false;
|
|
180
|
+
var premiseNonTerminalNode = premiseMetastatementNode, premiseNonTerminalNodeChildNodes = premiseNonTerminalNode.getChildNodes(), premiseNonTerminalNodeChildNodesLength = premiseNonTerminalNodeChildNodes.length;
|
|
181
|
+
if (premiseNonTerminalNodeChildNodesLength === 1) {
|
|
182
|
+
var firstPremiseChildNode = (0, _array.first)(premiseNonTerminalNodeChildNodes), premiseChildNode = firstPremiseChildNode, premiseChildNodeNonTerminalNode = premiseChildNode.isNonTerminalNode();
|
|
183
|
+
if (premiseChildNodeNonTerminalNode) {
|
|
184
|
+
var premiseNonTerminalChildNode = premiseChildNode, premiseNonTerminalChildNodeRuleName = premiseNonTerminalChildNode.getRuleName(), premiseNonTerminalChildNodeRuleNameMetavariableRuleName = premiseNonTerminalChildNodeRuleName === _ruleNames.METAVARIABLE_RULE_NAME;
|
|
185
|
+
if (premiseNonTerminalChildNodeRuleNameMetavariableRuleName) {
|
|
186
|
+
var premiseMetavariableNode = premiseNonTerminalChildNode, metaVariableNodeMatches = this.matchMetavariableNode(premiseMetavariableNode, statementNode, substitutions);
|
|
187
|
+
metastatementNodeMatches = metaVariableNodeMatches; ///
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return metastatementNodeMatches;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
]);
|
|
195
|
+
return PremiseMatcher;
|
|
196
|
+
}(_matcher.default);
|
|
197
|
+
var premiseMatcher = new PremiseMatcher();
|
|
198
|
+
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRjaGVyL3ByZW1pc2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNYXRjaGVyIGZyb20gXCIuLi9tYXRjaGVyXCI7XG5pbXBvcnQgU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb25cIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBTVEFURU1FTlRfUlVMRV9OQU1FLCBNRVRBVkFSSUFCTEVfUlVMRV9OQU1FLCBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRX0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5jbGFzcyBQcmVtaXNlTWF0Y2hlciBleHRlbmRzIE1hdGNoZXIge1xuICBtYXRjaE5vblRlcm1pbmFsTm9kZShwcmVtaXNlTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICBwcmVtaXNlTm9uVGVybWluYWxOb2RlUnVsZU5hbWUgPSBwcmVtaXNlTm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgcnVsZU5hbWVTdGF0ZW1lbnRSdWxlTmFtZSA9IChydWxlTmFtZSA9PT0gU1RBVEVNRU5UX1JVTEVfTkFNRSksXG4gICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lID0gKHByZW1pc2VOb25UZXJtaW5hbE5vZGVSdWxlTmFtZSA9PT0gTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUpO1xuXG4gICAgaWYgKHJ1bGVOYW1lU3RhdGVtZW50UnVsZU5hbWUgJiYgcHJlbWlzZU5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gbm9uVGVybWluYWxOb2RlLCAgLy8vXG4gICAgICAgICAgICBwcmVtaXNlTWV0YXN0YXRlbWVudE5vZGUgPSBwcmVtaXNlTm9uVGVybWluYWxOb2RlLCAgLy8vXG4gICAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSB0aGlzLm1hdGNoTWV0YXN0YXRlbWVudE5vZGUocHJlbWlzZU1ldGFzdGF0ZW1lbnROb2RlLCBzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgaWYgKG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcykge1xuICAgICAgICBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBzdXBlci5tYXRjaE5vblRlcm1pbmFsTm9kZShwcmVtaXNlTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocnVsZU5hbWUgPT09IHByZW1pc2VOb25UZXJtaW5hbE5vZGVSdWxlTmFtZSkge1xuICAgICAgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHN1cGVyLm1hdGNoTm9uVGVybWluYWxOb2RlKHByZW1pc2VOb25UZXJtaW5hbE5vZGUsIG5vblRlcm1pbmFsTm9kZSwgc3Vic3RpdHV0aW9ucyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGF2YXJpYWJsZU5vZGUocHJlbWlzZU1ldGF2YXJpYWJsZU5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXM7XG5cbiAgICBjb25zdCBwcmVtaXNlTWV0YXZhcmlhYmxlTmFtZSA9IG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZShwcmVtaXNlTWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9ucy5maW5kKChzdWJzdGl0dXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5hbWUgPSBzdWJzdGl0dXRpb24uZ2V0TWV0YXZhcmlhYmxlTmFtZSgpO1xuXG4gICAgICAgICAgICBpZiAobWV0YXZhcmlhYmxlTmFtZSA9PT0gcHJlbWlzZU1ldGF2YXJpYWJsZU5hbWUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkgfHwgbnVsbDtcblxuICAgIGlmIChzdWJzdGl0dXRpb24gIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbk5vZGVzTWF0Y2ggPSBzdWJzdGl0dXRpb24ubWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHN1YnN0aXR1dGlvbk5vZGVzTWF0Y2g7ICAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTmFtZSA9IHByZW1pc2VNZXRhdmFyaWFibGVOYW1lLCAvLy9cbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbiA9IFN1YnN0aXR1dGlvbi5mcm9tTWV0YXZhcmlhYmxlTmFtZUFuZFN0YXRlbWVudE5vZGUobWV0YXZhcmlhYmxlTmFtZSwgc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIHN1YnN0aXR1dGlvbnMucHVzaChzdWJzdGl0dXRpb24pO1xuXG4gICAgICBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhc3RhdGVtZW50Tm9kZShwcmVtaXNlTWV0YXN0YXRlbWVudE5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBwcmVtaXNlTm9uVGVybWluYWxOb2RlID0gcHJlbWlzZU1ldGFzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgcHJlbWlzZU5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXMgPSBwcmVtaXNlTm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBwcmVtaXNlTm9uVGVybWluYWxOb2RlQ2hpbGROb2Rlc0xlbmd0aCA9IHByZW1pc2VOb25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzLmxlbmd0aDtcblxuICAgIGlmIChwcmVtaXNlTm9uVGVybWluYWxOb2RlQ2hpbGROb2Rlc0xlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgZmlyc3RQcmVtaXNlQ2hpbGROb2RlID0gZmlyc3QocHJlbWlzZU5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXMpLFxuICAgICAgICAgICAgcHJlbWlzZUNoaWxkTm9kZSA9IGZpcnN0UHJlbWlzZUNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgcHJlbWlzZUNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IHByZW1pc2VDaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgICAgaWYgKHByZW1pc2VDaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgY29uc3QgcHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlID0gcHJlbWlzZUNoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgICBwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZSA9IHByZW1pc2VOb25UZXJtaW5hbENoaWxkTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgICBwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZU1ldGF2YXJpYWJsZVJ1bGVOYW1lID0gKHByZW1pc2VOb25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lID09PSBNRVRBVkFSSUFCTEVfUlVMRV9OQU1FKTtcblxuICAgICAgICBpZiAocHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWVNZXRhdmFyaWFibGVSdWxlTmFtZSkge1xuICAgICAgICAgIGNvbnN0IHByZW1pc2VNZXRhdmFyaWFibGVOb2RlID0gcHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICAgICAgbWV0YVZhcmlhYmxlTm9kZU1hdGNoZXMgPSB0aGlzLm1hdGNoTWV0YXZhcmlhYmxlTm9kZShwcmVtaXNlTWV0YXZhcmlhYmxlTm9kZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBtZXRhVmFyaWFibGVOb2RlTWF0Y2hlczsgLy8vXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBwcmVtaXNlTWF0Y2hlciA9IG5ldyBQcmVtaXNlTWF0Y2hlcigpO1xuIl0sIm5hbWVzIjpbInByZW1pc2VNYXRjaGVyIiwiUHJlbWlzZU1hdGNoZXIiLCJtYXRjaE5vblRlcm1pbmFsTm9kZSIsInByZW1pc2VOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJzdWJzdGl0dXRpb25zIiwibm9uVGVybWluYWxOb2RlTWF0Y2hlcyIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJwcmVtaXNlTm9uVGVybWluYWxOb2RlUnVsZU5hbWUiLCJydWxlTmFtZVN0YXRlbWVudFJ1bGVOYW1lIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsInByZW1pc2VOb25UZXJtaW5hbE5vZGVSdWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSIsIk1FVEFTVEFURU1FTlRfUlVMRV9OQU1FIiwic3RhdGVtZW50Tm9kZSIsInByZW1pc2VNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoTWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaE1ldGF2YXJpYWJsZU5vZGUiLCJwcmVtaXNlTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzIiwicHJlbWlzZU1ldGF2YXJpYWJsZU5hbWUiLCJtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUiLCJzdWJzdGl0dXRpb24iLCJmaW5kIiwibWV0YXZhcmlhYmxlTmFtZSIsImdldE1ldGF2YXJpYWJsZU5hbWUiLCJzdWJzdGl0dXRpb25Ob2Rlc01hdGNoIiwibWF0Y2hTdGF0ZW1lbnROb2RlIiwiU3Vic3RpdHV0aW9uIiwiZnJvbU1ldGF2YXJpYWJsZU5hbWVBbmRTdGF0ZW1lbnROb2RlIiwicHVzaCIsInByZW1pc2VOb25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsInByZW1pc2VOb25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3RQcmVtaXNlQ2hpbGROb2RlIiwiZmlyc3QiLCJwcmVtaXNlQ2hpbGROb2RlIiwicHJlbWlzZUNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwicHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlIiwicHJlbWlzZU5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWUiLCJwcmVtaXNlTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZU1ldGF2YXJpYWJsZVJ1bGVOYW1lIiwiTUVUQVZBUklBQkxFX1JVTEVfTkFNRSIsIm1ldGFWYXJpYWJsZU5vZGVNYXRjaGVzIiwiTWF0Y2hlciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBNkZhQTs7O2VBQUFBOzs7NERBM0ZPO2lFQUNLO3FCQUVIO3FCQUMrQjt5QkFD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
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "suppositionMatcher", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return suppositionMatcher;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _matcher = /*#__PURE__*/ _interopRequireDefault(require("../matcher"));
|
|
12
|
+
var _substitution = /*#__PURE__*/ _interopRequireDefault(require("../substitution"));
|
|
13
|
+
var _array = require("../utilities/array");
|
|
14
|
+
var _query = require("../utilities/query");
|
|
15
|
+
var _ruleNames = require("../ruleNames");
|
|
16
|
+
function _assertThisInitialized(self) {
|
|
17
|
+
if (self === void 0) {
|
|
18
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
19
|
+
}
|
|
20
|
+
return self;
|
|
21
|
+
}
|
|
22
|
+
function _classCallCheck(instance, Constructor) {
|
|
23
|
+
if (!(instance instanceof Constructor)) {
|
|
24
|
+
throw new TypeError("Cannot call a class as a function");
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function _defineProperties(target, props) {
|
|
28
|
+
for(var i = 0; i < props.length; i++){
|
|
29
|
+
var descriptor = props[i];
|
|
30
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
31
|
+
descriptor.configurable = true;
|
|
32
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
33
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
37
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
38
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
39
|
+
return Constructor;
|
|
40
|
+
}
|
|
41
|
+
function _get(target, property, receiver) {
|
|
42
|
+
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
43
|
+
_get = Reflect.get;
|
|
44
|
+
} else {
|
|
45
|
+
_get = function _get(target, property, receiver) {
|
|
46
|
+
var base = _superPropBase(target, property);
|
|
47
|
+
if (!base) return;
|
|
48
|
+
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
49
|
+
if (desc.get) {
|
|
50
|
+
return desc.get.call(receiver);
|
|
51
|
+
}
|
|
52
|
+
return desc.value;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
return _get(target, property, receiver || target);
|
|
56
|
+
}
|
|
57
|
+
function _getPrototypeOf(o) {
|
|
58
|
+
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
59
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
60
|
+
};
|
|
61
|
+
return _getPrototypeOf(o);
|
|
62
|
+
}
|
|
63
|
+
function _inherits(subClass, superClass) {
|
|
64
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
65
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
66
|
+
}
|
|
67
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
68
|
+
constructor: {
|
|
69
|
+
value: subClass,
|
|
70
|
+
writable: true,
|
|
71
|
+
configurable: true
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
75
|
+
}
|
|
76
|
+
function _interopRequireDefault(obj) {
|
|
77
|
+
return obj && obj.__esModule ? obj : {
|
|
78
|
+
default: obj
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
function _possibleConstructorReturn(self, call) {
|
|
82
|
+
if (call && (_typeof(call) === "object" || typeof call === "function")) {
|
|
83
|
+
return call;
|
|
84
|
+
}
|
|
85
|
+
return _assertThisInitialized(self);
|
|
86
|
+
}
|
|
87
|
+
function _setPrototypeOf(o, p) {
|
|
88
|
+
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
89
|
+
o.__proto__ = p;
|
|
90
|
+
return o;
|
|
91
|
+
};
|
|
92
|
+
return _setPrototypeOf(o, p);
|
|
93
|
+
}
|
|
94
|
+
function _superPropBase(object, property) {
|
|
95
|
+
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
96
|
+
object = _getPrototypeOf(object);
|
|
97
|
+
if (object === null) break;
|
|
98
|
+
}
|
|
99
|
+
return object;
|
|
100
|
+
}
|
|
101
|
+
var _typeof = function(obj) {
|
|
102
|
+
"@swc/helpers - typeof";
|
|
103
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
104
|
+
};
|
|
105
|
+
function _isNativeReflectConstruct() {
|
|
106
|
+
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
107
|
+
if (Reflect.construct.sham) return false;
|
|
108
|
+
if (typeof Proxy === "function") return true;
|
|
109
|
+
try {
|
|
110
|
+
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
111
|
+
return true;
|
|
112
|
+
} catch (e) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
function _createSuper(Derived) {
|
|
117
|
+
var hasNativeReflectConstruct = _isNativeReflectConstruct();
|
|
118
|
+
return function _createSuperInternal() {
|
|
119
|
+
var Super = _getPrototypeOf(Derived), result;
|
|
120
|
+
if (hasNativeReflectConstruct) {
|
|
121
|
+
var NewTarget = _getPrototypeOf(this).constructor;
|
|
122
|
+
result = Reflect.construct(Super, arguments, NewTarget);
|
|
123
|
+
} else {
|
|
124
|
+
result = Super.apply(this, arguments);
|
|
125
|
+
}
|
|
126
|
+
return _possibleConstructorReturn(this, result);
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
var SuppositionMatcher = /*#__PURE__*/ function(Matcher) {
|
|
130
|
+
_inherits(SuppositionMatcher, Matcher);
|
|
131
|
+
var _super = _createSuper(SuppositionMatcher);
|
|
132
|
+
function SuppositionMatcher() {
|
|
133
|
+
_classCallCheck(this, SuppositionMatcher);
|
|
134
|
+
return _super.apply(this, arguments);
|
|
135
|
+
}
|
|
136
|
+
_createClass(SuppositionMatcher, [
|
|
137
|
+
{
|
|
138
|
+
key: "matchNonTerminalNode",
|
|
139
|
+
value: function matchNonTerminalNode(suppositionNonTerminalNode, nonTerminalNode, substitutions) {
|
|
140
|
+
var nonTerminalNodeMatches = false;
|
|
141
|
+
var ruleName = nonTerminalNode.getRuleName(), suppositionRuleName = suppositionNonTerminalNode.getRuleName(); ///
|
|
142
|
+
if (ruleName === suppositionRuleName) {
|
|
143
|
+
nonTerminalNodeMatches = _get(_getPrototypeOf(SuppositionMatcher.prototype), "matchNonTerminalNode", this).call(this, suppositionNonTerminalNode, nonTerminalNode, substitutions);
|
|
144
|
+
if (!nonTerminalNodeMatches) {
|
|
145
|
+
var ruleNameStatementRuleName = ruleName === _ruleNames.STATEMENT_RULE_NAME;
|
|
146
|
+
if (ruleNameStatementRuleName) {
|
|
147
|
+
var statementNode = nonTerminalNode, suppositionStatementNode = suppositionNonTerminalNode, statementNodeMatches = this.matchStatementNode(suppositionStatementNode, statementNode, substitutions);
|
|
148
|
+
nonTerminalNodeMatches = statementNodeMatches; ///
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return nonTerminalNodeMatches;
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
key: "matchStatementNode",
|
|
157
|
+
value: function matchStatementNode(suppositionStatementNode, statementNode, substitutions) {
|
|
158
|
+
var statementNodeMatches = false;
|
|
159
|
+
var suppositionNonTerminalNode = suppositionStatementNode, suppositionChildNodes = suppositionNonTerminalNode.getChildNodes(), suppositionChildNodesLength = suppositionChildNodes.length;
|
|
160
|
+
if (suppositionChildNodesLength === 1) {
|
|
161
|
+
var firstSuppositionChildNode = (0, _array.first)(suppositionChildNodes), suppositionChildNode = firstSuppositionChildNode, suppositionChildNodeNonTerminalNode = suppositionChildNode.isNonTerminalNode();
|
|
162
|
+
if (suppositionChildNodeNonTerminalNode) {
|
|
163
|
+
var suppositionNonTerminalChildNode = suppositionChildNode, suppositionNonTerminalChildNodeRuleName = suppositionNonTerminalChildNode.getRuleName(), suppositionNonTerminalChildNodeRuleNameVariableRuleName = suppositionNonTerminalChildNodeRuleName === _ruleNames.VARIABLE_RULE_NAME;
|
|
164
|
+
if (suppositionNonTerminalChildNodeRuleNameVariableRuleName) {
|
|
165
|
+
var suppositionVariableNode = suppositionNonTerminalChildNode, nonTerminalNode = statementNode, childNodes = nonTerminalNode.getChildNodes(), nodes = childNodes, variableMatches = this.matchVariable(suppositionVariableNode, nodes, substitutions);
|
|
166
|
+
statementNodeMatches = variableMatches; ///
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return statementNodeMatches;
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
key: "matchVariable",
|
|
175
|
+
value: function matchVariable(suppositionVariableNode, nodes, substitutions) {
|
|
176
|
+
var variableMatches;
|
|
177
|
+
var suppositionVariableName = (0, _query.variableNameFromVariableNode)(suppositionVariableNode), substitution = substitutions.find(function(substitution) {
|
|
178
|
+
var variableName = substitution.getVariableName();
|
|
179
|
+
if (variableName === suppositionVariableName) {
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
182
|
+
}) || null;
|
|
183
|
+
if (substitution !== null) {
|
|
184
|
+
var substitutionNodesMatch = substitution.matchNodes(nodes);
|
|
185
|
+
variableMatches = substitutionNodesMatch; ///
|
|
186
|
+
} else {
|
|
187
|
+
var variableName = suppositionVariableName, substitution1 = _substitution.default.fromVariableNameAndNodes(variableName, nodes);
|
|
188
|
+
substitutions.push(substitution1);
|
|
189
|
+
variableMatches = true;
|
|
190
|
+
}
|
|
191
|
+
return variableMatches;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
]);
|
|
195
|
+
return SuppositionMatcher;
|
|
196
|
+
}(_matcher.default);
|
|
197
|
+
var suppositionMatcher = new SuppositionMatcher();
|
|
198
|
+
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRjaGVyL3N1cHBvc2l0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWF0Y2hlciBmcm9tIFwiLi4vbWF0Y2hlclwiO1xuaW1wb3J0IFN1YnN0aXR1dGlvbiBmcm9tIFwiLi4vc3Vic3RpdHV0aW9uXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgdmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IFZBUklBQkxFX1JVTEVfTkFNRSwgU1RBVEVNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcblxuY2xhc3MgU3VwcG9zaXRpb25NYXRjaGVyIGV4dGVuZHMgTWF0Y2hlciB7XG4gIG1hdGNoTm9uVGVybWluYWxOb2RlKHN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlLCBub25UZXJtaW5hbE5vZGUsIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICBzdXBwb3NpdGlvblJ1bGVOYW1lID0gc3VwcG9zaXRpb25Ob25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgICBpZiAocnVsZU5hbWUgPT09IHN1cHBvc2l0aW9uUnVsZU5hbWUpIHtcbiAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBzdXBlci5tYXRjaE5vblRlcm1pbmFsTm9kZShzdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZSwgbm9uVGVybWluYWxOb2RlLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgaWYgKCFub25UZXJtaW5hbE5vZGVNYXRjaGVzKSB7XG4gICAgICAgIGNvbnN0IHJ1bGVOYW1lU3RhdGVtZW50UnVsZU5hbWUgPSAocnVsZU5hbWUgPT09IFNUQVRFTUVOVF9SVUxFX05BTUUpO1xuXG4gICAgICAgIGlmIChydWxlTmFtZVN0YXRlbWVudFJ1bGVOYW1lKSB7XG4gICAgICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IG5vblRlcm1pbmFsTm9kZSwgIC8vL1xuICAgICAgICAgICAgICAgIHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZSA9IHN1cHBvc2l0aW9uTm9uVGVybWluYWxOb2RlLCAgLy8vXG4gICAgICAgICAgICAgICAgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSB0aGlzLm1hdGNoU3RhdGVtZW50Tm9kZShzdXBwb3NpdGlvblN0YXRlbWVudE5vZGUsIHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHN0YXRlbWVudE5vZGVNYXRjaGVzOyAvLy9cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hTdGF0ZW1lbnROb2RlKHN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZSwgc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucykge1xuICAgIGxldCBzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3VwcG9zaXRpb25Ob25UZXJtaW5hbE5vZGUgPSBzdXBwb3NpdGlvblN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICBzdXBwb3NpdGlvbkNoaWxkTm9kZXMgPSBzdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgc3VwcG9zaXRpb25DaGlsZE5vZGVzTGVuZ3RoID0gc3VwcG9zaXRpb25DaGlsZE5vZGVzLmxlbmd0aDtcblxuICAgIGlmIChzdXBwb3NpdGlvbkNoaWxkTm9kZXNMZW5ndGggPT09IDEpIHtcbiAgICAgIGNvbnN0IGZpcnN0U3VwcG9zaXRpb25DaGlsZE5vZGUgPSBmaXJzdChzdXBwb3NpdGlvbkNoaWxkTm9kZXMpLFxuICAgICAgICAgICAgc3VwcG9zaXRpb25DaGlsZE5vZGUgPSBmaXJzdFN1cHBvc2l0aW9uQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBzdXBwb3NpdGlvbkNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IHN1cHBvc2l0aW9uQ2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICAgIGlmIChzdXBwb3NpdGlvbkNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgICBjb25zdCBzdXBwb3NpdGlvbk5vblRlcm1pbmFsQ2hpbGROb2RlID0gc3VwcG9zaXRpb25DaGlsZE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgc3VwcG9zaXRpb25Ob25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lID0gc3VwcG9zaXRpb25Ob25UZXJtaW5hbENoaWxkTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgICBzdXBwb3NpdGlvbk5vblRlcm1pbmFsQ2hpbGROb2RlUnVsZU5hbWVWYXJpYWJsZVJ1bGVOYW1lID0gKHN1cHBvc2l0aW9uTm9uVGVybWluYWxDaGlsZE5vZGVSdWxlTmFtZSA9PT0gVkFSSUFCTEVfUlVMRV9OQU1FKTtcblxuICAgICAgICBpZiAoc3VwcG9zaXRpb25Ob25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lVmFyaWFibGVSdWxlTmFtZSkge1xuICAgICAgICAgIGNvbnN0IHN1cHBvc2l0aW9uVmFyaWFibGVOb2RlID0gc3VwcG9zaXRpb25Ob25UZXJtaW5hbENoaWxkTm9kZSwgIC8vL1xuICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZSA9IHN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgICAgIHZhcmlhYmxlTWF0Y2hlcyA9IHRoaXMubWF0Y2hWYXJpYWJsZShzdXBwb3NpdGlvblZhcmlhYmxlTm9kZSwgbm9kZXMsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSB2YXJpYWJsZU1hdGNoZXM7IC8vL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudE5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hWYXJpYWJsZShzdXBwb3NpdGlvblZhcmlhYmxlTm9kZSwgbm9kZXMsIHN1YnN0aXR1dGlvbnMpIHtcbiAgICBsZXQgdmFyaWFibGVNYXRjaGVzO1xuXG4gICAgY29uc3Qgc3VwcG9zaXRpb25WYXJpYWJsZU5hbWUgPSB2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlKHN1cHBvc2l0aW9uVmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25zLmZpbmQoKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFyaWFibGVOYW1lID0gc3Vic3RpdHV0aW9uLmdldFZhcmlhYmxlTmFtZSgpO1xuXG4gICAgICAgICAgICBpZiAodmFyaWFibGVOYW1lID09PSBzdXBwb3NpdGlvblZhcmlhYmxlTmFtZSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3Vic3RpdHV0aW9uTm9kZXNNYXRjaCA9IHN1YnN0aXR1dGlvbi5tYXRjaE5vZGVzKG5vZGVzKTtcblxuICAgICAgdmFyaWFibGVNYXRjaGVzID0gc3Vic3RpdHV0aW9uTm9kZXNNYXRjaDsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB2YXJpYWJsZU5hbWUgPSBzdXBwb3NpdGlvblZhcmlhYmxlTmFtZSwgLy8vXG4gICAgICAgICAgICBzdWJzdGl0dXRpb24gPSBTdWJzdGl0dXRpb24uZnJvbVZhcmlhYmxlTmFtZUFuZE5vZGVzKHZhcmlhYmxlTmFtZSwgbm9kZXMpO1xuXG4gICAgICBzdWJzdGl0dXRpb25zLnB1c2goc3Vic3RpdHV0aW9uKTtcblxuICAgICAgdmFyaWFibGVNYXRjaGVzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFyaWFibGVNYXRjaGVzO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBzdXBwb3NpdGlvbk1hdGNoZXIgPSBuZXcgU3VwcG9zaXRpb25NYXRjaGVyKCk7XG4iXSwibmFtZXMiOlsic3VwcG9zaXRpb25NYXRjaGVyIiwiU3VwcG9zaXRpb25NYXRjaGVyIiwibWF0Y2hOb25UZXJtaW5hbE5vZGUiLCJzdXBwb3NpdGlvbk5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsInN1YnN0aXR1dGlvbnMiLCJub25UZXJtaW5hbE5vZGVNYXRjaGVzIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsInN1cHBvc2l0aW9uUnVsZU5hbWUiLCJydWxlTmFtZVN0YXRlbWVudFJ1bGVOYW1lIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsInN0YXRlbWVudE5vZGUiLCJzdXBwb3NpdGlvblN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoU3RhdGVtZW50Tm9kZSIsInN1cHBvc2l0aW9uQ2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJzdXBwb3NpdGlvbkNoaWxkTm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJmaXJzdFN1cHBvc2l0aW9uQ2hpbGROb2RlIiwiZmlyc3QiLCJzdXBwb3NpdGlvbkNoaWxkTm9kZSIsInN1cHBvc2l0aW9uQ2hpbGROb2RlTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJzdXBwb3NpdGlvbk5vblRlcm1pbmFsQ2hpbGROb2RlIiwic3VwcG9zaXRpb25Ob25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lIiwic3VwcG9zaXRpb25Ob25UZXJtaW5hbENoaWxkTm9kZVJ1bGVOYW1lVmFyaWFibGVSdWxlTmFtZSIsIlZBUklBQkxFX1JVTEVfTkFNRSIsInN1cHBvc2l0aW9uVmFyaWFibGVOb2RlIiwiY2hpbGROb2RlcyIsIm5vZGVzIiwidmFyaWFibGVNYXRjaGVzIiwibWF0Y2hWYXJpYWJsZSIsInN1cHBvc2l0aW9uVmFyaWFibGVOYW1lIiwidmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZSIsInN1YnN0aXR1dGlvbiIsImZpbmQiLCJ2YXJpYWJsZU5hbWUiLCJnZXRWYXJpYWJsZU5hbWUiLCJzdWJzdGl0dXRpb25Ob2Rlc01hdGNoIiwibWF0Y2hOb2RlcyIsIlN1YnN0aXR1dGlvbiIsImZyb21WYXJpYWJsZU5hbWVBbmROb2RlcyIsInB1c2giLCJNYXRjaGVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFnR2FBOzs7ZUFBQUE7Ozs0REE5Rk87aUVBQ0s7cUJBRUg7cUJBQ3VCO3lCQUNXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFeEQsSUFBQSxBQUFNQyxtQ0F1RkgsQUF2Rkg7Y0FBTUE7OEJBQUFBO2FBQUFBOzhCQUFBQTs7O2lCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBLHFCQUFxQkMsMEJBQTBCLEVBQUVDLGVBQWUsRUFBRUMsYUFBYSxFQUFFO2dCQUMvRSxJQUFJQyx5QkFBeUIsS0FBSztnQkFFbEMsSUFBTUMsV0FBV0gsZ0JBQWdCSSxXQUFXLElBQ3RDQyxzQkFBc0JOLDJCQUEyQkssV0FBVyxJQUFJLEdBQUc7Z0JBRXpFLElBQUlELGFBQWFFLHFCQUFxQjtvQkFDcENILHlCQUF5QixxQkFSekJMLCtCQVErQkMsd0JBQU4sSUFBSyxhQUFzQkMsNEJBQTRCQyxpQkFBaUJDO29CQUVqRyxJQUFJLENBQUNDLHdCQUF3Qjt3QkFDM0IsSUFBTUksNEJBQTZCSCxhQUFhSSw4QkFBbUI7d0JBRW5FLElBQUlELDJCQUEyQjs0QkFDN0IsSUFBTUUsZ0JBQWdCUixpQkFDaEJTLDJCQUEyQlYsNEJBQzNCVyx1QkFBdUIsSUFBSSxDQUFDQyxrQkFBa0IsQ0FBQ0YsMEJBQTBCRCxlQUFlUDs0QkFFOUZDLHlCQUF5QlEsc0JBQXNCLEdBQUc7d0JBQ3BELENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO2dCQUVELE9BQU9SO1lBQ1Q7OztZQUVBUyxLQUFBQTttQkFBQUEsU0FBQUEsbUJBQW1CRix3QkFBd0IsRUFBRUQsYUFBYSxFQUFFUCxhQUFhLEVBQUU7Z0JBQ3pFLElBQUlTLHVCQUF1QixLQUFLO2dCQUVoQyxJQUFNWCw2QkFBNkJVLDBCQUM3Qkcsd0JBQXdCYiwyQkFBMkJjLGFBQWEsSUFDaEVDLDhCQUE4QkYsc0JBQXNCRyxNQUFNO2dCQUVoRSxJQUFJRCxnQ0FBZ0MsR0FBRztvQkFDckMsSUFBTUUsNEJBQTRCQyxJQUFBQSxZQUFLLEVBQUNMLHdCQUNsQ00sdUJBQXVCRiwyQkFDdkJHLHNDQUFzQ0QscUJBQXFCRSxpQkFBaUI7b0JBRWxGLElBQUlELHFDQUFxQzt3QkFDdkMsSUFBTUUsa0NBQWtDSCxzQkFDbENJLDBDQUEwQ0QsZ0NBQWdDakIsV0FBVyxJQUNyRm1CLDBEQUEyREQsNENBQTRDRSw2QkFBa0I7d0JBRS9ILElBQUlELHlEQUF5RDs0QkFDM0QsSUFBTUUsMEJBQTBCSixpQ0FDMUJyQixrQkFBa0JRLGVBQ2xCa0IsYUFBYTFCLGdCQUFnQmEsYUFBYSxJQUMxQ2MsUUFBUUQsWUFDUkUsa0JBQWtCLElBQUksQ0FBQ0MsYUFBYSxDQUFDSix5QkFBeUJFLE9BQU8xQjs0QkFFM0VTLHVCQUF1QmtCLGlCQUFpQixHQUFHO3dCQUM3QyxDQUFDO29CQUNILENBQUM7Z0JBQ0gsQ0FBQztnQkFFRCxPQUFPbEI7WUFDVDs7O1lBRUFtQixLQUFBQTttQkFBQUEsU0FBQUEsY0FBY0osdUJBQXVCLEVBQUVFLEtBQUssRUFBRTFCLGFBQWEsRUFBRTtnQkFDM0QsSUFBSTJCO2dCQUVKLElBQU1FLDBCQUEwQkMsSUFBQUEsbUNBQTRCLEVBQUNOLDBCQUN2RE8sZUFBZS9CLGNBQWNnQyxJQUFJLENBQUMsU0FBQ0QsY0FBaUI7b0JBQ2xELElBQU1FLGVBQWVGLGFBQWFHLGVBQWU7b0JBRWpELElBQUlELGlCQUFpQkoseUJBQXlCO3dCQUM1QyxPQUFPLElBQUk7b0JBQ2IsQ0FBQztnQkFDSCxNQUFNLElBQUk7Z0JBRWhCLElBQUlFLGlCQUFpQixJQUFJLEVBQUU7b0JBQ3pCLElBQU1JLHlCQUF5QkosYUFBYUssVUFBVSxDQUFDVjtvQkFFdkRDLGtCQUFrQlEsd0JBQXlCLEdBQUc7Z0JBQ2hELE9BQU87b0JBQ0wsSUFBTUYsZUFBZUoseUJBQ2ZFLGdCQUFlTSxxQkFBWSxDQUFDQyx3QkFBd0IsQ0FBQ0wsY0FBY1A7b0JBRXpFMUIsY0FBY3VDLElBQUksQ0FBQ1I7b0JBRW5CSixrQkFBa0IsSUFBSTtnQkFDeEIsQ0FBQztnQkFFRCxPQUFPQTtZQUNUOzs7V0FwRkkvQjtFQUEyQjRDLGdCQUFPO0FBdUZqQyxJQUFNN0MscUJBQXFCLElBQUlDIn0=
|