package st; public abstract class AbstractInstance { protected String name; // the literal name of the declaration protected TypeEnum type; // the type of the declaration protected int size; // the size in memory public AbstractInstance(String name, TypeEnum type) { this.type = type; this.name = name; } public abstract String toString(); public boolean equals(AbstractInstance other) { return this.name == other.get_name(); } public int hashCode() { return this.name.hashCode(); } public String get_name() { return this.name; } public TypeEnum get_type() { return this.type; } public int get_size() { return this.size; } }