occam-languages 0.0.185 → 0.0.187

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/context.js CHANGED
@@ -16,9 +16,6 @@ class Context {
16
16
  getContext() {
17
17
  return this.context;
18
18
  }
19
- setContext(context) {
20
- this.context = context;
21
- }
22
19
  getDepth() {
23
20
  let depth = this.context.getDepth();
24
21
  depth++;
@@ -30,12 +27,26 @@ class Context {
30
27
  getReleaseContext() {
31
28
  return this.context.getReleaseContext();
32
29
  }
30
+ setNode(node) {
31
+ this.context.setNode(node);
32
+ }
33
+ setTokens(tokens) {
34
+ this.context.setTokens(tokens);
35
+ }
33
36
  nodesAsString(node) {
34
37
  return this.context.nodesAsString(node);
35
38
  }
36
39
  nodeAsString(node) {
37
40
  return this.context.nodeAsString(node);
38
41
  }
42
+ gainTokens(context) {
43
+ const released = this.isReleased();
44
+ if (released) {
45
+ return;
46
+ }
47
+ const tokens = context.getTokens();
48
+ this.setTokens(tokens);
49
+ }
39
50
  trace(message) {
40
51
  const level = _constants.TRACE_LEVEL;
41
52
  this.writeToLog(level, message);
@@ -72,4 +83,4 @@ class Context {
72
83
  }
73
84
  }
74
85
 
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZXh0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBET1VCTEVfU1BBQ0UsIFRSQUNFX0xFVkVMLCBERUJVR19MRVZFTCwgSU5GT19MRVZFTCwgRVJST1JfTEVWRUwsIFdBUk5JTkdfTEVWRUwgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQpIHtcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICB9XG5cbiAgZ2V0Q29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0O1xuICB9XG5cbiAgc2V0Q29udGV4dChjb250ZXh0KSB7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgfVxuXG4gIGdldERlcHRoKCkge1xuICAgIGxldCBkZXB0aCA9IHRoaXMuY29udGV4dC5nZXREZXB0aCgpO1xuXG4gICAgZGVwdGgrKztcblxuICAgIHJldHVybiBkZXB0aDtcbiAgfVxuXG4gIGlzUmVsZWFzZWQoKSB7IHJldHVybiB0aGlzLmNvbnRleHQuaXNSZWxlYXNlZCgpOyB9XG5cbiAgZ2V0UmVsZWFzZUNvbnRleHQoKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZ2V0UmVsZWFzZUNvbnRleHQoKTsgfVxuXG4gIG5vZGVzQXNTdHJpbmcobm9kZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0Lm5vZGVzQXNTdHJpbmcobm9kZSk7IH1cblxuICBub2RlQXNTdHJpbmcobm9kZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKTsgfVxuXG4gIHRyYWNlKG1lc3NhZ2UpIHtcbiAgICBjb25zdCBsZXZlbCA9IFRSQUNFX0xFVkVMO1xuXG4gICAgdGhpcy53cml0ZVRvTG9nKGxldmVsLCBtZXNzYWdlKTtcbiAgfVxuXG4gIGRlYnVnKG1lc3NhZ2UpIHtcbiAgICBjb25zdCBsZXZlbCA9IERFQlVHX0xFVkVMO1xuXG4gICAgdGhpcy53cml0ZVRvTG9nKGxldmVsLCBtZXNzYWdlKTtcbiAgfVxuXG4gIGluZm8obWVzc2FnZSkge1xuICAgIGNvbnN0IGxldmVsID0gSU5GT19MRVZFTDtcblxuICAgIHRoaXMud3JpdGVUb0xvZyhsZXZlbCwgbWVzc2FnZSk7XG4gIH1cblxuICB3YXJuaW5nKG1lc3NhZ2UpIHtcbiAgICBjb25zdCBsZXZlbCA9IFdBUk5JTkdfTEVWRUw7XG5cbiAgICB0aGlzLndyaXRlVG9Mb2cobGV2ZWwsIG1lc3NhZ2UpO1xuICB9XG5cbiAgZXJyb3IobWVzc2FnZSkge1xuICAgIGNvbnN0IGxldmVsID0gRVJST1JfTEVWRUw7XG5cbiAgICB0aGlzLndyaXRlVG9Mb2cobGV2ZWwsIG1lc3NhZ2UpO1xuICB9XG5cbiAgd3JpdGVUb0xvZyhsZXZlbCwgbWVzc2FnZSkge1xuICAgIGNvbnN0IGRlcHRoID0gdGhpcy5nZXREZXB0aCgpLFxuICAgICAgICAgIGluZGVudCA9IERPVUJMRV9TUEFDRS5yZXBlYXQoZGVwdGgpO1xuXG4gICAgbWVzc2FnZSA9IGAke2luZGVudH0ke21lc3NhZ2V9YDsgIC8vL1xuXG4gICAgY29uc3QgcmVsZWFzZUNvbnRleHQgPSB0aGlzLmdldFJlbGVhc2VDb250ZXh0KCk7XG5cbiAgICByZWxlYXNlQ29udGV4dC53cml0ZVRvTG9nKGxldmVsLCBtZXNzYWdlKTtcbiAgfVxuXG4gIGFzeW5jIGJyZWFrKG5vZGUsIGxpbmVJbmRleCkgeyByZXR1cm4gYXdhaXQgdGhpcy5jb250ZXh0LmJyZWFrKG5vZGUsIGxpbmVJbmRleCk7IH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoQ2xhc3MsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGxldCBjb250ZXh0ID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gICAgY29udGV4dCA9IG5ldyBDbGFzcyhjb250ZXh0LCAuLi5yZW1haW5pbmdBcmd1bWVudHMpOyAgLy8vXG5cbiAgICByZXR1cm4gY29udGV4dDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkNvbnRleHQiLCJjb250ZXh0IiwiZ2V0Q29udGV4dCIsInNldENvbnRleHQiLCJnZXREZXB0aCIsImRlcHRoIiwiaXNSZWxlYXNlZCIsImdldFJlbGVhc2VDb250ZXh0Iiwibm9kZXNBc1N0cmluZyIsIm5vZGUiLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsIm1lc3NhZ2UiLCJsZXZlbCIsIlRSQUNFX0xFVkVMIiwid3JpdGVUb0xvZyIsImRlYnVnIiwiREVCVUdfTEVWRUwiLCJpbmZvIiwiSU5GT19MRVZFTCIsIndhcm5pbmciLCJXQVJOSU5HX0xFVkVMIiwiZXJyb3IiLCJFUlJPUl9MRVZFTCIsImluZGVudCIsIkRPVUJMRV9TUEFDRSIsInJlcGVhdCIsInJlbGVhc2VDb250ZXh0IiwiYnJlYWsiLCJsaW5lSW5kZXgiLCJmcm9tTm90aGluZyIsIkNsYXNzIiwicmVtYWluaW5nQXJndW1lbnRzIiwicG9wIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXFCQTs7OzJCQUYwRTtBQUVoRixNQUFNQTtJQUNuQixZQUFZQyxPQUFPLENBQUU7UUFDbkIsSUFBSSxDQUFDQSxPQUFPLEdBQUdBO0lBQ2pCO0lBRUFDLGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQ0QsT0FBTztJQUNyQjtJQUVBRSxXQUFXRixPQUFPLEVBQUU7UUFDbEIsSUFBSSxDQUFDQSxPQUFPLEdBQUdBO0lBQ2pCO0lBRUFHLFdBQVc7UUFDVCxJQUFJQyxRQUFRLElBQUksQ0FBQ0osT0FBTyxDQUFDRyxRQUFRO1FBRWpDQztRQUVBLE9BQU9BO0lBQ1Q7SUFFQUMsYUFBYTtRQUFFLE9BQU8sSUFBSSxDQUFDTCxPQUFPLENBQUNLLFVBQVU7SUFBSTtJQUVqREMsb0JBQW9CO1FBQUUsT0FBTyxJQUFJLENBQUNOLE9BQU8sQ0FBQ00saUJBQWlCO0lBQUk7SUFFL0RDLGNBQWNDLElBQUksRUFBRTtRQUFFLE9BQU8sSUFBSSxDQUFDUixPQUFPLENBQUNPLGFBQWEsQ0FBQ0M7SUFBTztJQUUvREMsYUFBYUQsSUFBSSxFQUFFO1FBQUUsT0FBTyxJQUFJLENBQUNSLE9BQU8sQ0FBQ1MsWUFBWSxDQUFDRDtJQUFPO0lBRTdERSxNQUFNQyxPQUFPLEVBQUU7UUFDYixNQUFNQyxRQUFRQyxzQkFBVztRQUV6QixJQUFJLENBQUNDLFVBQVUsQ0FBQ0YsT0FBT0Q7SUFDekI7SUFFQUksTUFBTUosT0FBTyxFQUFFO1FBQ2IsTUFBTUMsUUFBUUksc0JBQVc7UUFFekIsSUFBSSxDQUFDRixVQUFVLENBQUNGLE9BQU9EO0lBQ3pCO0lBRUFNLEtBQUtOLE9BQU8sRUFBRTtRQUNaLE1BQU1DLFFBQVFNLHFCQUFVO1FBRXhCLElBQUksQ0FBQ0osVUFBVSxDQUFDRixPQUFPRDtJQUN6QjtJQUVBUSxRQUFRUixPQUFPLEVBQUU7UUFDZixNQUFNQyxRQUFRUSx3QkFBYTtRQUUzQixJQUFJLENBQUNOLFVBQVUsQ0FBQ0YsT0FBT0Q7SUFDekI7SUFFQVUsTUFBTVYsT0FBTyxFQUFFO1FBQ2IsTUFBTUMsUUFBUVUsc0JBQVc7UUFFekIsSUFBSSxDQUFDUixVQUFVLENBQUNGLE9BQU9EO0lBQ3pCO0lBRUFHLFdBQVdGLEtBQUssRUFBRUQsT0FBTyxFQUFFO1FBQ3pCLE1BQU1QLFFBQVEsSUFBSSxDQUFDRCxRQUFRLElBQ3JCb0IsU0FBU0MsdUJBQVksQ0FBQ0MsTUFBTSxDQUFDckI7UUFFbkNPLFVBQVUsR0FBR1ksU0FBU1osU0FBUyxFQUFHLEdBQUc7UUFFckMsTUFBTWUsaUJBQWlCLElBQUksQ0FBQ3BCLGlCQUFpQjtRQUU3Q29CLGVBQWVaLFVBQVUsQ0FBQ0YsT0FBT0Q7SUFDbkM7SUFFQSxNQUFNZ0IsTUFBTW5CLElBQUksRUFBRW9CLFNBQVMsRUFBRTtRQUFFLE9BQU8sTUFBTSxJQUFJLENBQUM1QixPQUFPLENBQUMyQixLQUFLLENBQUNuQixNQUFNb0I7SUFBWTtJQUVqRixPQUFPQyxZQUFZQyxLQUFLLEVBQUUsR0FBR0Msa0JBQWtCLEVBQUU7UUFDL0MsSUFBSS9CLFVBQVUrQixtQkFBbUJDLEdBQUc7UUFFcENoQyxVQUFVLElBQUk4QixNQUFNOUIsWUFBWStCLHFCQUFzQixHQUFHO1FBRXpELE9BQU8vQjtJQUNUO0FBQ0YifQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZXh0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBET1VCTEVfU1BBQ0UsIFRSQUNFX0xFVkVMLCBERUJVR19MRVZFTCwgSU5GT19MRVZFTCwgRVJST1JfTEVWRUwsIFdBUk5JTkdfTEVWRUwgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQpIHtcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICB9XG5cbiAgZ2V0Q29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0O1xuICB9XG5cbiAgZ2V0RGVwdGgoKSB7XG4gICAgbGV0IGRlcHRoID0gdGhpcy5jb250ZXh0LmdldERlcHRoKCk7XG5cbiAgICBkZXB0aCsrO1xuXG4gICAgcmV0dXJuIGRlcHRoO1xuICB9XG5cbiAgaXNSZWxlYXNlZCgpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5pc1JlbGVhc2VkKCk7IH1cblxuICBnZXRSZWxlYXNlQ29udGV4dCgpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5nZXRSZWxlYXNlQ29udGV4dCgpOyB9XG5cbiAgc2V0Tm9kZShub2RlKSB7IHRoaXMuY29udGV4dC5zZXROb2RlKG5vZGUpOyB9XG5cbiAgc2V0VG9rZW5zKHRva2VucykgeyB0aGlzLmNvbnRleHQuc2V0VG9rZW5zKHRva2Vucyk7IH1cblxuICBub2Rlc0FzU3RyaW5nKG5vZGUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5ub2Rlc0FzU3RyaW5nKG5vZGUpOyB9XG5cbiAgbm9kZUFzU3RyaW5nKG5vZGUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSk7IH1cblxuICBnYWluVG9rZW5zKGNvbnRleHQpIHtcbiAgICBjb25zdCByZWxlYXNlZCA9IHRoaXMuaXNSZWxlYXNlZCgpO1xuXG4gICAgaWYgKHJlbGVhc2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdG9rZW5zID0gY29udGV4dC5nZXRUb2tlbnMoKTtcblxuICAgIHRoaXMuc2V0VG9rZW5zKHRva2Vucyk7XG4gIH1cblxuICB0cmFjZShtZXNzYWdlKSB7XG4gICAgY29uc3QgbGV2ZWwgPSBUUkFDRV9MRVZFTDtcblxuICAgIHRoaXMud3JpdGVUb0xvZyhsZXZlbCwgbWVzc2FnZSk7XG4gIH1cblxuICBkZWJ1ZyhtZXNzYWdlKSB7XG4gICAgY29uc3QgbGV2ZWwgPSBERUJVR19MRVZFTDtcblxuICAgIHRoaXMud3JpdGVUb0xvZyhsZXZlbCwgbWVzc2FnZSk7XG4gIH1cblxuICBpbmZvKG1lc3NhZ2UpIHtcbiAgICBjb25zdCBsZXZlbCA9IElORk9fTEVWRUw7XG5cbiAgICB0aGlzLndyaXRlVG9Mb2cobGV2ZWwsIG1lc3NhZ2UpO1xuICB9XG5cbiAgd2FybmluZyhtZXNzYWdlKSB7XG4gICAgY29uc3QgbGV2ZWwgPSBXQVJOSU5HX0xFVkVMO1xuXG4gICAgdGhpcy53cml0ZVRvTG9nKGxldmVsLCBtZXNzYWdlKTtcbiAgfVxuXG4gIGVycm9yKG1lc3NhZ2UpIHtcbiAgICBjb25zdCBsZXZlbCA9IEVSUk9SX0xFVkVMO1xuXG4gICAgdGhpcy53cml0ZVRvTG9nKGxldmVsLCBtZXNzYWdlKTtcbiAgfVxuXG4gIHdyaXRlVG9Mb2cobGV2ZWwsIG1lc3NhZ2UpIHtcbiAgICBjb25zdCBkZXB0aCA9IHRoaXMuZ2V0RGVwdGgoKSxcbiAgICAgICAgICBpbmRlbnQgPSBET1VCTEVfU1BBQ0UucmVwZWF0KGRlcHRoKTtcblxuICAgIG1lc3NhZ2UgPSBgJHtpbmRlbnR9JHttZXNzYWdlfWA7ICAvLy9cblxuICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0ID0gdGhpcy5nZXRSZWxlYXNlQ29udGV4dCgpO1xuXG4gICAgcmVsZWFzZUNvbnRleHQud3JpdGVUb0xvZyhsZXZlbCwgbWVzc2FnZSk7XG4gIH1cblxuICBhc3luYyBicmVhayhub2RlLCBsaW5lSW5kZXgpIHsgcmV0dXJuIGF3YWl0IHRoaXMuY29udGV4dC5icmVhayhub2RlLCBsaW5lSW5kZXgpOyB9XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKENsYXNzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgY29udGV4dCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICAgIGNvbnRleHQgPSBuZXcgQ2xhc3MoY29udGV4dCwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTsgIC8vL1xuXG4gICAgcmV0dXJuIGNvbnRleHQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDb250ZXh0IiwiY29udGV4dCIsImdldENvbnRleHQiLCJnZXREZXB0aCIsImRlcHRoIiwiaXNSZWxlYXNlZCIsImdldFJlbGVhc2VDb250ZXh0Iiwic2V0Tm9kZSIsIm5vZGUiLCJzZXRUb2tlbnMiLCJ0b2tlbnMiLCJub2Rlc0FzU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwiZ2FpblRva2VucyIsInJlbGVhc2VkIiwiZ2V0VG9rZW5zIiwidHJhY2UiLCJtZXNzYWdlIiwibGV2ZWwiLCJUUkFDRV9MRVZFTCIsIndyaXRlVG9Mb2ciLCJkZWJ1ZyIsIkRFQlVHX0xFVkVMIiwiaW5mbyIsIklORk9fTEVWRUwiLCJ3YXJuaW5nIiwiV0FSTklOR19MRVZFTCIsImVycm9yIiwiRVJST1JfTEVWRUwiLCJpbmRlbnQiLCJET1VCTEVfU1BBQ0UiLCJyZXBlYXQiLCJyZWxlYXNlQ29udGV4dCIsImJyZWFrIiwibGluZUluZGV4IiwiZnJvbU5vdGhpbmciLCJDbGFzcyIsInJlbWFpbmluZ0FyZ3VtZW50cyIsInBvcCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUFxQkE7OzsyQkFGMEU7QUFFaEYsTUFBTUE7SUFDbkIsWUFBWUMsT0FBTyxDQUFFO1FBQ25CLElBQUksQ0FBQ0EsT0FBTyxHQUFHQTtJQUNqQjtJQUVBQyxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUNELE9BQU87SUFDckI7SUFFQUUsV0FBVztRQUNULElBQUlDLFFBQVEsSUFBSSxDQUFDSCxPQUFPLENBQUNFLFFBQVE7UUFFakNDO1FBRUEsT0FBT0E7SUFDVDtJQUVBQyxhQUFhO1FBQUUsT0FBTyxJQUFJLENBQUNKLE9BQU8sQ0FBQ0ksVUFBVTtJQUFJO0lBRWpEQyxvQkFBb0I7UUFBRSxPQUFPLElBQUksQ0FBQ0wsT0FBTyxDQUFDSyxpQkFBaUI7SUFBSTtJQUUvREMsUUFBUUMsSUFBSSxFQUFFO1FBQUUsSUFBSSxDQUFDUCxPQUFPLENBQUNNLE9BQU8sQ0FBQ0M7SUFBTztJQUU1Q0MsVUFBVUMsTUFBTSxFQUFFO1FBQUUsSUFBSSxDQUFDVCxPQUFPLENBQUNRLFNBQVMsQ0FBQ0M7SUFBUztJQUVwREMsY0FBY0gsSUFBSSxFQUFFO1FBQUUsT0FBTyxJQUFJLENBQUNQLE9BQU8sQ0FBQ1UsYUFBYSxDQUFDSDtJQUFPO0lBRS9ESSxhQUFhSixJQUFJLEVBQUU7UUFBRSxPQUFPLElBQUksQ0FBQ1AsT0FBTyxDQUFDVyxZQUFZLENBQUNKO0lBQU87SUFFN0RLLFdBQVdaLE9BQU8sRUFBRTtRQUNsQixNQUFNYSxXQUFXLElBQUksQ0FBQ1QsVUFBVTtRQUVoQyxJQUFJUyxVQUFVO1lBQ1o7UUFDRjtRQUVBLE1BQU1KLFNBQVNULFFBQVFjLFNBQVM7UUFFaEMsSUFBSSxDQUFDTixTQUFTLENBQUNDO0lBQ2pCO0lBRUFNLE1BQU1DLE9BQU8sRUFBRTtRQUNiLE1BQU1DLFFBQVFDLHNCQUFXO1FBRXpCLElBQUksQ0FBQ0MsVUFBVSxDQUFDRixPQUFPRDtJQUN6QjtJQUVBSSxNQUFNSixPQUFPLEVBQUU7UUFDYixNQUFNQyxRQUFRSSxzQkFBVztRQUV6QixJQUFJLENBQUNGLFVBQVUsQ0FBQ0YsT0FBT0Q7SUFDekI7SUFFQU0sS0FBS04sT0FBTyxFQUFFO1FBQ1osTUFBTUMsUUFBUU0scUJBQVU7UUFFeEIsSUFBSSxDQUFDSixVQUFVLENBQUNGLE9BQU9EO0lBQ3pCO0lBRUFRLFFBQVFSLE9BQU8sRUFBRTtRQUNmLE1BQU1DLFFBQVFRLHdCQUFhO1FBRTNCLElBQUksQ0FBQ04sVUFBVSxDQUFDRixPQUFPRDtJQUN6QjtJQUVBVSxNQUFNVixPQUFPLEVBQUU7UUFDYixNQUFNQyxRQUFRVSxzQkFBVztRQUV6QixJQUFJLENBQUNSLFVBQVUsQ0FBQ0YsT0FBT0Q7SUFDekI7SUFFQUcsV0FBV0YsS0FBSyxFQUFFRCxPQUFPLEVBQUU7UUFDekIsTUFBTWIsUUFBUSxJQUFJLENBQUNELFFBQVEsSUFDckIwQixTQUFTQyx1QkFBWSxDQUFDQyxNQUFNLENBQUMzQjtRQUVuQ2EsVUFBVSxHQUFHWSxTQUFTWixTQUFTLEVBQUcsR0FBRztRQUVyQyxNQUFNZSxpQkFBaUIsSUFBSSxDQUFDMUIsaUJBQWlCO1FBRTdDMEIsZUFBZVosVUFBVSxDQUFDRixPQUFPRDtJQUNuQztJQUVBLE1BQU1nQixNQUFNekIsSUFBSSxFQUFFMEIsU0FBUyxFQUFFO1FBQUUsT0FBTyxNQUFNLElBQUksQ0FBQ2pDLE9BQU8sQ0FBQ2dDLEtBQUssQ0FBQ3pCLE1BQU0wQjtJQUFZO0lBRWpGLE9BQU9DLFlBQVlDLEtBQUssRUFBRSxHQUFHQyxrQkFBa0IsRUFBRTtRQUMvQyxJQUFJcEMsVUFBVW9DLG1CQUFtQkMsR0FBRztRQUVwQ3JDLFVBQVUsSUFBSW1DLE1BQU1uQyxZQUFZb0MscUJBQXNCLEdBQUc7UUFFekQsT0FBT3BDO0lBQ1Q7QUFDRiJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-languages",
3
3
  "author": "James Smith",
4
- "version": "0.0.185",
4
+ "version": "0.0.187",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-languages",
7
7
  "description": "Occam's common language functionality.",
package/src/context.js CHANGED
@@ -11,10 +11,6 @@ export default class Context {
11
11
  return this.context;
12
12
  }
13
13
 
14
- setContext(context) {
15
- this.context = context;
16
- }
17
-
18
14
  getDepth() {
19
15
  let depth = this.context.getDepth();
20
16
 
@@ -27,10 +23,26 @@ export default class Context {
27
23
 
28
24
  getReleaseContext() { return this.context.getReleaseContext(); }
29
25
 
26
+ setNode(node) { this.context.setNode(node); }
27
+
28
+ setTokens(tokens) { this.context.setTokens(tokens); }
29
+
30
30
  nodesAsString(node) { return this.context.nodesAsString(node); }
31
31
 
32
32
  nodeAsString(node) { return this.context.nodeAsString(node); }
33
33
 
34
+ gainTokens(context) {
35
+ const released = this.isReleased();
36
+
37
+ if (released) {
38
+ return;
39
+ }
40
+
41
+ const tokens = context.getTokens();
42
+
43
+ this.setTokens(tokens);
44
+ }
45
+
34
46
  trace(message) {
35
47
  const level = TRACE_LEVEL;
36
48