package tirateima.controlador;
/**
* Modela um tipo primitivo da linguagem.
* Esse tipo possui um id e um nome (entre uma lista de possÃveis tipos).
*/
public class Type {
private TypeId id;
private String name;
public Type(TypeId id, String name) {
this.id = id;
this.name = name;
}
public Type(TypeId id) {
this(id, null);
}
public TypeId getId() {
return id;
}
public String getName() {
return name;
}
public String toString() {
switch (id) {
case VOID:
return "void";
case INTEGER:
return "integer";
case REAL:
return "real";
case STRING:
return "string";
case CHAR:
return "char";
case BOOLEAN:
return "boolean";
default:
return name;
}
}
}