public int isDefined(String name, int depth) { int slot = exists(name); if (slot >= 0) return (depth << 16) | slot; return enclosingScope.isDefined(name, depth + 1); }
public int isDefined(String name, int depth) { int slot = exists(name); if (slot >= 0) return (depth << 16) | slot; return enclosingScope.isDefined(name, depth + 1); }
public Node declare(ISourcePosition position, String name, int depth) { int slot = exists(name); if (slot >= 0) return new DVarNode(position, ((depth << 16) | slot), name); return enclosingScope.declare(position, name, depth + 1); }
protected AssignableNode assign(ISourcePosition position, String name, Node value, StaticScope topScope, int depth) { int slot = exists(name); if (slot >= 0) return new DAsgnNode(position, name, ((depth << 16) | slot), value); return enclosingScope.assign(position, name, value, topScope, depth + 1); }
protected AssignableNode assign(ISourcePosition position, String name, Node value, StaticScope topScope, int depth) { int slot = exists(name); if (slot >= 0) return new DAsgnNode(position, name, ((depth << 16) | slot), value); return enclosingScope.assign(position, name, value, topScope, depth + 1); }
public Node declare(ISourcePosition position, String name, int depth) { int slot = exists(name); if (slot >= 0) return new DVarNode(position, ((depth << 16) | slot), name); return enclosingScope.declare(position, name, depth + 1); }