diff options
Diffstat (limited to 'tnslc/compile/scope.tnsl')
| -rw-r--r-- | tnslc/compile/scope.tnsl | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tnslc/compile/scope.tnsl b/tnslc/compile/scope.tnsl index 569c48a..35f6b8b 100644 --- a/tnslc/compile/scope.tnsl +++ b/tnslc/compile/scope.tnsl @@ -639,6 +639,7 @@ struct Scope { return out ;/ + # Get closest breakable scope /; _closest_break [~Scope] /; if (utils.ends_with(self.name, "#wrap\0")) @@ -748,5 +749,19 @@ struct Scope { self.cb`.add_c(":\n\0") _delete(el) ;/ + + /; gen_const_name [~uint8] + utils.Vector v = self._base_label() + + ~uint8 u = utils.int_to_str(self.unique) + v.push_char('#') + v.push_cstr(u) + v.push_cstr("#const\0") + _delete(u) + + self.unique++ + + return v.as_cstr() + ;/ ;/ |