cleanup
This commit is contained in:
parent
c1478400cd
commit
62dbdb79dd
|
@ -345,23 +345,15 @@ search_scope(analyze_scope *scope, pic_sym *sym)
|
||||||
return kh_get(a, &scope->args, sym) != kh_end(&scope->args) || kh_get(a, &scope->locals, sym) != kh_end(&scope->locals) || scope->depth == 0;
|
return kh_get(a, &scope->args, sym) != kh_end(&scope->args) || kh_get(a, &scope->locals, sym) != kh_end(&scope->locals) || scope->depth == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
capture_var(pic_state *pic, analyze_scope *scope, pic_sym *sym)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
kh_put(a, &scope->captures, sym, &ret);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
find_var(pic_state *pic, analyze_scope *scope, pic_sym *sym)
|
find_var(pic_state *pic, analyze_scope *scope, pic_sym *sym)
|
||||||
{
|
{
|
||||||
int depth = 0;
|
int depth = 0, ret;
|
||||||
|
|
||||||
while (scope) {
|
while (scope) {
|
||||||
if (search_scope(scope, sym)) {
|
if (search_scope(scope, sym)) {
|
||||||
if (depth > 0) {
|
if (depth > 0) {
|
||||||
capture_var(pic, scope, sym);
|
kh_put(a, &scope->captures, sym, &ret); /* capture! */
|
||||||
}
|
}
|
||||||
return depth;
|
return depth;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue