package IR2;

// This is a kind of TempVarDescriptor. This class exists so the
// name better suits its function and so the name that appears in
// debugging output is distinguishable from other temporaries.

public class SymbolicRegister extends TempVarDescriptor {
  static int unique_num = 0;

  public SymbolicRegister(SymbolTable table) {
    super(table, "$SymReg$" + unique_num++);
  }

  public SymbolicRegister(MethodDescriptor m) {
    this(m.get_symbol_table());
  }

  // So we can reset at the start of each method
  public static void reset_count() { unique_num = 0; }

}
