occam-furtle 3.0.258 → 3.0.259
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/package.json +2 -2
- package/lib/constants.js +0 -42
- package/lib/context/block.js +0 -71
- package/lib/context/file/furtle.js +0 -139
- package/lib/element/assignment/array.js +0 -112
- package/lib/element/assignment/object.js +0 -168
- package/lib/element/assignment/variable.js +0 -38
- package/lib/element/assignments/variable.js +0 -34
- package/lib/element/binding/named.js +0 -68
- package/lib/element/binding.js +0 -51
- package/lib/element/bindings/named.js +0 -84
- package/lib/element/bindings.js +0 -57
- package/lib/element/declaration/procedure.js +0 -36
- package/lib/element/error.js +0 -25
- package/lib/element/every.js +0 -109
- package/lib/element/expression.js +0 -106
- package/lib/element/label.js +0 -28
- package/lib/element/nodeQuery.js +0 -71
- package/lib/element/nodesQuery.js +0 -63
- package/lib/element/parameter.js +0 -44
- package/lib/element/parameters.js +0 -57
- package/lib/element/primitive.js +0 -131
- package/lib/element/procedure/anonymous.js +0 -51
- package/lib/element/procedure.js +0 -80
- package/lib/element/procedureCall.js +0 -50
- package/lib/element/reduce.js +0 -108
- package/lib/element/reference.js +0 -28
- package/lib/element/returnBlock.js +0 -60
- package/lib/element/some.js +0 -107
- package/lib/element/statement/return.js +0 -33
- package/lib/element/step.js +0 -43
- package/lib/element/term/bracketed.js +0 -36
- package/lib/element/term/comparison.js +0 -58
- package/lib/element/term/logical.js +0 -63
- package/lib/element/term/negated.js +0 -55
- package/lib/element/term.js +0 -114
- package/lib/element/terms.js +0 -100
- package/lib/element/ternary.js +0 -55
- package/lib/element/value.js +0 -83
- package/lib/element/values.js +0 -59
- package/lib/element/variable.js +0 -90
- package/lib/elements.js +0 -27
- package/lib/example/view/div/sizeable.js +0 -25
- package/lib/example/view/input/ruleName.js +0 -48
- package/lib/example/view/subHeading.js +0 -29
- package/lib/example/view/textarea/bnf.js +0 -39
- package/lib/example/view/textarea/content.js +0 -39
- package/lib/example/view/textarea/lexicalEntries.js +0 -39
- package/lib/example/view/textarea/parseTree.js +0 -46
- package/lib/example/view/textarea/tokens.js +0 -55
- package/lib/example/view/textarea.js +0 -31
- package/lib/example/view.js +0 -90
- package/lib/example.js +0 -19
- package/lib/exception.js +0 -24
- package/lib/furtle/lexer.js +0 -15
- package/lib/furtle/parser.js +0 -24
- package/lib/index.js +0 -40
- package/lib/metaTypeNames.js +0 -26
- package/lib/metaTypes.js +0 -66
- package/lib/node/assignment/array.js +0 -32
- package/lib/node/assignment/object.js +0 -32
- package/lib/node/assignment/variable.js +0 -32
- package/lib/node/assignment.js +0 -18
- package/lib/node/assignments/variable.js +0 -38
- package/lib/node/assignments.js +0 -18
- package/lib/node/binding/named.js +0 -36
- package/lib/node/binding.js +0 -61
- package/lib/node/bindings/named.js +0 -28
- package/lib/node/bindings.js +0 -31
- package/lib/node/declaration/procedure.js +0 -46
- package/lib/node/declaration.js +0 -18
- package/lib/node/document.js +0 -18
- package/lib/node/error.js +0 -18
- package/lib/node/every.js +0 -27
- package/lib/node/expression.js +0 -55
- package/lib/node/label.js +0 -29
- package/lib/node/nodeQuery.js +0 -39
- package/lib/node/nodesQuery.js +0 -39
- package/lib/node/nonsense.js +0 -18
- package/lib/node/parameter.js +0 -39
- package/lib/node/parameters.js +0 -23
- package/lib/node/primitive.js +0 -104
- package/lib/node/procedure/anoymous.js +0 -42
- package/lib/node/procedure.js +0 -18
- package/lib/node/procedureCall.js +0 -27
- package/lib/node/reduce.js +0 -31
- package/lib/node/reference.js +0 -29
- package/lib/node/returnBlock.js +0 -35
- package/lib/node/some.js +0 -27
- package/lib/node/statement/return.js +0 -28
- package/lib/node/statement.js +0 -18
- package/lib/node/step.js +0 -31
- package/lib/node/term/bracketed.js +0 -28
- package/lib/node/term/comparison.js +0 -60
- package/lib/node/term/logical.js +0 -66
- package/lib/node/term/negated.js +0 -28
- package/lib/node/term.js +0 -51
- package/lib/node/terms.js +0 -23
- package/lib/node/ternary.js +0 -45
- package/lib/node/value.js +0 -27
- package/lib/node/values.js +0 -23
- package/lib/node/variable.js +0 -29
- package/lib/nodeProperties.js +0 -78
- package/lib/nodeProperty.js +0 -45
- package/lib/nonTerminalNodeMap.js +0 -97
- package/lib/parameterNames.js +0 -26
- package/lib/preamble.js +0 -48
- package/lib/process/verify.js +0 -51
- package/lib/ruleNames.js +0 -166
- package/lib/tokenTypes.js +0 -42
- package/lib/types.js +0 -34
- package/lib/utilities/element.js +0 -1081
- package/lib/utilities/furtle.js +0 -31
- package/lib/utilities/lexers.js +0 -55
- package/lib/utilities/parameters.js +0 -29
- package/lib/utilities/parsers.js +0 -74
- package/lib/utilities/primitive.js +0 -54
- package/lib/utilities/string.js +0 -215
- package/lib/utilities/stringLiteral.js +0 -29
- package/lib/utilities/term.js +0 -46
- package/lib/utilities/value.js +0 -90
- package/lib/utilities/values.js +0 -31
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-furtle",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "3.0.
|
|
4
|
+
"version": "3.0.259",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-furtle",
|
|
7
7
|
"description": "Occam's Furtle language.",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"@swc/core": "1.13.20",
|
|
22
22
|
"decaf-cli": "^1.0.28",
|
|
23
23
|
"easy": "^25.0.1",
|
|
24
|
-
"easy-layout": "^6.0.
|
|
24
|
+
"easy-layout": "^6.0.312",
|
|
25
25
|
"easy-with-style": "^3.0.558",
|
|
26
26
|
"esbuild": "0.11.14",
|
|
27
27
|
"express": "^4.17.1",
|
package/lib/constants.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
get CONJUNCTION_OPERATOR () {
|
|
13
|
-
return CONJUNCTION_OPERATOR;
|
|
14
|
-
},
|
|
15
|
-
get DISJUNCTION_OPERATOR () {
|
|
16
|
-
return DISJUNCTION_OPERATOR;
|
|
17
|
-
},
|
|
18
|
-
get EMPTY_STRING () {
|
|
19
|
-
return EMPTY_STRING;
|
|
20
|
-
},
|
|
21
|
-
get FALSE () {
|
|
22
|
-
return FALSE;
|
|
23
|
-
},
|
|
24
|
-
get NOT_EQUAL_TO () {
|
|
25
|
-
return NOT_EQUAL_TO;
|
|
26
|
-
},
|
|
27
|
-
get NULL () {
|
|
28
|
-
return NULL;
|
|
29
|
-
},
|
|
30
|
-
get TRUE () {
|
|
31
|
-
return TRUE;
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
const NULL = "null";
|
|
35
|
-
const TRUE = "true";
|
|
36
|
-
const FALSE = "false";
|
|
37
|
-
const EMPTY_STRING = "";
|
|
38
|
-
const NOT_EQUAL_TO = "!=";
|
|
39
|
-
const CONJUNCTION_OPERATOR = "&&";
|
|
40
|
-
const DISJUNCTION_OPERATOR = "||";
|
|
41
|
-
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBOVUxMID0gXCJudWxsXCI7XG5leHBvcnQgY29uc3QgVFJVRSA9IFwidHJ1ZVwiO1xuZXhwb3J0IGNvbnN0IEZBTFNFID0gXCJmYWxzZVwiO1xuZXhwb3J0IGNvbnN0IEVNUFRZX1NUUklORyA9IFwiXCI7XG5leHBvcnQgY29uc3QgTk9UX0VRVUFMX1RPID0gXCIhPVwiO1xuZXhwb3J0IGNvbnN0IENPTkpVTkNUSU9OX09QRVJBVE9SID0gXCImJlwiO1xuZXhwb3J0IGNvbnN0IERJU0pVTkNUSU9OX09QRVJBVE9SID0gXCJ8fFwiO1xuIl0sIm5hbWVzIjpbIkNPTkpVTkNUSU9OX09QRVJBVE9SIiwiRElTSlVOQ1RJT05fT1BFUkFUT1IiLCJFTVBUWV9TVFJJTkciLCJGQUxTRSIsIk5PVF9FUVVBTF9UTyIsIk5VTEwiLCJUUlVFIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFPYUE7ZUFBQUE7O1FBQ0FDO2VBQUFBOztRQUhBQztlQUFBQTs7UUFEQUM7ZUFBQUE7O1FBRUFDO2VBQUFBOztRQUpBQztlQUFBQTs7UUFDQUM7ZUFBQUE7OztBQUROLE1BQU1ELE9BQU87QUFDYixNQUFNQyxPQUFPO0FBQ2IsTUFBTUgsUUFBUTtBQUNkLE1BQU1ELGVBQWU7QUFDckIsTUFBTUUsZUFBZTtBQUNyQixNQUFNSix1QkFBdUI7QUFDN0IsTUFBTUMsdUJBQXVCIn0=
|
package/lib/context/block.js
DELETED
|
@@ -1,71 +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 BlockContext;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _occamlanguages = require("occam-languages");
|
|
12
|
-
const _necessary = require("necessary");
|
|
13
|
-
const _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
|
|
14
|
-
function _interop_require_default(obj) {
|
|
15
|
-
return obj && obj.__esModule ? obj : {
|
|
16
|
-
default: obj
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
const { push } = _necessary.arrayUtilities;
|
|
20
|
-
class BlockContext extends _occamlanguages.Context {
|
|
21
|
-
constructor(context, variables){
|
|
22
|
-
super(context);
|
|
23
|
-
this.variables = variables;
|
|
24
|
-
}
|
|
25
|
-
getVariables(nested = true) {
|
|
26
|
-
const variables = [];
|
|
27
|
-
push(variables, this.variables);
|
|
28
|
-
if (nested) {
|
|
29
|
-
const context = this.getContext(), contextVariables = context.getVariables(nested);
|
|
30
|
-
push(variables, contextVariables);
|
|
31
|
-
}
|
|
32
|
-
return variables;
|
|
33
|
-
}
|
|
34
|
-
addVariable(variable) {
|
|
35
|
-
const nested = false, variableName = variable.getName(), variableString = variable.getString(), variablePresent = this.isVariablePresentByVariableName(variableName, nested);
|
|
36
|
-
if (variablePresent) {
|
|
37
|
-
const message = `The '${variableString}' variable is already present.'`, exception = _exception.default.fromMessage(message);
|
|
38
|
-
throw exception;
|
|
39
|
-
}
|
|
40
|
-
const context = this; ///
|
|
41
|
-
context.trace(`Added the '${variableString}' variable to the context.`);
|
|
42
|
-
this.variables.push(variable);
|
|
43
|
-
}
|
|
44
|
-
findProcedureByProcedureName(procedureName) {
|
|
45
|
-
const context = this.getContext(), procedure = context.findProcedureByProcedureName(procedureName);
|
|
46
|
-
return procedure;
|
|
47
|
-
}
|
|
48
|
-
isProcedurePresentByProcedureName(procedureName) {
|
|
49
|
-
const context = this.getContext(), procedurePresent = context.isProcedurePresentByProcedureName(procedureName);
|
|
50
|
-
return procedurePresent;
|
|
51
|
-
}
|
|
52
|
-
findVariableByVariableName(variableName, nested = true) {
|
|
53
|
-
const variables = this.getVariables(nested), variable = variables.find((variable)=>{
|
|
54
|
-
const variableComparesToVariableName = variable.compareVariableName(variableName);
|
|
55
|
-
if (variableComparesToVariableName) {
|
|
56
|
-
return true;
|
|
57
|
-
}
|
|
58
|
-
}) || null;
|
|
59
|
-
return variable;
|
|
60
|
-
}
|
|
61
|
-
isVariablePresentByVariableName(variableName, nested = true) {
|
|
62
|
-
const variable = this.findVariableByVariableName(variableName, nested), variablePresent = variable !== null;
|
|
63
|
-
return variablePresent;
|
|
64
|
-
}
|
|
65
|
-
static fromVariables(variables, context) {
|
|
66
|
-
const blockContext = _occamlanguages.Context.fromNothing(BlockContext, variables, context);
|
|
67
|
-
return blockContext;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2Jsb2NrLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5jb25zdCB7IHB1c2ggfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCbG9ja0NvbnRleHQgZXh0ZW5kcyBDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgdmFyaWFibGVzKSB7XG4gICAgc3VwZXIoY29udGV4dCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlcyA9IHZhcmlhYmxlcztcbiAgfVxuXG4gIGdldFZhcmlhYmxlcyhuZXN0ZWQgPSB0cnVlKSB7XG4gICAgY29uc3QgdmFyaWFibGVzID0gW107XG5cbiAgICBwdXNoKHZhcmlhYmxlcywgdGhpcy52YXJpYWJsZXMpO1xuXG4gICAgaWYgKG5lc3RlZCkge1xuICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpLFxuICAgICAgICAgICAgY29udGV4dFZhcmlhYmxlcyA9IGNvbnRleHQuZ2V0VmFyaWFibGVzKG5lc3RlZCk7XG5cbiAgICAgIHB1c2godmFyaWFibGVzLCBjb250ZXh0VmFyaWFibGVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFyaWFibGVzO1xuICB9XG5cbiAgYWRkVmFyaWFibGUodmFyaWFibGUpIHtcbiAgICBjb25zdCBuZXN0ZWQgPSBmYWxzZSxcbiAgICAgICAgICB2YXJpYWJsZU5hbWUgPSB2YXJpYWJsZS5nZXROYW1lKCksXG4gICAgICAgICAgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICB2YXJpYWJsZVByZXNlbnQgPSB0aGlzLmlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lLCBuZXN0ZWQpO1xuXG4gICAgaWYgKHZhcmlhYmxlUHJlc2VudCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZSBpcyBhbHJlYWR5IHByZXNlbnQuJ2AsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZXh0ID0gdGhpczsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBBZGRlZCB0aGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZSB0byB0aGUgY29udGV4dC5gKTtcblxuICAgIHRoaXMudmFyaWFibGVzLnB1c2godmFyaWFibGUpO1xuICB9XG5cbiAgZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIHByb2NlZHVyZSA9IGNvbnRleHQuZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKTtcblxuICAgIHJldHVybiBwcm9jZWR1cmU7XG4gIH1cblxuICBpc1Byb2NlZHVyZVByZXNlbnRCeVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSkge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKSxcbiAgICAgICAgICBwcm9jZWR1cmVQcmVzZW50ID0gY29udGV4dC5pc1Byb2NlZHVyZVByZXNlbnRCeVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSk7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlUHJlc2VudDtcbiAgfVxuXG4gIGZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSwgbmVzdGVkID0gdHJ1ZSkge1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IHRoaXMuZ2V0VmFyaWFibGVzKG5lc3RlZCksXG4gICAgICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZXMuZmluZCgodmFyaWFibGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhcmlhYmxlQ29tcGFyZXNUb1ZhcmlhYmxlTmFtZSA9IHZhcmlhYmxlLmNvbXBhcmVWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lKTtcblxuICAgICAgICAgICAgaWYgKHZhcmlhYmxlQ29tcGFyZXNUb1ZhcmlhYmxlTmFtZSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUsIG5lc3RlZCA9IHRydWUpIHtcbiAgICBjb25zdCB2YXJpYWJsZSA9IHRoaXMuZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lLCBuZXN0ZWQpLFxuICAgICAgICAgIHZhcmlhYmxlUHJlc2VudCA9ICh2YXJpYWJsZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGVQcmVzZW50O1xuICB9XG5cbiAgc3RhdGljIGZyb21WYXJpYWJsZXModmFyaWFibGVzLCBjb250ZXh0KSB7XG4gICAgY29uc3QgYmxvY2tDb250ZXh0ID0gQ29udGV4dC5mcm9tTm90aGluZyhCbG9ja0NvbnRleHQsIHZhcmlhYmxlcywgY29udGV4dClcblxuICAgIHJldHVybiBibG9ja0NvbnRleHQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJCbG9ja0NvbnRleHQiLCJwdXNoIiwiYXJyYXlVdGlsaXRpZXMiLCJDb250ZXh0IiwiY29udGV4dCIsInZhcmlhYmxlcyIsImdldFZhcmlhYmxlcyIsIm5lc3RlZCIsImdldENvbnRleHQiLCJjb250ZXh0VmFyaWFibGVzIiwiYWRkVmFyaWFibGUiLCJ2YXJpYWJsZSIsInZhcmlhYmxlTmFtZSIsImdldE5hbWUiLCJ2YXJpYWJsZVN0cmluZyIsImdldFN0cmluZyIsInZhcmlhYmxlUHJlc2VudCIsImlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUiLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJ0cmFjZSIsImZpbmRQcm9jZWR1cmVCeVByb2NlZHVyZU5hbWUiLCJwcm9jZWR1cmVOYW1lIiwicHJvY2VkdXJlIiwiaXNQcm9jZWR1cmVQcmVzZW50QnlQcm9jZWR1cmVOYW1lIiwicHJvY2VkdXJlUHJlc2VudCIsImZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lIiwiZmluZCIsInZhcmlhYmxlQ29tcGFyZXNUb1ZhcmlhYmxlTmFtZSIsImNvbXBhcmVWYXJpYWJsZU5hbWUiLCJmcm9tVmFyaWFibGVzIiwiYmxvY2tDb250ZXh0IiwiZnJvbU5vdGhpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBcUJBOzs7Z0NBUEc7MkJBQ087a0VBRVQ7Ozs7OztBQUV0QixNQUFNLEVBQUVDLElBQUksRUFBRSxHQUFHQyx5QkFBYztBQUVoQixNQUFNRixxQkFBcUJHLHVCQUFPO0lBQy9DLFlBQVlDLE9BQU8sRUFBRUMsU0FBUyxDQUFFO1FBQzlCLEtBQUssQ0FBQ0Q7UUFFTixJQUFJLENBQUNDLFNBQVMsR0FBR0E7SUFDbkI7SUFFQUMsYUFBYUMsU0FBUyxJQUFJLEVBQUU7UUFDMUIsTUFBTUYsWUFBWSxFQUFFO1FBRXBCSixLQUFLSSxXQUFXLElBQUksQ0FBQ0EsU0FBUztRQUU5QixJQUFJRSxRQUFRO1lBQ1YsTUFBTUgsVUFBVSxJQUFJLENBQUNJLFVBQVUsSUFDekJDLG1CQUFtQkwsUUFBUUUsWUFBWSxDQUFDQztZQUU5Q04sS0FBS0ksV0FBV0k7UUFDbEI7UUFFQSxPQUFPSjtJQUNUO0lBRUFLLFlBQVlDLFFBQVEsRUFBRTtRQUNwQixNQUFNSixTQUFTLE9BQ1RLLGVBQWVELFNBQVNFLE9BQU8sSUFDL0JDLGlCQUFpQkgsU0FBU0ksU0FBUyxJQUNuQ0Msa0JBQWtCLElBQUksQ0FBQ0MsK0JBQStCLENBQUNMLGNBQWNMO1FBRTNFLElBQUlTLGlCQUFpQjtZQUNuQixNQUFNRSxVQUFVLENBQUMsS0FBSyxFQUFFSixlQUFlLCtCQUErQixDQUFDLEVBQ2pFSyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO1lBRXhDLE1BQU1DO1FBQ1I7UUFFQSxNQUFNZixVQUFVLElBQUksRUFBRSxHQUFHO1FBRXpCQSxRQUFRa0IsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFUixlQUFlLDBCQUEwQixDQUFDO1FBRXRFLElBQUksQ0FBQ1QsU0FBUyxDQUFDSixJQUFJLENBQUNVO0lBQ3RCO0lBRUFZLDZCQUE2QkMsYUFBYSxFQUFFO1FBQzFDLE1BQU1wQixVQUFVLElBQUksQ0FBQ0ksVUFBVSxJQUN6QmlCLFlBQVlyQixRQUFRbUIsNEJBQTRCLENBQUNDO1FBRXZELE9BQU9DO0lBQ1Q7SUFFQUMsa0NBQWtDRixhQUFhLEVBQUU7UUFDL0MsTUFBTXBCLFVBQVUsSUFBSSxDQUFDSSxVQUFVLElBQ3pCbUIsbUJBQW1CdkIsUUFBUXNCLGlDQUFpQyxDQUFDRjtRQUVuRSxPQUFPRztJQUNUO0lBRUFDLDJCQUEyQmhCLFlBQVksRUFBRUwsU0FBUyxJQUFJLEVBQUU7UUFDdEQsTUFBTUYsWUFBWSxJQUFJLENBQUNDLFlBQVksQ0FBQ0MsU0FDOUJJLFdBQVdOLFVBQVV3QixJQUFJLENBQUMsQ0FBQ2xCO1lBQ3pCLE1BQU1tQixpQ0FBaUNuQixTQUFTb0IsbUJBQW1CLENBQUNuQjtZQUVwRSxJQUFJa0IsZ0NBQWdDO2dCQUNsQyxPQUFPO1lBQ1Q7UUFDRixNQUFNO1FBRVosT0FBT25CO0lBQ1Q7SUFFQU0sZ0NBQWdDTCxZQUFZLEVBQUVMLFNBQVMsSUFBSSxFQUFFO1FBQzNELE1BQU1JLFdBQVcsSUFBSSxDQUFDaUIsMEJBQTBCLENBQUNoQixjQUFjTCxTQUN6RFMsa0JBQW1CTCxhQUFhO1FBRXRDLE9BQU9LO0lBQ1Q7SUFFQSxPQUFPZ0IsY0FBYzNCLFNBQVMsRUFBRUQsT0FBTyxFQUFFO1FBQ3ZDLE1BQU02QixlQUFlOUIsdUJBQU8sQ0FBQytCLFdBQVcsQ0FBQ2xDLGNBQWNLLFdBQVdEO1FBRWxFLE9BQU82QjtJQUNUO0FBQ0YifQ==
|
|
@@ -1,139 +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 FurtleFileContext;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _occamlanguages = require("occam-languages");
|
|
12
|
-
const _verify = require("../../process/verify");
|
|
13
|
-
const _furtle = require("../../utilities/furtle");
|
|
14
|
-
class FurtleFileContext extends _occamlanguages.FileContext {
|
|
15
|
-
constructor(context, fileContent, filePath, tokens, node, json, lexer, parser, procedures){
|
|
16
|
-
super(context, fileContent, filePath, tokens, node, json);
|
|
17
|
-
this.lexer = lexer;
|
|
18
|
-
this.parser = parser;
|
|
19
|
-
this.procedures = procedures;
|
|
20
|
-
}
|
|
21
|
-
getLexer() {
|
|
22
|
-
return this.lexer;
|
|
23
|
-
}
|
|
24
|
-
getParser() {
|
|
25
|
-
return this.parser;
|
|
26
|
-
}
|
|
27
|
-
getLabels(includeRelease = true) {
|
|
28
|
-
const labels = [];
|
|
29
|
-
return labels;
|
|
30
|
-
}
|
|
31
|
-
getTypes(includeRelease = true) {
|
|
32
|
-
const types = [];
|
|
33
|
-
return types;
|
|
34
|
-
}
|
|
35
|
-
getRules(includeRelease = true) {
|
|
36
|
-
const rules = [];
|
|
37
|
-
return rules;
|
|
38
|
-
}
|
|
39
|
-
getAxioms(includeRelease = true) {
|
|
40
|
-
const axioms = [];
|
|
41
|
-
return axioms;
|
|
42
|
-
}
|
|
43
|
-
getLemmas(includeRelease = true) {
|
|
44
|
-
const lemmas = [];
|
|
45
|
-
return lemmas;
|
|
46
|
-
}
|
|
47
|
-
getTheorems(includeRelease = true) {
|
|
48
|
-
const theorems = [];
|
|
49
|
-
return theorems;
|
|
50
|
-
}
|
|
51
|
-
getMetaLemmas(includeRelease = true) {
|
|
52
|
-
const metaLemmas = [];
|
|
53
|
-
return metaLemmas;
|
|
54
|
-
}
|
|
55
|
-
getConjectures(includeRelease = true) {
|
|
56
|
-
const conjectures = [];
|
|
57
|
-
return conjectures;
|
|
58
|
-
}
|
|
59
|
-
getCombinators(includeRelease = true) {
|
|
60
|
-
const combinators = [];
|
|
61
|
-
return combinators;
|
|
62
|
-
}
|
|
63
|
-
getTypePrefixes(includeRelease = true) {
|
|
64
|
-
const typePrefixes = [];
|
|
65
|
-
return typePrefixes;
|
|
66
|
-
}
|
|
67
|
-
getConstructors(includeRelease = true) {
|
|
68
|
-
const constructors = [];
|
|
69
|
-
return constructors;
|
|
70
|
-
}
|
|
71
|
-
getMetatheorems(includeRelease = true) {
|
|
72
|
-
const metatheorems = [];
|
|
73
|
-
return metatheorems;
|
|
74
|
-
}
|
|
75
|
-
getMetavariables(includeRelease = true) {
|
|
76
|
-
const metavariables = [];
|
|
77
|
-
return metavariables;
|
|
78
|
-
}
|
|
79
|
-
getProcedures(includeRelease = true) {
|
|
80
|
-
const procedures = includeRelease ? this.context.getProcedures() : this.procedures;
|
|
81
|
-
return procedures;
|
|
82
|
-
}
|
|
83
|
-
getVariables(nested = true) {
|
|
84
|
-
const variables = [];
|
|
85
|
-
return variables;
|
|
86
|
-
}
|
|
87
|
-
addProcedure(procedure) {
|
|
88
|
-
const procedureString = procedure.getString();
|
|
89
|
-
this.procedures.push(procedure);
|
|
90
|
-
const filePath = this.getFilePath();
|
|
91
|
-
this.debug(`Added the '${procedureString}' procedure to the '${filePath}' file context.`);
|
|
92
|
-
}
|
|
93
|
-
findProcedureByProcedureName(procedureName) {
|
|
94
|
-
const procedures = this.getProcedures(), procedure = procedures.find((procedure)=>{
|
|
95
|
-
const procedureComparesToProcedureName = procedure.compareProcedureName(procedureName);
|
|
96
|
-
if (procedureComparesToProcedureName) {
|
|
97
|
-
return true;
|
|
98
|
-
}
|
|
99
|
-
}) || null;
|
|
100
|
-
return procedure;
|
|
101
|
-
}
|
|
102
|
-
isProcedurePresentByProcedureName(procedureName) {
|
|
103
|
-
const procedure = this.findProcedureByProcedureName(procedureName), procedurePresent = procedure !== null;
|
|
104
|
-
return procedurePresent;
|
|
105
|
-
}
|
|
106
|
-
clear() {
|
|
107
|
-
this.procedures = [];
|
|
108
|
-
}
|
|
109
|
-
complete() {
|
|
110
|
-
///
|
|
111
|
-
}
|
|
112
|
-
initialise(json) {
|
|
113
|
-
super.initialise();
|
|
114
|
-
this.procedures = [];
|
|
115
|
-
const node = this.getNode(), context = this, fileNode = node; ///
|
|
116
|
-
(0, _verify.verifyFile)(fileNode, context);
|
|
117
|
-
}
|
|
118
|
-
async verifyFile() {
|
|
119
|
-
const node = this.getNode(), context = this, fileNode = node, fileVerifies = (0, _verify.verifyFile)(fileNode, context);
|
|
120
|
-
return fileVerifies;
|
|
121
|
-
}
|
|
122
|
-
toJSON() {
|
|
123
|
-
const filePath = this.getFilePath(), fileContent = this.getFileContent(), json = {
|
|
124
|
-
filePath,
|
|
125
|
-
fileContent
|
|
126
|
-
};
|
|
127
|
-
return json;
|
|
128
|
-
}
|
|
129
|
-
static fromFile(file, context) {
|
|
130
|
-
const lexer = _furtle.furtleLexer, parser = _furtle.furtleParser, procedures = [], furtleFileContext = _occamlanguages.FileContext.fromFile(FurtleFileContext, file, lexer, parser, procedures, context);
|
|
131
|
-
return furtleFileContext;
|
|
132
|
-
}
|
|
133
|
-
static fromJSON(json, context) {
|
|
134
|
-
const lexer = _furtle.furtleLexer, parser = _furtle.furtleParser, procedures = null, furtleFileContext = _occamlanguages.FileContext.fromJSON(FurtleFileContext, json, lexer, parser, procedures, context);
|
|
135
|
-
return furtleFileContext;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L2ZpbGUvZnVydGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBGaWxlQ29udGV4dCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IHsgdmVyaWZ5RmlsZSB9IGZyb20gXCIuLi8uLi9wcm9jZXNzL3ZlcmlmeVwiO1xuaW1wb3J0IHsgZnVydGxlTGV4ZXIsIGZ1cnRsZVBhcnNlciB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvZnVydGxlXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZ1cnRsZUZpbGVDb250ZXh0IGV4dGVuZHMgRmlsZUNvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBmaWxlQ29udGVudCwgZmlsZVBhdGgsIHRva2Vucywgbm9kZSwganNvbiwgbGV4ZXIsIHBhcnNlciwgcHJvY2VkdXJlcykge1xuICAgIHN1cGVyKGNvbnRleHQsIGZpbGVDb250ZW50LCBmaWxlUGF0aCwgdG9rZW5zLCBub2RlLCBqc29uKTtcblxuICAgIHRoaXMubGV4ZXIgPSBsZXhlcjtcbiAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcbiAgICB0aGlzLnByb2NlZHVyZXMgPSBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0TGV4ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMubGV4ZXI7XG4gIH1cblxuICBnZXRQYXJzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyO1xuICB9XG5cbiAgZ2V0TGFiZWxzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxhYmVscyA9IFtdO1xuXG4gICAgcmV0dXJuIGxhYmVscztcbiAgfVxuXG4gIGdldFR5cGVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHR5cGVzID0gW107XG5cbiAgICByZXR1cm4gdHlwZXM7XG4gIH1cblxuICBnZXRSdWxlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBydWxlcyA9IFtdXG5cbiAgICByZXR1cm4gcnVsZXM7XG4gIH1cblxuICBnZXRBeGlvbXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgYXhpb21zID0gW107XG5cbiAgICByZXR1cm4gYXhpb21zO1xuICB9XG5cbiAgZ2V0TGVtbWFzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxlbW1hcyA9IFtdO1xuXG4gICAgcmV0dXJuIGxlbW1hcztcbiAgfVxuXG4gIGdldFRoZW9yZW1zKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHRoZW9yZW1zID0gW107XG5cbiAgICByZXR1cm4gdGhlb3JlbXM7XG4gIH1cblxuICBnZXRNZXRhTGVtbWFzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IG1ldGFMZW1tYXMgPSBbXTtcblxuICAgIHJldHVybiBtZXRhTGVtbWFzO1xuICB9XG5cbiAgZ2V0Q29uamVjdHVyZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgY29uamVjdHVyZXMgPSBbXTtcblxuICAgIHJldHVybiBjb25qZWN0dXJlcztcbiAgfVxuXG4gIGdldENvbWJpbmF0b3JzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGNvbWJpbmF0b3JzID0gW107XG5cbiAgICByZXR1cm4gY29tYmluYXRvcnM7XG4gIH1cblxuICBnZXRUeXBlUHJlZml4ZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgdHlwZVByZWZpeGVzID0gW107XG5cbiAgICByZXR1cm4gdHlwZVByZWZpeGVzO1xuICB9XG5cbiAgZ2V0Q29uc3RydWN0b3JzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGNvbnN0cnVjdG9ycyA9IFtdO1xuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9ycztcbiAgfVxuXG4gIGdldE1ldGF0aGVvcmVtcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBtZXRhdGhlb3JlbXMgPSBbXTtcblxuICAgIHJldHVybiBtZXRhdGhlb3JlbXM7XG4gIH1cblxuICBnZXRNZXRhdmFyaWFibGVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IG1ldGF2YXJpYWJsZXMgPSBbXTtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVzO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVzID0gaW5jbHVkZVJlbGVhc2UgP1xuICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5nZXRQcm9jZWR1cmVzKCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZWR1cmVzO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZXM7XG4gIH1cblxuICBnZXRWYXJpYWJsZXMobmVzdGVkID0gdHJ1ZSkge1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IFtdO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlcztcbiAgfVxuXG4gIGFkZFByb2NlZHVyZShwcm9jZWR1cmUpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVTdHJpbmcgPSBwcm9jZWR1cmUuZ2V0U3RyaW5nKCk7XG5cbiAgICB0aGlzLnByb2NlZHVyZXMucHVzaChwcm9jZWR1cmUpO1xuXG4gICAgY29uc3QgZmlsZVBhdGggPSB0aGlzLmdldEZpbGVQYXRoKCk7XG5cbiAgICB0aGlzLmRlYnVnKGBBZGRlZCB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgcHJvY2VkdXJlIHRvIHRoZSAnJHtmaWxlUGF0aH0nIGZpbGUgY29udGV4dC5gKTtcbiAgfVxuXG4gIGZpbmRQcm9jZWR1cmVCeVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSkge1xuICAgIGNvbnN0IHByb2NlZHVyZXMgPSB0aGlzLmdldFByb2NlZHVyZXMoKSxcbiAgICAgICAgICBwcm9jZWR1cmUgPSBwcm9jZWR1cmVzLmZpbmQoKHByb2NlZHVyZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvY2VkdXJlQ29tcGFyZXNUb1Byb2NlZHVyZU5hbWUgPSBwcm9jZWR1cmUuY29tcGFyZVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSk7XG5cbiAgICAgICAgICAgIGlmIChwcm9jZWR1cmVDb21wYXJlc1RvUHJvY2VkdXJlTmFtZSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZTtcbiAgfVxuXG4gIGlzUHJvY2VkdXJlUHJlc2VudEJ5UHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlID0gdGhpcy5maW5kUHJvY2VkdXJlQnlQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpLFxuICAgICAgICAgIHByb2NlZHVyZVByZXNlbnQgPSAocHJvY2VkdXJlICE9PSBudWxsKTtcblxuICAgIHJldHVybiBwcm9jZWR1cmVQcmVzZW50O1xuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5wcm9jZWR1cmVzID0gW107XG4gIH1cblxuICBjb21wbGV0ZSgpIHtcbiAgICAvLy9cbiAgfVxuXG4gIGluaXRpYWxpc2UoanNvbikge1xuICAgIHN1cGVyLmluaXRpYWxpc2UoKTtcblxuICAgIHRoaXMucHJvY2VkdXJlcyA9IFtdO1xuXG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Tm9kZSgpLFxuICAgICAgICAgIGNvbnRleHQgPSB0aGlzLCAvLy9cbiAgICAgICAgICBmaWxlTm9kZSA9IG5vZGU7ICAvLy9cblxuICAgIHZlcmlmeUZpbGUoZmlsZU5vZGUsIGNvbnRleHQpO1xuICB9XG5cbiAgYXN5bmMgdmVyaWZ5RmlsZSgpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5nZXROb2RlKCksXG4gICAgICAgICAgY29udGV4dCA9IHRoaXMsIC8vL1xuICAgICAgICAgIGZpbGVOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIGZpbGVWZXJpZmllcyA9IHZlcmlmeUZpbGUoZmlsZU5vZGUsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGZpbGVWZXJpZmllcztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHRoaXMuZ2V0RmlsZVBhdGgoKSxcbiAgICAgICAgICBmaWxlQ29udGVudCA9IHRoaXMuZ2V0RmlsZUNvbnRlbnQoKSxcbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgZmlsZVBhdGgsXG4gICAgICAgICAgICBmaWxlQ29udGVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRmlsZShmaWxlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgbGV4ZXIgPSBmdXJ0bGVMZXhlciwgIC8vL1xuICAgICAgICAgIHBhcnNlciA9IGZ1cnRsZVBhcnNlciwgIC8vL1xuICAgICAgICAgIHByb2NlZHVyZXMgPSBbXSxcbiAgICAgICAgICBmdXJ0bGVGaWxlQ29udGV4dCA9IEZpbGVDb250ZXh0LmZyb21GaWxlKEZ1cnRsZUZpbGVDb250ZXh0LCBmaWxlLCBsZXhlciwgcGFyc2VyLCBwcm9jZWR1cmVzLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBmdXJ0bGVGaWxlQ29udGV4dDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gICAgY29uc3QgbGV4ZXIgPSBmdXJ0bGVMZXhlciwgIC8vL1xuICAgICAgICAgIHBhcnNlciA9IGZ1cnRsZVBhcnNlciwgIC8vL1xuICAgICAgICAgIHByb2NlZHVyZXMgPSBudWxsLFxuICAgICAgICAgIGZ1cnRsZUZpbGVDb250ZXh0ID0gRmlsZUNvbnRleHQuZnJvbUpTT04oRnVydGxlRmlsZUNvbnRleHQsIGpzb24sIGxleGVyLCBwYXJzZXIsIHByb2NlZHVyZXMsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGZ1cnRsZUZpbGVDb250ZXh0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiRnVydGxlRmlsZUNvbnRleHQiLCJGaWxlQ29udGV4dCIsImNvbnRleHQiLCJmaWxlQ29udGVudCIsImZpbGVQYXRoIiwidG9rZW5zIiwibm9kZSIsImpzb24iLCJsZXhlciIsInBhcnNlciIsInByb2NlZHVyZXMiLCJnZXRMZXhlciIsImdldFBhcnNlciIsImdldExhYmVscyIsImluY2x1ZGVSZWxlYXNlIiwibGFiZWxzIiwiZ2V0VHlwZXMiLCJ0eXBlcyIsImdldFJ1bGVzIiwicnVsZXMiLCJnZXRBeGlvbXMiLCJheGlvbXMiLCJnZXRMZW1tYXMiLCJsZW1tYXMiLCJnZXRUaGVvcmVtcyIsInRoZW9yZW1zIiwiZ2V0TWV0YUxlbW1hcyIsIm1ldGFMZW1tYXMiLCJnZXRDb25qZWN0dXJlcyIsImNvbmplY3R1cmVzIiwiZ2V0Q29tYmluYXRvcnMiLCJjb21iaW5hdG9ycyIsImdldFR5cGVQcmVmaXhlcyIsInR5cGVQcmVmaXhlcyIsImdldENvbnN0cnVjdG9ycyIsImNvbnN0cnVjdG9ycyIsImdldE1ldGF0aGVvcmVtcyIsIm1ldGF0aGVvcmVtcyIsImdldE1ldGF2YXJpYWJsZXMiLCJtZXRhdmFyaWFibGVzIiwiZ2V0UHJvY2VkdXJlcyIsImdldFZhcmlhYmxlcyIsIm5lc3RlZCIsInZhcmlhYmxlcyIsImFkZFByb2NlZHVyZSIsInByb2NlZHVyZSIsInByb2NlZHVyZVN0cmluZyIsImdldFN0cmluZyIsInB1c2giLCJnZXRGaWxlUGF0aCIsImRlYnVnIiwiZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZSIsInByb2NlZHVyZU5hbWUiLCJmaW5kIiwicHJvY2VkdXJlQ29tcGFyZXNUb1Byb2NlZHVyZU5hbWUiLCJjb21wYXJlUHJvY2VkdXJlTmFtZSIsImlzUHJvY2VkdXJlUHJlc2VudEJ5UHJvY2VkdXJlTmFtZSIsInByb2NlZHVyZVByZXNlbnQiLCJjbGVhciIsImNvbXBsZXRlIiwiaW5pdGlhbGlzZSIsImdldE5vZGUiLCJmaWxlTm9kZSIsInZlcmlmeUZpbGUiLCJmaWxlVmVyaWZpZXMiLCJ0b0pTT04iLCJnZXRGaWxlQ29udGVudCIsImZyb21GaWxlIiwiZmlsZSIsImZ1cnRsZUxleGVyIiwiZnVydGxlUGFyc2VyIiwiZnVydGxlRmlsZUNvbnRleHQiLCJmcm9tSlNPTiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBT0E7OztlQUFxQkE7OztnQ0FMTzt3QkFFRDt3QkFDZTtBQUUzQixNQUFNQSwwQkFBMEJDLDJCQUFXO0lBQ3hELFlBQVlDLE9BQU8sRUFBRUMsV0FBVyxFQUFFQyxRQUFRLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLEtBQUssRUFBRUMsTUFBTSxFQUFFQyxVQUFVLENBQUU7UUFDekYsS0FBSyxDQUFDUixTQUFTQyxhQUFhQyxVQUFVQyxRQUFRQyxNQUFNQztRQUVwRCxJQUFJLENBQUNDLEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFVBQVUsR0FBR0E7SUFDcEI7SUFFQUMsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDSCxLQUFLO0lBQ25CO0lBRUFJLFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQ0gsTUFBTTtJQUNwQjtJQUVBSSxVQUFVQyxpQkFBaUIsSUFBSSxFQUFFO1FBQy9CLE1BQU1DLFNBQVMsRUFBRTtRQUVqQixPQUFPQTtJQUNUO0lBRUFDLFNBQVNGLGlCQUFpQixJQUFJLEVBQUU7UUFDOUIsTUFBTUcsUUFBUSxFQUFFO1FBRWhCLE9BQU9BO0lBQ1Q7SUFFQUMsU0FBU0osaUJBQWlCLElBQUksRUFBRTtRQUM5QixNQUFNSyxRQUFRLEVBQUU7UUFFaEIsT0FBT0E7SUFDVDtJQUVBQyxVQUFVTixpQkFBaUIsSUFBSSxFQUFFO1FBQy9CLE1BQU1PLFNBQVMsRUFBRTtRQUVqQixPQUFPQTtJQUNUO0lBRUFDLFVBQVVSLGlCQUFpQixJQUFJLEVBQUU7UUFDL0IsTUFBTVMsU0FBUyxFQUFFO1FBRWpCLE9BQU9BO0lBQ1Q7SUFFQUMsWUFBWVYsaUJBQWlCLElBQUksRUFBRTtRQUNqQyxNQUFNVyxXQUFXLEVBQUU7UUFFbkIsT0FBT0E7SUFDVDtJQUVBQyxjQUFjWixpQkFBaUIsSUFBSSxFQUFFO1FBQ25DLE1BQU1hLGFBQWEsRUFBRTtRQUVyQixPQUFPQTtJQUNUO0lBRUFDLGVBQWVkLGlCQUFpQixJQUFJLEVBQUU7UUFDcEMsTUFBTWUsY0FBYyxFQUFFO1FBRXRCLE9BQU9BO0lBQ1Q7SUFFQUMsZUFBZWhCLGlCQUFpQixJQUFJLEVBQUU7UUFDcEMsTUFBTWlCLGNBQWMsRUFBRTtRQUV0QixPQUFPQTtJQUNUO0lBRUFDLGdCQUFnQmxCLGlCQUFpQixJQUFJLEVBQUU7UUFDckMsTUFBTW1CLGVBQWUsRUFBRTtRQUV2QixPQUFPQTtJQUNUO0lBRUFDLGdCQUFnQnBCLGlCQUFpQixJQUFJLEVBQUU7UUFDckMsTUFBTXFCLGVBQWUsRUFBRTtRQUV2QixPQUFPQTtJQUNUO0lBRUFDLGdCQUFnQnRCLGlCQUFpQixJQUFJLEVBQUU7UUFDckMsTUFBTXVCLGVBQWUsRUFBRTtRQUV2QixPQUFPQTtJQUNUO0lBRUFDLGlCQUFpQnhCLGlCQUFpQixJQUFJLEVBQUU7UUFDdEMsTUFBTXlCLGdCQUFnQixFQUFFO1FBRXhCLE9BQU9BO0lBQ1Q7SUFFQUMsY0FBYzFCLGlCQUFpQixJQUFJLEVBQUU7UUFDbkMsTUFBTUosYUFBYUksaUJBQ0UsSUFBSSxDQUFDWixPQUFPLENBQUNzQyxhQUFhLEtBQ3hCLElBQUksQ0FBQzlCLFVBQVU7UUFFdEMsT0FBT0E7SUFDVDtJQUVBK0IsYUFBYUMsU0FBUyxJQUFJLEVBQUU7UUFDMUIsTUFBTUMsWUFBWSxFQUFFO1FBRXBCLE9BQU9BO0lBQ1Q7SUFFQUMsYUFBYUMsU0FBUyxFQUFFO1FBQ3RCLE1BQU1DLGtCQUFrQkQsVUFBVUUsU0FBUztRQUUzQyxJQUFJLENBQUNyQyxVQUFVLENBQUNzQyxJQUFJLENBQUNIO1FBRXJCLE1BQU16QyxXQUFXLElBQUksQ0FBQzZDLFdBQVc7UUFFakMsSUFBSSxDQUFDQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUVKLGdCQUFnQixvQkFBb0IsRUFBRTFDLFNBQVMsZUFBZSxDQUFDO0lBQzFGO0lBRUErQyw2QkFBNkJDLGFBQWEsRUFBRTtRQUMxQyxNQUFNMUMsYUFBYSxJQUFJLENBQUM4QixhQUFhLElBQy9CSyxZQUFZbkMsV0FBVzJDLElBQUksQ0FBQyxDQUFDUjtZQUMzQixNQUFNUyxtQ0FBbUNULFVBQVVVLG9CQUFvQixDQUFDSDtZQUV4RSxJQUFJRSxrQ0FBa0M7Z0JBQ3BDLE9BQU87WUFDVDtRQUNGLE1BQU07UUFFWixPQUFPVDtJQUNUO0lBRUFXLGtDQUFrQ0osYUFBYSxFQUFFO1FBQy9DLE1BQU1QLFlBQVksSUFBSSxDQUFDTSw0QkFBNEIsQ0FBQ0MsZ0JBQzlDSyxtQkFBb0JaLGNBQWM7UUFFeEMsT0FBT1k7SUFDVDtJQUVBQyxRQUFRO1FBQ04sSUFBSSxDQUFDaEQsVUFBVSxHQUFHLEVBQUU7SUFDdEI7SUFFQWlELFdBQVc7SUFDVCxHQUFHO0lBQ0w7SUFFQUMsV0FBV3JELElBQUksRUFBRTtRQUNmLEtBQUssQ0FBQ3FEO1FBRU4sSUFBSSxDQUFDbEQsVUFBVSxHQUFHLEVBQUU7UUFFcEIsTUFBTUosT0FBTyxJQUFJLENBQUN1RCxPQUFPLElBQ25CM0QsVUFBVSxJQUFJLEVBQ2Q0RCxXQUFXeEQsTUFBTyxHQUFHO1FBRTNCeUQsSUFBQUEsa0JBQVUsRUFBQ0QsVUFBVTVEO0lBQ3ZCO0lBRUEsTUFBTTZELGFBQWE7UUFDakIsTUFBTXpELE9BQU8sSUFBSSxDQUFDdUQsT0FBTyxJQUNuQjNELFVBQVUsSUFBSSxFQUNkNEQsV0FBV3hELE1BQ1gwRCxlQUFlRCxJQUFBQSxrQkFBVSxFQUFDRCxVQUFVNUQ7UUFFMUMsT0FBTzhEO0lBQ1Q7SUFFQUMsU0FBUztRQUNQLE1BQU03RCxXQUFXLElBQUksQ0FBQzZDLFdBQVcsSUFDM0I5QyxjQUFjLElBQUksQ0FBQytELGNBQWMsSUFDakMzRCxPQUFPO1lBQ0xIO1lBQ0FEO1FBQ0Y7UUFFTixPQUFPSTtJQUNUO0lBRUEsT0FBTzRELFNBQVNDLElBQUksRUFBRWxFLE9BQU8sRUFBRTtRQUM3QixNQUFNTSxRQUFRNkQsbUJBQVcsRUFDbkI1RCxTQUFTNkQsb0JBQVksRUFDckI1RCxhQUFhLEVBQUUsRUFDZjZELG9CQUFvQnRFLDJCQUFXLENBQUNrRSxRQUFRLENBQUNuRSxtQkFBbUJvRSxNQUFNNUQsT0FBT0MsUUFBUUMsWUFBWVI7UUFFbkcsT0FBT3FFO0lBQ1Q7SUFFQSxPQUFPQyxTQUFTakUsSUFBSSxFQUFFTCxPQUFPLEVBQUU7UUFDN0IsTUFBTU0sUUFBUTZELG1CQUFXLEVBQ25CNUQsU0FBUzZELG9CQUFZLEVBQ3JCNUQsYUFBYSxNQUNiNkQsb0JBQW9CdEUsMkJBQVcsQ0FBQ3VFLFFBQVEsQ0FBQ3hFLG1CQUFtQk8sTUFBTUMsT0FBT0MsUUFBUUMsWUFBWVI7UUFFbkcsT0FBT3FFO0lBQ1Q7QUFDRiJ9
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _occamlanguages = require("occam-languages");
|
|
12
|
-
const _elements = /*#__PURE__*/ _interop_require_wildcard(require("../../elements"));
|
|
13
|
-
const _exception = /*#__PURE__*/ _interop_require_default(require("../../exception"));
|
|
14
|
-
const _value = require("../../utilities/value");
|
|
15
|
-
const _string = require("../../utilities/string");
|
|
16
|
-
const _types = require("../../types");
|
|
17
|
-
function _interop_require_default(obj) {
|
|
18
|
-
return obj && obj.__esModule ? obj : {
|
|
19
|
-
default: obj
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
23
|
-
if (typeof WeakMap !== "function") return null;
|
|
24
|
-
var cacheBabelInterop = new WeakMap();
|
|
25
|
-
var cacheNodeInterop = new WeakMap();
|
|
26
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
27
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
28
|
-
})(nodeInterop);
|
|
29
|
-
}
|
|
30
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
31
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
32
|
-
return obj;
|
|
33
|
-
}
|
|
34
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
35
|
-
return {
|
|
36
|
-
default: obj
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
40
|
-
if (cache && cache.has(obj)) {
|
|
41
|
-
return cache.get(obj);
|
|
42
|
-
}
|
|
43
|
-
var newObj = {
|
|
44
|
-
__proto__: null
|
|
45
|
-
};
|
|
46
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
47
|
-
for(var key in obj){
|
|
48
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
49
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
50
|
-
if (desc && (desc.get || desc.set)) {
|
|
51
|
-
Object.defineProperty(newObj, key, desc);
|
|
52
|
-
} else {
|
|
53
|
-
newObj[key] = obj[key];
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
newObj.default = obj;
|
|
58
|
-
if (cache) {
|
|
59
|
-
cache.set(obj, newObj);
|
|
60
|
-
}
|
|
61
|
-
return newObj;
|
|
62
|
-
}
|
|
63
|
-
const _default = (0, _elements.define)(class ArrayAssigment extends _occamlanguages.Element {
|
|
64
|
-
constructor(context, string, node, breakPoint, variable, bindings){
|
|
65
|
-
super(context, string, node, breakPoint);
|
|
66
|
-
this.variable = variable;
|
|
67
|
-
this.bindings = bindings;
|
|
68
|
-
}
|
|
69
|
-
getVariable() {
|
|
70
|
-
return this.variable;
|
|
71
|
-
}
|
|
72
|
-
getBindings() {
|
|
73
|
-
return this.bindings;
|
|
74
|
-
}
|
|
75
|
-
evaluate(context) {
|
|
76
|
-
const arrayAssignmentString = this.getString(); ///
|
|
77
|
-
context.trace(`Evaluating the '${arrayAssignmentString}' array assignment...`);
|
|
78
|
-
const value = this.variable.evaluate(context), valueType = value.getType();
|
|
79
|
-
if (valueType !== _types.NOMINAL_VALUES_TYPE) {
|
|
80
|
-
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_types.NOMINAL_VALUES_TYPE}'.`, exception = _exception.default.fromMessage(message);
|
|
81
|
-
throw exception;
|
|
82
|
-
}
|
|
83
|
-
const primitiveValue = value.getPrimitiveValue(), nominalValues = primitiveValue, bindingsLength = this.bindings.getLength(), nominalValuesLength = nominalValues.length;
|
|
84
|
-
if (bindingsLength > nominalValuesLength) {
|
|
85
|
-
const bindingsString = this.bindings.getString(), primitiveString = (0, _string.primtiveStringFromNominalValues)(nominalValues), message = `The length of the '${bindingsString}' bindings is greater than the length of the '${primitiveString}' nodes.`, exception = _exception.default.fromMessage(message);
|
|
86
|
-
throw exception;
|
|
87
|
-
}
|
|
88
|
-
this.bindings.forEachBinding((binding, index)=>{
|
|
89
|
-
const elidated = binding.isElided();
|
|
90
|
-
if (!elidated) {
|
|
91
|
-
const nominalValue = nominalValues[index], value = (0, _value.valueFromNominalValue)(nominalValue);
|
|
92
|
-
this.evaluateBinding(binding, value, context);
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
context.debug(`...evaluated the '${arrayAssignmentString}' array assignment.`);
|
|
96
|
-
}
|
|
97
|
-
evaluateBinding(binding, expression, context) {
|
|
98
|
-
const bindingString = binding.getString(), expressionString = expression.getString();
|
|
99
|
-
context.trace(`Evaluating the '${bindingString}' binding against the '${expressionString}' expression...`);
|
|
100
|
-
const bindingType = binding.getType();
|
|
101
|
-
if (bindingType !== _types.NOMINAL_VALUE_TYPE) {
|
|
102
|
-
const message = `The type of the '${bindingString}' binding should be '${_types.NOMINAL_VALUE_TYPE}'.`, exception = _exception.default.fromMessage(message);
|
|
103
|
-
throw exception;
|
|
104
|
-
}
|
|
105
|
-
const { Variable } = _elements.default, variable = Variable.fromBinding(binding, context);
|
|
106
|
-
variable.assign(expression, context);
|
|
107
|
-
context.debug(`...evaluated the '${bindingString}' binding against the '${expressionString}' expression.`);
|
|
108
|
-
}
|
|
109
|
-
static name = "ArrayAssignment";
|
|
110
|
-
});
|
|
111
|
-
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uLy4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IHZhbHVlRnJvbU5vbWluYWxWYWx1ZSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvdmFsdWVcIjtcbmltcG9ydCB7IHByaW10aXZlU3RyaW5nRnJvbU5vbWluYWxWYWx1ZXMgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgTk9NSU5BTF9WQUxVRV9UWVBFLCBOT01JTkFMX1ZBTFVFU19UWVBFIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBBcnJheUFzc2lnbWVudCBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHZhcmlhYmxlLCBiaW5kaW5ncykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5iaW5kaW5ncyA9IGJpbmRpbmdzO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXRCaW5kaW5ncygpIHtcbiAgICByZXR1cm4gdGhpcy5iaW5kaW5ncztcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCBhcnJheUFzc2lnbm1lbnRTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke2FycmF5QXNzaWdubWVudFN0cmluZ30nIGFycmF5IGFzc2lnbm1lbnQuLi5gKTtcblxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCk7XG5cbiAgICBpZiAodmFsdWVUeXBlICE9PSBOT01JTkFMX1ZBTFVFU19UWVBFKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3ZhbHVlVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke05PTUlOQUxfVkFMVUVTX1RZUEV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB2YWx1ZS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZXMgPSBwcmltaXRpdmVWYWx1ZSwgLy8vXG4gICAgICAgICAgYmluZGluZ3NMZW5ndGggPSB0aGlzLmJpbmRpbmdzLmdldExlbmd0aCgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZXNMZW5ndGggPSBub21pbmFsVmFsdWVzLmxlbmd0aDtcblxuICAgIGlmIChiaW5kaW5nc0xlbmd0aCA+IG5vbWluYWxWYWx1ZXNMZW5ndGgpIHtcbiAgICAgIGNvbnN0IGJpbmRpbmdzU3RyaW5nID0gdGhpcy5iaW5kaW5ncy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIHByaW1pdGl2ZVN0cmluZyA9IHByaW10aXZlU3RyaW5nRnJvbU5vbWluYWxWYWx1ZXMobm9taW5hbFZhbHVlcyksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSBsZW5ndGggb2YgdGhlICcke2JpbmRpbmdzU3RyaW5nfScgYmluZGluZ3MgaXMgZ3JlYXRlciB0aGFuIHRoZSBsZW5ndGggb2YgdGhlICcke3ByaW1pdGl2ZVN0cmluZ30nIG5vZGVzLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICB0aGlzLmJpbmRpbmdzLmZvckVhY2hCaW5kaW5nKChiaW5kaW5nLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgZWxpZGF0ZWQgPSBiaW5kaW5nLmlzRWxpZGVkKCk7XG5cbiAgICAgIGlmICghZWxpZGF0ZWQpIHtcbiAgICAgICAgY29uc3Qgbm9taW5hbFZhbHVlID0gbm9taW5hbFZhbHVlc1tpbmRleF0sXG4gICAgICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tTm9taW5hbFZhbHVlKG5vbWluYWxWYWx1ZSk7XG5cbiAgICAgICAgdGhpcy5ldmFsdWF0ZUJpbmRpbmcoYmluZGluZywgdmFsdWUsIGNvbnRleHQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHthcnJheUFzc2lnbm1lbnRTdHJpbmd9JyBhcnJheSBhc3NpZ25tZW50LmApO1xuICB9XG5cbiAgZXZhbHVhdGVCaW5kaW5nKGJpbmRpbmcsIGV4cHJlc3Npb24sIGNvbnRleHQpIHtcbiAgICBjb25zdCBiaW5kaW5nU3RyaW5nID0gYmluZGluZy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBleHByZXNzaW9uU3RyaW5nID0gZXhwcmVzc2lvbi5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke2JpbmRpbmdTdHJpbmd9JyBiaW5kaW5nIGFnYWluc3QgdGhlICcke2V4cHJlc3Npb25TdHJpbmd9JyBleHByZXNzaW9uLi4uYCk7XG5cbiAgICBjb25zdCBiaW5kaW5nVHlwZSA9IGJpbmRpbmcuZ2V0VHlwZSgpO1xuXG4gICAgaWYgKGJpbmRpbmdUeXBlICE9PSBOT01JTkFMX1ZBTFVFX1RZUEUpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVGhlIHR5cGUgb2YgdGhlICcke2JpbmRpbmdTdHJpbmd9JyBiaW5kaW5nIHNob3VsZCBiZSAnJHtOT01JTkFMX1ZBTFVFX1RZUEV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgeyBWYXJpYWJsZSB9ID0gZWxlbWVudHMsXG4gICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tQmluZGluZyhiaW5kaW5nLCBjb250ZXh0KTtcblxuICAgIHZhcmlhYmxlLmFzc2lnbihleHByZXNzaW9uLCBjb250ZXh0KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7YmluZGluZ1N0cmluZ30nIGJpbmRpbmcgYWdhaW5zdCB0aGUgJyR7ZXhwcmVzc2lvblN0cmluZ30nIGV4cHJlc3Npb24uYCk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQXJyYXlBc3NpZ25tZW50XCI7XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJBcnJheUFzc2lnbWVudCIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ2YXJpYWJsZSIsImJpbmRpbmdzIiwiZ2V0VmFyaWFibGUiLCJnZXRCaW5kaW5ncyIsImV2YWx1YXRlIiwiYXJyYXlBc3NpZ25tZW50U3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZSIsInZhbHVlVHlwZSIsImdldFR5cGUiLCJOT01JTkFMX1ZBTFVFU19UWVBFIiwidmFsdWVTdHJpbmciLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJwcmltaXRpdmVWYWx1ZSIsImdldFByaW1pdGl2ZVZhbHVlIiwibm9taW5hbFZhbHVlcyIsImJpbmRpbmdzTGVuZ3RoIiwiZ2V0TGVuZ3RoIiwibm9taW5hbFZhbHVlc0xlbmd0aCIsImxlbmd0aCIsImJpbmRpbmdzU3RyaW5nIiwicHJpbWl0aXZlU3RyaW5nIiwicHJpbXRpdmVTdHJpbmdGcm9tTm9taW5hbFZhbHVlcyIsImZvckVhY2hCaW5kaW5nIiwiYmluZGluZyIsImluZGV4IiwiZWxpZGF0ZWQiLCJpc0VsaWRlZCIsIm5vbWluYWxWYWx1ZSIsInZhbHVlRnJvbU5vbWluYWxWYWx1ZSIsImV2YWx1YXRlQmluZGluZyIsImRlYnVnIiwiZXhwcmVzc2lvbiIsImJpbmRpbmdTdHJpbmciLCJleHByZXNzaW9uU3RyaW5nIiwiYmluZGluZ1R5cGUiLCJOT01JTkFMX1ZBTFVFX1RZUEUiLCJWYXJpYWJsZSIsImVsZW1lbnRzIiwiZnJvbUJpbmRpbmciLCJhc3NpZ24iLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQUE7OztnQ0FWd0I7a0VBRUg7a0VBQ0M7dUJBR2dCO3dCQUNVO3VCQUNROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQUV4RCxXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLHVCQUF1QkMsdUJBQU87SUFDeEQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLFFBQVEsQ0FBRTtRQUNqRSxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFFBQVEsR0FBR0E7SUFDbEI7SUFFQUMsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDRixRQUFRO0lBQ3RCO0lBRUFHLGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQ0YsUUFBUTtJQUN0QjtJQUVB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
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _occamlanguages = require("occam-languages");
|
|
12
|
-
const _elements = /*#__PURE__*/ _interop_require_wildcard(require("../../elements"));
|
|
13
|
-
const _exception = /*#__PURE__*/ _interop_require_default(require("../../exception"));
|
|
14
|
-
const _nodeProperties = /*#__PURE__*/ _interop_require_default(require("../../nodeProperties"));
|
|
15
|
-
const _stringLiteral = require("../../utilities/stringLiteral");
|
|
16
|
-
const _value = require("../../utilities/value");
|
|
17
|
-
const _term = require("../../utilities/term");
|
|
18
|
-
const _types = require("../../types");
|
|
19
|
-
const _parameterNames = require("../../parameterNames");
|
|
20
|
-
function _interop_require_default(obj) {
|
|
21
|
-
return obj && obj.__esModule ? obj : {
|
|
22
|
-
default: obj
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
26
|
-
if (typeof WeakMap !== "function") return null;
|
|
27
|
-
var cacheBabelInterop = new WeakMap();
|
|
28
|
-
var cacheNodeInterop = new WeakMap();
|
|
29
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
30
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
31
|
-
})(nodeInterop);
|
|
32
|
-
}
|
|
33
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
34
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
35
|
-
return obj;
|
|
36
|
-
}
|
|
37
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
38
|
-
return {
|
|
39
|
-
default: obj
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
43
|
-
if (cache && cache.has(obj)) {
|
|
44
|
-
return cache.get(obj);
|
|
45
|
-
}
|
|
46
|
-
var newObj = {
|
|
47
|
-
__proto__: null
|
|
48
|
-
};
|
|
49
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
50
|
-
for(var key in obj){
|
|
51
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
52
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
53
|
-
if (desc && (desc.get || desc.set)) {
|
|
54
|
-
Object.defineProperty(newObj, key, desc);
|
|
55
|
-
} else {
|
|
56
|
-
newObj[key] = obj[key];
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
newObj.default = obj;
|
|
61
|
-
if (cache) {
|
|
62
|
-
cache.set(obj, newObj);
|
|
63
|
-
}
|
|
64
|
-
return newObj;
|
|
65
|
-
}
|
|
66
|
-
const _default = (0, _elements.define)(class ObjectAssigment extends _occamlanguages.Element {
|
|
67
|
-
constructor(context, string, node, breakPoint, variable, namedBindings){
|
|
68
|
-
super(context, string, node, breakPoint);
|
|
69
|
-
this.variable = variable;
|
|
70
|
-
this.namedBindings = namedBindings;
|
|
71
|
-
}
|
|
72
|
-
getVariable() {
|
|
73
|
-
return this.variable;
|
|
74
|
-
}
|
|
75
|
-
getNamedBindings() {
|
|
76
|
-
return this.namedBindings;
|
|
77
|
-
}
|
|
78
|
-
evaluate(context) {
|
|
79
|
-
const objectAssignmentString = this.getString(); ///
|
|
80
|
-
context.trace(`Evaluating the '${objectAssignmentString}' object assignment...`);
|
|
81
|
-
const value = this.variable.evaluate(context), valueType = value.getType();
|
|
82
|
-
if (valueType !== _types.NOMINAL_VALUE_TYPE) {
|
|
83
|
-
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_types.NOMINAL_VALUE_TYPE}'.`, exception = _exception.default.fromMessage(message);
|
|
84
|
-
throw exception;
|
|
85
|
-
}
|
|
86
|
-
_nodeProperties.default.compareNamedBindings(this.namedBindings, context);
|
|
87
|
-
this.namedBindings.forEachNamedBinding((namedBinding)=>{
|
|
88
|
-
this.evaluateNamedBinding(namedBinding, value, context);
|
|
89
|
-
});
|
|
90
|
-
context.debug(`...evaluated the '${objectAssignmentString}' object assignment.`);
|
|
91
|
-
}
|
|
92
|
-
evaluateNamedBinding(namedBinding, term, context) {
|
|
93
|
-
const termString = term.getString(), namedBindingString = namedBinding.getString();
|
|
94
|
-
context.trace(`Evaluating the '${namedBindingString}' named binding against the '${termString}' term...`);
|
|
95
|
-
const name = namedBinding.getName();
|
|
96
|
-
switch(name){
|
|
97
|
-
case _parameterNames.CONTENT_PARAMETER_NAME:
|
|
98
|
-
{
|
|
99
|
-
term = this.evaluateContentNamedBinding(namedBinding, term, context);
|
|
100
|
-
break;
|
|
101
|
-
}
|
|
102
|
-
case _parameterNames.TERMINAL_PARAMETER_NAME:
|
|
103
|
-
{
|
|
104
|
-
term = this.evaluateTerminalNamedBinding(namedBinding, term, context);
|
|
105
|
-
break;
|
|
106
|
-
}
|
|
107
|
-
case _parameterNames.CHILD_NODES_PARAMETER_NAME:
|
|
108
|
-
{
|
|
109
|
-
term = this.evaluateChildNodesNamedBinding(namedBinding, term, context);
|
|
110
|
-
break;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
const { Variable } = _elements.default, variable = Variable.fromNamedBinding(namedBinding, context);
|
|
114
|
-
variable.assign(term, context);
|
|
115
|
-
context.debug(`...evaluated the '${namedBindingString}' parameter named against the '${termString}' term.`);
|
|
116
|
-
}
|
|
117
|
-
evaluateContentNamedBinding(namedBinding, term, context) {
|
|
118
|
-
const type = namedBinding.getType(), namedBindingString = namedBinding.getString();
|
|
119
|
-
context.trace(`Evaluating the content '${namedBindingString}' named binding...`);
|
|
120
|
-
if (type !== _types.STRING_TYPE) {
|
|
121
|
-
const namedBindingString = namedBinding.getString(), message = `The '${namedBindingString}' named binding's type should be '${_types.STRING_TYPE}'.`, exception = _exception.default.fromMessage(message);
|
|
122
|
-
throw exception;
|
|
123
|
-
}
|
|
124
|
-
const primitiveValue = term.getPrimitiveValue(), nominalValue = primitiveValue, node = nominalValue.getNode(), nodeTerminalNode = node.isTerminalNode();
|
|
125
|
-
if (!nodeTerminalNode) {
|
|
126
|
-
const termString = term.getString(), message = `The '${termString}' term's node must be terminal.`, exception = _exception.default.fromMessage(message);
|
|
127
|
-
throw exception;
|
|
128
|
-
}
|
|
129
|
-
const terminalNode = node, content = terminalNode.getContent(), string = content, stringLiteral = (0, _stringLiteral.stringLiteralFromString)(string);
|
|
130
|
-
term = (0, _term.termFromStringLiteral)(stringLiteral, context);
|
|
131
|
-
const termSttring = term.getString();
|
|
132
|
-
context.debug(`...evaluated the content '${namedBindingString}' named binding as '${termSttring}'.`);
|
|
133
|
-
return term;
|
|
134
|
-
}
|
|
135
|
-
evaluateTerminalNamedBinding(namedBinding, term, context) {
|
|
136
|
-
const type = namedBinding.getType(), namedBindingString = namedBinding.getString();
|
|
137
|
-
context.trace(`Evaluating the terminal '${namedBindingString}' named binding...`);
|
|
138
|
-
if (type !== _types.BOOLEAN_TYPE) {
|
|
139
|
-
const namedBindingString = namedBinding.getString(), message = `The '${namedBindingString}' named binding's type should be '${_types.BOOLEAN_TYPE}'.`, exception = _exception.default.fromMessage(message);
|
|
140
|
-
throw exception;
|
|
141
|
-
}
|
|
142
|
-
const primitiveValue = term.getPrimitiveValue(), nominalValue = primitiveValue, node = nominalValue.getNode(), nodeTerminalNode = node.isTerminalNode(), terminal = nodeTerminalNode; ///
|
|
143
|
-
const boolean = terminal; ///
|
|
144
|
-
term = (0, _term.termFromBoolean)(boolean, context); ///
|
|
145
|
-
const termSttring = term.getString();
|
|
146
|
-
context.debug(`...evaluated the terminal '${namedBindingString}' named binding as '${termSttring}'.`);
|
|
147
|
-
return term;
|
|
148
|
-
}
|
|
149
|
-
evaluateChildNodesNamedBinding(namedBinding, term, context) {
|
|
150
|
-
const type = namedBinding.getType(), namedBindingString = namedBinding.getString();
|
|
151
|
-
context.trace(`Evaluating the child nodes '${namedBindingString}' named binding...`);
|
|
152
|
-
if (type !== _types.NOMINAL_VALUES_TYPE) {
|
|
153
|
-
const namedBindingString = namedBinding.getString(), message = `The '${namedBindingString}' named binding's type should be '${_types.NOMINAL_VALUES_TYPE}'.`, exception = _exception.default.fromMessage(message);
|
|
154
|
-
throw exception;
|
|
155
|
-
}
|
|
156
|
-
const primitiveValue = term.getPrimitiveValue(), nominalValue = primitiveValue, node = nominalValue.getNode(), nodeNonTerminalNode = node.isNonTerminalNode();
|
|
157
|
-
if (!nodeNonTerminalNode) {
|
|
158
|
-
const termString = term.getString(), message = `The '${termString}' term's node must be non-terminal.`, exception = _exception.default.fromMessage(message);
|
|
159
|
-
throw exception;
|
|
160
|
-
}
|
|
161
|
-
const nonTerminalNode = node, childNodes = nonTerminalNode.getChildNodes(), nodes = childNodes, value = (0, _value.valueFromNodesAndNominalValue)(nodes, nominalValue), valueSttring = value.getString();
|
|
162
|
-
context.debug(`...evaluated the childNodes '${namedBindingString}' named binding as '${valueSttring}'.`);
|
|
163
|
-
return value;
|
|
164
|
-
}
|
|
165
|
-
static name = "ObjectAssigment";
|
|
166
|
-
});
|
|
167
|
-
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi8uLi9leGNlcHRpb25cIjtcbmltcG9ydCBub2RlUHJvcGVydGllcyBmcm9tIFwiLi4vLi4vbm9kZVByb3BlcnRpZXNcIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyBzdHJpbmdMaXRlcmFsRnJvbVN0cmluZyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvc3RyaW5nTGl0ZXJhbFwiO1xuaW1wb3J0IHsgdmFsdWVGcm9tTm9kZXNBbmROb21pbmFsVmFsdWUgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3ZhbHVlXCI7XG5pbXBvcnQgeyB0ZXJtRnJvbUJvb2xlYW4sIHRlcm1Gcm9tU3RyaW5nTGl0ZXJhbCB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvdGVybVwiO1xuaW1wb3J0IHsgU1RSSU5HX1RZUEUsIEJPT0xFQU5fVFlQRSwgTk9NSU5BTF9WQUxVRV9UWVBFLCBOT01JTkFMX1ZBTFVFU19UWVBFIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5pbXBvcnQgeyBDT05URU5UX1BBUkFNRVRFUl9OQU1FLCBURVJNSU5BTF9QQVJBTUVURVJfTkFNRSwgQ0hJTERfTk9ERVNfUEFSQU1FVEVSX05BTUUgfSBmcm9tIFwiLi4vLi4vcGFyYW1ldGVyTmFtZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIE9iamVjdEFzc2lnbWVudCBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHZhcmlhYmxlLCBuYW1lZEJpbmRpbmdzKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgICB0aGlzLm5hbWVkQmluZGluZ3MgPSBuYW1lZEJpbmRpbmdzO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXROYW1lZEJpbmRpbmdzKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWVkQmluZGluZ3M7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0KSB7XG4gICAgY29uc3Qgb2JqZWN0QXNzaWdubWVudFN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7b2JqZWN0QXNzaWdubWVudFN0cmluZ30nIG9iamVjdCBhc3NpZ25tZW50Li4uYCk7XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpO1xuXG4gICAgaWYgKHZhbHVlVHlwZSAhPT0gTk9NSU5BTF9WQUxVRV9UWVBFKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3ZhbHVlVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke05PTUlOQUxfVkFMVUVfVFlQRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBub2RlUHJvcGVydGllcy5jb21wYXJlTmFtZWRCaW5kaW5ncyh0aGlzLm5hbWVkQmluZGluZ3MsIGNvbnRleHQpO1xuXG4gICAgdGhpcy5uYW1lZEJpbmRpbmdzLmZvckVhY2hOYW1lZEJpbmRpbmcoKG5hbWVkQmluZGluZykgPT4ge1xuICAgICAgdGhpcy5ldmFsdWF0ZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHZhbHVlLCBjb250ZXh0KTtcbiAgICB9KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7b2JqZWN0QXNzaWdubWVudFN0cmluZ30nIG9iamVjdCBhc3NpZ25tZW50LmApO1xuICB9XG5cbiAgZXZhbHVhdGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhZ2FpbnN0IHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybS4uLmApO1xuXG4gICAgY29uc3QgbmFtZSA9IG5hbWVkQmluZGluZy5nZXROYW1lKCk7XG5cbiAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgIGNhc2UgQ09OVEVOVF9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICB0ZXJtID0gdGhpcy5ldmFsdWF0ZUNvbnRlbnROYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0KTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBURVJNSU5BTF9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICB0ZXJtID0gdGhpcy5ldmFsdWF0ZVRlcm1pbmFsTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdGVybSwgY29udGV4dCk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgQ0hJTERfTk9ERVNfUEFSQU1FVEVSX05BTUU6IHtcbiAgICAgICAgdGVybSA9IHRoaXMuZXZhbHVhdGVDaGlsZE5vZGVzTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdGVybSwgY29udGV4dCk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgeyBWYXJpYWJsZSB9ID0gZWxlbWVudHMsXG4gICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgY29udGV4dCk7XG5cbiAgICB2YXJpYWJsZS5hc3NpZ24odGVybSwgY29udGV4dCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIHBhcmFtZXRlciBuYW1lZCBhZ2FpbnN0IHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybS5gKTtcbiAgfVxuXG4gIGV2YWx1YXRlQ29udGVudE5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQpIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSBjb250ZW50ICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcuLi5gKTtcblxuICAgIGlmICh0eXBlICE9PSBTVFJJTkdfVFlQRSkge1xuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZydzIHR5cGUgc2hvdWxkIGJlICcke1NUUklOR19UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdGVybS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG5vbWluYWxWYWx1ZS5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmICghbm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSdzIG5vZGUgbXVzdCBiZSB0ZXJtaW5hbC5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIGNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgIHN0cmluZyA9IGNvbnRlbnQsICAvLy9cbiAgICAgICAgICBzdHJpbmdMaXRlcmFsID0gc3RyaW5nTGl0ZXJhbEZyb21TdHJpbmcoc3RyaW5nKTtcblxuICAgIHRlcm0gPSB0ZXJtRnJvbVN0cmluZ0xpdGVyYWwoc3RyaW5nTGl0ZXJhbCwgY29udGV4dCk7XG5cbiAgICBjb25zdCB0ZXJtU3R0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIGNvbnRlbnQgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt0ZXJtU3R0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIHRlcm07XG4gIH1cblxuICBldmFsdWF0ZVRlcm1pbmFsTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdGVybSwgY29udGV4dCkge1xuICAgIGNvbnN0IHR5cGUgPSBuYW1lZEJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlIHRlcm1pbmFsICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcuLi5gKTtcblxuICAgIGlmICh0eXBlICE9PSBCT09MRUFOX1RZUEUpIHtcbiAgICAgIGNvbnN0IG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcncyB0eXBlIHNob3VsZCBiZSAnJHtCT09MRUFOX1RZUEV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0ZXJtLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gcHJpbWl0aXZlVmFsdWUsICAvLy9cbiAgICAgICAgICBub2RlID0gbm9taW5hbFZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICAgIHRlcm1pbmFsID0gbm9kZVRlcm1pbmFsTm9kZTsgIC8vL1xuXG4gICAgY29uc3QgYm9vbGVhbiA9IHRlcm1pbmFsOyAvLy9cblxuICAgIHRlcm0gPSB0ZXJtRnJvbUJvb2xlYW4oYm9vbGVhbiwgY29udGV4dCk7ICAvLy9cblxuICAgIGNvbnN0IHRlcm1TdHRyaW5nID0gdGVybS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgdGVybWluYWwgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt0ZXJtU3R0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIHRlcm07XG4gIH1cblxuICBldmFsdWF0ZUNoaWxkTm9kZXNOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdHlwZSA9IG5hbWVkQmluZGluZy5nZXRUeXBlKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgY2hpbGQgbm9kZXMgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgaWYgKHR5cGUgIT09IE5PTUlOQUxfVkFMVUVTX1RZUEUpIHtcbiAgICAgIGNvbnN0IG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcncyB0eXBlIHNob3VsZCBiZSAnJHtOT01JTkFMX1ZBTFVFU19UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdGVybS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG5vbWluYWxWYWx1ZS5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZU5vblRlcm1pbmFsTm9kZSA9IG5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmICghbm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSdzIG5vZGUgbXVzdCBiZSBub24tdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tTm9kZXNBbmROb21pbmFsVmFsdWUobm9kZXMsIG5vbWluYWxWYWx1ZSksXG4gICAgICAgICAgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIGNoaWxkTm9kZXMgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJPYmplY3RBc3NpZ21lbnRcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIk9iamVjdEFzc2lnbWVudCIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ2YXJpYWJsZSIsIm5hbWVkQmluZGluZ3MiLCJnZXRWYXJpYWJsZSIsImdldE5hbWVkQmluZGluZ3MiLCJldmFsdWF0ZSIsIm9iamVjdEFzc2lnbm1lbnRTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsIk5PTUlOQUxfVkFMVUVfVFlQRSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwibm9kZVByb3BlcnRpZXMiLCJjb21wYXJlTmFtZWRCaW5kaW5ncyIsImZvckVhY2hOYW1lZEJpbmRpbmciLCJuYW1lZEJpbmRpbmciLCJldmFsdWF0ZU5hbWVkQmluZGluZyIsImRlYnVnIiwidGVybSIsInRlcm1TdHJpbmciLCJuYW1lZEJpbmRpbmdTdHJpbmciLCJuYW1lIiwiZ2V0TmFtZSIsIkNPTlRFTlRfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZUNvbnRlbnROYW1lZEJpbmRpbmciLCJURVJNSU5BTF9QQVJBTUVURVJfTkFNRSIsImV2YWx1YXRlVGVybWluYWxOYW1lZEJpbmRpbmciLCJDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSIsImV2YWx1YXRlQ2hpbGROb2Rlc05hbWVkQmluZGluZyIsIlZhcmlhYmxlIiwiZWxlbWVudHMiLCJmcm9tTmFtZWRCaW5kaW5nIiwiYXNzaWduIiwidHlwZSIsIlNUUklOR19UWVBFIiwicHJpbWl0aXZlVmFsdWUiLCJnZXRQcmltaXRpdmVWYWx1ZSIsIm5vbWluYWxWYWx1ZSIsImdldE5vZGUiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsInN0cmluZ0xpdGVyYWwiLCJzdHJpbmdMaXRlcmFsRnJvbVN0cmluZyIsInRlcm1Gcm9tU3RyaW5nTGl0ZXJhbCIsInRlcm1TdHRyaW5nIiwiQk9PTEVBTl9UWVBFIiwidGVybWluYWwiLCJib29sZWFuIiwidGVybUZyb21Cb29sZWFuIiwiTk9NSU5BTF9WQUxVRVNfVFlQRSIsIm5vZGVOb25UZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwibm9kZXMiLCJ2YWx1ZUZyb21Ob2Rlc0FuZE5vbWluYWxWYWx1ZSIsInZhbHVlU3R0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBZUE7OztlQUFBOzs7Z0NBYndCO2tFQUVIO2tFQUNDO3VFQUNLOytCQUdhO3VCQUNNO3NCQUNTO3VCQUM0QjtnQ0FDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFFNUYsV0FBZUEsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyx3QkFBd0JDLHVCQUFPO0lBQ3pELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxhQUFhLENBQUU7UUFDdEUsS0FBSyxDQUFDTCxTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxhQUFhLEdBQUdBO0lBQ3ZCO0lBRUFDLGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQ0YsUUFBUTtJQUN0QjtJQUVBRyxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUNGLGFBQWE7SUFDM0I7SUFFQUcsU0FBU1IsT0FBTyxFQUFFO1FBQ2hCLE1BQU1TLHlCQUF5QixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRXBEVixRQUFRVyxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsdUJBQXVCLHNCQUFzQixDQUFDO1FBRS9FLE1BQU1HLFFBQVEsSUFBSSxDQUFDUixRQUFRLENBQUNJLFFBQVEsQ0FBQ1IsVUFDL0JhLFlBQVlELE1BQU1FLE9BQU87UUFFL0IsSUFBSUQsY0FBY0UseUJBQWtCLEVBQUU7WUFDcEMsTUFBTUMsY0FBY0osTUFBTUYsU0FBUyxJQUM3Qk8sVUFBVSxDQUFDLEtBQUssRUFBRUQsWUFBWSxXQUFXLEVBQUVILFVBQVUsa0JBQWtCLEVBQUVFLHlCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUMvRkcsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FB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
|