// -*- mode: Java; c-basic-offset: 3; tab-width: 8; indent-tabs-mode: nil -*- // Copyright (C) 2008 Andreas Krey, Ulm, Germany <a.krey@gmx.de> package gloop; public class LocalScope extends Scope { private int nextOffset = 0; public LocalScope (Scope p) { super (p); } abstract public class FrameEnt extends Ent { private int offset; public FrameEnt (String n) { super (n); offset = nextOffset ++; } public int getOffset () { return offset; } abstract public boolean isVar (); } public FrameEnt putDef (final String n) { return new FrameEnt (n) { public String desc () { return "<def " + n + ">"; } public boolean isVar () { return false; } }; } public FrameEnt putVar (final String n) { return new FrameEnt (n) { public String desc () { return "<var " + n + ">"; } public boolean isVar () { return true; } }; } }