internal VAR get_outer_local(string id, BLOCK block, int depth, YYLTYPE location) { if (defined_statically(id)) return new StaticOuterVar(id, block, depth, location); else if (defined_dynamically(id)) return new DynamicOuterVar(id, block, depth, location); else return block_parent.get_outer_local(id, block, depth + 1, location); }
internal DynamicLocalVar(string vid, BLOCK block, YYLTYPE location): base(vid, block, location) { }
internal DynamicOuterVar(string vid, BLOCK block, int depth, YYLTYPE location): base(vid, block, depth, location) { }
internal StaticOuterVar(string vid, BLOCK block, int depth, YYLTYPE location): base(vid, location) { this.block = block; this.depth = depth; }