00001 package plp.orientadaObjetos1.expressao.valor; 00002 00003 import plp.orientadaObjetos1.memoria.AmbienteCompilacao; 00004 import plp.orientadaObjetos1.memoria.AmbienteExecucao; 00005 import plp.orientadaObjetos1.util.Tipo; 00006 import plp.orientadaObjetos1.util.TipoPrimitivo; 00007 00011 public class ValorInteiro implements ValorConcreto { 00012 00013 private int valor; 00014 00018 public ValorInteiro(int valor) { 00019 this.valor = valor; 00020 } 00021 00025 public int valor() { 00026 return valor; 00027 } 00028 00032 public Valor avaliar (AmbienteExecucao amb) { 00033 return this; 00034 } 00035 00039 public boolean equals(ValorConcreto obj) { 00040 if (obj instanceof ValorInteiro){ 00041 return valor == ((ValorInteiro) obj).valor(); 00042 } else { 00043 return false; 00044 } 00045 } 00046 00050 public String toString() { 00051 return String.valueOf(valor); 00052 } 00053 00061 public boolean checaTipo(AmbienteCompilacao amb) { 00062 return true; 00063 } 00064 00071 public Tipo getTipo(AmbienteCompilacao amb) { 00072 return TipoPrimitivo.TIPO_INTEIRO; 00073 } 00074 00075 }