package models.algebra; import java.util.ArrayList; /** * A field in the implementation (regarded as a constant in the algebraic system) * @author Nitta * */ public class Field extends Constant { public Field(String name) { super(name); } public Field(String name, Type type) { super(name, type); } public Field(Symbol symbol) { super(symbol); } public Type getType() { if (symbol.getSignature().length >= 1) { return symbol.getSignature()[0]; } return null; } @Override public boolean equals(Object another) { if (!(another instanceof Field)) return false; return symbol.equals(((Field) another).symbol); } @Override public Object clone() { return new Field(symbol); } public String toImplementation(String[] sideEffects) { return "this." + super.toImplementation(sideEffects); } }