diff options
| -rw-r--r-- | tnslc/compile/function.tnsl | 5 | ||||
| -rw-r--r-- | tnslc/compile/var.tnsl | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/tnslc/compile/function.tnsl b/tnslc/compile/function.tnsl index 0a22f8d..bde7d2c 100644 --- a/tnslc/compile/function.tnsl +++ b/tnslc/compile/function.tnsl @@ -544,7 +544,8 @@ struct Function { # If could not find in scope then try to find in module ~uint8 name = base`.data v`.push(~name) - vv = s`.mod`.find(SEARCH_VAR, v) + ~Module mod = s`.mod + vv = mod`.find(SEARCH_VAR, v) /; if (vv !== NULL) result = vv`.as_global() v`.end() @@ -623,7 +624,7 @@ struct Function { ;/ self._compile_chain_r_post(s, post, ~result) ;/ - + return result ;/ diff --git a/tnslc/compile/var.tnsl b/tnslc/compile/var.tnsl index e5e6bae..cc5b409 100644 --- a/tnslc/compile/var.tnsl +++ b/tnslc/compile/var.tnsl @@ -837,6 +837,11 @@ struct Var { /; as_global [Var] Var out = self.copy() out.name = self._global_base() + + int loc = 0 + loc = loc - 2 + out.loc = loc + return out ;/ |