// $Id: GlobalScalarVarDescriptor.java,v 1.1.1.1 1999/12/05 22:19:51 mpp Exp $

package IR2;

public class GlobalScalarVarDescriptor extends ScalarVarDescriptor {
  private int offset = -1;

  public GlobalScalarVarDescriptor(String name, int type, int line) {
      super(name, type, line);
  }


  /* Memory slot assignment. */
  public int set_offset(int in_offset) {
    offset = in_offset;
    return offset + 1;
  }


  /* DelocalizedLValue implementation. */
  public void load_into_reg(Codegen c, DelocalizedRegister r) {
    c.generate_load_global(r, offset);
  }

  public void store_from_reg(Codegen c, DelocalizedRegister r) {
    c.generate_save_global(offset, r);
  }


  /* Walkable implementation. */
  public String node_name() {
	return "global_scalar_var_descriptor";
  }
}
