occam-furtle 3.0.372 → 3.0.375
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/constants.js +9 -1
- package/lib/context/file/furtle.js +17 -6
- package/lib/element/label.js +10 -2
- package/lib/element/parameters.js +10 -2
- package/lib/element/procedure.js +11 -3
- package/lib/node/procedure.js +9 -1
- package/lib/process/instantiate.js +27 -6
- package/package.json +1 -1
- package/src/constants.js +2 -0
- package/src/context/file/furtle.js +26 -7
- package/src/element/label.js +16 -1
- package/src/element/parameters.js +17 -1
- package/src/element/procedure.js +17 -3
- package/src/node/procedure.js +14 -0
- package/src/process/instantiate.js +16 -3
package/lib/constants.js
CHANGED
|
@@ -27,6 +27,12 @@ _export(exports, {
|
|
|
27
27
|
get NULL () {
|
|
28
28
|
return NULL;
|
|
29
29
|
},
|
|
30
|
+
get PERIOD () {
|
|
31
|
+
return PERIOD;
|
|
32
|
+
},
|
|
33
|
+
get PERIOD_STRING_LITERAL () {
|
|
34
|
+
return PERIOD_STRING_LITERAL;
|
|
35
|
+
},
|
|
30
36
|
get TRUE () {
|
|
31
37
|
return TRUE;
|
|
32
38
|
}
|
|
@@ -34,9 +40,11 @@ _export(exports, {
|
|
|
34
40
|
const NULL = "null";
|
|
35
41
|
const TRUE = "true";
|
|
36
42
|
const FALSE = "false";
|
|
43
|
+
const PERIOD = ".";
|
|
37
44
|
const EMPTY_STRING = "";
|
|
38
45
|
const NOT_EQUAL_TO = "!=";
|
|
39
46
|
const CONJUNCTION_OPERATOR = "&&";
|
|
40
47
|
const DISJUNCTION_OPERATOR = "||";
|
|
48
|
+
const PERIOD_STRING_LITERAL = `"."`;
|
|
41
49
|
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBOVUxMID0gXCJudWxsXCI7XG5leHBvcnQgY29uc3QgVFJVRSA9IFwidHJ1ZVwiO1xuZXhwb3J0IGNvbnN0IEZBTFNFID0gXCJmYWxzZVwiO1xuZXhwb3J0IGNvbnN0IFBFUklPRCA9IFwiLlwiO1xuZXhwb3J0IGNvbnN0IEVNUFRZX1NUUklORyA9IFwiXCI7XG5leHBvcnQgY29uc3QgTk9UX0VRVUFMX1RPID0gXCIhPVwiO1xuZXhwb3J0IGNvbnN0IENPTkpVTkNUSU9OX09QRVJBVE9SID0gXCImJlwiO1xuZXhwb3J0IGNvbnN0IERJU0pVTkNUSU9OX09QRVJBVE9SID0gXCJ8fFwiO1xuZXhwb3J0IGNvbnN0IFBFUklPRF9TVFJJTkdfTElURVJBTCA9IGBcIi5cImA7XG4iXSwibmFtZXMiOlsiQ09OSlVOQ1RJT05fT1BFUkFUT1IiLCJESVNKVU5DVElPTl9PUEVSQVRPUiIsIkVNUFRZX1NUUklORyIsIkZBTFNFIiwiTk9UX0VRVUFMX1RPIiwiTlVMTCIsIlBFUklPRCIsIlBFUklPRF9TVFJJTkdfTElURVJBTCIsIlRSVUUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQVFhQTtlQUFBQTs7UUFDQUM7ZUFBQUE7O1FBSEFDO2VBQUFBOztRQUZBQztlQUFBQTs7UUFHQUM7ZUFBQUE7O1FBTEFDO2VBQUFBOztRQUdBQztlQUFBQTs7UUFLQUM7ZUFBQUE7O1FBUEFDO2VBQUFBOzs7QUFETixNQUFNSCxPQUFPO0FBQ2IsTUFBTUcsT0FBTztBQUNiLE1BQU1MLFFBQVE7QUFDZCxNQUFNRyxTQUFTO0FBQ2YsTUFBTUosZUFBZTtBQUNyQixNQUFNRSxlQUFlO0FBQ3JCLE1BQU1KLHVCQUF1QjtBQUM3QixNQUFNQyx1QkFBdUI7QUFDN0IsTUFBTU0sd0JBQXdCLENBQUMsR0FBRyxDQUFDIn0=
|
|
@@ -9,9 +9,12 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _occamlanguages = require("occam-languages");
|
|
12
|
+
const _occamquery = require("occam-query");
|
|
12
13
|
const _verify = require("../../process/verify");
|
|
13
14
|
const _furtle = require("../../utilities/furtle");
|
|
14
15
|
const _json = require("../../utilities/json");
|
|
16
|
+
const { nodesQuery } = _occamquery.queryUtilities;
|
|
17
|
+
const procedureNodesQuery = nodesQuery("/document/procedure");
|
|
15
18
|
class FurtleFileContext extends _occamlanguages.FileContext {
|
|
16
19
|
constructor(context, fileContent, filePath, tokens, node, json, lexer, parser, procedures){
|
|
17
20
|
super(context, fileContent, filePath, tokens, node, json);
|
|
@@ -95,6 +98,15 @@ class FurtleFileContext extends _occamlanguages.FileContext {
|
|
|
95
98
|
const filePath = this.getFilePath();
|
|
96
99
|
this.debug(`Added the '${procedureString}' function to the '${filePath}' file context.`);
|
|
97
100
|
}
|
|
101
|
+
findProcedureNode(label) {
|
|
102
|
+
const node = this.getNode(), labelNode = label.getNode(), documentNode = node, procedureNodes = procedureNodesQuery(documentNode), procedureNode = procedureNodes.find((procedureNode)=>{
|
|
103
|
+
const labelMatches = procedureNode.matchLabelNode(labelNode);
|
|
104
|
+
if (labelMatches) {
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
}) || null;
|
|
108
|
+
return procedureNode;
|
|
109
|
+
}
|
|
98
110
|
findProcedureByProcedureName(procedureName) {
|
|
99
111
|
const procedures = this.getProcedures(), procedure = procedures.find((procedure)=>{
|
|
100
112
|
const procedureComparesToProcedureName = procedure.compareProcedureName(procedureName);
|
|
@@ -115,13 +127,12 @@ class FurtleFileContext extends _occamlanguages.FileContext {
|
|
|
115
127
|
///
|
|
116
128
|
}
|
|
117
129
|
initialise() {
|
|
130
|
+
super.initialise(); ///
|
|
118
131
|
const json = this.getJSON();
|
|
119
|
-
if (json
|
|
120
|
-
|
|
121
|
-
|
|
132
|
+
if (json !== null) {
|
|
133
|
+
const fileContext = this; ///
|
|
134
|
+
this.procedures = (0, _json.proceduresFromJSON)(json, fileContext);
|
|
122
135
|
}
|
|
123
|
-
const fileContext = this; ///
|
|
124
|
-
this.procedures = (0, _json.proceduresFromJSON)(json, fileContext);
|
|
125
136
|
}
|
|
126
137
|
async verifyFile() {
|
|
127
138
|
const node = this.getNode(), context = this, fileNode = node, fileVerifies = (0, _verify.verifyFile)(fileNode, context);
|
|
@@ -145,4 +156,4 @@ class FurtleFileContext extends _occamlanguages.FileContext {
|
|
|
145
156
|
}
|
|
146
157
|
}
|
|
147
158
|
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L2ZpbGUvZnVydGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBGaWxlQ29udGV4dCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IHsgdmVyaWZ5RmlsZSB9IGZyb20gXCIuLi8uLi9wcm9jZXNzL3ZlcmlmeVwiO1xuaW1wb3J0IHsgZnVydGxlTGV4ZXIsIGZ1cnRsZVBhcnNlciB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvZnVydGxlXCI7XG5pbXBvcnQgeyBwcm9jZWR1cmVzRnJvbUpTT04sIHByb2NlZHVyZXNUb1Byb2NlZHVyZXNKU09OIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9qc29uXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZ1cnRsZUZpbGVDb250ZXh0IGV4dGVuZHMgRmlsZUNvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBmaWxlQ29udGVudCwgZmlsZVBhdGgsIHRva2Vucywgbm9kZSwganNvbiwgbGV4ZXIsIHBhcnNlciwgcHJvY2VkdXJlcykge1xuICAgIHN1cGVyKGNvbnRleHQsIGZpbGVDb250ZW50LCBmaWxlUGF0aCwgdG9rZW5zLCBub2RlLCBqc29uKTtcblxuICAgIHRoaXMubGV4ZXIgPSBsZXhlcjtcbiAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcbiAgICB0aGlzLnByb2NlZHVyZXMgPSBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0TGV4ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMubGV4ZXI7XG4gIH1cblxuICBnZXRQYXJzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyO1xuICB9XG5cbiAgZ2V0TGFiZWxzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxhYmVscyA9IFtdO1xuXG4gICAgcmV0dXJuIGxhYmVscztcbiAgfVxuXG4gIGdldFR5cGVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHR5cGVzID0gW107XG5cbiAgICByZXR1cm4gdHlwZXM7XG4gIH1cblxuICBnZXRSdWxlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBydWxlcyA9IFtdXG5cbiAgICByZXR1cm4gcnVsZXM7XG4gIH1cblxuICBnZXRBeGlvbXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgYXhpb21zID0gW107XG5cbiAgICByZXR1cm4gYXhpb21zO1xuICB9XG5cbiAgZ2V0TGVtbWFzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxlbW1hcyA9IFtdO1xuXG4gICAgcmV0dXJuIGxlbW1hcztcbiAgfVxuXG4gIGdldFRoZW9yZW1zKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHRoZW9yZW1zID0gW107XG5cbiAgICByZXR1cm4gdGhlb3JlbXM7XG4gIH1cblxuICBnZXRNZXRhTGVtbWFzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IG1ldGFMZW1tYXMgPSBbXTtcblxuICAgIHJldHVybiBtZXRhTGVtbWFzO1xuICB9XG5cbiAgZ2V0R2VuZXJhdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBnZW5lcmF0b3JzID0gW107XG5cbiAgICByZXR1cm4gZ2VuZXJhdG9ycztcbiAgfVxuXG4gIGdldENvbmplY3R1cmVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGNvbmplY3R1cmVzID0gW107XG5cbiAgICByZXR1cm4gY29uamVjdHVyZXM7XG4gIH1cblxuICBnZXRDb21iaW5hdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBjb21iaW5hdG9ycyA9IFtdO1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3JzO1xuICB9XG5cbiAgZ2V0VHlwZVByZWZpeGVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHR5cGVQcmVmaXhlcyA9IFtdO1xuXG4gICAgcmV0dXJuIHR5cGVQcmVmaXhlcztcbiAgfVxuXG4gIGdldENvbnN0cnVjdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBbXTtcblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcnM7XG4gIH1cblxuICBnZXRNZXRhdGhlb3JlbXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgbWV0YXRoZW9yZW1zID0gW107XG5cbiAgICByZXR1cm4gbWV0YXRoZW9yZW1zO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVzID0gW107XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlcztcbiAgfVxuXG4gIGdldFByb2NlZHVyZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlcyA9IGluY2x1ZGVSZWxlYXNlID9cbiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuZ2V0UHJvY2VkdXJlcygpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2VkdXJlcztcblxuICAgIHJldHVybiBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0VmFyaWFibGVzKG5lc3RlZCA9IHRydWUpIHtcbiAgICBjb25zdCB2YXJpYWJsZXMgPSBbXTtcblxuICAgIHJldHVybiB2YXJpYWJsZXM7XG4gIH1cblxuICBhZGRQcm9jZWR1cmUocHJvY2VkdXJlKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlU3RyaW5nID0gcHJvY2VkdXJlLmdldFN0cmluZygpO1xuXG4gICAgdGhpcy5wcm9jZWR1cmVzLnB1c2gocHJvY2VkdXJlKTtcblxuICAgIGNvbnN0IGZpbGVQYXRoID0gdGhpcy5nZXRGaWxlUGF0aCgpO1xuXG4gICAgdGhpcy5kZWJ1ZyhgQWRkZWQgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uIHRvIHRoZSAnJHtmaWxlUGF0aH0nIGZpbGUgY29udGV4dC5gKTtcbiAgfVxuXG4gIGZpbmRQcm9jZWR1cmVCeVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSkge1xuICAgIGNvbnN0IHByb2NlZHVyZXMgPSB0aGlzLmdldFByb2NlZHVyZXMoKSxcbiAgICAgICAgICBwcm9jZWR1cmUgPSBwcm9jZWR1cmVzLmZpbmQoKHByb2NlZHVyZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvY2VkdXJlQ29tcGFyZXNUb1Byb2NlZHVyZU5hbWUgPSBwcm9jZWR1cmUuY29tcGFyZVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSk7XG5cbiAgICAgICAgICAgIGlmIChwcm9jZWR1cmVDb21wYXJlc1RvUHJvY2VkdXJlTmFtZSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZTtcbiAgfVxuXG4gIGlzUHJvY2VkdXJlUHJlc2VudEJ5UHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlID0gdGhpcy5maW5kUHJvY2VkdXJlQnlQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpLFxuICAgICAgICAgIHByb2NlZHVyZVByZXNlbnQgPSAocHJvY2VkdXJlICE9PSBudWxsKTtcblxuICAgIHJldHVybiBwcm9jZWR1cmVQcmVzZW50O1xuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5wcm9jZWR1cmVzID0gW107XG4gIH1cblxuICBjb21wbGV0ZSgpIHtcbiAgICAvLy9cbiAgfVxuXG4gIGluaXRpYWxpc2UoKSB7XG4gICAgY29uc3QganNvbiA9IHRoaXMuZ2V0SlNPTigpO1xuXG4gICAgaWYgKGpzb24gPT09IG51bGwpIHtcbiAgICAgIHN1cGVyLmluaXRpYWxpc2UoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGVDb250ZXh0ID0gdGhpczsgLy8vXG5cbiAgICB0aGlzLnByb2NlZHVyZXMgPSBwcm9jZWR1cmVzRnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpO1xuICB9XG5cbiAgYXN5bmMgdmVyaWZ5RmlsZSgpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5nZXROb2RlKCksXG4gICAgICAgICAgY29udGV4dCA9IHRoaXMsIC8vL1xuICAgICAgICAgIGZpbGVOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIGZpbGVWZXJpZmllcyA9IHZlcmlmeUZpbGUoZmlsZU5vZGUsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGZpbGVWZXJpZmllcztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVzSlNPTiA9IHByb2NlZHVyZXNUb1Byb2NlZHVyZXNKU09OKHRoaXMucHJvY2VkdXJlcyksXG4gICAgICAgICAgZmlsZUNvbnRlbnQgPSB0aGlzLmdldEZpbGVDb250ZW50KCksXG4gICAgICAgICAgZmlsZVBhdGggPSB0aGlzLmdldEZpbGVQYXRoKCksXG4gICAgICAgICAgcHJvY2VkdXJlcyA9IHByb2NlZHVyZXNKU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGZpbGVDb250ZW50LFxuICAgICAgICAgICAgZmlsZVBhdGgsXG4gICAgICAgICAgICBwcm9jZWR1cmVzXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21GaWxlKGZpbGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBsZXhlciA9IGZ1cnRsZUxleGVyLCAgLy8vXG4gICAgICAgICAgcGFyc2VyID0gZnVydGxlUGFyc2VyLCAgLy8vXG4gICAgICAgICAgcHJvY2VkdXJlcyA9IFtdLFxuICAgICAgICAgIGZ1cnRsZUZpbGVDb250ZXh0ID0gRmlsZUNvbnRleHQuZnJvbUZpbGUoRnVydGxlRmlsZUNvbnRleHQsIGZpbGUsIGxleGVyLCBwYXJzZXIsIHByb2NlZHVyZXMsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGZ1cnRsZUZpbGVDb250ZXh0O1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgICBjb25zdCBsZXhlciA9IGZ1cnRsZUxleGVyLCAgLy8vXG4gICAgICAgICAgcGFyc2VyID0gZnVydGxlUGFyc2VyLCAgLy8vXG4gICAgICAgICAgcHJvY2VkdXJlcyA9IG51bGwsXG4gICAgICAgICAgZnVydGxlRmlsZUNvbnRleHQgPSBGaWxlQ29udGV4dC5mcm9tSlNPTihGdXJ0bGVGaWxlQ29udGV4dCwganNvbiwgbGV4ZXIsIHBhcnNlciwgcHJvY2VkdXJlcywgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZnVydGxlRmlsZUNvbnRleHQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJGdXJ0bGVGaWxlQ29udGV4dCIsIkZpbGVDb250ZXh0IiwiY29udGV4dCIsImZpbGVDb250ZW50IiwiZmlsZVBhdGgiLCJ0b2tlbnMiLCJub2RlIiwianNvbiIsImxleGVyIiwicGFyc2VyIiwicHJvY2VkdXJlcyIsImdldExleGVyIiwiZ2V0UGFyc2VyIiwiZ2V0TGFiZWxzIiwiaW5jbHVkZVJlbGVhc2UiLCJsYWJlbHMiLCJnZXRUeXBlcyIsInR5cGVzIiwiZ2V0UnVsZXMiLCJydWxlcyIsImdldEF4aW9tcyIsImF4aW9tcyIsImdldExlbW1hcyIsImxlbW1hcyIsImdldFRoZW9yZW1zIiwidGhlb3JlbXMiLCJnZXRNZXRhTGVtbWFzIiwibWV0YUxlbW1hcyIsImdldEdlbmVyYXRvcnMiLCJnZW5lcmF0b3JzIiwiZ2V0Q29uamVjdHVyZXMiLCJjb25qZWN0dXJlcyIsImdldENvbWJpbmF0b3JzIiwiY29tYmluYXRvcnMiLCJnZXRUeXBlUHJlZml4ZXMiLCJ0eXBlUHJlZml4ZXMiLCJnZXRDb25zdHJ1Y3RvcnMiLCJjb25zdHJ1Y3RvcnMiLCJnZXRNZXRhdGhlb3JlbXMiLCJtZXRhdGhlb3JlbXMiLCJnZXRNZXRhdmFyaWFibGVzIiwibWV0YXZhcmlhYmxlcyIsImdldFByb2NlZHVyZXMiLCJnZXRWYXJpYWJsZXMiLCJuZXN0ZWQiLCJ2YXJpYWJsZXMiLCJhZGRQcm9jZWR1cmUiLCJwcm9jZWR1cmUiLCJwcm9jZWR1cmVTdHJpbmciLCJnZXRTdHJpbmciLCJwdXNoIiwiZ2V0RmlsZVBhdGgiLCJkZWJ1ZyIsImZpbmRQcm9jZWR1cmVCeVByb2NlZHVyZU5hbWUiLCJwcm9jZWR1cmVOYW1lIiwiZmluZCIsInByb2NlZHVyZUNvbXBhcmVzVG9Qcm9jZWR1cmVOYW1lIiwiY29tcGFyZVByb2NlZHVyZU5hbWUiLCJpc1Byb2NlZHVyZVByZXNlbnRCeVByb2NlZHVyZU5hbWUiLCJwcm9jZWR1cmVQcmVzZW50IiwiY2xlYXIiLCJjb21wbGV0ZSIsImluaXRpYWxpc2UiLCJnZXRKU09OIiwiZmlsZUNvbnRleHQiLCJwcm9jZWR1cmVzRnJvbUpTT04iLCJ2ZXJpZnlGaWxlIiwiZ2V0Tm9kZSIsImZpbGVOb2RlIiwiZmlsZVZlcmlmaWVzIiwidG9KU09OIiwicHJvY2VkdXJlc0pTT04iLCJwcm9jZWR1cmVzVG9Qcm9jZWR1cmVzSlNPTiIsImdldEZpbGVDb250ZW50IiwiZnJvbUZpbGUiLCJmaWxlIiwiZnVydGxlTGV4ZXIiLCJmdXJ0bGVQYXJzZXIiLCJmdXJ0bGVGaWxlQ29udGV4dCIsImZyb21KU09OIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXFCQTs7O2dDQU5PO3dCQUVEO3dCQUNlO3NCQUNxQjtBQUVoRCxNQUFNQSwwQkFBMEJDLDJCQUFXO0lBQ3hELFlBQVlDLE9BQU8sRUFBRUMsV0FBVyxFQUFFQyxRQUFRLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLEtBQUssRUFBRUMsTUFBTSxFQUFFQyxVQUFVLENBQUU7UUFDekYsS0FBSyxDQUFDUixTQUFTQyxhQUFhQyxVQUFVQyxRQUFRQyxNQUFNQztRQUVwRCxJQUFJLENBQUNDLEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLE1BQU0sR0FB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
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L2ZpbGUvZnVydGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBGaWxlQ29udGV4dCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcbmltcG9ydCB7IHF1ZXJ5VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5cbmltcG9ydCB7IHZlcmlmeUZpbGUgfSBmcm9tIFwiLi4vLi4vcHJvY2Vzcy92ZXJpZnlcIjtcbmltcG9ydCB7IGZ1cnRsZUxleGVyLCBmdXJ0bGVQYXJzZXIgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2Z1cnRsZVwiO1xuaW1wb3J0IHsgcHJvY2VkdXJlc0Zyb21KU09OLCBwcm9jZWR1cmVzVG9Qcm9jZWR1cmVzSlNPTiB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvanNvblwiO1xuXG5jb25zdCB7IG5vZGVzUXVlcnkgfSA9IHF1ZXJ5VXRpbGl0aWVzO1xuXG5jb25zdCBwcm9jZWR1cmVOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9kb2N1bWVudC9wcm9jZWR1cmVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZ1cnRsZUZpbGVDb250ZXh0IGV4dGVuZHMgRmlsZUNvbnRleHQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBmaWxlQ29udGVudCwgZmlsZVBhdGgsIHRva2Vucywgbm9kZSwganNvbiwgbGV4ZXIsIHBhcnNlciwgcHJvY2VkdXJlcykge1xuICAgIHN1cGVyKGNvbnRleHQsIGZpbGVDb250ZW50LCBmaWxlUGF0aCwgdG9rZW5zLCBub2RlLCBqc29uKTtcblxuICAgIHRoaXMubGV4ZXIgPSBsZXhlcjtcbiAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcbiAgICB0aGlzLnByb2NlZHVyZXMgPSBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0TGV4ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMubGV4ZXI7XG4gIH1cblxuICBnZXRQYXJzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyO1xuICB9XG5cbiAgZ2V0TGFiZWxzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxhYmVscyA9IFtdO1xuXG4gICAgcmV0dXJuIGxhYmVscztcbiAgfVxuXG4gIGdldFR5cGVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHR5cGVzID0gW107XG5cbiAgICByZXR1cm4gdHlwZXM7XG4gIH1cblxuICBnZXRSdWxlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBydWxlcyA9IFtdXG5cbiAgICByZXR1cm4gcnVsZXM7XG4gIH1cblxuICBnZXRBeGlvbXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgYXhpb21zID0gW107XG5cbiAgICByZXR1cm4gYXhpb21zO1xuICB9XG5cbiAgZ2V0TGVtbWFzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGxlbW1hcyA9IFtdO1xuXG4gICAgcmV0dXJuIGxlbW1hcztcbiAgfVxuXG4gIGdldFRoZW9yZW1zKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHRoZW9yZW1zID0gW107XG5cbiAgICByZXR1cm4gdGhlb3JlbXM7XG4gIH1cblxuICBnZXRNZXRhTGVtbWFzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IG1ldGFMZW1tYXMgPSBbXTtcblxuICAgIHJldHVybiBtZXRhTGVtbWFzO1xuICB9XG5cbiAgZ2V0R2VuZXJhdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBnZW5lcmF0b3JzID0gW107XG5cbiAgICByZXR1cm4gZ2VuZXJhdG9ycztcbiAgfVxuXG4gIGdldENvbmplY3R1cmVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IGNvbmplY3R1cmVzID0gW107XG5cbiAgICByZXR1cm4gY29uamVjdHVyZXM7XG4gIH1cblxuICBnZXRDb21iaW5hdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBjb21iaW5hdG9ycyA9IFtdO1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3JzO1xuICB9XG5cbiAgZ2V0VHlwZVByZWZpeGVzKGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSkge1xuICAgIGNvbnN0IHR5cGVQcmVmaXhlcyA9IFtdO1xuXG4gICAgcmV0dXJuIHR5cGVQcmVmaXhlcztcbiAgfVxuXG4gIGdldENvbnN0cnVjdG9ycyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBbXTtcblxuICAgIHJldHVybiBjb25zdHJ1Y3RvcnM7XG4gIH1cblxuICBnZXRNZXRhdGhlb3JlbXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgbWV0YXRoZW9yZW1zID0gW107XG5cbiAgICByZXR1cm4gbWV0YXRoZW9yZW1zO1xuICB9XG5cbiAgZ2V0TWV0YXZhcmlhYmxlcyhpbmNsdWRlUmVsZWFzZSA9IHRydWUpIHtcbiAgICBjb25zdCBtZXRhdmFyaWFibGVzID0gW107XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlcztcbiAgfVxuXG4gIGdldFByb2NlZHVyZXMoaW5jbHVkZVJlbGVhc2UgPSB0cnVlKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlcyA9IGluY2x1ZGVSZWxlYXNlID9cbiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuZ2V0UHJvY2VkdXJlcygpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2VkdXJlcztcblxuICAgIHJldHVybiBwcm9jZWR1cmVzO1xuICB9XG5cbiAgZ2V0VmFyaWFibGVzKG5lc3RlZCA9IHRydWUpIHtcbiAgICBjb25zdCB2YXJpYWJsZXMgPSBbXTtcblxuICAgIHJldHVybiB2YXJpYWJsZXM7XG4gIH1cblxuICBhZGRQcm9jZWR1cmUocHJvY2VkdXJlKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlU3RyaW5nID0gcHJvY2VkdXJlLmdldFN0cmluZygpO1xuXG4gICAgdGhpcy5wcm9jZWR1cmVzLnB1c2gocHJvY2VkdXJlKTtcblxuICAgIGNvbnN0IGZpbGVQYXRoID0gdGhpcy5nZXRGaWxlUGF0aCgpO1xuXG4gICAgdGhpcy5kZWJ1ZyhgQWRkZWQgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uIHRvIHRoZSAnJHtmaWxlUGF0aH0nIGZpbGUgY29udGV4dC5gKTtcbiAgfVxuXG4gIGZpbmRQcm9jZWR1cmVOb2RlKGxhYmVsKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Tm9kZSgpLFxuICAgICAgICAgIGxhYmVsTm9kZSA9IGxhYmVsLmdldE5vZGUoKSxcbiAgICAgICAgICBkb2N1bWVudE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgcHJvY2VkdXJlTm9kZXMgPSBwcm9jZWR1cmVOb2Rlc1F1ZXJ5KGRvY3VtZW50Tm9kZSksXG4gICAgICAgICAgcHJvY2VkdXJlTm9kZSA9IHByb2NlZHVyZU5vZGVzLmZpbmQoKHByb2NlZHVyZU5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsTWF0Y2hlcyA9IHByb2NlZHVyZU5vZGUubWF0Y2hMYWJlbE5vZGUobGFiZWxOb2RlKTtcblxuICAgICAgICAgICAgaWYgKGxhYmVsTWF0Y2hlcykge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZU5vZGU7XG4gIH1cblxuICBmaW5kUHJvY2VkdXJlQnlQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVzID0gdGhpcy5nZXRQcm9jZWR1cmVzKCksXG4gICAgICAgICAgcHJvY2VkdXJlID0gcHJvY2VkdXJlcy5maW5kKChwcm9jZWR1cmUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb2NlZHVyZUNvbXBhcmVzVG9Qcm9jZWR1cmVOYW1lID0gcHJvY2VkdXJlLmNvbXBhcmVQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpO1xuXG4gICAgICAgICAgICBpZiAocHJvY2VkdXJlQ29tcGFyZXNUb1Byb2NlZHVyZU5hbWUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiBwcm9jZWR1cmU7XG4gIH1cblxuICBpc1Byb2NlZHVyZVByZXNlbnRCeVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSkge1xuICAgIGNvbnN0IHByb2NlZHVyZSA9IHRoaXMuZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKSxcbiAgICAgICAgICBwcm9jZWR1cmVQcmVzZW50ID0gKHByb2NlZHVyZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlUHJlc2VudDtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMucHJvY2VkdXJlcyA9IFtdO1xuICB9XG5cbiAgY29tcGxldGUoKSB7XG4gICAgLy8vXG4gIH1cblxuICBpbml0aWFsaXNlKCkge1xuICAgIHN1cGVyLmluaXRpYWxpc2UoKTsgLy8vXG5cbiAgICBjb25zdCBqc29uID0gdGhpcy5nZXRKU09OKCk7XG5cbiAgICBpZiAoanNvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgZmlsZUNvbnRleHQgPSB0aGlzOyAvLy9cblxuICAgICAgdGhpcy5wcm9jZWR1cmVzID0gcHJvY2VkdXJlc0Zyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KTtcbiAgICB9XG4gIH1cblxuICBhc3luYyB2ZXJpZnlGaWxlKCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUoKSxcbiAgICAgICAgICBjb250ZXh0ID0gdGhpcywgLy8vXG4gICAgICAgICAgZmlsZU5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgZmlsZVZlcmlmaWVzID0gdmVyaWZ5RmlsZShmaWxlTm9kZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZmlsZVZlcmlmaWVzO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHByb2NlZHVyZXNKU09OID0gcHJvY2VkdXJlc1RvUHJvY2VkdXJlc0pTT04odGhpcy5wcm9jZWR1cmVzKSxcbiAgICAgICAgICBmaWxlQ29udGVudCA9IHRoaXMuZ2V0RmlsZUNvbnRlbnQoKSxcbiAgICAgICAgICBmaWxlUGF0aCA9IHRoaXMuZ2V0RmlsZVBhdGgoKSxcbiAgICAgICAgICBwcm9jZWR1cmVzID0gcHJvY2VkdXJlc0pTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgZmlsZUNvbnRlbnQsXG4gICAgICAgICAgICBmaWxlUGF0aCxcbiAgICAgICAgICAgIHByb2NlZHVyZXNcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUZpbGUoZmlsZSwgY29udGV4dCkge1xuICAgIGNvbnN0IGxleGVyID0gZnVydGxlTGV4ZXIsICAvLy9cbiAgICAgICAgICBwYXJzZXIgPSBmdXJ0bGVQYXJzZXIsICAvLy9cbiAgICAgICAgICBwcm9jZWR1cmVzID0gW10sXG4gICAgICAgICAgZnVydGxlRmlsZUNvbnRleHQgPSBGaWxlQ29udGV4dC5mcm9tRmlsZShGdXJ0bGVGaWxlQ29udGV4dCwgZmlsZSwgbGV4ZXIsIHBhcnNlciwgcHJvY2VkdXJlcywgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZnVydGxlRmlsZUNvbnRleHQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICAgIGNvbnN0IGxleGVyID0gZnVydGxlTGV4ZXIsICAvLy9cbiAgICAgICAgICBwYXJzZXIgPSBmdXJ0bGVQYXJzZXIsICAvLy9cbiAgICAgICAgICBwcm9jZWR1cmVzID0gbnVsbCxcbiAgICAgICAgICBmdXJ0bGVGaWxlQ29udGV4dCA9IEZpbGVDb250ZXh0LmZyb21KU09OKEZ1cnRsZUZpbGVDb250ZXh0LCBqc29uLCBsZXhlciwgcGFyc2VyLCBwcm9jZWR1cmVzLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBmdXJ0bGVGaWxlQ29udGV4dDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkZ1cnRsZUZpbGVDb250ZXh0Iiwibm9kZXNRdWVyeSIsInF1ZXJ5VXRpbGl0aWVzIiwicHJvY2VkdXJlTm9kZXNRdWVyeSIsIkZpbGVDb250ZXh0IiwiY29udGV4dCIsImZpbGVDb250ZW50IiwiZmlsZVBhdGgiLCJ0b2tlbnMiLCJub2RlIiwianNvbiIsImxleGVyIiwicGFyc2VyIiwicHJvY2VkdXJlcyIsImdldExleGVyIiwiZ2V0UGFyc2VyIiwiZ2V0TGFiZWxzIiwiaW5jbHVkZVJlbGVhc2UiLCJsYWJlbHMiLCJnZXRUeXBlcyIsInR5cGVzIiwiZ2V0UnVsZXMiLCJydWxlcyIsImdldEF4aW9tcyIsImF4aW9tcyIsImdldExlbW1hcyIsImxlbW1hcyIsImdldFRoZW9yZW1zIiwidGhlb3JlbXMiLCJnZXRNZXRhTGVtbWFzIiwibWV0YUxlbW1hcyIsImdldEdlbmVyYXRvcnMiLCJnZW5lcmF0b3JzIiwiZ2V0Q29uamVjdHVyZXMiLCJjb25qZWN0dXJlcyIsImdldENvbWJpbmF0b3JzIiwiY29tYmluYXRvcnMiLCJnZXRUeXBlUHJlZml4ZXMiLCJ0eXBlUHJlZml4ZXMiLCJnZXRDb25zdHJ1Y3RvcnMiLCJjb25zdHJ1Y3RvcnMiLCJnZXRNZXRhdGhlb3JlbXMiLCJtZXRhdGhlb3JlbXMiLCJnZXRNZXRhdmFyaWFibGVzIiwibWV0YXZhcmlhYmxlcyIsImdldFByb2NlZHVyZXMiLCJnZXRWYXJpYWJsZXMiLCJuZXN0ZWQiLCJ2YXJpYWJsZXMiLCJhZGRQcm9jZWR1cmUiLCJwcm9jZWR1cmUiLCJwcm9jZWR1cmVTdHJpbmciLCJnZXRTdHJpbmciLCJwdXNoIiwiZ2V0RmlsZVBhdGgiLCJkZWJ1ZyIsImZpbmRQcm9jZWR1cmVOb2RlIiwibGFiZWwiLCJnZXROb2RlIiwibGFiZWxOb2RlIiwiZG9jdW1lbnROb2RlIiwicHJvY2VkdXJlTm9kZXMiLCJwcm9jZWR1cmVOb2RlIiwiZmluZCIsImxhYmVsTWF0Y2hlcyIsIm1hdGNoTGFiZWxOb2RlIiwiZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZSIsInByb2NlZHVyZU5hbWUiLCJwcm9jZWR1cmVDb21wYXJlc1RvUHJvY2VkdXJlTmFtZSIsImNvbXBhcmVQcm9jZWR1cmVOYW1lIiwiaXNQcm9jZWR1cmVQcmVzZW50QnlQcm9jZWR1cmVOYW1lIiwicHJvY2VkdXJlUHJlc2VudCIsImNsZWFyIiwiY29tcGxldGUiLCJpbml0aWFsaXNlIiwiZ2V0SlNPTiIsImZpbGVDb250ZXh0IiwicHJvY2VkdXJlc0Zyb21KU09OIiwidmVyaWZ5RmlsZSIsImZpbGVOb2RlIiwiZmlsZVZlcmlmaWVzIiwidG9KU09OIiwicHJvY2VkdXJlc0pTT04iLCJwcm9jZWR1cmVzVG9Qcm9jZWR1cmVzSlNPTiIsImdldEZpbGVDb250ZW50IiwiZnJvbUZpbGUiLCJmaWxlIiwiZnVydGxlTGV4ZXIiLCJmdXJ0bGVQYXJzZXIiLCJmdXJ0bGVGaWxlQ29udGV4dCIsImZyb21KU09OIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFhQTs7O2VBQXFCQTs7O2dDQVhPOzRCQUNHO3dCQUVKO3dCQUNlO3NCQUNxQjtBQUUvRCxNQUFNLEVBQUVDLFVBQVUsRUFBRSxHQUFHQywwQkFBYztBQUVyQyxNQUFNQyxzQkFBc0JGLFdBQVc7QUFFeEIsTUFBTUQsMEJBQTBCSSwyQkFBVztJQUN4RCxZQUFZQyxPQUFPLEVBQUVDLFdBQVcsRUFBRUMsUUFBUSxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLE1BQU0sRUFBRUMsVUFBVSxDQUFFO1FBQ3pGLEtBQUssQ0FBQ1IsU0FBU0MsYUFBYUMsVUFBVUMsUUFBUUMsTUFBTUM7UUFFcEQsSUFBSSxDQUFDQyxLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxVQUFVLEdB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
|
package/lib/element/label.js
CHANGED
|
@@ -10,6 +10,9 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
const _occamlanguages = require("occam-languages");
|
|
12
12
|
const _elements = require("../elements");
|
|
13
|
+
const _context = require("../utilities/context");
|
|
14
|
+
const _instantiate = require("../process/instantiate");
|
|
15
|
+
const _element = require("../utilities/element");
|
|
13
16
|
const { breakPointToBreakPointJSON } = _occamlanguages.breakPointUtilities;
|
|
14
17
|
const _default = (0, _elements.define)(class Label extends _occamlanguages.Element {
|
|
15
18
|
constructor(context, string, node, breakPoint, name){
|
|
@@ -37,8 +40,13 @@ const _default = (0, _elements.define)(class Label extends _occamlanguages.Eleme
|
|
|
37
40
|
}
|
|
38
41
|
static name = "Label";
|
|
39
42
|
static fromJSON(json, context) {
|
|
40
|
-
|
|
43
|
+
return (0, _context.instantiate)((context)=>{
|
|
44
|
+
const { string } = json, labelNode = (0, _instantiate.instantiateLabel)(string, context), node = labelNode, breakPoint = null, name = (0, _element.nameFromLabelNode)(labelNode, context);
|
|
45
|
+
context = null;
|
|
46
|
+
const label = new Label(context, string, node, breakPoint, name);
|
|
47
|
+
return label;
|
|
48
|
+
}, context);
|
|
41
49
|
}
|
|
42
50
|
});
|
|
43
51
|
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2xhYmVsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IGluc3RhbnRpYXRlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250ZXh0XCI7XG5pbXBvcnQgeyBpbnN0YW50aWF0ZUxhYmVsIH0gZnJvbSBcIi4uL3Byb2Nlc3MvaW5zdGFudGlhdGVcIjtcbmltcG9ydCB7IG5hbWVGcm9tTGFiZWxOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9lbGVtZW50XCI7XG5cbmNvbnN0IHsgYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04gfSA9IGJyZWFrUG9pbnRVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBMYWJlbCBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIG5hbWUpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgfVxuXG4gIGdldE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIGNvbXBhcmVQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVOYW1lQ29tcGFyZXMgPSAodGhpcy5uYW1lID09PSBwcm9jZWR1cmVOYW1lKTtcblxuICAgIHJldHVybiBwcm9jZWR1cmVOYW1lQ29tcGFyZXM7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3Qgc3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTtcblxuICAgIGxldCBicmVha1BvaW50O1xuXG4gICAgYnJlYWtQb2ludCA9IHRoaXMuZ2V0QnJlYWtQb2ludCgpO1xuXG4gICAgY29uc3QgYnJlYWtQb2ludEpTT04gPSBicmVha1BvaW50VG9CcmVha1BvaW50SlNPTihicmVha1BvaW50KTtcblxuICAgIGJyZWFrUG9pbnQgPSBicmVha1BvaW50SlNPTjsgIC8vL1xuXG4gICAgY29uc3QganNvbiA9IHtcbiAgICAgIHN0cmluZyxcbiAgICAgIGJyZWFrUG9pbnRcbiAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiTGFiZWxcIjtcblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICAgIHJldHVybiBpbnN0YW50aWF0ZSgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgeyBzdHJpbmcgfSA9IGpzb24sXG4gICAgICAgICAgICBsYWJlbE5vZGUgPSBpbnN0YW50aWF0ZUxhYmVsKHN0cmluZywgY29udGV4dCksXG4gICAgICAgICAgICBub2RlID0gbGFiZWxOb2RlLCAgLy8vXG4gICAgICAgICAgICBicmVha1BvaW50ID0gbnVsbCxcbiAgICAgICAgICAgIG5hbWUgPSBuYW1lRnJvbUxhYmVsTm9kZShsYWJlbE5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgICAgY29uc3QgbGFiZWwgPSBuZXcgTGFiZWwoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCBuYW1lKTtcblxuICAgICAgcmV0dXJuIGxhYmVsO1xuICAgIH0sIGNvbnRleHQpO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJicmVha1BvaW50VG9CcmVha1BvaW50SlNPTiIsImJyZWFrUG9pbnRVdGlsaXRpZXMiLCJkZWZpbmUiLCJMYWJlbCIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJuYW1lIiwiZ2V0TmFtZSIsImNvbXBhcmVQcm9jZWR1cmVOYW1lIiwicHJvY2VkdXJlTmFtZSIsInByb2NlZHVyZU5hbWVDb21wYXJlcyIsInRvSlNPTiIsImdldFN0cmluZyIsImdldEJyZWFrUG9pbnQiLCJicmVha1BvaW50SlNPTiIsImpzb24iLCJmcm9tSlNPTiIsImluc3RhbnRpYXRlIiwibGFiZWxOb2RlIiwiaW5zdGFudGlhdGVMYWJlbCIsIm5hbWVGcm9tTGFiZWxOb2RlIiwibGFiZWwiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVdBOzs7ZUFBQTs7O2dDQVQ2QzswQkFFdEI7eUJBQ0s7NkJBQ0s7eUJBQ0M7QUFFbEMsTUFBTSxFQUFFQSwwQkFBMEIsRUFBRSxHQUFHQyxtQ0FBbUI7TUFFMUQsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxjQUFjQyx1QkFBTztJQUMvQyxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLElBQUksQ0FBRTtRQUNuRCxLQUFLLENBQUNKLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtJQUNkO0lBRUFDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0QsSUFBSTtJQUNsQjtJQUVBRSxxQkFBcUJDLGFBQWEsRUFBRTtRQUNsQyxNQUFNQyx3QkFBeUIsSUFBSSxDQUFDSixJQUFJLEtBQUtHO1FBRTdDLE9BQU9DO0lBQ1Q7SUFFQUMsU0FBUztRQUNQLE1BQU1SLFNBQVMsSUFBSSxDQUFDUyxTQUFTO1FBRTdCLElBQUlQO1FBRUpBLGFBQWEsSUFBSSxDQUFDUSxhQUFhO1FBRS9CLE1BQU1DLGlCQUFpQmpCLDJCQUEyQlE7UUFFbERBLGFBQWFTLGdCQUFpQixHQUFHO1FBRWpDLE1BQU1DLE9BQU87WUFDWFo7WUFDQUU7UUFDRjtRQUVBLE9BQU9VO0lBQ1Q7SUFFQSxPQUFPVCxPQUFPLFFBQVE7SUFFdEIsT0FBT1UsU0FBU0QsSUFBSSxFQUFFYixPQUFPLEVBQUU7UUFDN0IsT0FBT2UsSUFBQUEsb0JBQVcsRUFBQyxDQUFDZjtZQUNsQixNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHWSxNQUNiRyxZQUFZQyxJQUFBQSw2QkFBZ0IsRUFBQ2hCLFFBQVFELFVBQ3JDRSxPQUFPYyxXQUNQYixhQUFhLE1BQ2JDLE9BQU9jLElBQUFBLDBCQUFpQixFQUFDRixXQUFXaEI7WUFFMUNBLFVBQVU7WUFFVixNQUFNbUIsUUFBUSxJQUFJckIsTUFBTUUsU0FBU0MsUUFBUUMsTUFBTUMsWUFBWUM7WUFFM0QsT0FBT2U7UUFDVCxHQUFHbkI7SUFDTDtBQUNGIn0=
|
|
@@ -11,6 +11,9 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
const _occamlanguages = require("occam-languages");
|
|
12
12
|
const _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
|
|
13
13
|
const _elements = require("../elements");
|
|
14
|
+
const _context = require("../utilities/context");
|
|
15
|
+
const _instantiate = require("../process/instantiate");
|
|
16
|
+
const _element = require("../utilities/element");
|
|
14
17
|
function _interop_require_default(obj) {
|
|
15
18
|
return obj && obj.__esModule ? obj : {
|
|
16
19
|
default: obj
|
|
@@ -66,8 +69,13 @@ const _default = (0, _elements.define)(class Parameters extends _occamlanguages.
|
|
|
66
69
|
}
|
|
67
70
|
static name = "Parameters";
|
|
68
71
|
static fromJSON(json, context) {
|
|
69
|
-
|
|
72
|
+
return (0, _context.instantiate)((context)=>{
|
|
73
|
+
const { string } = json, parametersNode = (0, _instantiate.instantiateParameters)(string, context), node = parametersNode, breakPoint = null, parametersArray = (0, _element.parametersArrayFromParametersNode)(parametersNode, context), array = parametersArray; ///
|
|
74
|
+
context = null;
|
|
75
|
+
const parameters = new Parameters(context, string, node, breakPoint, array);
|
|
76
|
+
return parameters;
|
|
77
|
+
}, context);
|
|
70
78
|
}
|
|
71
79
|
});
|
|
72
80
|
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3BhcmFtZXRlcnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQsIGJyZWFrUG9pbnRVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IGluc3RhbnRpYXRlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250ZXh0XCI7XG5pbXBvcnQgeyBpbnN0YW50aWF0ZVBhcmFtZXRlcnMgfSBmcm9tIFwiLi4vcHJvY2Vzcy9pbnN0YW50aWF0ZVwiO1xuaW1wb3J0IHsgcGFyYW1ldGVyc0FycmF5RnJvbVBhcmFtZXRlcnNOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9lbGVtZW50XCI7XG5cbmNvbnN0IHsgYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04gfSA9IGJyZWFrUG9pbnRVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBQYXJhbWV0ZXJzIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgYXJyYXkpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5hcnJheSA9IGFycmF5O1xuICB9XG5cbiAgZ2V0QXJyYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJyYXk7XG4gIH1cblxuICBnZXRMZW5ndGgoKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5hcnJheS5sZW5ndGg7XG5cbiAgICByZXR1cm4gbGVuZ3RoO1xuICB9XG5cbiAgZ2V0UGFyYW1ldGVyKGluZGV4KSB7XG4gICAgY29uc3QgcGFyYW1ldGVyID0gdGhpcy5hcnJheVtpbmRleF0gfHwgbnVsbDtcblxuICAgIHJldHVybiBwYXJhbWV0ZXI7XG4gIH1cblxuICBmb3JFYWNoUGFyYW1ldGVyKGNhbGxiYWNrKSB7IHRoaXMuYXJyYXkuZm9yRWFjaChjYWxsYmFjayk7IH1cblxuICBjb21wYXJlVmFsdWVzKHZhbHVlcywgY29udGV4dCkge1xuICAgIGNvbnN0IHZhbHVlc1N0cmluZyA9IHZhbHVlcy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBwYXJhbWV0ZXJzU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBDb21wYXJpbmcgdGhlICcke3ZhbHVlc1N0cmluZ30nIHZhbHVlcyBhZ2FpbnN0IHRoZSAnJHtwYXJhbWV0ZXJzU3RyaW5nfScgcGFyYW1ldGVycy4uLmApO1xuXG4gICAgY29uc3QgdmFsdWVzTGVuZ3RoID0gdmFsdWVzLmdldExlbmd0aCgpLFxuICAgICAgICAgIHBhcmFtZXRlcnNMZW5ndGggPSB0aGlzLmdldExlbmd0aCgpO1xuXG4gICAgaWYgKHZhbHVlc0xlbmd0aCAhPT0gcGFyYW1ldGVyc0xlbmd0aCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVzU3RyaW5nfScgZXhwcmVzc2lvbnMgYW5kICcke3BhcmFtZXRlcnNTdHJpbmd9JyBwYXJhbWV0ZXJzIGFyZSBub3Qgb2YgdGhlIHNhbWUgbGVuZ3RoLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICB0aGlzLmZvckVhY2hQYXJhbWV0ZXIoKHBhcmFtZXRlciwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChwYXJhbWV0ZXIgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZXMuZ2V0VmFsdWUoaW5kZXgpO1xuXG4gICAgICAgIHBhcmFtZXRlci5jb21wYXJlVmFsdWUodmFsdWUsIGNvbnRleHQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uY29tcGFyZWQgdGhlICcke3ZhbHVlc1N0cmluZ30nIHZhbHVlcyBhZ2FpbnN0IHRoZSAnJHtwYXJhbWV0ZXJzU3RyaW5nfScgcGFyYW1ldGVycy5gKTtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBzdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgbGV0IGJyZWFrUG9pbnQ7XG5cbiAgICBicmVha1BvaW50ID0gdGhpcy5nZXRCcmVha1BvaW50KCk7XG5cbiAgICBjb25zdCBicmVha1BvaW50SlNPTiA9IGJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OKGJyZWFrUG9pbnQpO1xuXG4gICAgYnJlYWtQb2ludCA9IGJyZWFrUG9pbnRKU09OOyAgLy8vXG5cbiAgICBjb25zdCBqc29uID0ge1xuICAgICAgc3RyaW5nLFxuICAgICAgYnJlYWtQb2ludFxuICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJQYXJhbWV0ZXJzXCI7XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgICByZXR1cm4gaW5zdGFudGlhdGUoKGNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IHsgc3RyaW5nIH0gPSBqc29uLFxuICAgICAgICAgICAgcGFyYW1ldGVyc05vZGUgPSBpbnN0YW50aWF0ZVBhcmFtZXRlcnMoc3RyaW5nLCBjb250ZXh0KSxcbiAgICAgICAgICAgIG5vZGUgPSBwYXJhbWV0ZXJzTm9kZSwgIC8vL1xuICAgICAgICAgICAgYnJlYWtQb2ludCA9IG51bGwsXG4gICAgICAgICAgICBwYXJhbWV0ZXJzQXJyYXkgPSBwYXJhbWV0ZXJzQXJyYXlGcm9tUGFyYW1ldGVyc05vZGUocGFyYW1ldGVyc05vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgYXJyYXkgPSBwYXJhbWV0ZXJzQXJyYXk7IC8vL1xuXG4gICAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgICAgY29uc3QgcGFyYW1ldGVycyA9IG5ldyBQYXJhbWV0ZXJzKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgYXJyYXkpO1xuXG4gICAgICByZXR1cm4gcGFyYW1ldGVycztcbiAgICB9LCBjb250ZXh0KTtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04iLCJicmVha1BvaW50VXRpbGl0aWVzIiwiZGVmaW5lIiwiUGFyYW1ldGVycyIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJhcnJheSIsImdldEFycmF5IiwiZ2V0TGVuZ3RoIiwibGVuZ3RoIiwiZ2V0UGFyYW1ldGVyIiwiaW5kZXgiLCJwYXJhbWV0ZXIiLCJmb3JFYWNoUGFyYW1ldGVyIiwiY2FsbGJhY2siLCJmb3JFYWNoIiwiY29tcGFyZVZhbHVlcyIsInZhbHVlcyIsInZhbHVlc1N0cmluZyIsImdldFN0cmluZyIsInBhcmFtZXRlcnNTdHJpbmciLCJ0cmFjZSIsInZhbHVlc0xlbmd0aCIsInBhcmFtZXRlcnNMZW5ndGgiLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJ2YWx1ZSIsImdldFZhbHVlIiwiY29tcGFyZVZhbHVlIiwiZGVidWciLCJ0b0pTT04iLCJnZXRCcmVha1BvaW50IiwiYnJlYWtQb2ludEpTT04iLCJqc29uIiwibmFtZSIsImZyb21KU09OIiwiaW5zdGFudGlhdGUiLCJwYXJhbWV0ZXJzTm9kZSIsImluc3RhbnRpYXRlUGFyYW1ldGVycyIsInBhcmFtZXRlcnNBcnJheSIsInBhcmFtZXRlcnNBcnJheUZyb21QYXJhbWV0ZXJzTm9kZSIsInBhcmFtZXRlcnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWFBOzs7ZUFBQTs7O2dDQVg2QztrRUFFdkI7MEJBRUM7eUJBQ0s7NkJBQ1U7eUJBQ1k7Ozs7OztBQUVsRCxNQUFNLEVBQUVBLDBCQUEwQixFQUFFLEdBQUdD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
|
package/lib/element/procedure.js
CHANGED
|
@@ -12,6 +12,7 @@ const _occamlanguages = require("occam-languages");
|
|
|
12
12
|
const _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
|
|
13
13
|
const _elements = require("../elements");
|
|
14
14
|
const _values = require("../utilities/values");
|
|
15
|
+
const _element = require("../utilities/element");
|
|
15
16
|
const _parameters = require("../utilities/parameters");
|
|
16
17
|
const _json = require("../utilities/json");
|
|
17
18
|
function _interop_require_default(obj) {
|
|
@@ -69,6 +70,7 @@ const _default = (0, _elements.define)(class Procedure extends _occamlanguages.E
|
|
|
69
70
|
const procedureString = this.getString(); ///
|
|
70
71
|
context.trace(`Calling the '${procedureString}' procedure...`);
|
|
71
72
|
this.parameters.compareValues(values, context);
|
|
73
|
+
this.guaranteeReturnBlock();
|
|
72
74
|
const variables = (0, _parameters.variablesFromValuesAndParameters)(values, this.parameters, context), value = await this.returnBlock.evaluate(variables, context), valueType = value.getType(), typeEqualToValueType = this.type.isEqualTo(valueType);
|
|
73
75
|
if (!typeEqualToValueType) {
|
|
74
76
|
const valueString = value.getString(), typeString = this.type.getString(), message = `The '${valueString}' value's '${typeString}' type is not equal to the '${procedureString}' procedure's '${typeString}' type.`, exception = _exception.default.fromMessage(message);
|
|
@@ -86,6 +88,13 @@ const _default = (0, _elements.define)(class Procedure extends _occamlanguages.E
|
|
|
86
88
|
context.debug(`...called the '${procedureString}' function nominally.`);
|
|
87
89
|
return term;
|
|
88
90
|
}
|
|
91
|
+
guaranteeReturnBlock() {
|
|
92
|
+
if (this.returnBlock != null) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const node = this.getNode(), context = this.getContext(), procedureNode = node;
|
|
96
|
+
this.returnBlock = (0, _element.returnBlockFromProcedureNode)(procedureNode, context);
|
|
97
|
+
}
|
|
89
98
|
toJSON() {
|
|
90
99
|
const typeJSON = (0, _json.typeToTypeJSON)(this.type), labelJSON = (0, _json.labelToLabelJSON)(this.label), parametersJSON = (0, _json.parametersToParametersJSON)(this.parameters), string = this.getString();
|
|
91
100
|
let breakPoint;
|
|
@@ -103,10 +112,9 @@ const _default = (0, _elements.define)(class Procedure extends _occamlanguages.E
|
|
|
103
112
|
}
|
|
104
113
|
static name = "Procedure";
|
|
105
114
|
static fromJSON(json, context) {
|
|
106
|
-
const { string } = json, breakPoint = breakPointFromJSON(json), type = (0, _json.typeFromJSON)(json, context), label = (0, _json.labelFromJSON)(json, context), parameters = (0, _json.parametersFromJSON)(json, context), procedureNode = context.findProcedureNode(label), returnBlock = null, node = procedureNode;
|
|
107
|
-
const procedure = new Prpcedure(context, string, node, breakPoint, type, label, parameters, returnBlock);
|
|
115
|
+
const { string } = json, breakPoint = breakPointFromJSON(json), type = (0, _json.typeFromJSON)(json, context), label = (0, _json.labelFromJSON)(json, context), parameters = (0, _json.parametersFromJSON)(json, context), procedureNode = context.findProcedureNode(label), returnBlock = null, node = procedureNode, procedure = new Procedure(context, string, node, breakPoint, type, label, parameters, returnBlock);
|
|
108
116
|
return procedure;
|
|
109
117
|
}
|
|
110
118
|
});
|
|
111
119
|
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Byb2NlZHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgYnJlYWtQb2ludFV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgdmFsdWVzRnJvbU5vbWluYWxWYWx1ZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbHVlc1wiO1xuaW1wb3J0IHsgdmFyaWFibGVzRnJvbVZhbHVlc0FuZFBhcmFtZXRlcnMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3BhcmFtZXRlcnNcIjtcbmltcG9ydCB7IHR5cGVGcm9tSlNPTiwgbGFiZWxGcm9tSlNPTiwgcGFyYW1ldGVyc0Zyb21KU09OLCB0eXBlVG9UeXBlSlNPTiwgbGFiZWxUb0xhYmVsSlNPTiwgcGFyYW1ldGVyc1RvUGFyYW1ldGVyc0pTT04gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3QgeyBicmVha1BvaW50RnJvbUpTT04sIGJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OIH0gPSBicmVha1BvaW50VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgUHJvY2VkdXJlIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgbGFiZWwsIHBhcmFtZXRlcnMsIHJldHVybkJsb2NrKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHBhcmFtZXRlcnM7XG4gICAgdGhpcy5yZXR1cm5CbG9jayA9IHJldHVybkJsb2NrO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgZ2V0TGFiZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWw7XG4gIH1cblxuICBnZXRQYXJhbWV0ZXJzKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnM7XG4gIH1cblxuICBnZXRSZXR1cm5CbG9jaygpIHtcbiAgICByZXR1cm4gdGhpcy5yZXR1cm5CbG9jaztcbiAgfVxuXG4gIGdldE5hbWUoKSB7IHJldHVybiB0aGlzLmxhYmVsLmdldE5hbWUoKTsgfVxuXG4gIGlzQm9vbGVhbigpIHtcbiAgICBjb25zdCB0eXBlID0gdGhpcy5nZXRUeXBlKCksXG4gICAgICAgICAgYm9vbGVhblR5cGUgPSB0eXBlLmlzQm9vbGVhblR5cGUoKSxcbiAgICAgICAgICBib29sZWFuID0gYm9vbGVhblR5cGU7ICAvLy9cblxuICAgIHJldHVybiBib29sZWFuO1xuICB9XG5cbiAgZ2V0UmV0dXJuU3RhdGVtZW50KCkgeyByZXR1cm4gdGhpcy5yZXR1cm5CbG9jay5nZXRSZXR1cm5TdGF0ZW1lbnQoKTsgfVxuXG4gIGNvbXBhcmVQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpIHsgcmV0dXJuIHRoaXMubGFiZWwuY29tcGFyZVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSk7IH1cblxuICB2ZXJpZnkoY29udGV4dCkge1xuICAgIGNvbnN0IHZlcmlmaWVzID0gdHJ1ZTtcblxuICAgIGNvbnN0IHByb2NlZHVyZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uLi4uYClcblxuICAgIGNvbnN0IHByb2NlZHVyZSA9IHRoaXM7IC8vL1xuXG4gICAgY29udGV4dC5hZGRQcm9jZWR1cmUocHJvY2VkdXJlKTtcblxuICAgIGlmICh2ZXJpZmllcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uLmApXG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVzO1xuICB9XG5cbiAgYXN5bmMgY2FsbCh2YWx1ZXMsIGNvbnRleHQpIHtcbiAgICBhd2FpdCB0aGlzLmJyZWFrKGNvbnRleHQpO1xuXG4gICAgY29uc3QgcHJvY2VkdXJlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgQ2FsbGluZyB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgcHJvY2VkdXJlLi4uYCk7XG5cbiAgICB0aGlzLnBhcmFtZXRlcnMuY29tcGFyZVZhbHVlcyh2YWx1ZXMsIGNvbnRleHQpO1xuXG4gICAgY29uc3QgdmFyaWFibGVzID0gdmFyaWFibGVzRnJvbVZhbHVlc0FuZFBhcmFtZXRlcnModmFsdWVzLCB0aGlzLnBhcmFtZXRlcnMsIGNvbnRleHQpLFxuICAgICAgICAgIHZhbHVlID0gYXdhaXQgdGhpcy5yZXR1cm5CbG9jay5ldmFsdWF0ZSh2YXJpYWJsZXMsIGNvbnRleHQpLFxuICAgICAgICAgIHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICB0eXBlRXF1YWxUb1ZhbHVlVHlwZSA9IHRoaXMudHlwZS5pc0VxdWFsVG8odmFsdWVUeXBlKTtcblxuICAgIGlmICghdHlwZUVxdWFsVG9WYWx1ZVR5cGUpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICB0eXBlU3RyaW5nID0gdGhpcy50eXBlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3R5cGVTdHJpbmd9JyB0eXBlIGlzIG5vdCBlcXVhbCB0byB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgcHJvY2VkdXJlJ3MgJyR7dHlwZVN0cmluZ30nIHR5cGUuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmNhbGxlZCB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgcHJvY2VkdXJlLmApO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgYXN5bmMgY2FsbE5vbWluYWxseShub21pbmFsVmFsdWVzKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpO1xuXG4gICAgYXdhaXQgdGhpcy5icmVhayhjb250ZXh0KTtcblxuICAgIGNvbnN0IHByb2NlZHVyZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYENhbGxpbmcgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uIG5vbWluYWxseS4uLmApO1xuXG4gICAgY29uc3QgdmFsdWVzID0gdmFsdWVzRnJvbU5vbWluYWxWYWx1ZXMobm9taW5hbFZhbHVlcywgY29udGV4dCksXG4gICAgICAgICAgdGVybSA9IGF3YWl0IHRoaXMuY2FsbCh2YWx1ZXMsIGNvbnRleHQpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uY2FsbGVkIHRoZSAnJHtwcm9jZWR1cmVTdHJpbmd9JyBmdW5jdGlvbiBub21pbmFsbHkuYCk7XG5cbiAgICByZXR1cm4gdGVybTtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCB0eXBlSlNPTiA9IHR5cGVUb1R5cGVKU09OKHRoaXMudHlwZSksXG4gICAgICAgICAgbGFiZWxKU09OID0gbGFiZWxUb0xhYmVsSlNPTih0aGlzLmxhYmVsKSxcbiAgICAgICAgICBwYXJhbWV0ZXJzSlNPTiA9IHBhcmFtZXRlcnNUb1BhcmFtZXRlcnNKU09OKHRoaXMucGFyYW1ldGVycyksXG4gICAgICAgICAgc3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTtcblxuICAgIGxldCBicmVha1BvaW50O1xuXG4gICAgYnJlYWtQb2ludCA9IHRoaXMuZ2V0QnJlYWtQb2ludCgpO1xuXG4gICAgY29uc3QgYnJlYWtQb2ludEpTT04gPSBicmVha1BvaW50VG9CcmVha1BvaW50SlNPTihicmVha1BvaW50KTtcblxuICAgIGJyZWFrUG9pbnQgPSBicmVha1BvaW50SlNPTjsgIC8vL1xuXG4gICAgY29uc3QgdHlwZSA9IHR5cGVKU09OLCAgLy8vXG4gICAgICAgICAgbGFiZWwgPSBsYWJlbEpTT04sICAvLy9cbiAgICAgICAgICBwYXJhbWV0ZXJzID0gcGFyYW1ldGVyc0pTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgICAgYnJlYWtQb2ludCxcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIHBhcmFtZXRlcnNcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiUHJvY2VkdXJlXCI7XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgICBjb25zdCB7IHN0cmluZyB9ID0ganNvbixcbiAgICAgICAgICBicmVha1BvaW50ID0gYnJlYWtQb2ludEZyb21KU09OKGpzb24pLFxuICAgICAgICAgIHR5cGUgPSB0eXBlRnJvbUpTT04oanNvbiwgY29udGV4dCksXG4gICAgICAgICAgbGFiZWwgPSBsYWJlbEZyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgIHBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzRnJvbUpTT04oanNvbiwgY29udGV4dCksXG4gICAgICAgICAgcHJvY2VkdXJlTm9kZSA9IGNvbnRleHQuZmluZFByb2NlZHVyZU5vZGUobGFiZWwpLFxuICAgICAgICAgIHJldHVybkJsb2NrID0gbnVsbCwgLy8vXG4gICAgICAgICAgbm9kZSA9IHByb2NlZHVyZU5vZGU7IC8vL1xuXG4gICAgY29uc3QgcHJvY2VkdXJlID0gbmV3IFBycGNlZHVyZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHR5cGUsIGxhYmVsLCBwYXJhbWV0ZXJzLCByZXR1cm5CbG9jayk7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJicmVha1BvaW50RnJvbUpTT04iLCJicmVha1BvaW50VG9CcmVha1BvaW50SlNPTiIsImJyZWFrUG9pbnRVdGlsaXRpZXMiLCJkZWZpbmUiLCJQcm9jZWR1cmUiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidHlwZSIsImxhYmVsIiwicGFyYW1ldGVycyIsInJldHVybkJsb2NrIiwiZ2V0VHlwZSIsImdldExhYmVsIiwiZ2V0UGFyYW1ldGVycyIsImdldFJldHVybkJsb2NrIiwiZ2V0TmFtZSIsImlzQm9vbGVhbiIsImJvb2xlYW5UeXBlIiwiaXNCb29sZWFuVHlwZSIsImJvb2xlYW4iLCJnZXRSZXR1cm5TdGF0ZW1lbnQiLCJjb21wYXJlUHJvY2VkdXJlTmFtZSIsInByb2NlZHVyZU5hbWUiLCJ2ZXJpZnkiLCJ2ZXJpZmllcyIsInByb2NlZHVyZVN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwicHJvY2VkdXJlIiwiYWRkUHJvY2VkdXJlIiwiZGVidWciLCJjYWxsIiwidmFsdWVzIiwiYnJlYWsiLCJjb21wYXJlVmFsdWVzIiwidmFyaWFibGVzIiwidmFyaWFibGVzRnJvbVZhbHVlc0FuZFBhcmFtZXRlcnMiLCJ2YWx1ZSIsImV2YWx1YXRlIiwidmFsdWVUeXBlIiwidHlwZUVxdWFsVG9WYWx1ZVR5cGUiLCJpc0VxdWFsVG8iLCJ2YWx1ZVN0cmluZyIsInR5cGVTdHJpbmciLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJjYWxsTm9taW5hbGx5Iiwibm9taW5hbFZhbHVlcyIsImdldENvbnRleHQiLCJ2YWx1ZXNGcm9tTm9taW5hbFZhbHVlcyIsInRlcm0iLCJ0b0pTT04iLCJ0eXBlSlNPTiIsInR5cGVUb1R5cGVKU09OIiwibGFiZWxKU09OIiwibGFiZWxUb0xhYmVsSlNPTiIsInBhcmFtZXRlcnNKU09OIiwicGFyYW1ldGVyc1RvUGFyYW1ldGVyc0pTT04iLCJnZXRCcmVha1BvaW50IiwiYnJlYWtQb2ludEpTT04iLCJqc29uIiwibmFtZSIsImZyb21KU09OIiwidHlwZUZyb21KU09OIiwibGFiZWxGcm9tSlNPTiIsInBhcmFtZXRlcnNGcm9tSlNPTiIsInByb2NlZHVyZU5vZGUiLCJmaW5kUHJvY2VkdXJlTm9kZSIsIlBycGNlZHVyZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBYUE7OztlQUFBOzs7Z0NBWDZDO2tFQUV2QjswQkFFQzt3QkFDaUI7NEJBQ1M7c0JBQzZFOzs7Ozs7QUFFOUgsTUFBTSxFQUFFQSxrQkFBa0IsRUFBRUMsMEJBQTBCLEVBQUUsR0FBR0MsbUNBQW1CO01BRTlFLFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsa0JBQWtCQyx1QkFBTztJQUNuRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxVQUFVLEVBQUVDLFdBQVcsQ0FBRTtRQUNuRixLQUFLLENBQUNQLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtRQUNiLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtRQUNsQixJQUFJLENBQUNDLFdBQVcsR0FBR0E7SUFDckI7SUFFQUMsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDSixJQUFJO0lBQ2xCO0lBRUFLLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQ0osS0FBSztJQUNuQjtJQUVBSyxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQ0osVUFBVTtJQUN4QjtJQUVBSyxpQkFBaUI7UUFDZixPQUFPLElB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
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Byb2NlZHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgYnJlYWtQb2ludFV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgdmFsdWVzRnJvbU5vbWluYWxWYWx1ZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbHVlc1wiO1xuaW1wb3J0IHsgcmV0dXJuQmxvY2tGcm9tUHJvY2VkdXJlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvZWxlbWVudFwiO1xuaW1wb3J0IHsgdmFyaWFibGVzRnJvbVZhbHVlc0FuZFBhcmFtZXRlcnMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3BhcmFtZXRlcnNcIjtcbmltcG9ydCB7IHR5cGVGcm9tSlNPTiwgbGFiZWxGcm9tSlNPTiwgcGFyYW1ldGVyc0Zyb21KU09OLCB0eXBlVG9UeXBlSlNPTiwgbGFiZWxUb0xhYmVsSlNPTiwgcGFyYW1ldGVyc1RvUGFyYW1ldGVyc0pTT04gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3QgeyBicmVha1BvaW50RnJvbUpTT04sIGJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OIH0gPSBicmVha1BvaW50VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgUHJvY2VkdXJlIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgbGFiZWwsIHBhcmFtZXRlcnMsIHJldHVybkJsb2NrKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHBhcmFtZXRlcnM7XG4gICAgdGhpcy5yZXR1cm5CbG9jayA9IHJldHVybkJsb2NrO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgZ2V0TGFiZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWw7XG4gIH1cblxuICBnZXRQYXJhbWV0ZXJzKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnM7XG4gIH1cblxuICBnZXRSZXR1cm5CbG9jaygpIHtcbiAgICByZXR1cm4gdGhpcy5yZXR1cm5CbG9jaztcbiAgfVxuXG4gIGdldE5hbWUoKSB7IHJldHVybiB0aGlzLmxhYmVsLmdldE5hbWUoKTsgfVxuXG4gIGlzQm9vbGVhbigpIHtcbiAgICBjb25zdCB0eXBlID0gdGhpcy5nZXRUeXBlKCksXG4gICAgICAgICAgYm9vbGVhblR5cGUgPSB0eXBlLmlzQm9vbGVhblR5cGUoKSxcbiAgICAgICAgICBib29sZWFuID0gYm9vbGVhblR5cGU7ICAvLy9cblxuICAgIHJldHVybiBib29sZWFuO1xuICB9XG5cbiAgZ2V0UmV0dXJuU3RhdGVtZW50KCkgeyByZXR1cm4gdGhpcy5yZXR1cm5CbG9jay5nZXRSZXR1cm5TdGF0ZW1lbnQoKTsgfVxuXG4gIGNvbXBhcmVQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpIHsgcmV0dXJuIHRoaXMubGFiZWwuY29tcGFyZVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSk7IH1cblxuICB2ZXJpZnkoY29udGV4dCkge1xuICAgIGNvbnN0IHZlcmlmaWVzID0gdHJ1ZTtcblxuICAgIGNvbnN0IHByb2NlZHVyZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uLi4uYClcblxuICAgIGNvbnN0IHByb2NlZHVyZSA9IHRoaXM7IC8vL1xuXG4gICAgY29udGV4dC5hZGRQcm9jZWR1cmUocHJvY2VkdXJlKTtcblxuICAgIGlmICh2ZXJpZmllcykge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uLmApXG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVzO1xuICB9XG5cbiAgYXN5bmMgY2FsbCh2YWx1ZXMsIGNvbnRleHQpIHtcbiAgICBhd2FpdCB0aGlzLmJyZWFrKGNvbnRleHQpO1xuXG4gICAgY29uc3QgcHJvY2VkdXJlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgQ2FsbGluZyB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgcHJvY2VkdXJlLi4uYCk7XG5cbiAgICB0aGlzLnBhcmFtZXRlcnMuY29tcGFyZVZhbHVlcyh2YWx1ZXMsIGNvbnRleHQpO1xuXG4gICAgdGhpcy5ndWFyYW50ZWVSZXR1cm5CbG9jaygpO1xuXG4gICAgY29uc3QgdmFyaWFibGVzID0gdmFyaWFibGVzRnJvbVZhbHVlc0FuZFBhcmFtZXRlcnModmFsdWVzLCB0aGlzLnBhcmFtZXRlcnMsIGNvbnRleHQpLFxuICAgICAgICAgIHZhbHVlID0gYXdhaXQgdGhpcy5yZXR1cm5CbG9jay5ldmFsdWF0ZSh2YXJpYWJsZXMsIGNvbnRleHQpLFxuICAgICAgICAgIHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICB0eXBlRXF1YWxUb1ZhbHVlVHlwZSA9IHRoaXMudHlwZS5pc0VxdWFsVG8odmFsdWVUeXBlKTtcblxuICAgIGlmICghdHlwZUVxdWFsVG9WYWx1ZVR5cGUpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICB0eXBlU3RyaW5nID0gdGhpcy50eXBlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3R5cGVTdHJpbmd9JyB0eXBlIGlzIG5vdCBlcXVhbCB0byB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgcHJvY2VkdXJlJ3MgJyR7dHlwZVN0cmluZ30nIHR5cGUuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmNhbGxlZCB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgcHJvY2VkdXJlLmApO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgYXN5bmMgY2FsbE5vbWluYWxseShub21pbmFsVmFsdWVzKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpO1xuXG4gICAgYXdhaXQgdGhpcy5icmVhayhjb250ZXh0KTtcblxuICAgIGNvbnN0IHByb2NlZHVyZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYENhbGxpbmcgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uIG5vbWluYWxseS4uLmApO1xuXG4gICAgY29uc3QgdmFsdWVzID0gdmFsdWVzRnJvbU5vbWluYWxWYWx1ZXMobm9taW5hbFZhbHVlcywgY29udGV4dCksXG4gICAgICAgICAgdGVybSA9IGF3YWl0IHRoaXMuY2FsbCh2YWx1ZXMsIGNvbnRleHQpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uY2FsbGVkIHRoZSAnJHtwcm9jZWR1cmVTdHJpbmd9JyBmdW5jdGlvbiBub21pbmFsbHkuYCk7XG5cbiAgICByZXR1cm4gdGVybTtcbiAgfVxuXG4gIGd1YXJhbnRlZVJldHVybkJsb2NrKCkge1xuICAgIGlmICh0aGlzLnJldHVybkJsb2NrICE9IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gdGhpcy5nZXROb2RlKCksXG4gICAgICAgICAgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIHByb2NlZHVyZU5vZGUgPSBub2RlO1xuXG4gICAgdGhpcy5yZXR1cm5CbG9jayA9IHJldHVybkJsb2NrRnJvbVByb2NlZHVyZU5vZGUocHJvY2VkdXJlTm9kZSwgY29udGV4dCk7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdHlwZUpTT04gPSB0eXBlVG9UeXBlSlNPTih0aGlzLnR5cGUpLFxuICAgICAgICAgIGxhYmVsSlNPTiA9IGxhYmVsVG9MYWJlbEpTT04odGhpcy5sYWJlbCksXG4gICAgICAgICAgcGFyYW1ldGVyc0pTT04gPSBwYXJhbWV0ZXJzVG9QYXJhbWV0ZXJzSlNPTih0aGlzLnBhcmFtZXRlcnMpLFxuICAgICAgICAgIHN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBsZXQgYnJlYWtQb2ludDtcblxuICAgIGJyZWFrUG9pbnQgPSB0aGlzLmdldEJyZWFrUG9pbnQoKTtcblxuICAgIGNvbnN0IGJyZWFrUG9pbnRKU09OID0gYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04oYnJlYWtQb2ludCk7XG5cbiAgICBicmVha1BvaW50ID0gYnJlYWtQb2ludEpTT047ICAvLy9cblxuICAgIGNvbnN0IHR5cGUgPSB0eXBlSlNPTiwgIC8vL1xuICAgICAgICAgIGxhYmVsID0gbGFiZWxKU09OLCAgLy8vXG4gICAgICAgICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnNKU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHN0cmluZyxcbiAgICAgICAgICAgIGJyZWFrUG9pbnQsXG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBwYXJhbWV0ZXJzXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlByb2NlZHVyZVwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gICAgY29uc3QgeyBzdHJpbmcgfSA9IGpzb24sXG4gICAgICAgICAgYnJlYWtQb2ludCA9IGJyZWFrUG9pbnRGcm9tSlNPTihqc29uKSxcbiAgICAgICAgICB0eXBlID0gdHlwZUZyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgIGxhYmVsID0gbGFiZWxGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBwYXJhbWV0ZXJzID0gcGFyYW1ldGVyc0Zyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgIHByb2NlZHVyZU5vZGUgPSBjb250ZXh0LmZpbmRQcm9jZWR1cmVOb2RlKGxhYmVsKSxcbiAgICAgICAgICByZXR1cm5CbG9jayA9IG51bGwsIC8vL1xuICAgICAgICAgIG5vZGUgPSBwcm9jZWR1cmVOb2RlLCAvLy9cbiAgICAgICAgICBwcm9jZWR1cmUgPSBuZXcgUHJvY2VkdXJlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgbGFiZWwsIHBhcmFtZXRlcnMsIHJldHVybkJsb2NrKTtcblxuICAgIHJldHVybiBwcm9jZWR1cmU7XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbImJyZWFrUG9pbnRGcm9tSlNPTiIsImJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsImRlZmluZSIsIlByb2NlZHVyZSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ0eXBlIiwibGFiZWwiLCJwYXJhbWV0ZXJzIiwicmV0dXJuQmxvY2siLCJnZXRUeXBlIiwiZ2V0TGFiZWwiLCJnZXRQYXJhbWV0ZXJzIiwiZ2V0UmV0dXJuQmxvY2siLCJnZXROYW1lIiwiaXNCb29sZWFuIiwiYm9vbGVhblR5cGUiLCJpc0Jvb2xlYW5UeXBlIiwiYm9vbGVhbiIsImdldFJldHVyblN0YXRlbWVudCIsImNvbXBhcmVQcm9jZWR1cmVOYW1lIiwicHJvY2VkdXJlTmFtZSIsInZlcmlmeSIsInZlcmlmaWVzIiwicHJvY2VkdXJlU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJwcm9jZWR1cmUiLCJhZGRQcm9jZWR1cmUiLCJkZWJ1ZyIsImNhbGwiLCJ2YWx1ZXMiLCJicmVhayIsImNvbXBhcmVWYWx1ZXMiLCJndWFyYW50ZWVSZXR1cm5CbG9jayIsInZhcmlhYmxlcyIsInZhcmlhYmxlc0Zyb21WYWx1ZXNBbmRQYXJhbWV0ZXJzIiwidmFsdWUiLCJldmFsdWF0ZSIsInZhbHVlVHlwZSIsInR5cGVFcXVhbFRvVmFsdWVUeXBlIiwiaXNFcXVhbFRvIiwidmFsdWVTdHJpbmciLCJ0eXBlU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwiY2FsbE5vbWluYWxseSIsIm5vbWluYWxWYWx1ZXMiLCJnZXRDb250ZXh0IiwidmFsdWVzRnJvbU5vbWluYWxWYWx1ZXMiLCJ0ZXJtIiwiZ2V0Tm9kZSIsInByb2NlZHVyZU5vZGUiLCJyZXR1cm5CbG9ja0Zyb21Qcm9jZWR1cmVOb2RlIiwidG9KU09OIiwidHlwZUpTT04iLCJ0eXBlVG9UeXBlSlNPTiIsImxhYmVsSlNPTiIsImxhYmVsVG9MYWJlbEpTT04iLCJwYXJhbWV0ZXJzSlNPTiIsInBhcmFtZXRlcnNUb1BhcmFtZXRlcnNKU09OIiwiZ2V0QnJlYWtQb2ludCIsImJyZWFrUG9pbnRKU09OIiwianNvbiIsIm5hbWUiLCJmcm9tSlNPTiIsInR5cGVGcm9tSlNPTiIsImxhYmVsRnJvbUpTT04iLCJwYXJhbWV0ZXJzRnJvbUpTT04iLCJmaW5kUHJvY2VkdXJlTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBY0E7OztlQUFBOzs7Z0NBWjZDO2tFQUV2QjswQkFFQzt3QkFDaUI7eUJBQ0s7NEJBQ0k7c0JBQzZFOzs7Ozs7QUFFOUgsTUFBTSxFQUFFQSxrQkFBa0IsRUFBRUMsMEJBQTBCLEVBQUUsR0FBR0MsbUNBQW1CO01BRTlFLFdB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
|
package/lib/node/procedure.js
CHANGED
|
@@ -27,9 +27,17 @@ class ProcedureNode extends _occamlanguages.NonTerminalNode {
|
|
|
27
27
|
const ruleName = _ruleNames.RETURN_BLOCK_RULE_NAME, returnBlockNode = this.getNodeByRuleName(ruleName);
|
|
28
28
|
return returnBlockNode;
|
|
29
29
|
}
|
|
30
|
+
matchLabelNode(labelNode) {
|
|
31
|
+
let labelNodeMatches;
|
|
32
|
+
const labelNodeA = labelNode; ///
|
|
33
|
+
labelNode = this.getLabelNode();
|
|
34
|
+
const labelNodeB = labelNode; ///
|
|
35
|
+
labelNodeMatches = labelNodeA.match(labelNodeB); ///
|
|
36
|
+
return labelNodeMatches;
|
|
37
|
+
}
|
|
30
38
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) {
|
|
31
39
|
return _occamlanguages.NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(ProcedureNode, ruleName, childNodes, opacity, precedence);
|
|
32
40
|
}
|
|
33
41
|
}
|
|
34
42
|
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL3Byb2NlZHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9uVGVybWluYWxOb2RlIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBUWVBFX1JVTEVfTkFNRSwgTEFCRUxfUlVMRV9OQU1FLCBQQVJBTUVURVJTX1JVTEVfTkFNRSwgUkVUVVJOX0JMT0NLX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUHJvY2VkdXJlTm9kZSBleHRlbmRzIE5vblRlcm1pbmFsTm9kZSB7XG4gIGdldFR5cGVOb2RlKCkge1xuICAgIGNvbnN0IHJ1bGVOYW1lID0gVFlQRV9SVUxFX05BTUUsXG4gICAgICAgICAgbGFiZWxOb2RlID0gdGhpcy5nZXROb2RlQnlSdWxlTmFtZShydWxlTmFtZSk7XG5cbiAgICByZXR1cm4gbGFiZWxOb2RlO1xuICB9XG5cbiAgZ2V0TGFiZWxOb2RlKCkge1xuICAgIGNvbnN0IHJ1bGVOYW1lID0gTEFCRUxfUlVMRV9OQU1FLFxuICAgICAgICAgIGxhYmVsTm9kZSA9IHRoaXMuZ2V0Tm9kZUJ5UnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcmV0dXJuIGxhYmVsTm9kZTtcbiAgfVxuXG4gIGdldFBhcmFtZXRlcnNOb2RlKCkge1xuICAgIGNvbnN0IHJ1bGVOYW1lID0gUEFSQU1FVEVSU19SVUxFX05BTUUsXG4gICAgICAgICAgcGFyYW1ldGVyc05vZGUgPSB0aGlzLmdldE5vZGVCeVJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHJldHVybiBwYXJhbWV0ZXJzTm9kZTtcbiAgfVxuXG4gIGdldFJldHVybkJsb2NrTm9kZSgpIHtcbiAgICBjb25zdCBydWxlTmFtZSA9IFJFVFVSTl9CTE9DS19SVUxFX05BTUUsXG4gICAgICAgICAgcmV0dXJuQmxvY2tOb2RlID0gdGhpcy5nZXROb2RlQnlSdWxlTmFtZShydWxlTmFtZSk7XG5cbiAgICByZXR1cm4gcmV0dXJuQmxvY2tOb2RlO1xuICB9XG5cbiAgbWF0Y2hMYWJlbE5vZGUobGFiZWxOb2RlKSB7XG4gICAgbGV0IGxhYmVsTm9kZU1hdGNoZXM7XG5cbiAgICBjb25zdCBsYWJlbE5vZGVBID0gbGFiZWxOb2RlOyAvLy9cblxuICAgIGxhYmVsTm9kZSA9IHRoaXMuZ2V0TGFiZWxOb2RlKCk7XG5cbiAgICBjb25zdCBsYWJlbE5vZGVCID0gbGFiZWxOb2RlOyAvLy9cblxuICAgIGxhYmVsTm9kZU1hdGNoZXMgPSBsYWJlbE5vZGVBLm1hdGNoKGxhYmVsTm9kZUIpOyAgLy8vXG5cbiAgICByZXR1cm4gbGFiZWxOb2RlTWF0Y2hlcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpIHsgcmV0dXJuIE5vblRlcm1pbmFsTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UoUHJvY2VkdXJlTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpOyB9XG59XG4iXSwibmFtZXMiOlsiUHJvY2VkdXJlTm9kZSIsIk5vblRlcm1pbmFsTm9kZSIsImdldFR5cGVOb2RlIiwicnVsZU5hbWUiLCJUWVBFX1JVTEVfTkFNRSIsImxhYmVsTm9kZSIsImdldE5vZGVCeVJ1bGVOYW1lIiwiZ2V0TGFiZWxOb2RlIiwiTEFCRUxfUlVMRV9OQU1FIiwiZ2V0UGFyYW1ldGVyc05vZGUiLCJQQVJBTUVURVJTX1JVTEVfTkFNRSIsInBhcmFtZXRlcnNOb2RlIiwiZ2V0UmV0dXJuQmxvY2tOb2RlIiwiUkVUVVJOX0JMT0NLX1JVTEVfTkFNRSIsInJldHVybkJsb2NrTm9kZSIsIm1hdGNoTGFiZWxOb2RlIiwibGFiZWxOb2RlTWF0Y2hlcyIsImxhYmVsTm9kZUEiLCJsYWJlbE5vZGVCIiwibWF0Y2giLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UiLCJjaGlsZE5vZGVzIiwib3BhY2l0eSIsInByZWNlZGVuY2UiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBcUJBOzs7Z0NBSlc7MkJBRThEO0FBRS9FLE1BQU1BLHNCQUFzQkMsK0JBQWU7SUFDeERDLGNBQWM7UUFDWixNQUFNQyxXQUFXQyx5QkFBYyxFQUN6QkMsWUFBWSxJQUFJLENBQUNDLGlCQUFpQixDQUFDSDtRQUV6QyxPQUFPRTtJQUNUO0lBRUFFLGVBQWU7UUFDYixNQUFNSixXQUFXSywwQkFBZSxFQUMxQkgsWUFBWSxJQUFJLENBQUNDLGlCQUFpQixDQUFDSDtRQUV6QyxPQUFPRTtJQUNUO0lBRUFJLG9CQUFvQjtRQUNsQixNQUFNTixXQUFXTywrQkFBb0IsRUFDL0JDLGlCQUFpQixJQUFJLENBQUNMLGlCQUFpQixDQUFDSDtRQUU5QyxPQUFPUTtJQUNUO0lBRUFDLHFCQUFxQjtRQUNuQixNQUFNVCxXQUFXVSxpQ0FBc0IsRUFDakNDLGtCQUFrQixJQUFJLENBQUNSLGlCQUFpQixDQUFDSDtRQUUvQyxPQUFPVztJQUNUO0lBRUFDLGVBQWVWLFNBQVMsRUFBRTtRQUN4QixJQUFJVztRQUVKLE1BQU1DLGFBQWFaLFdBQVcsR0FBRztRQUVqQ0EsWUFBWSxJQUFJLENBQUNFLFlBQVk7UUFFN0IsTUFBTVcsYUFBYWIsV0FBVyxHQUFHO1FBRWpDVyxtQkFBbUJDLFdBQVdFLEtBQUssQ0FBQ0QsYUFBYyxHQUFHO1FBRXJELE9BQU9GO0lBQ1Q7SUFFQSxPQUFPSSwyQ0FBMkNqQixRQUFRLEVBQUVrQixVQUFVLEVBQUVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFO1FBQUUsT0FBT3RCLCtCQUFlLENBQUNtQiwwQ0FBMEMsQ0FBQ3BCLGVBQWVHLFVBQVVrQixZQUFZQyxTQUFTQztJQUFhO0FBQzlOIn0=
|
|
@@ -2,18 +2,39 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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 instantiateLabel () {
|
|
13
|
+
return instantiateLabel;
|
|
14
|
+
},
|
|
15
|
+
get instantiateParameters () {
|
|
16
|
+
return instantiateParameters;
|
|
17
|
+
},
|
|
18
|
+
get instantiateType () {
|
|
8
19
|
return instantiateType;
|
|
9
20
|
}
|
|
10
21
|
});
|
|
11
22
|
const _occamlanguages = require("occam-languages");
|
|
23
|
+
const _constants = require("../constants");
|
|
12
24
|
const _ruleNames = require("../ruleNames");
|
|
13
25
|
const { instantiate, ruleFromRuleName } = _occamlanguages.bnfUtilities;
|
|
14
|
-
|
|
26
|
+
let delimiter;
|
|
27
|
+
delimiter = _constants.PERIOD_STRING_LITERAL;
|
|
28
|
+
const typePlaceholderRule = ruleFromRuleName(_ruleNames.TYPE_RULE_NAME, delimiter), labelPlaceholderRule = ruleFromRuleName(_ruleNames.LABEL_RULE_NAME, delimiter), parametersPlaceholderRule = ruleFromRuleName(_ruleNames.PARAMETERS_RULE_NAME, delimiter);
|
|
29
|
+
delimiter = _constants.PERIOD;
|
|
15
30
|
function instantiateType(string, context) {
|
|
16
|
-
return instantiate(typePlaceholderRule, string, context);
|
|
31
|
+
return instantiate(typePlaceholderRule, string, delimiter, context);
|
|
32
|
+
}
|
|
33
|
+
function instantiateLabel(string, context) {
|
|
34
|
+
return instantiate(labelPlaceholderRule, string, delimiter, context);
|
|
35
|
+
}
|
|
36
|
+
function instantiateParameters(string, context) {
|
|
37
|
+
return instantiate(parametersPlaceholderRule, string, delimiter, context);
|
|
17
38
|
}
|
|
18
39
|
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9jZXNzL2luc3RhbnRpYXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBibmZVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IFBFUklPRCwgUEVSSU9EX1NUUklOR19MSVRFUkFMIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgVFlQRV9SVUxFX05BTUUsIExBQkVMX1JVTEVfTkFNRSwgUEFSQU1FVEVSU19SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5cbmNvbnN0IHsgaW5zdGFudGlhdGUsIHJ1bGVGcm9tUnVsZU5hbWUgfSA9IGJuZlV0aWxpdGllcztcblxubGV0IGRlbGltaXRlcjtcblxuZGVsaW1pdGVyID0gUEVSSU9EX1NUUklOR19MSVRFUkFMO1xuXG5jb25zdCB0eXBlUGxhY2Vob2xkZXJSdWxlID0gcnVsZUZyb21SdWxlTmFtZShUWVBFX1JVTEVfTkFNRSwgZGVsaW1pdGVyKSxcbiAgICAgIGxhYmVsUGxhY2Vob2xkZXJSdWxlID0gcnVsZUZyb21SdWxlTmFtZShMQUJFTF9SVUxFX05BTUUsIGRlbGltaXRlciksXG4gICAgICBwYXJhbWV0ZXJzUGxhY2Vob2xkZXJSdWxlID0gcnVsZUZyb21SdWxlTmFtZShQQVJBTUVURVJTX1JVTEVfTkFNRSwgZGVsaW1pdGVyKTtcblxuZGVsaW1pdGVyID0gUEVSSU9EO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFudGlhdGVUeXBlKHN0cmluZywgY29udGV4dCkgeyByZXR1cm4gaW5zdGFudGlhdGUodHlwZVBsYWNlaG9sZGVyUnVsZSwgc3RyaW5nLCBkZWxpbWl0ZXIsIGNvbnRleHQpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW50aWF0ZUxhYmVsKHN0cmluZywgY29udGV4dCkgeyByZXR1cm4gaW5zdGFudGlhdGUobGFiZWxQbGFjZWhvbGRlclJ1bGUsIHN0cmluZywgZGVsaW1pdGVyLCBjb250ZXh0KTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFudGlhdGVQYXJhbWV0ZXJzKHN0cmluZywgY29udGV4dCkgeyByZXR1cm4gaW5zdGFudGlhdGUocGFyYW1ldGVyc1BsYWNlaG9sZGVyUnVsZSwgc3RyaW5nLCBkZWxpbWl0ZXIsIGNvbnRleHQpOyB9XG4iXSwibmFtZXMiOlsiaW5zdGFudGlhdGVMYWJlbCIsImluc3RhbnRpYXRlUGFyYW1ldGVycyIsImluc3RhbnRpYXRlVHlwZSIsImluc3RhbnRpYXRlIiwicnVsZUZyb21SdWxlTmFtZSIsImJuZlV0aWxpdGllcyIsImRlbGltaXRlciIsIlBFUklPRF9TVFJJTkdfTElURVJBTCIsInR5cGVQbGFjZWhvbGRlclJ1bGUiLCJUWVBFX1JVTEVfTkFNRSIsImxhYmVsUGxhY2Vob2xkZXJSdWxlIiwiTEFCRUxfUlVMRV9OQU1FIiwicGFyYW1ldGVyc1BsYWNlaG9sZGVyUnVsZSIsIlBBUkFNRVRFUlNfUlVMRV9OQU1FIiwiUEVSSU9EIiwic3RyaW5nIiwiY29udGV4dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBcUJnQkE7ZUFBQUE7O1FBRUFDO2VBQUFBOztRQUpBQztlQUFBQTs7O2dDQWpCYTsyQkFFaUI7MkJBQ3dCO0FBRXRFLE1BQU0sRUFBRUMsV0FBVyxFQUFFQyxnQkFBZ0IsRUFBRSxHQUFHQyw0QkFBWTtBQUV0RCxJQUFJQztBQUVKQSxZQUFZQyxnQ0FBcUI7QUFFakMsTUFBTUMsc0JBQXNCSixpQkFBaUJLLHlCQUFjLEVBQUVILFlBQ3ZESSx1QkFBdUJOLGlCQUFpQk8sMEJBQWUsRUFBRUwsWUFDekRNLDRCQUE0QlIsaUJBQWlCUywrQkFBb0IsRUFBRVA7QUFFekVBLFlBQVlRLGlCQUFNO0FBRVgsU0FBU1osZ0JBQWdCYSxNQUFNLEVBQUVDLE9BQU87SUFBSSxPQUFPYixZQUFZSyxxQkFBcUJPLFFBQVFULFdBQVdVO0FBQVU7QUFFakgsU0FBU2hCLGlCQUFpQmUsTUFBTSxFQUFFQyxPQUFPO0lBQUksT0FBT2IsWUFBWU8sc0JBQXNCSyxRQUFRVCxXQUFXVTtBQUFVO0FBRW5ILFNBQVNmLHNCQUFzQmMsTUFBTSxFQUFFQyxPQUFPO0lBQUksT0FBT2IsWUFBWVMsMkJBQTJCRyxRQUFRVCxXQUFXVTtBQUFVIn0=
|
package/package.json
CHANGED
package/src/constants.js
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
export const NULL = "null";
|
|
4
4
|
export const TRUE = "true";
|
|
5
5
|
export const FALSE = "false";
|
|
6
|
+
export const PERIOD = ".";
|
|
6
7
|
export const EMPTY_STRING = "";
|
|
7
8
|
export const NOT_EQUAL_TO = "!=";
|
|
8
9
|
export const CONJUNCTION_OPERATOR = "&&";
|
|
9
10
|
export const DISJUNCTION_OPERATOR = "||";
|
|
11
|
+
export const PERIOD_STRING_LITERAL = `"."`;
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { FileContext } from "occam-languages";
|
|
4
|
+
import { queryUtilities } from "occam-query";
|
|
4
5
|
|
|
5
6
|
import { verifyFile } from "../../process/verify";
|
|
6
7
|
import { furtleLexer, furtleParser } from "../../utilities/furtle";
|
|
7
8
|
import { proceduresFromJSON, proceduresToProceduresJSON } from "../../utilities/json";
|
|
8
9
|
|
|
10
|
+
const { nodesQuery } = queryUtilities;
|
|
11
|
+
|
|
12
|
+
const procedureNodesQuery = nodesQuery("/document/procedure");
|
|
13
|
+
|
|
9
14
|
export default class FurtleFileContext extends FileContext {
|
|
10
15
|
constructor(context, fileContent, filePath, tokens, node, json, lexer, parser, procedures) {
|
|
11
16
|
super(context, fileContent, filePath, tokens, node, json);
|
|
@@ -131,6 +136,22 @@ export default class FurtleFileContext extends FileContext {
|
|
|
131
136
|
this.debug(`Added the '${procedureString}' function to the '${filePath}' file context.`);
|
|
132
137
|
}
|
|
133
138
|
|
|
139
|
+
findProcedureNode(label) {
|
|
140
|
+
const node = this.getNode(),
|
|
141
|
+
labelNode = label.getNode(),
|
|
142
|
+
documentNode = node, ///
|
|
143
|
+
procedureNodes = procedureNodesQuery(documentNode),
|
|
144
|
+
procedureNode = procedureNodes.find((procedureNode) => {
|
|
145
|
+
const labelMatches = procedureNode.matchLabelNode(labelNode);
|
|
146
|
+
|
|
147
|
+
if (labelMatches) {
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
}) || null;
|
|
151
|
+
|
|
152
|
+
return procedureNode;
|
|
153
|
+
}
|
|
154
|
+
|
|
134
155
|
findProcedureByProcedureName(procedureName) {
|
|
135
156
|
const procedures = this.getProcedures(),
|
|
136
157
|
procedure = procedures.find((procedure) => {
|
|
@@ -160,17 +181,15 @@ export default class FurtleFileContext extends FileContext {
|
|
|
160
181
|
}
|
|
161
182
|
|
|
162
183
|
initialise() {
|
|
184
|
+
super.initialise(); ///
|
|
185
|
+
|
|
163
186
|
const json = this.getJSON();
|
|
164
187
|
|
|
165
|
-
if (json
|
|
166
|
-
|
|
188
|
+
if (json !== null) {
|
|
189
|
+
const fileContext = this; ///
|
|
167
190
|
|
|
168
|
-
|
|
191
|
+
this.procedures = proceduresFromJSON(json, fileContext);
|
|
169
192
|
}
|
|
170
|
-
|
|
171
|
-
const fileContext = this; ///
|
|
172
|
-
|
|
173
|
-
this.procedures = proceduresFromJSON(json, fileContext);
|
|
174
193
|
}
|
|
175
194
|
|
|
176
195
|
async verifyFile() {
|
package/src/element/label.js
CHANGED
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
import { Element, breakPointUtilities } from "occam-languages";
|
|
4
4
|
|
|
5
5
|
import { define } from "../elements";
|
|
6
|
+
import { instantiate } from "../utilities/context";
|
|
7
|
+
import { instantiateLabel } from "../process/instantiate";
|
|
8
|
+
import { nameFromLabelNode } from "../utilities/element";
|
|
6
9
|
|
|
7
10
|
const { breakPointToBreakPointJSON } = breakPointUtilities;
|
|
8
11
|
|
|
@@ -45,6 +48,18 @@ export default define(class Label extends Element {
|
|
|
45
48
|
static name = "Label";
|
|
46
49
|
|
|
47
50
|
static fromJSON(json, context) {
|
|
48
|
-
|
|
51
|
+
return instantiate((context) => {
|
|
52
|
+
const { string } = json,
|
|
53
|
+
labelNode = instantiateLabel(string, context),
|
|
54
|
+
node = labelNode, ///
|
|
55
|
+
breakPoint = null,
|
|
56
|
+
name = nameFromLabelNode(labelNode, context);
|
|
57
|
+
|
|
58
|
+
context = null;
|
|
59
|
+
|
|
60
|
+
const label = new Label(context, string, node, breakPoint, name);
|
|
61
|
+
|
|
62
|
+
return label;
|
|
63
|
+
}, context);
|
|
49
64
|
}
|
|
50
65
|
});
|
|
@@ -5,6 +5,9 @@ import { Element, breakPointUtilities } from "occam-languages";
|
|
|
5
5
|
import Exception from "../exception";
|
|
6
6
|
|
|
7
7
|
import { define } from "../elements";
|
|
8
|
+
import { instantiate } from "../utilities/context";
|
|
9
|
+
import { instantiateParameters } from "../process/instantiate";
|
|
10
|
+
import { parametersArrayFromParametersNode } from "../utilities/element";
|
|
8
11
|
|
|
9
12
|
const { breakPointToBreakPointJSON } = breakPointUtilities;
|
|
10
13
|
|
|
@@ -82,6 +85,19 @@ export default define(class Parameters extends Element {
|
|
|
82
85
|
static name = "Parameters";
|
|
83
86
|
|
|
84
87
|
static fromJSON(json, context) {
|
|
85
|
-
|
|
88
|
+
return instantiate((context) => {
|
|
89
|
+
const { string } = json,
|
|
90
|
+
parametersNode = instantiateParameters(string, context),
|
|
91
|
+
node = parametersNode, ///
|
|
92
|
+
breakPoint = null,
|
|
93
|
+
parametersArray = parametersArrayFromParametersNode(parametersNode, context),
|
|
94
|
+
array = parametersArray; ///
|
|
95
|
+
|
|
96
|
+
context = null;
|
|
97
|
+
|
|
98
|
+
const parameters = new Parameters(context, string, node, breakPoint, array);
|
|
99
|
+
|
|
100
|
+
return parameters;
|
|
101
|
+
}, context);
|
|
86
102
|
}
|
|
87
103
|
});
|
package/src/element/procedure.js
CHANGED
|
@@ -6,6 +6,7 @@ import Exception from "../exception";
|
|
|
6
6
|
|
|
7
7
|
import { define } from "../elements";
|
|
8
8
|
import { valuesFromNominalValues } from "../utilities/values";
|
|
9
|
+
import { returnBlockFromProcedureNode } from "../utilities/element";
|
|
9
10
|
import { variablesFromValuesAndParameters } from "../utilities/parameters";
|
|
10
11
|
import { typeFromJSON, labelFromJSON, parametersFromJSON, typeToTypeJSON, labelToLabelJSON, parametersToParametersJSON } from "../utilities/json";
|
|
11
12
|
|
|
@@ -78,6 +79,8 @@ export default define(class Procedure extends Element {
|
|
|
78
79
|
|
|
79
80
|
this.parameters.compareValues(values, context);
|
|
80
81
|
|
|
82
|
+
this.guaranteeReturnBlock();
|
|
83
|
+
|
|
81
84
|
const variables = variablesFromValuesAndParameters(values, this.parameters, context),
|
|
82
85
|
value = await this.returnBlock.evaluate(variables, context),
|
|
83
86
|
valueType = value.getType(),
|
|
@@ -114,6 +117,18 @@ export default define(class Procedure extends Element {
|
|
|
114
117
|
return term;
|
|
115
118
|
}
|
|
116
119
|
|
|
120
|
+
guaranteeReturnBlock() {
|
|
121
|
+
if (this.returnBlock != null) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
const node = this.getNode(),
|
|
126
|
+
context = this.getContext(),
|
|
127
|
+
procedureNode = node;
|
|
128
|
+
|
|
129
|
+
this.returnBlock = returnBlockFromProcedureNode(procedureNode, context);
|
|
130
|
+
}
|
|
131
|
+
|
|
117
132
|
toJSON() {
|
|
118
133
|
const typeJSON = typeToTypeJSON(this.type),
|
|
119
134
|
labelJSON = labelToLabelJSON(this.label),
|
|
@@ -152,9 +167,8 @@ export default define(class Procedure extends Element {
|
|
|
152
167
|
parameters = parametersFromJSON(json, context),
|
|
153
168
|
procedureNode = context.findProcedureNode(label),
|
|
154
169
|
returnBlock = null, ///
|
|
155
|
-
node = procedureNode
|
|
156
|
-
|
|
157
|
-
const procedure = new Prpcedure(context, string, node, breakPoint, type, label, parameters, returnBlock);
|
|
170
|
+
node = procedureNode, ///
|
|
171
|
+
procedure = new Procedure(context, string, node, breakPoint, type, label, parameters, returnBlock);
|
|
158
172
|
|
|
159
173
|
return procedure;
|
|
160
174
|
}
|
package/src/node/procedure.js
CHANGED
|
@@ -33,5 +33,19 @@ export default class ProcedureNode extends NonTerminalNode {
|
|
|
33
33
|
return returnBlockNode;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
matchLabelNode(labelNode) {
|
|
37
|
+
let labelNodeMatches;
|
|
38
|
+
|
|
39
|
+
const labelNodeA = labelNode; ///
|
|
40
|
+
|
|
41
|
+
labelNode = this.getLabelNode();
|
|
42
|
+
|
|
43
|
+
const labelNodeB = labelNode; ///
|
|
44
|
+
|
|
45
|
+
labelNodeMatches = labelNodeA.match(labelNodeB); ///
|
|
46
|
+
|
|
47
|
+
return labelNodeMatches;
|
|
48
|
+
}
|
|
49
|
+
|
|
36
50
|
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(ProcedureNode, ruleName, childNodes, opacity, precedence); }
|
|
37
51
|
}
|
|
@@ -2,10 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
import { bnfUtilities } from "occam-languages";
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { PERIOD, PERIOD_STRING_LITERAL } from "../constants";
|
|
6
|
+
import { TYPE_RULE_NAME, LABEL_RULE_NAME, PARAMETERS_RULE_NAME } from "../ruleNames";
|
|
6
7
|
|
|
7
8
|
const { instantiate, ruleFromRuleName } = bnfUtilities;
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
let delimiter;
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
delimiter = PERIOD_STRING_LITERAL;
|
|
13
|
+
|
|
14
|
+
const typePlaceholderRule = ruleFromRuleName(TYPE_RULE_NAME, delimiter),
|
|
15
|
+
labelPlaceholderRule = ruleFromRuleName(LABEL_RULE_NAME, delimiter),
|
|
16
|
+
parametersPlaceholderRule = ruleFromRuleName(PARAMETERS_RULE_NAME, delimiter);
|
|
17
|
+
|
|
18
|
+
delimiter = PERIOD;
|
|
19
|
+
|
|
20
|
+
export function instantiateType(string, context) { return instantiate(typePlaceholderRule, string, delimiter, context); }
|
|
21
|
+
|
|
22
|
+
export function instantiateLabel(string, context) { return instantiate(labelPlaceholderRule, string, delimiter, context); }
|
|
23
|
+
|
|
24
|
+
export function instantiateParameters(string, context) { return instantiate(parametersPlaceholderRule, string, delimiter, context); }
|