occam-furtle 3.0.387 → 3.0.388
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/element/anonymousProcedure.js +3 -4
- package/lib/element/expression.js +3 -4
- package/lib/element/returnBlock.js +6 -6
- package/lib/element/statement.js +3 -4
- package/lib/element/ternary.js +3 -4
- package/package.json +1 -1
- package/src/element/anonymousProcedure.js +3 -5
- package/src/element/expression.js +3 -5
- package/src/element/procedure.js +5 -5
- package/src/element/returnBlock.js +5 -5
- package/src/element/statement.js +3 -5
- package/src/element/ternary.js +3 -5
- package/lib/element/procedure.js +0 -123
|
@@ -17,7 +17,6 @@ function _interop_require_default(obj) {
|
|
|
17
17
|
default: obj
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
-
const { unbreakable } = _occamlanguages.continuationUtilities;
|
|
21
20
|
const _default = (0, _elements.define)(class AnonymousProcedure extends _occamlanguages.Element {
|
|
22
21
|
constructor(context, string, node, breakPoint, type, parameters, returnBlock){
|
|
23
22
|
super(context, string, node, breakPoint);
|
|
@@ -34,7 +33,7 @@ const _default = (0, _elements.define)(class AnonymousProcedure extends _occamla
|
|
|
34
33
|
getReturnBlock() {
|
|
35
34
|
return this.returnBlock;
|
|
36
35
|
}
|
|
37
|
-
call
|
|
36
|
+
call(values, context, continuatino) {
|
|
38
37
|
const anonymousProcedureString = this.getString(); ///
|
|
39
38
|
context.trace(`Calling the '${anonymousProcedureString}' anonymous function...`);
|
|
40
39
|
this.parameters.compareValues(values, context);
|
|
@@ -48,8 +47,8 @@ const _default = (0, _elements.define)(class AnonymousProcedure extends _occamla
|
|
|
48
47
|
context.debug(`...called the '${anonymousProcedureString}' anonymous function.`);
|
|
49
48
|
continuatino(value);
|
|
50
49
|
});
|
|
51
|
-
}
|
|
50
|
+
}
|
|
52
51
|
static name = "AnonymousProcedure";
|
|
53
52
|
});
|
|
54
53
|
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2Fub255bW91c1Byb2NlZHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgdmFyaWFibGVzRnJvbVZhbHVlc0FuZFBhcmFtZXRlcnMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3BhcmFtZXRlcnNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIEFub255bW91c1Byb2NlZHVyZSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHR5cGUsIHBhcmFtZXRlcnMsIHJldHVybkJsb2NrKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5wYXJhbWV0ZXJzID0gcGFyYW1ldGVycztcbiAgICB0aGlzLnJldHVybkJsb2NrID0gcmV0dXJuQmxvY2s7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXRQYXJhbWV0ZXJzKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnM7XG4gIH1cblxuICBnZXRSZXR1cm5CbG9jaygpIHtcbiAgICByZXR1cm4gdGhpcy5yZXR1cm5CbG9jaztcbiAgfVxuXG4gIGNhbGwodmFsdWVzLCBjb250ZXh0LCBjb250aW51YXRpbm8pIHtcbiAgICBjb25zdCBhbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYENhbGxpbmcgdGhlICcke2Fub255bW91c1Byb2NlZHVyZVN0cmluZ30nIGFub255bW91cyBmdW5jdGlvbi4uLmApO1xuXG4gICAgdGhpcy5wYXJhbWV0ZXJzLmNvbXBhcmVWYWx1ZXModmFsdWVzLCBjb250ZXh0KTtcblxuICAgIGNvbnN0IHZhcmlhYmxlcyA9IHZhcmlhYmxlc0Zyb21WYWx1ZXNBbmRQYXJhbWV0ZXJzKHZhbHVlcywgdGhpcy5wYXJhbWV0ZXJzLCBjb250ZXh0KTtcblxuICAgIHRoaXMucmV0dXJuQmxvY2suZXZhbHVhdGUodmFyaWFibGVzLCBjb250ZXh0LCAodmFsdWUpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICAgIHR5cGVFcXVhbFRvVmFsdWVUeXBlID0gdGhpcy50eXBlLmlzRXF1YWxUbyh2YWx1ZVR5cGUpO1xuXG4gICAgICBpZiAoIXR5cGVFcXVhbFRvVmFsdWVUeXBlKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgIHR5cGVTdHJpbmcgPSB0aGlzLnR5cGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGV9JyB0eXBlIGlzIG5vdCBlcXVhbCB0byB0aGUgJyR7YW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nfScgYW5vbnltb3VzIGZ1bmN0aW9uJ3MgJyR7dHlwZVN0cmluZ30nIHR5cGUuYCxcbiAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICAgIH1cblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uY2FsbGVkIHRoZSAnJHthbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmd9JyBhbm9ueW1vdXMgZnVuY3Rpb24uYCk7XG5cbiAgICAgIGNvbnRpbnVhdGlubyh2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQW5vbnltb3VzUHJvY2VkdXJlXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJBbm9ueW1vdXNQcm9jZWR1cmUiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidHlwZSIsInBhcmFtZXRlcnMiLCJyZXR1cm5CbG9jayIsImdldFR5cGUiLCJnZXRQYXJhbWV0ZXJzIiwiZ2V0UmV0dXJuQmxvY2siLCJjYWxsIiwidmFsdWVzIiwiY29udGludWF0aW5vIiwiYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJjb21wYXJlVmFsdWVzIiwidmFyaWFibGVzIiwidmFyaWFibGVzRnJvbVZhbHVlc0FuZFBhcmFtZXRlcnMiLCJldmFsdWF0ZSIsInZhbHVlIiwidmFsdWVUeXBlIiwidHlwZUVxdWFsVG9WYWx1ZVR5cGUiLCJpc0VxdWFsVG8iLCJ2YWx1ZVN0cmluZyIsInR5cGVTdHJpbmciLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJkZWJ1ZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBQTs7O2dDQVB3QjtrRUFFRjswQkFFQzs0QkFDMEI7Ozs7OztNQUVqRCxXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLDJCQUEyQkMsdUJBQU87SUFDNUQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsV0FBVyxDQUFFO1FBQzVFLEtBQUssQ0FBQ04sU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTtJQUNyQjtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNILElBQUk7SUFDbEI7SUFFQUksZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUNILFVBQVU7SUFDeEI7SUFFQUksaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUNILFdBQVc7SUFDekI7SUFFQUksS0FBS0MsTUFBTSxFQUFFWCxPQUFPLEVBQUVZLFlBQVksRUFBRTtRQUNsQyxNQUFNQywyQkFBMkIsSUFBSSxDQUFDQyxTQUFTLElBQUksR0FBRztRQUV0RGQsUUFBUWUsS0FBSyxDQUFDLENBQUMsYUFBYSxFQUFFRix5QkFBeUIsdUJBQXVCLENBQUM7UUFFL0UsSUFBSSxDQUFDUixVQUFVLENBQUNXLGFBQWEsQ0FBQ0wsUUFBUVg7UUFFdEMsTUFBTWlCLFlBQVlDLElBQUFBLDRDQUFnQyxFQUFDUCxRQUFRLElBQUksQ0FBQ04sVUFBVSxFQUFFTDtRQUU1RSxJQUFJLENBQUNNLFdBQVcsQ0FBQ2EsUUFBUSxDQUFDRixXQUFXakIsU0FBUyxDQUFDb0I7WUFDN0MsTUFBTUMsWUFBWUQsTUFBTWIsT0FBTyxJQUN6QmUsdUJBQXVCLElBQUksQ0FBQ2xCLElBQUksQ0FBQ21CLFNBQVMsQ0FBQ0Y7WUFFakQsSUFBSSxDQUFDQyxzQkFBc0I7Z0JBQ3pCLE1BQU1FLGNBQWNKLE1BQU1OLFNBQVMsSUFDN0JXLGFBQWEsSUFBSSxDQUFDckIsSUFBSSxDQUFDVSxTQUFTLElBQ2hDWSxVQUFVLENBQUMsS0FBSyxFQUFFRixZQUFZLFdBQVcsRUFBRUgsVUFBVSw0QkFBNEIsRUFBRVIseUJBQXlCLHdCQUF3QixFQUFFWSxXQUFXLE9BQU8sQ0FBQyxFQUN6SkUsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtnQkFFeEMsTUFBTUM7WUFDUjtZQUVBM0IsUUFBUThCLEtBQUssQ0FBQyxDQUFDLGVBQWUsRUFBRWpCLHlCQUF5QixxQkFBcUIsQ0FBQztZQUUvRUQsYUFBYVE7UUFDZjtJQUNGO0lBRUEsT0FBT1csT0FBTyxxQkFBcUI7QUFDckMifQ==
|
|
@@ -10,7 +10,6 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
const _occamlanguages = require("occam-languages");
|
|
12
12
|
const _elements = require("../elements");
|
|
13
|
-
const { unbreakable } = _occamlanguages.continuationUtilities;
|
|
14
13
|
const _default = (0, _elements.define)(class Expression extends _occamlanguages.Element {
|
|
15
14
|
constructor(context, string, node, breakPoint, term, some, every, reduce, ternary, nodeQuery, nodesQuery, lengthOf, toInteger, tryInteger, contains, endsWith, startsWith, returnBlock, procedureCall){
|
|
16
15
|
super(context, string, node, breakPoint);
|
|
@@ -112,7 +111,7 @@ const _default = (0, _elements.define)(class Expression extends _occamlanguages.
|
|
|
112
111
|
}
|
|
113
112
|
return type;
|
|
114
113
|
}
|
|
115
|
-
evaluate
|
|
114
|
+
evaluate(context, continuation) {
|
|
116
115
|
let value = null;
|
|
117
116
|
if (false) {
|
|
118
117
|
///
|
|
@@ -155,8 +154,8 @@ const _default = (0, _elements.define)(class Expression extends _occamlanguages.
|
|
|
155
154
|
} else if (this.procedureCall !== null) {
|
|
156
155
|
this.procedureCall.evaluate(context, continuation);
|
|
157
156
|
}
|
|
158
|
-
}
|
|
157
|
+
}
|
|
159
158
|
static name = "Expression";
|
|
160
159
|
});
|
|
161
160
|
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2V4cHJlc3Npb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQsIGNvbnRpbnVhdGlvblV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5cbmNvbnN0IHsgdW5icmVha2FibGUgfSA9IGNvbnRpbnVhdGlvblV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIEV4cHJlc3Npb24gZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0ZXJtLCBzb21lLCBldmVyeSwgcmVkdWNlLCB0ZXJuYXJ5LCBub2RlUXVlcnksIG5vZGVzUXVlcnksIGxlbmd0aE9mLCB0b0ludGVnZXIsIHRyeUludGVnZXIsIGNvbnRhaW5zLCBlbmRzV2l0aCwgc3RhcnRzV2l0aCwgcmV0dXJuQmxvY2ssIHByb2NlZHVyZUNhbGwpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy50ZXJtID0gdGVybTtcbiAgICB0aGlzLnNvbWUgPSBzb21lO1xuICAgIHRoaXMuZXZlcnkgPSBldmVyeTtcbiAgICB0aGlzLnJlZHVjZSA9IHJlZHVjZTtcbiAgICB0aGlzLnRlcm5hcnkgPSB0ZXJuYXJ5O1xuICAgIHRoaXMubm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5O1xuICAgIHRoaXMubm9kZXNRdWVyeSA9IG5vZGVzUXVlcnk7XG4gICAgdGhpcy5sZW5ndGhPZiA9IGxlbmd0aE9mO1xuICAgIHRoaXMudG9JbnRlZ2VyID0gdG9JbnRlZ2VyO1xuICAgIHRoaXMudHJ5SW50ZWdlciA9IHRyeUludGVnZXI7XG4gICAgdGhpcy5jb250YWlucyA9IGNvbnRhaW5zO1xuICAgIHRoaXMuZW5kc1dpdGggPSBlbmRzV2l0aDtcbiAgICB0aGlzLnN0YXJ0c1dpdGggPSBzdGFydHNXaXRoO1xuICAgIHRoaXMucmV0dXJuQmxvY2sgPSByZXR1cm5CbG9jaztcbiAgICB0aGlzLnByb2NlZHVyZUNhbGwgPSBwcm9jZWR1cmVDYWxsO1xuICB9XG5cbiAgZ2V0VGVybSgpIHtcbiAgICByZXR1cm4gdGhpcy50ZXJtO1xuICB9XG5cbiAgZ2V0U29tZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zb21lO1xuICB9XG5cbiAgZ2V0RXZlcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXZlcnk7XG4gIH1cblxuICBnZXRSZWR1Y2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVkdWNlO1xuICB9XG5cbiAgZ2V0VGVybmFyeSgpIHtcbiAgICByZXR1cm4gdGhpcy50ZXJuYXk7XG4gIH1cblxuICBnZXROb2RlUXVlcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZVF1ZXJ5O1xuICB9XG5cbiAgZ2V0Tm9kZXNRdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2Rlc1F1ZXJ5O1xuICB9XG5cbiAgZ2V0TGVuZ3RoT2YoKSB7XG4gICAgcmV0dXJuIHRoaXMubGVuZ3RoT2Y7XG4gIH1cblxuICBnZXRUb0ludGVnZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9JbnRlZ2VyO1xuICB9XG5cbiAgZ2V0VHJ5SW50ZWdlcigpIHtcbiAgICByZXR1cm4gdGhpcy50cnlJbnRlZ2VyO1xuICB9XG5cbiAgZ2V0Q29udGFpbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGFpbnM7XG4gIH1cblxuICBnZXRFbmRzV2l0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbmRzV2l0aDtcbiAgfVxuXG4gIGdldFN0YXJ0c1dpdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnRzV2l0aDtcbiAgfVxuXG4gIGdldFJldHVybkJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLnJldHVybkJsb2NrO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlQ2FsbCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9jZWR1cmVDYWxsO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICBsZXQgdHlwZTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmICh0aGlzLnRlcm0gIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRlcm0uZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zb21lICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5zb21lLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZXZlcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLmV2ZXJ5LmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucmVkdWNlICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5yZWR1Y2UuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy50ZXJuYXJ5ICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy50ZXJuYXJ5LmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubm9kZVF1ZXJ5ICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5ub2RlUXVlcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ub2Rlc1F1ZXJ5ICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5ub2Rlc1F1ZXJ5LmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoT2YgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLmxlbmd0aE9mLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudG9JbnRlZ2VyICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy50b0ludGVnZXIuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy50cnlJbnRlZ2VyICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy50cnlJbnRlZ2VyLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29udGFpbnMgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLmNvbnRhaW5zLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZW5kc1dpdGggIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLmVuZHNXaXRoLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuc3RhcnRzV2l0aCAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuc3RhcnRzV2l0aC5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJldHVybkJsb2NrICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5yZXR1cm5CbG9jay5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnByb2NlZHVyZUNhbGwgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnByb2NlZHVyZUNhbGwuZ2V0VHlwZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgZXZhbHVhdGUgPSB1bmJyZWFrYWJsZShmdW5jdGlvbiAoY29udGV4dCwgY29udGludWF0aW9uKSB7XG4gICAgbGV0IHZhbHVlID0gbnVsbDtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmICh0aGlzLnRlcm0gIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy50ZXJtLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ub2RlUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5ub2RlUXVlcnkuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5vZGVzUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5ub2Rlc1F1ZXJ5LmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGhPZiAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLmxlbmd0aE9mLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy50b0ludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy50b0ludGVnZXIuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRyeUludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy50cnlJbnRlZ2VyLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb250YWlucyAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLmNvbnRhaW5zLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5lbmRzV2l0aCAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLmVuZHNXaXRoLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdGFydHNXaXRoICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuc3RhcnRzV2l0aC5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgIGNvbnRpbnVhdGlvbih2YWx1ZSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAodGhpcy5zb21lICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnNvbWUuZXZhbHVhdGUoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZXZlcnkgIT09IG51bGwpIHtcbiAgICAgICB0aGlzLmV2ZXJ5LmV2YWx1YXRlKGNvbnRleHQsIGNvbnRpbnVhdGlvbik7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJlZHVjZSAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5yZWR1Y2UuZXZhbHVhdGUoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudGVybmFyeSAhPT0gbnVsbCkge1xuICAgICAgdGhpcy50ZXJuYXJ5LmV2YWx1YXRlKGNvbnRleHQsIGNvbnRpbnVhdGlvbik7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJldHVybkJsb2NrICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB2YXJpYWJsZXMgPSBbXTtcblxuICAgICAgdGhpcy5yZXR1cm5CbG9jay5ldmFsdWF0ZSh2YXJpYWJsZXMsIGNvbnRleHQsIGNvbnRpbnVhdGlvbik7XG4gICAgfSBlbHNlIGlmICh0aGlzLnByb2NlZHVyZUNhbGwgIT09IG51bGwpIHtcbiAgICAgIHRoaXMucHJvY2VkdXJlQ2FsbC5ldmFsdWF0ZShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgIH1cbiAgfSk7XG5cbiAgc3RhdGljIG5hbWUgPSBcIkV4cHJlc3Npb25cIjtcbn0pO1xuIl0sIm5hbWVzIjpbInVuYnJlYWthYmxlIiwiY29udGludWF0aW9uVXRpbGl0aWVzIiwiZGVmaW5lIiwiRXhwcmVzc2lvbiIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ0ZXJtIiwic29tZSIsImV2ZXJ5IiwicmVkdWNlIiwidGVybmFyeSIsIm5vZGVRdWVyeSIsIm5vZGVzUXVlcnkiLCJsZW5ndGhPZiIsInRvSW50ZWdlciIsInRyeUludGVnZXIiLCJjb250YWlucyIsImVuZHNXaXRoIiwic3RhcnRzV2l0aCIsInJldHVybkJsb2NrIiwicHJvY2VkdXJlQ2FsbCIsImdldFRlcm0iLCJnZXRTb21lIiwiZ2V0RXZlcnkiLCJnZXRSZWR1Y2UiLCJnZXRUZXJuYXJ5IiwidGVybmF5IiwiZ2V0Tm9kZVF1ZXJ5IiwiZ2V0Tm9kZXNRdWVyeSIsImdldExlbmd0aE9mIiwiZ2V0VG9JbnRlZ2VyIiwiZ2V0VHJ5SW50ZWdlciIsImdldENvbnRhaW5zIiwiZ2V0RW5kc1dpdGgiLCJnZXRTdGFydHNXaXRoIiwiZ2V0UmV0dXJuQmxvY2siLCJnZXRQcm9jZWR1cmVDYWxsIiwiZ2V0VHlwZSIs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
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2V4cHJlc3Npb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgRXhwcmVzc2lvbiBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHRlcm0sIHNvbWUsIGV2ZXJ5LCByZWR1Y2UsIHRlcm5hcnksIG5vZGVRdWVyeSwgbm9kZXNRdWVyeSwgbGVuZ3RoT2YsIHRvSW50ZWdlciwgdHJ5SW50ZWdlciwgY29udGFpbnMsIGVuZHNXaXRoLCBzdGFydHNXaXRoLCByZXR1cm5CbG9jaywgcHJvY2VkdXJlQ2FsbCkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnRlcm0gPSB0ZXJtO1xuICAgIHRoaXMuc29tZSA9IHNvbWU7XG4gICAgdGhpcy5ldmVyeSA9IGV2ZXJ5O1xuICAgIHRoaXMucmVkdWNlID0gcmVkdWNlO1xuICAgIHRoaXMudGVybmFyeSA9IHRlcm5hcnk7XG4gICAgdGhpcy5ub2RlUXVlcnkgPSBub2RlUXVlcnk7XG4gICAgdGhpcy5ub2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeTtcbiAgICB0aGlzLmxlbmd0aE9mID0gbGVuZ3RoT2Y7XG4gICAgdGhpcy50b0ludGVnZXIgPSB0b0ludGVnZXI7XG4gICAgdGhpcy50cnlJbnRlZ2VyID0gdHJ5SW50ZWdlcjtcbiAgICB0aGlzLmNvbnRhaW5zID0gY29udGFpbnM7XG4gICAgdGhpcy5lbmRzV2l0aCA9IGVuZHNXaXRoO1xuICAgIHRoaXMuc3RhcnRzV2l0aCA9IHN0YXJ0c1dpdGg7XG4gICAgdGhpcy5yZXR1cm5CbG9jayA9IHJldHVybkJsb2NrO1xuICAgIHRoaXMucHJvY2VkdXJlQ2FsbCA9IHByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBnZXRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm07XG4gIH1cblxuICBnZXRTb21lKCkge1xuICAgIHJldHVybiB0aGlzLnNvbWU7XG4gIH1cblxuICBnZXRFdmVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5ldmVyeTtcbiAgfVxuXG4gIGdldFJlZHVjZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWR1Y2U7XG4gIH1cblxuICBnZXRUZXJuYXJ5KCkge1xuICAgIHJldHVybiB0aGlzLnRlcm5heTtcbiAgfVxuXG4gIGdldE5vZGVRdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlUXVlcnk7XG4gIH1cblxuICBnZXROb2Rlc1F1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLm5vZGVzUXVlcnk7XG4gIH1cblxuICBnZXRMZW5ndGhPZigpIHtcbiAgICByZXR1cm4gdGhpcy5sZW5ndGhPZjtcbiAgfVxuXG4gIGdldFRvSW50ZWdlcigpIHtcbiAgICByZXR1cm4gdGhpcy50b0ludGVnZXI7XG4gIH1cblxuICBnZXRUcnlJbnRlZ2VyKCkge1xuICAgIHJldHVybiB0aGlzLnRyeUludGVnZXI7XG4gIH1cblxuICBnZXRDb250YWlucygpIHtcbiAgICByZXR1cm4gdGhpcy5jb250YWlucztcbiAgfVxuXG4gIGdldEVuZHNXaXRoKCkge1xuICAgIHJldHVybiB0aGlzLmVuZHNXaXRoO1xuICB9XG5cbiAgZ2V0U3RhcnRzV2l0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGFydHNXaXRoO1xuICB9XG5cbiAgZ2V0UmV0dXJuQmxvY2soKSB7XG4gICAgcmV0dXJuIHRoaXMucmV0dXJuQmxvY2s7XG4gIH1cblxuICBnZXRQcm9jZWR1cmVDYWxsKCkge1xuICAgIHJldHVybiB0aGlzLnByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIGxldCB0eXBlO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHRoaXMudGVybSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMudGVybS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNvbWUgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnNvbWUuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ldmVyeSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuZXZlcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yZWR1Y2UgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnJlZHVjZS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRlcm5hcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRlcm5hcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ub2RlUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLm5vZGVRdWVyeS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5vZGVzUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLm5vZGVzUXVlcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGhPZiAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMubGVuZ3RoT2YuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy50b0ludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRvSW50ZWdlci5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRyeUludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRyeUludGVnZXIuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb250YWlucyAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuY29udGFpbnMuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5lbmRzV2l0aCAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuZW5kc1dpdGguZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdGFydHNXaXRoICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5zdGFydHNXaXRoLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucmV0dXJuQmxvY2sgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnJldHVybkJsb2NrLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJvY2VkdXJlQ2FsbCAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMucHJvY2VkdXJlQ2FsbC5nZXRUeXBlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0LCBjb250aW51YXRpb24pIHtcbiAgICBsZXQgdmFsdWUgPSBudWxsO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHRoaXMudGVybSAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLnRlcm0uZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5vZGVRdWVyeSAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLm5vZGVRdWVyeS5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubm9kZXNRdWVyeSAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLm5vZGVzUXVlcnkuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aE9mICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMubGVuZ3RoT2YuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRvSW50ZWdlciAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLnRvSW50ZWdlci5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudHJ5SW50ZWdlciAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLnRyeUludGVnZXIuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRhaW5zICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuY29udGFpbnMuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmVuZHNXaXRoICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuZW5kc1dpdGguZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnN0YXJ0c1dpdGggIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5zdGFydHNXaXRoLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgY29udGludWF0aW9uKHZhbHVlKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmICh0aGlzLnNvbWUgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuc29tZS5ldmFsdWF0ZShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ldmVyeSAhPT0gbnVsbCkge1xuICAgICAgIHRoaXMuZXZlcnkuZXZhbHVhdGUoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucmVkdWNlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnJlZHVjZS5ldmFsdWF0ZShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgIH0gZWxzZSBpZiAodGhpcy50ZXJuYXJ5ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnRlcm5hcnkuZXZhbHVhdGUoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucmV0dXJuQmxvY2sgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IFtdO1xuXG4gICAgICB0aGlzLnJldHVybkJsb2NrLmV2YWx1YXRlKHZhcmlhYmxlcywgY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJvY2VkdXJlQ2FsbCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5wcm9jZWR1cmVDYWxsLmV2YWx1YXRlKGNvbnRleHQsIGNvbnRpbnVhdGlvbik7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkV4cHJlc3Npb25cIjtcbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIkV4cHJlc3Npb24iLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidGVybSIsInNvbWUiLCJldmVyeSIsInJlZHVjZSIsInRlcm5hcnkiLCJub2RlUXVlcnkiLCJub2Rlc1F1ZXJ5IiwibGVuZ3RoT2YiLCJ0b0ludGVnZXIiLCJ0cnlJbnRlZ2VyIiwiY29udGFpbnMiLCJlbmRzV2l0aCIsInN0YXJ0c1dpdGgiLCJyZXR1cm5CbG9jayIsInByb2NlZHVyZUNhbGwiLCJnZXRUZXJtIiwiZ2V0U29tZSIsImdldEV2ZXJ5IiwiZ2V0UmVkdWNlIiwiZ2V0VGVybmFyeSIsInRlcm5heSIsImdldE5vZGVRdWVyeSIsImdldE5vZGVzUXVlcnkiLCJnZXRMZW5ndGhPZiIsImdldFRvSW50ZWdlciIsImdldFRyeUludGVnZXIiLCJnZXRDb250YWlucyIsImdldEVuZHNXaXRoIiwiZ2V0U3RhcnRzV2l0aCIsImdldFJldHVybkJsb2NrIiwiZ2V0UHJvY2VkdXJlQ2FsbCIsImdldFR5cGUiLCJ0eXBlIiwiZXZhbHVhdGUiLCJjb250aW51YXRpb24iLCJ2YWx1ZSIsInZhcmlhYmxlcyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBQTs7O2dDQUp3QjswQkFFRDtNQUV2QixXQUFlQSxJQUFBQSxnQkFBTSxFQUFD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
|
|
@@ -17,7 +17,7 @@ function _interop_require_default(obj) {
|
|
|
17
17
|
default: obj
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
-
const { forEach
|
|
20
|
+
const { forEach } = _occamlanguages.continuationUtilities;
|
|
21
21
|
const _default = (0, _elements.define)(class ReturnBlock extends _occamlanguages.Element {
|
|
22
22
|
constructor(context, string, node, breakPoint, statements, nonsensical, returnStatement){
|
|
23
23
|
super(context, string, node, breakPoint);
|
|
@@ -34,7 +34,7 @@ const _default = (0, _elements.define)(class ReturnBlock extends _occamlanguages
|
|
|
34
34
|
getReturnStatement() {
|
|
35
35
|
return this.returnStatement;
|
|
36
36
|
}
|
|
37
|
-
evaluate
|
|
37
|
+
evaluate(variables, context, continuation) {
|
|
38
38
|
const returnBlockString = this.getString(); ///
|
|
39
39
|
context.trace(`Evaluating the '${returnBlockString}' return block...`);
|
|
40
40
|
if (this.nonsensical) {
|
|
@@ -48,8 +48,8 @@ const _default = (0, _elements.define)(class ReturnBlock extends _occamlanguages
|
|
|
48
48
|
continuation(value);
|
|
49
49
|
});
|
|
50
50
|
}, variables, context);
|
|
51
|
-
}
|
|
52
|
-
evaluateStatements
|
|
51
|
+
}
|
|
52
|
+
evaluateStatements(context, continuation) {
|
|
53
53
|
const returnBlockString = this.getString(); ///
|
|
54
54
|
context.trace(`Evaluating the '${returnBlockString}' return block's statements...`);
|
|
55
55
|
forEach(this.statements, (statement, continuation)=>{
|
|
@@ -58,8 +58,8 @@ const _default = (0, _elements.define)(class ReturnBlock extends _occamlanguages
|
|
|
58
58
|
context.debug(`...evaluated the '${returnBlockString}' return block's statements.`);
|
|
59
59
|
continuation();
|
|
60
60
|
});
|
|
61
|
-
}
|
|
61
|
+
}
|
|
62
62
|
static name = "ReturnBlock";
|
|
63
63
|
});
|
|
64
64
|
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3JldHVybkJsb2NrLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IGNvbmZpbmUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcblxuY29uc3QgeyBmb3JFYWNoIH0gPSBjb250aW51YXRpb25VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBSZXR1cm5CbG9jayBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHN0YXRlbWVudHMsIG5vbnNlbnNpY2FsLCByZXR1cm5TdGF0ZW1lbnQpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5zdGF0ZW1lbnRzID0gc3RhdGVtZW50cztcbiAgICB0aGlzLm5vbnNlbnNpY2FsID0gbm9uc2Vuc2ljYWw7XG4gICAgdGhpcy5yZXR1cm5TdGF0ZW1lbnQgPSByZXR1cm5TdGF0ZW1lbnQ7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnRzKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudHM7XG4gIH1cblxuICBpc05vbnNlbnNpY2FsKCkge1xuICAgIHJldHVybiB0aGlzLm5vbnNlbnNpY2FsO1xuICB9XG5cbiAgZ2V0UmV0dXJuU3RhdGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLnJldHVyblN0YXRlbWVudDtcbiAgfVxuXG4gIGV2YWx1YXRlKHZhcmlhYmxlcywgY29udGV4dCwgY29udGludWF0aW9uKSB7XG4gICAgY29uc3QgcmV0dXJuQmxvY2tTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke3JldHVybkJsb2NrU3RyaW5nfScgcmV0dXJuIGJsb2NrLi4uYCk7XG5cbiAgICBpZiAodGhpcy5ub25zZW5zaWNhbCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgcmV0dXJuIGJsb2NrIGlzIG5vbnNlbnNpY2FsLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25maW5lKChjb250ZXh0KSA9PiB7XG4gICAgICB0aGlzLmV2YWx1YXRlU3RhdGVtZW50cyhjb250ZXh0LCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5yZXR1cm5TdGF0ZW1lbnQuZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgICAgIHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtyZXR1cm5CbG9ja1N0cmluZ30nIHJldHVybiBibG9jayBhcyAnJHt2YWx1ZVN0cmluZ30nLmApO1xuXG4gICAgICAgIGNvbnRpbnVhdGlvbih2YWx1ZSk7XG4gICAgICB9KTtcbiAgICB9LCB2YXJpYWJsZXMsIGNvbnRleHQpO1xuICB9XG5cbiAgZXZhbHVhdGVTdGF0ZW1lbnRzKGNvbnRleHQsIGNvbnRpbnVhdGlvbikge1xuICAgIGNvbnN0IHJldHVybkJsb2NrU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtyZXR1cm5CbG9ja1N0cmluZ30nIHJldHVybiBibG9jaydzIHN0YXRlbWVudHMuLi5gKTtcblxuICAgIGZvckVhY2godGhpcy5zdGF0ZW1lbnRzLCAoc3RhdGVtZW50LCBjb250aW51YXRpb24pID0+IHtcbiAgICAgIHN0YXRlbWVudC5ldmFsdWF0ZShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgIH0sICgpID0+IHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7cmV0dXJuQmxvY2tTdHJpbmd9JyByZXR1cm4gYmxvY2sncyBzdGF0ZW1lbnRzLmApO1xuXG4gICAgICBjb250aW51YXRpb24oKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJSZXR1cm5CbG9ja1wiO1xufSk7XG4iXSwibmFtZXMiOlsiZm9yRWFjaCIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsImRlZmluZSIsIlJldHVybkJsb2NrIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInN0YXRlbWVudHMiLCJub25zZW5zaWNhbCIsInJldHVyblN0YXRlbWVudCIsImdldFN0YXRlbWVudHMiLCJpc05vbnNlbnNpY2FsIiwiZ2V0UmV0dXJuU3RhdGVtZW50IiwiZXZhbHVhdGUiLCJ2YXJpYWJsZXMiLCJjb250aW51YXRpb24iLCJyZXR1cm5CbG9ja1N0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwiY29uZmluZSIsImV2YWx1YXRlU3RhdGVtZW50cyIsInZhbHVlIiwidmFsdWVTdHJpbmciLCJkZWJ1ZyIsInN0YXRlbWVudCIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVdBOzs7ZUFBQTs7O2dDQVQrQztrRUFFekI7MEJBRUM7eUJBQ0M7Ozs7OztBQUV4QixNQUFNLEVBQUVBLE9BQU8sRUFBRSxHQUFHQyxxQ0FBcUI7TUFFekMsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxvQkFBb0JDLHVCQUFPO0lBQ3JELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsVUFBVSxFQUFFQyxXQUFXLEVBQUVDLGVBQWUsQ0FBRTtRQUN2RixLQUFLLENBQUNOLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtRQUNsQixJQUFJLENBQUNDLFdBQVcsR0FBR0E7UUFDbkIsSUFBSSxDQUFDQyxlQUFlLEdBQUdBO0lBQ3pCO0lBRUFDLGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDSCxVQUFVO0lBQ3hCO0lBRUFJLGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDSCxXQUFXO0lBQ3pCO0lBRUFJLHFCQUFxQjtRQUNuQixPQUFPLElBQUksQ0FBQ0gsZUFBZTtJQUM3QjtJQUVBSSxTQUFTQyxTQUFTLEVBQUVYLE9BQU8sRUFBRVksWUFBWSxFQUFFO1FBQ3pDLE1BQU1DLG9CQUFvQixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRS9DZCxRQUFRZSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsa0JBQWtCLGlCQUFpQixDQUFDO1FBRXJFLElBQUksSUFBSSxDQUFDUixXQUFXLEVBQUU7WUFDcEIsTUFBTVcsVUFBVSxDQUFDLGdDQUFnQyxDQUFDLEVBQzVDQyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO1lBRXhDLE1BQU1DO1FBQ1I7UUFFQUcsSUFBQUEsZ0JBQU8sRUFBQyxDQUFDcEI7WUFDUCxJQUFJLENBQUNxQixrQkFBa0IsQ0FBQ3JCLFNBQVM7Z0JBQy9CLE1BQU1zQixRQUFRLElBQUksQ0FBQ2hCLGVBQWUsQ0FBQ0ksUUFBUSxDQUFDVixVQUN0Q3VCLGNBQWNELE1BQU1SLFNBQVM7Z0JBRW5DZCxRQUFRd0IsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUVYLGtCQUFrQixtQkFBbUIsRUFBRVUsWUFBWSxFQUFFLENBQUM7Z0JBRXpGWCxhQUFhVTtZQUNmO1FBQ0YsR0FBR1gsV0FBV1g7SUFDaEI7SUFFQXFCLG1CQUFtQnJCLE9BQU8sRUFBRVksWUFBWSxFQUFFO1FBQ3hDLE1BQU1DLG9CQUFvQixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRS9DZCxRQUFRZSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsa0JBQWtCLDhCQUE4QixDQUFDO1FBRWxGbEIsUUFBUSxJQUFJLENBQUNTLFVBQVUsRUFBRSxDQUFDcUIsV0FBV2I7WUFDbkNhLFVBQVVmLFFBQVEsQ0FBQ1YsU0FBU1k7UUFDOUIsR0FBRztZQUNEWixRQUFRd0IsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUVYLGtCQUFrQiw0QkFBNEIsQ0FBQztZQUVsRkQ7UUFDRjtJQUNGO0lBRUEsT0FBT2MsT0FBTyxjQUFjO0FBQzlCIn0=
|
package/lib/element/statement.js
CHANGED
|
@@ -10,7 +10,6 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
const _occamlanguages = require("occam-languages");
|
|
12
12
|
const _elements = require("../elements");
|
|
13
|
-
const { unbreakable } = _occamlanguages.continuationUtilities;
|
|
14
13
|
const _default = (0, _elements.define)(class Statement extends _occamlanguages.Element {
|
|
15
14
|
constructor(context, string, node, breakPoint, arrayAssignment, objectAssignment, variableAssignments){
|
|
16
15
|
super(context, string, node, breakPoint);
|
|
@@ -27,7 +26,7 @@ const _default = (0, _elements.define)(class Statement extends _occamlanguages.E
|
|
|
27
26
|
getVariableAssignments() {
|
|
28
27
|
return this.variableAssignments;
|
|
29
28
|
}
|
|
30
|
-
evaluate
|
|
29
|
+
evaluate(context, continuation) {
|
|
31
30
|
if (false) {
|
|
32
31
|
///
|
|
33
32
|
} else if (this.arrayAssignment !== null) {
|
|
@@ -37,8 +36,8 @@ const _default = (0, _elements.define)(class Statement extends _occamlanguages.E
|
|
|
37
36
|
} else if (this.variableAssignments !== null) {
|
|
38
37
|
this.variableAssignments.evaluate(context, continuation);
|
|
39
38
|
}
|
|
40
|
-
}
|
|
39
|
+
}
|
|
41
40
|
static name = "Statement";
|
|
42
41
|
});
|
|
43
42
|
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3N0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBTdGF0ZW1lbnQgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCBhcnJheUFzc2lnbm1lbnQsIG9iamVjdEFzc2lnbm1lbnQsIHZhcmlhYmxlQXNzaWdubWVudHMpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5hcnJheUFzc2lnbm1lbnQgPSBhcnJheUFzc2lnbm1lbnQ7XG4gICAgdGhpcy5vYmplY3RBc3NpZ25tZW50ID0gb2JqZWN0QXNzaWdubWVudDtcbiAgICB0aGlzLnZhcmlhYmxlQXNzaWdubWVudHMgPSB2YXJpYWJsZUFzc2lnbm1lbnRzO1xuICB9XG5cbiAgZ2V0QXJyYXlBc3NpZ25tZW50KCkge1xuICAgIHJldHVybiB0aGlzLmFycmF5QXNzaWdubWVudDtcbiAgfVxuXG4gIGdldE9iamVjdEFzc2lnbm1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMub2JqZWN0QXNzaWdubWVudDtcbiAgfVxuXG4gIGdldFZhcmlhYmxlQXNzaWdubWVudHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGVBc3NpZ25tZW50cztcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQsIGNvbnRpbnVhdGlvbikge1xuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmICh0aGlzLmFycmF5QXNzaWdubWVudCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5hcnJheUFzc2lnbm1lbnQuZXZhbHVhdGUoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMub2JqZWN0QXNzaWdubWVudCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5vYmplY3RBc3NpZ25tZW50LmV2YWx1YXRlKGNvbnRleHQsIGNvbnRpbnVhdGlvbik7XG4gICAgfSBlbHNlIGlmICh0aGlzLnZhcmlhYmxlQXNzaWdubWVudHMgIT09IG51bGwpIHtcbiAgICAgIHRoaXMudmFyaWFibGVBc3NpZ25tZW50cy5ldmFsdWF0ZShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJTdGF0ZW1lbnRcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIlN0YXRlbWVudCIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJhcnJheUFzc2lnbm1lbnQiLCJvYmplY3RBc3NpZ25tZW50IiwidmFyaWFibGVBc3NpZ25tZW50cyIsImdldEFycmF5QXNzaWdubWVudCIsImdldE9iamVjdEFzc2lnbm1lbnQiLCJnZXRWYXJpYWJsZUFzc2lnbm1lbnRzIiwiZXZhbHVhdGUiLCJjb250aW51YXRpb24iLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQUE7OztnQ0FKd0I7MEJBRUQ7TUFFdkIsV0FBZUEsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxrQkFBa0JDLHVCQUFPO0lBQ25ELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsZUFBZSxFQUFFQyxnQkFBZ0IsRUFBRUMsbUJBQW1CLENBQUU7UUFDckcsS0FBSyxDQUFDTixTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLGVBQWUsR0FBR0E7UUFDdkIsSUFBSSxDQUFDQyxnQkFBZ0IsR0FBR0E7UUFDeEIsSUFBSSxDQUFDQyxtQkFBbUIsR0FBR0E7SUFDN0I7SUFFQUMscUJBQXFCO1FBQ25CLE9BQU8sSUFBSSxDQUFDSCxlQUFlO0lBQzdCO0lBRUFJLHNCQUFzQjtRQUNwQixPQUFPLElBQUksQ0FBQ0gsZ0JBQWdCO0lBQzlCO0lBRUFJLHlCQUF5QjtRQUN2QixPQUFPLElBQUksQ0FBQ0gsbUJBQW1CO0lBQ2pDO0lBRUFJLFNBQVNWLE9BQU8sRUFBRVcsWUFBWSxFQUFFO1FBQzlCLElBQUksT0FBTztRQUNULEdBQUc7UUFDTCxPQUFPLElBQUksSUFBSSxDQUFDUCxlQUFlLEtBQUssTUFBTTtZQUN4QyxJQUFJLENBQUNBLGVBQWUsQ0FBQ00sUUFBUSxDQUFDVixTQUFTVztRQUN6QyxPQUFPLElBQUksSUFBSSxDQUFDTixnQkFBZ0IsS0FBSyxNQUFNO1lBQ3pDLElBQUksQ0FBQ0EsZ0JBQWdCLENBQUNLLFFBQVEsQ0FBQ1YsU0FBU1c7UUFDMUMsT0FBTyxJQUFJLElBQUksQ0FBQ0wsbUJBQW1CLEtBQUssTUFBTTtZQUM1QyxJQUFJLENBQUNBLG1CQUFtQixDQUFDSSxRQUFRLENBQUNWLFNBQVNXO1FBQzdDO0lBQ0Y7SUFFQSxPQUFPQyxPQUFPLFlBQVk7QUFDNUIifQ==
|
package/lib/element/ternary.js
CHANGED
|
@@ -17,7 +17,6 @@ function _interop_require_default(obj) {
|
|
|
17
17
|
default: obj
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
-
const { unbreakable } = _occamlanguages.continuationUtilities;
|
|
21
20
|
const _default = (0, _elements.define)(class Ternary extends _occamlanguages.Element {
|
|
22
21
|
constructor(context, string, node, breakPoint, term, ifExpression, elseExpression){
|
|
23
22
|
super(context, string, node, breakPoint);
|
|
@@ -34,7 +33,7 @@ const _default = (0, _elements.define)(class Ternary extends _occamlanguages.Ele
|
|
|
34
33
|
getElseBlock() {
|
|
35
34
|
return this.elseExpression;
|
|
36
35
|
}
|
|
37
|
-
evaluate
|
|
36
|
+
evaluate(context, continuation) {
|
|
38
37
|
const ternaryString = this.getString(); ///
|
|
39
38
|
context.trace(`Evaluating the '${ternaryString}' ternary...`);
|
|
40
39
|
const value = this.term.evaluate(context), valueType = value.getType(), valueTypeBooleanType = valueType.isBooleanType();
|
|
@@ -48,8 +47,8 @@ const _default = (0, _elements.define)(class Ternary extends _occamlanguages.Ele
|
|
|
48
47
|
context.debug(`...evaluated the '${ternaryString}' ternary as '${valueString}'.`);
|
|
49
48
|
continuation(value);
|
|
50
49
|
});
|
|
51
|
-
}
|
|
50
|
+
}
|
|
52
51
|
static name = "Ternary";
|
|
53
52
|
});
|
|
54
53
|
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Rlcm5hcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IEJPT0xFQU5fVFlQRV9OQU1FIH0gZnJvbSBcIi4uL3R5cGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVGVybmFyeSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHRlcm0sIGlmRXhwcmVzc2lvbiwgZWxzZUV4cHJlc3Npb24pIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy50ZXJtID0gdGVybTtcbiAgICB0aGlzLmlmRXhwcmVzc2lvbiA9IGlmRXhwcmVzc2lvbjtcbiAgICB0aGlzLmVsc2VFeHByZXNzaW9uID0gZWxzZUV4cHJlc3Npb247XG4gIH1cblxuICBnZXRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm07XG4gIH1cblxuICBnZXRJZkJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLmlmRXhwcmVzc2lvbjtcbiAgfVxuXG4gIGdldEVsc2VCbG9jaygpIHtcbiAgICByZXR1cm4gdGhpcy5lbHNlRXhwcmVzc2lvbjtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQsIGNvbnRpbnVhdGlvbikge1xuICAgIGNvbnN0IHRlcm5hcnlTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke3Rlcm5hcnlTdHJpbmd9JyB0ZXJuYXJ5Li4uYCk7XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudGVybS5ldmFsdWF0ZShjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgdmFsdWVUeXBlQm9vbGVhblR5cGUgPSB2YWx1ZVR5cGUuaXNCb29sZWFuVHlwZSgpO1xuXG4gICAgaWYgKCF2YWx1ZVR5cGVCb29sZWFuVHlwZSkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyB0eXBlIGlzICcke3ZhbHVlVHlwZX0nIHdoZW4gaXQgc2hvdWxkIGJlIG9mIHR5cGUgJyR7Qk9PTEVBTl9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB2YWx1ZS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIGJvb2xlYW4gPSBwcmltaXRpdmVWYWx1ZSwgLy8vXG4gICAgICAgICAgZXhwcmVzc2lvbiA9IGJvb2xlYW4gP1xuICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaWZFeHByZXNzaW9uIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxzZUV4cHJlc3Npb247XG5cbiAgICBleHByZXNzaW9uLmV2YWx1YXRlKGNvbnRleHQsICh2YWx1ZSkgPT4ge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHt0ZXJuYXJ5U3RyaW5nfScgdGVybmFyeSBhcyAnJHt2YWx1ZVN0cmluZ30nLmApO1xuXG4gICAgICBjb250aW51YXRpb24odmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlRlcm5hcnlcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIlRlcm5hcnkiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidGVybSIsImlmRXhwcmVzc2lvbiIsImVsc2VFeHByZXNzaW9uIiwiZ2V0VGVybSIsImdldElmQmxvY2siLCJnZXRFbHNlQmxvY2siLCJldmFsdWF0ZSIsImNvbnRpbnVhdGlvbiIsInRlcm5hcnlTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsInZhbHVlVHlwZUJvb2xlYW5UeXBlIiwiaXNCb29sZWFuVHlwZSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsIkJPT0xFQU5fVFlQRV9OQU1FIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJwcmltaXRpdmVWYWx1ZSIsImdldFByaW1pdGl2ZVZhbHVlIiwiYm9vbGVhbiIsImV4cHJlc3Npb24iLCJkZWJ1ZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBQTs7O2dDQVB3QjtrRUFFRjswQkFFQzsyQkFDVzs7Ozs7O01BRWxDLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsZ0JBQWdCQyx1QkFBTztJQUNqRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLElBQUksRUFBRUMsWUFBWSxFQUFFQyxjQUFjLENBQUU7UUFDakYsS0FBSyxDQUFDTixTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLFlBQVksR0FBR0E7UUFDcEIsSUFBSSxDQUFDQyxjQUFjLEdBQUdBO0lBQ3hCO0lBRUFDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0gsSUFBSTtJQUNsQjtJQUVBSSxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUNILFlBQVk7SUFDMUI7SUFFQUksZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDSCxjQUFjO0lBQzVCO0lBRUFJLFNBQVNWLE9BQU8sRUFBRVcsWUFBWSxFQUFFO1FBQzlCLE1BQU1DLGdCQUFnQixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRTNDYixRQUFRYyxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsY0FBYyxZQUFZLENBQUM7UUFFNUQsTUFBTUcsUUFBUSxJQUFJLENBQUNYLElBQUksQ0FBQ00sUUFBUSxDQUFDVixVQUMzQmdCLFlBQVlELE1BQU1FLE9BQU8sSUFDekJDLHVCQUF1QkYsVUFBVUcsYUFBYTtRQUVwRCxJQUFJLENBQUNELHNCQUFzQjtZQUN6QixNQUFNRSxjQUFjTCxNQUFNRixTQUFTLElBQzdCUSxVQUFVLENBQUMsS0FBSyxFQUFFRCxZQUFZLG1CQUFtQixFQUFFSixVQUFVLDZCQUE2QixFQUFFTSw0QkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFDakhDLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0o7WUFFeEMsTUFBTUU7UUFDUjtRQUVBLE1BQU1HLGlCQUFpQlgsTUFBTVksaUJBQWlCLElBQ3hDQyxVQUFVRixnQkFDVkcsYUFBYUQsVUFDRSxJQUFJLENBQUN2QixZQUFZLEdBQ2YsSUFBSSxDQUFDQyxjQUFjO1FBRTFDdUIsV0FBV25CLFFBQVEsQ0FBQ1YsU0FBUyxDQUFDZTtZQUM1QixNQUFNSyxjQUFjTCxNQUFNRixTQUFTO1lBRW5DYixRQUFROEIsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUVsQixjQUFjLGNBQWMsRUFBRVEsWUFBWSxFQUFFLENBQUM7WUFFaEZULGFBQWFJO1FBQ2Y7SUFDRjtJQUVBLE9BQU9nQixPQUFPLFVBQVU7QUFDMUIifQ==
|
package/package.json
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { Element
|
|
3
|
+
import { Element } from "occam-languages";
|
|
4
4
|
|
|
5
5
|
import Exception from "../exception";
|
|
6
6
|
|
|
7
7
|
import { define } from "../elements";
|
|
8
8
|
import { variablesFromValuesAndParameters } from "../utilities/parameters";
|
|
9
9
|
|
|
10
|
-
const { unbreakable } = continuationUtilities;
|
|
11
|
-
|
|
12
10
|
export default define(class AnonymousProcedure extends Element {
|
|
13
11
|
constructor(context, string, node, breakPoint, type, parameters, returnBlock) {
|
|
14
12
|
super(context, string, node, breakPoint);
|
|
@@ -30,7 +28,7 @@ export default define(class AnonymousProcedure extends Element {
|
|
|
30
28
|
return this.returnBlock;
|
|
31
29
|
}
|
|
32
30
|
|
|
33
|
-
call
|
|
31
|
+
call(values, context, continuatino) {
|
|
34
32
|
const anonymousProcedureString = this.getString(); ///
|
|
35
33
|
|
|
36
34
|
context.trace(`Calling the '${anonymousProcedureString}' anonymous function...`);
|
|
@@ -56,7 +54,7 @@ export default define(class AnonymousProcedure extends Element {
|
|
|
56
54
|
|
|
57
55
|
continuatino(value);
|
|
58
56
|
});
|
|
59
|
-
}
|
|
57
|
+
}
|
|
60
58
|
|
|
61
59
|
static name = "AnonymousProcedure";
|
|
62
60
|
});
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { Element
|
|
3
|
+
import { Element } from "occam-languages";
|
|
4
4
|
|
|
5
5
|
import { define } from "../elements";
|
|
6
6
|
|
|
7
|
-
const { unbreakable } = continuationUtilities;
|
|
8
|
-
|
|
9
7
|
export default define(class Expression extends Element {
|
|
10
8
|
constructor(context, string, node, breakPoint, term, some, every, reduce, ternary, nodeQuery, nodesQuery, lengthOf, toInteger, tryInteger, contains, endsWith, startsWith, returnBlock, procedureCall) {
|
|
11
9
|
super(context, string, node, breakPoint);
|
|
@@ -127,7 +125,7 @@ export default define(class Expression extends Element {
|
|
|
127
125
|
return type;
|
|
128
126
|
}
|
|
129
127
|
|
|
130
|
-
evaluate
|
|
128
|
+
evaluate(context, continuation) {
|
|
131
129
|
let value = null;
|
|
132
130
|
|
|
133
131
|
if (false) {
|
|
@@ -175,7 +173,7 @@ export default define(class Expression extends Element {
|
|
|
175
173
|
} else if (this.procedureCall !== null) {
|
|
176
174
|
this.procedureCall.evaluate(context, continuation);
|
|
177
175
|
}
|
|
178
|
-
}
|
|
176
|
+
}
|
|
179
177
|
|
|
180
178
|
static name = "Expression";
|
|
181
179
|
});
|
package/src/element/procedure.js
CHANGED
|
@@ -10,7 +10,7 @@ import { returnBlockFromProcedureNode } from "../utilities/element";
|
|
|
10
10
|
import { variablesFromValuesAndParameters } from "../utilities/parameters";
|
|
11
11
|
import { typeFromJSON, labelFromJSON, parametersFromJSON, typeToTypeJSON, labelToLabelJSON, parametersToParametersJSON } from "../utilities/json";
|
|
12
12
|
|
|
13
|
-
const { breakable
|
|
13
|
+
const { breakable } = continuationUtilities,
|
|
14
14
|
{ breakPointFromJSON, breakPointToBreakPointJSON } = breakPointUtilities;
|
|
15
15
|
|
|
16
16
|
export default define(class Procedure extends Element {
|
|
@@ -65,7 +65,7 @@ export default define(class Procedure extends Element {
|
|
|
65
65
|
this.returnBlock = returnBlockFromProcedureNode(procedureNode, context);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
verify
|
|
68
|
+
verify(context, continuation) {
|
|
69
69
|
let verifies;
|
|
70
70
|
|
|
71
71
|
const procedureString = this.getString();
|
|
@@ -82,7 +82,7 @@ export default define(class Procedure extends Element {
|
|
|
82
82
|
context.debug(`...verified the '${procedureString}' function.`)
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
continuation(verifies);
|
|
86
86
|
});
|
|
87
87
|
|
|
88
88
|
call = breakable(function (values, context, continuation) {
|
|
@@ -115,7 +115,7 @@ export default define(class Procedure extends Element {
|
|
|
115
115
|
});
|
|
116
116
|
});
|
|
117
117
|
|
|
118
|
-
callNominally
|
|
118
|
+
callNominally(nominalValues, continuation) {
|
|
119
119
|
const context = this.getContext(),
|
|
120
120
|
procedureString = this.getString(); ///
|
|
121
121
|
|
|
@@ -128,7 +128,7 @@ export default define(class Procedure extends Element {
|
|
|
128
128
|
|
|
129
129
|
continuation(value);
|
|
130
130
|
});
|
|
131
|
-
}
|
|
131
|
+
}
|
|
132
132
|
|
|
133
133
|
toJSON() {
|
|
134
134
|
const typeJSON = typeToTypeJSON(this.type),
|
|
@@ -7,7 +7,7 @@ import Exception from "../exception";
|
|
|
7
7
|
import { define } from "../elements";
|
|
8
8
|
import { confine } from "../utilities/context";
|
|
9
9
|
|
|
10
|
-
const { forEach
|
|
10
|
+
const { forEach } = continuationUtilities;
|
|
11
11
|
|
|
12
12
|
export default define(class ReturnBlock extends Element {
|
|
13
13
|
constructor(context, string, node, breakPoint, statements, nonsensical, returnStatement) {
|
|
@@ -30,7 +30,7 @@ export default define(class ReturnBlock extends Element {
|
|
|
30
30
|
return this.returnStatement;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
evaluate
|
|
33
|
+
evaluate(variables, context, continuation) {
|
|
34
34
|
const returnBlockString = this.getString(); ///
|
|
35
35
|
|
|
36
36
|
context.trace(`Evaluating the '${returnBlockString}' return block...`);
|
|
@@ -52,9 +52,9 @@ export default define(class ReturnBlock extends Element {
|
|
|
52
52
|
continuation(value);
|
|
53
53
|
});
|
|
54
54
|
}, variables, context);
|
|
55
|
-
}
|
|
55
|
+
}
|
|
56
56
|
|
|
57
|
-
evaluateStatements
|
|
57
|
+
evaluateStatements(context, continuation) {
|
|
58
58
|
const returnBlockString = this.getString(); ///
|
|
59
59
|
|
|
60
60
|
context.trace(`Evaluating the '${returnBlockString}' return block's statements...`);
|
|
@@ -66,7 +66,7 @@ export default define(class ReturnBlock extends Element {
|
|
|
66
66
|
|
|
67
67
|
continuation();
|
|
68
68
|
});
|
|
69
|
-
}
|
|
69
|
+
}
|
|
70
70
|
|
|
71
71
|
static name = "ReturnBlock";
|
|
72
72
|
});
|
package/src/element/statement.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { Element
|
|
3
|
+
import { Element } from "occam-languages";
|
|
4
4
|
|
|
5
5
|
import { define } from "../elements";
|
|
6
6
|
|
|
7
|
-
const { unbreakable } = continuationUtilities;
|
|
8
|
-
|
|
9
7
|
export default define(class Statement extends Element {
|
|
10
8
|
constructor(context, string, node, breakPoint, arrayAssignment, objectAssignment, variableAssignments) {
|
|
11
9
|
super(context, string, node, breakPoint);
|
|
@@ -27,7 +25,7 @@ export default define(class Statement extends Element {
|
|
|
27
25
|
return this.variableAssignments;
|
|
28
26
|
}
|
|
29
27
|
|
|
30
|
-
evaluate
|
|
28
|
+
evaluate(context, continuation) {
|
|
31
29
|
if (false) {
|
|
32
30
|
///
|
|
33
31
|
} else if (this.arrayAssignment !== null) {
|
|
@@ -37,7 +35,7 @@ export default define(class Statement extends Element {
|
|
|
37
35
|
} else if (this.variableAssignments !== null) {
|
|
38
36
|
this.variableAssignments.evaluate(context, continuation);
|
|
39
37
|
}
|
|
40
|
-
}
|
|
38
|
+
}
|
|
41
39
|
|
|
42
40
|
static name = "Statement";
|
|
43
41
|
});
|
package/src/element/ternary.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { Element
|
|
3
|
+
import { Element } from "occam-languages";
|
|
4
4
|
|
|
5
5
|
import Exception from "../exception";
|
|
6
6
|
|
|
7
7
|
import { define } from "../elements";
|
|
8
8
|
import { BOOLEAN_TYPE_NAME } from "../typeNames";
|
|
9
9
|
|
|
10
|
-
const { unbreakable } = continuationUtilities;
|
|
11
|
-
|
|
12
10
|
export default define(class Ternary extends Element {
|
|
13
11
|
constructor(context, string, node, breakPoint, term, ifExpression, elseExpression) {
|
|
14
12
|
super(context, string, node, breakPoint);
|
|
@@ -30,7 +28,7 @@ export default define(class Ternary extends Element {
|
|
|
30
28
|
return this.elseExpression;
|
|
31
29
|
}
|
|
32
30
|
|
|
33
|
-
evaluate
|
|
31
|
+
evaluate(context, continuation) {
|
|
34
32
|
const ternaryString = this.getString(); ///
|
|
35
33
|
|
|
36
34
|
context.trace(`Evaluating the '${ternaryString}' ternary...`);
|
|
@@ -60,7 +58,7 @@ export default define(class Ternary extends Element {
|
|
|
60
58
|
|
|
61
59
|
continuation(value);
|
|
62
60
|
});
|
|
63
|
-
}
|
|
61
|
+
}
|
|
64
62
|
|
|
65
63
|
static name = "Ternary";
|
|
66
64
|
});
|
package/lib/element/procedure.js
DELETED
|
@@ -1,123 +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 _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
|
|
13
|
-
const _elements = require("../elements");
|
|
14
|
-
const _values = require("../utilities/values");
|
|
15
|
-
const _element = require("../utilities/element");
|
|
16
|
-
const _parameters = require("../utilities/parameters");
|
|
17
|
-
const _json = require("../utilities/json");
|
|
18
|
-
function _interop_require_default(obj) {
|
|
19
|
-
return obj && obj.__esModule ? obj : {
|
|
20
|
-
default: obj
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
const { breakable, unbreakable } = _occamlanguages.continuationUtilities, { breakPointFromJSON, breakPointToBreakPointJSON } = _occamlanguages.breakPointUtilities;
|
|
24
|
-
const _default = (0, _elements.define)(class Procedure extends _occamlanguages.Element {
|
|
25
|
-
constructor(context, string, node, breakPoint, type, label, parameters, returnBlock){
|
|
26
|
-
super(context, string, node, breakPoint);
|
|
27
|
-
this.type = type;
|
|
28
|
-
this.label = label;
|
|
29
|
-
this.parameters = parameters;
|
|
30
|
-
this.returnBlock = returnBlock;
|
|
31
|
-
}
|
|
32
|
-
getType() {
|
|
33
|
-
return this.type;
|
|
34
|
-
}
|
|
35
|
-
getLabel() {
|
|
36
|
-
return this.label;
|
|
37
|
-
}
|
|
38
|
-
getParameters() {
|
|
39
|
-
return this.parameters;
|
|
40
|
-
}
|
|
41
|
-
getReturnBlock() {
|
|
42
|
-
return this.returnBlock;
|
|
43
|
-
}
|
|
44
|
-
getName() {
|
|
45
|
-
return this.label.getName();
|
|
46
|
-
}
|
|
47
|
-
isBoolean() {
|
|
48
|
-
const type = this.getType(), booleanType = type.isBooleanType(), boolean = booleanType; ///
|
|
49
|
-
return boolean;
|
|
50
|
-
}
|
|
51
|
-
getReturnStatement() {
|
|
52
|
-
return this.returnBlock.getReturnStatement();
|
|
53
|
-
}
|
|
54
|
-
compareProcedureName(procedureName) {
|
|
55
|
-
return this.label.compareProcedureName(procedureName);
|
|
56
|
-
}
|
|
57
|
-
guaranteeReturnBlock() {
|
|
58
|
-
if (this.returnBlock != null) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
const node = this.getNode(), context = this.getContext(), procedureNode = node;
|
|
62
|
-
this.returnBlock = (0, _element.returnBlockFromProcedureNode)(procedureNode, context);
|
|
63
|
-
}
|
|
64
|
-
verify = unbreakable(function(context) {
|
|
65
|
-
let verifies;
|
|
66
|
-
const procedureString = this.getString();
|
|
67
|
-
context.trace(`Verifying the '${procedureString}' function...`);
|
|
68
|
-
const procedure = this; ///
|
|
69
|
-
context.addProcedure(procedure);
|
|
70
|
-
verifies = true;
|
|
71
|
-
if (verifies) {
|
|
72
|
-
context.debug(`...verified the '${procedureString}' function.`);
|
|
73
|
-
}
|
|
74
|
-
return verifies;
|
|
75
|
-
});
|
|
76
|
-
call = breakable(function(values, context, continuation) {
|
|
77
|
-
const procedureString = this.getString(); ///
|
|
78
|
-
context.trace(`Calling the '${procedureString}' procedure...`);
|
|
79
|
-
this.parameters.compareValues(values, context);
|
|
80
|
-
this.guaranteeReturnBlock();
|
|
81
|
-
const variables = (0, _parameters.variablesFromValuesAndParameters)(values, this.parameters, context);
|
|
82
|
-
this.returnBlock.evaluate(variables, context, (value)=>{
|
|
83
|
-
const valueType = value.getType(), typeEqualToValueType = this.type.isEqualTo(valueType);
|
|
84
|
-
if (!typeEqualToValueType) {
|
|
85
|
-
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
|
-
throw exception;
|
|
87
|
-
}
|
|
88
|
-
context.debug(`...called the '${procedureString}' procedure.`);
|
|
89
|
-
continuation(value);
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
callNominally = unbreakable(function(nominalValues, continuation) {
|
|
93
|
-
const context = this.getContext(), procedureString = this.getString(); ///
|
|
94
|
-
context.trace(`Calling the '${procedureString}' function nominally...`);
|
|
95
|
-
const values = (0, _values.valuesFromNominalValues)(nominalValues, context);
|
|
96
|
-
this.call(values, context, (value)=>{
|
|
97
|
-
context.debug(`...called the '${procedureString}' function nominally.`);
|
|
98
|
-
continuation(value);
|
|
99
|
-
});
|
|
100
|
-
});
|
|
101
|
-
toJSON() {
|
|
102
|
-
const typeJSON = (0, _json.typeToTypeJSON)(this.type), labelJSON = (0, _json.labelToLabelJSON)(this.label), parametersJSON = (0, _json.parametersToParametersJSON)(this.parameters), string = this.getString();
|
|
103
|
-
let breakPoint;
|
|
104
|
-
breakPoint = this.getBreakPoint();
|
|
105
|
-
const breakPointJSON = breakPointToBreakPointJSON(breakPoint);
|
|
106
|
-
breakPoint = breakPointJSON; ///
|
|
107
|
-
const type = typeJSON, label = labelJSON, parameters = parametersJSON, json = {
|
|
108
|
-
string,
|
|
109
|
-
breakPoint,
|
|
110
|
-
type,
|
|
111
|
-
label,
|
|
112
|
-
parameters
|
|
113
|
-
};
|
|
114
|
-
return json;
|
|
115
|
-
}
|
|
116
|
-
static name = "Procedure";
|
|
117
|
-
static fromJSON(json, context) {
|
|
118
|
-
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);
|
|
119
|
-
return procedure;
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Byb2NlZHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgYnJlYWtQb2ludFV0aWxpdGllcywgY29udGludWF0aW9uVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyB2YWx1ZXNGcm9tTm9taW5hbFZhbHVlcyB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmFsdWVzXCI7XG5pbXBvcnQgeyByZXR1cm5CbG9ja0Zyb21Qcm9jZWR1cmVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9lbGVtZW50XCI7XG5pbXBvcnQgeyB2YXJpYWJsZXNGcm9tVmFsdWVzQW5kUGFyYW1ldGVycyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcGFyYW1ldGVyc1wiO1xuaW1wb3J0IHsgdHlwZUZyb21KU09OLCBsYWJlbEZyb21KU09OLCBwYXJhbWV0ZXJzRnJvbUpTT04sIHR5cGVUb1R5cGVKU09OLCBsYWJlbFRvTGFiZWxKU09OLCBwYXJhbWV0ZXJzVG9QYXJhbWV0ZXJzSlNPTiB9IGZyb20gXCIuLi91dGlsaXRpZXMvanNvblwiO1xuXG5jb25zdCB7IGJyZWFrYWJsZSwgdW5icmVha2FibGUgfSA9IGNvbnRpbnVhdGlvblV0aWxpdGllcyxcbiAgICAgIHsgYnJlYWtQb2ludEZyb21KU09OLCBicmVha1BvaW50VG9CcmVha1BvaW50SlNPTiB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFByb2NlZHVyZSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHR5cGUsIGxhYmVsLCBwYXJhbWV0ZXJzLCByZXR1cm5CbG9jaykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzO1xuICAgIHRoaXMucmV0dXJuQmxvY2sgPSByZXR1cm5CbG9jaztcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldExhYmVsKCkge1xuICAgIHJldHVybiB0aGlzLmxhYmVsO1xuICB9XG5cbiAgZ2V0UGFyYW1ldGVycygpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzO1xuICB9XG5cbiAgZ2V0UmV0dXJuQmxvY2soKSB7XG4gICAgcmV0dXJuIHRoaXMucmV0dXJuQmxvY2s7XG4gIH1cblxuICBnZXROYW1lKCkgeyByZXR1cm4gdGhpcy5sYWJlbC5nZXROYW1lKCk7IH1cblxuICBpc0Jvb2xlYW4oKSB7XG4gICAgY29uc3QgdHlwZSA9IHRoaXMuZ2V0VHlwZSgpLFxuICAgICAgICAgIGJvb2xlYW5UeXBlID0gdHlwZS5pc0Jvb2xlYW5UeXBlKCksXG4gICAgICAgICAgYm9vbGVhbiA9IGJvb2xlYW5UeXBlOyAgLy8vXG5cbiAgICByZXR1cm4gYm9vbGVhbjtcbiAgfVxuXG4gIGdldFJldHVyblN0YXRlbWVudCgpIHsgcmV0dXJuIHRoaXMucmV0dXJuQmxvY2suZ2V0UmV0dXJuU3RhdGVtZW50KCk7IH1cblxuICBjb21wYXJlUHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKSB7IHJldHVybiB0aGlzLmxhYmVsLmNvbXBhcmVQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpOyB9XG5cbiAgZ3VhcmFudGVlUmV0dXJuQmxvY2soKSB7XG4gICAgaWYgKHRoaXMucmV0dXJuQmxvY2sgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUoKSxcbiAgICAgICAgICBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCksXG4gICAgICAgICAgcHJvY2VkdXJlTm9kZSA9IG5vZGU7XG5cbiAgICB0aGlzLnJldHVybkJsb2NrID0gcmV0dXJuQmxvY2tGcm9tUHJvY2VkdXJlTm9kZShwcm9jZWR1cmVOb2RlLCBjb250ZXh0KTtcbiAgfVxuXG4gIHZlcmlmeSA9IHVuYnJlYWthYmxlKGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVzO1xuXG4gICAgY29uc3QgcHJvY2VkdXJlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgZnVuY3Rpb24uLi5gKVxuXG4gICAgY29uc3QgcHJvY2VkdXJlID0gdGhpczsgLy8vXG5cbiAgICBjb250ZXh0LmFkZFByb2NlZHVyZShwcm9jZWR1cmUpO1xuXG4gICAgdmVyaWZpZXMgPSB0cnVlO1xuXG4gICAgaWYgKHZlcmlmaWVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgZnVuY3Rpb24uYClcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZXM7XG4gIH0pO1xuXG4gIGNhbGwgPSBicmVha2FibGUoZnVuY3Rpb24gKHZhbHVlcywgY29udGV4dCwgY29udGludWF0aW9uKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgQ2FsbGluZyB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgcHJvY2VkdXJlLi4uYCk7XG5cbiAgICB0aGlzLnBhcmFtZXRlcnMuY29tcGFyZVZhbHVlcyh2YWx1ZXMsIGNvbnRleHQpO1xuXG4gICAgdGhpcy5ndWFyYW50ZWVSZXR1cm5CbG9jaygpO1xuXG4gICAgY29uc3QgdmFyaWFibGVzID0gdmFyaWFibGVzRnJvbVZhbHVlc0FuZFBhcmFtZXRlcnModmFsdWVzLCB0aGlzLnBhcmFtZXRlcnMsIGNvbnRleHQpO1xuXG4gICAgdGhpcy5yZXR1cm5CbG9jay5ldmFsdWF0ZSh2YXJpYWJsZXMsIGNvbnRleHQsICh2YWx1ZSkgPT4ge1xuICAgICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgdHlwZUVxdWFsVG9WYWx1ZVR5cGUgPSB0aGlzLnR5cGUuaXNFcXVhbFRvKHZhbHVlVHlwZSk7XG5cbiAgICAgIGlmICghdHlwZUVxdWFsVG9WYWx1ZVR5cGUpIHtcbiAgICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgdHlwZVN0cmluZyA9IHRoaXMudHlwZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3R5cGVTdHJpbmd9JyB0eXBlIGlzIG5vdCBlcXVhbCB0byB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgcHJvY2VkdXJlJ3MgJyR7dHlwZVN0cmluZ30nIHR5cGUuYCxcbiAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICAgIH1cblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uY2FsbGVkIHRoZSAnJHtwcm9jZWR1cmVTdHJpbmd9JyBwcm9jZWR1cmUuYCk7XG5cbiAgICAgIGNvbnRpbnVhdGlvbih2YWx1ZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGNhbGxOb21pbmFsbHkgPSB1bmJyZWFrYWJsZShmdW5jdGlvbiAobm9taW5hbFZhbHVlcywgY29udGludWF0aW9uKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIHByb2NlZHVyZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYENhbGxpbmcgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uIG5vbWluYWxseS4uLmApO1xuXG4gICAgY29uc3QgdmFsdWVzID0gdmFsdWVzRnJvbU5vbWluYWxWYWx1ZXMobm9taW5hbFZhbHVlcywgY29udGV4dCk7XG5cbiAgICB0aGlzLmNhbGwodmFsdWVzLCBjb250ZXh0LCAodmFsdWUpID0+IHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmNhbGxlZCB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgZnVuY3Rpb24gbm9taW5hbGx5LmApO1xuXG4gICAgICBjb250aW51YXRpb24odmFsdWUpO1xuICAgIH0pO1xuICB9KTtcblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdHlwZUpTT04gPSB0eXBlVG9UeXBlSlNPTih0aGlzLnR5cGUpLFxuICAgICAgICAgIGxhYmVsSlNPTiA9IGxhYmVsVG9MYWJlbEpTT04odGhpcy5sYWJlbCksXG4gICAgICAgICAgcGFyYW1ldGVyc0pTT04gPSBwYXJhbWV0ZXJzVG9QYXJhbWV0ZXJzSlNPTih0aGlzLnBhcmFtZXRlcnMpLFxuICAgICAgICAgIHN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBsZXQgYnJlYWtQb2ludDtcblxuICAgIGJyZWFrUG9pbnQgPSB0aGlzLmdldEJyZWFrUG9pbnQoKTtcblxuICAgIGNvbnN0IGJyZWFrUG9pbnRKU09OID0gYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04oYnJlYWtQb2ludCk7XG5cbiAgICBicmVha1BvaW50ID0gYnJlYWtQb2ludEpTT047ICAvLy9cblxuICAgIGNvbnN0IHR5cGUgPSB0eXBlSlNPTiwgIC8vL1xuICAgICAgICAgIGxhYmVsID0gbGFiZWxKU09OLCAgLy8vXG4gICAgICAgICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnNKU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHN0cmluZyxcbiAgICAgICAgICAgIGJyZWFrUG9pbnQsXG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBwYXJhbWV0ZXJzXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlByb2NlZHVyZVwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gICAgY29uc3QgeyBzdHJpbmcgfSA9IGpzb24sXG4gICAgICAgICAgYnJlYWtQb2ludCA9IGJyZWFrUG9pbnRGcm9tSlNPTihqc29uKSxcbiAgICAgICAgICB0eXBlID0gdHlwZUZyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgIGxhYmVsID0gbGFiZWxGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBwYXJhbWV0ZXJzID0gcGFyYW1ldGVyc0Zyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgIHByb2NlZHVyZU5vZGUgPSBjb250ZXh0LmZpbmRQcm9jZWR1cmVOb2RlKGxhYmVsKSxcbiAgICAgICAgICByZXR1cm5CbG9jayA9IG51bGwsIC8vL1xuICAgICAgICAgIG5vZGUgPSBwcm9jZWR1cmVOb2RlLCAvLy9cbiAgICAgICAgICBwcm9jZWR1cmUgPSBuZXcgUHJvY2VkdXJlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgbGFiZWwsIHBhcmFtZXRlcnMsIHJldHVybkJsb2NrKTtcblxuICAgIHJldHVybiBwcm9jZWR1cmU7XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbImJyZWFrYWJsZSIsInVuYnJlYWthYmxlIiwiY29udGludWF0aW9uVXRpbGl0aWVzIiwiYnJlYWtQb2ludEZyb21KU09OIiwiYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04iLCJicmVha1BvaW50VXRpbGl0aWVzIiwiZGVmaW5lIiwiUHJvY2VkdXJlIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInR5cGUiLCJsYWJlbCIsInBhcmFtZXRlcnMiLCJyZXR1cm5CbG9jayIsImdldFR5cGUiLCJnZXRMYWJlbCIsImdldFBhcmFtZXRlcnMiLCJnZXRSZXR1cm5CbG9jayIsImdldE5hbWUiLCJpc0Jvb2xlYW4iLCJib29sZWFuVHlwZSIsImlzQm9vbGVhblR5cGUiLCJib29sZWFuIiwiZ2V0UmV0dXJuU3RhdGVtZW50IiwiY29tcGFyZVByb2NlZHVyZU5hbWUiLCJwcm9jZWR1cmVOYW1lIiwiZ3VhcmFudGVlUmV0dXJuQmxvY2siLCJnZXROb2RlIiwiZ2V0Q29udGV4dCIsInByb2NlZHVyZU5vZGUiLCJyZXR1cm5CbG9ja0Zyb21Qcm9jZWR1cmVOb2RlIiwidmVyaWZ5IiwidmVyaWZpZXMiLCJwcm9jZWR1cmVTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInByb2NlZHVyZSIsImFkZFByb2NlZHVyZSIsImRlYnVnIiwiY2FsbCIsInZhbHVlcyIsImNvbnRpbnVhdGlvbiIsImNvbXBhcmVWYWx1ZXMiLCJ2YXJpYWJsZXMiLCJ2YXJpYWJsZXNGcm9tVmFsdWVzQW5kUGFyYW1ldGVycyIsImV2YWx1YXRlIiwidmFsdWUiLCJ2YWx1ZVR5cGUiLCJ0eXBlRXF1YWxUb1ZhbHVlVHlwZSIsImlzRXF1YWxUbyIsInZhbHVlU3RyaW5nIiwidHlwZVN0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsImNhbGxOb21pbmFsbHkiLCJub21pbmFsVmFsdWVzIiwidmFsdWVzRnJvbU5vbWluYWxWYWx1ZXMiLCJ0b0pTT04iLCJ0eXBlSlNPTiIsInR5cGVUb1R5cGVKU09OIiwibGFiZWxKU09OIiwibGFiZWxUb0xhYmVsSlNPTiIsInBhcmFtZXRlcnNKU09OIiwicGFyYW1ldGVyc1RvUGFyYW1ldGVyc0pTT04iLCJnZXRCcmVha1BvaW50IiwiYnJlYWtQb2ludEpTT04iLCJqc29uIiwibmFtZSIsImZyb21KU09OIiwidHlwZUZyb21KU09OIiwibGFiZWxGcm9tSlNPTiIsInBhcmFtZXRlcnNGcm9tSlNPTiIsImZpbmRQcm9jZWR1cmVOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFlQTs7O2VBQUE7OztnQ0Fib0U7a0VBRTlDOzBCQUVDO3dCQUNpQjt5QkFDSzs0QkFDSTtzQkFDNkU7Ozs7OztBQUU5SCxNQUFNLEVBQUVBLFNBQVMsRUFBRUMsV0FBVyxFQUFFLEdBQUdDLHFDQUFxQixFQUNsRCxFQUFFQyxrQkFBa0IsRUFBRUMsMEJBQTBCLEVBQUUsR0FBR0MsbUNBQW1CO01BRTlFLFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsa0JBQWtCQyx1QkFBTztJQUNuRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxVQUFVLEVBQUVDLFdBQVcsQ0FBRTtRQUNuRixLQUFLLENBQUNQLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtRQUNiLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtRQUNsQixJQUFJLENBQUNDLFdBQVcsR0FBR0E7SUFDckI7SUFFQUMsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDSixJQUFJO0lBQ2xCO0lBRUFLLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQ0osS0FBSztJQUNuQjtJQUVBSyxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQ0osVUFBVTtJQUN4QjtJQUVBSyxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQ0osV0FBVztJQUN6QjtJQUVBSyxVQUFVO1FBQUUsT0FBTyxJQUFJLENBQUNQLEtBQUssQ0FBQ08sT0FBTztJQUFJO0lBRXpDQyxZQUFZO1FBQ1YsTUFBTVQsT0FBTyxJQUFJLENBQUNJLE9BQU8sSUFDbkJNLGNBQWNWLEtBQUtXLGFBQWEsSUFDaENDLFVBQVVGLGFBQWMsR0FBRztRQUVqQyxPQUFPRTtJQUNUO0lBRUFDLHFCQUFx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
|