ValorRef.java

Go to the documentation of this file.
00001 package plp.orientadaObjetos1.expressao.valor;
00002 
00003 import plp.orientadaObjetos1.excecao.declaracao.ClasseNaoDeclaradaException;
00004 import plp.orientadaObjetos1.memoria.AmbienteCompilacaoOO1;
00005 import plp.orientadaObjetos1.memoria.AmbienteExecucaoOO1;
00006 import plp.orientadaObjetos1.util.Tipo;
00007 import plp.orientadaObjetos1.util.TipoPrimitivo;
00011 public class ValorRef implements Valor{
00015     public static final int VALOR_INICIAL = 0;
00019     private int valor;
00024     public ValorRef(int valor){
00025         if ( valor >= ValorRef.VALOR_INICIAL){
00026              this.valor = valor;
00027     }
00028         else this.valor = VALOR_INICIAL;
00029     }
00030 
00035     public int valor() {
00036         return valor;
00037     }
00043     public Valor avaliar(AmbienteExecucaoOO1 ambiente) throws ClasseNaoDeclaradaException {
00044         return this;
00045     }
00046 
00047     //Os métodos getTipo e checaTipo de ValorRef
00048     //não foram utilizados nessa linguagem.
00049     public int hashCode() {
00050         return valor;
00051     }
00057     public Tipo getTipo(AmbienteCompilacaoOO1 amb) {
00058         return TipoPrimitivo.TIPO_INTEIRO;
00059     }
00065     public boolean checaTipo(AmbienteCompilacaoOO1 amb) {
00066         return true;
00067     }
00073     public boolean equals(Valor val){
00074         if ( val instanceof ValorRef)
00075             return valor == ((ValorRef)val).valor();
00076         else return false;
00077     }
00078 
00083     public ValorRef incrementa(){
00084         valor = valor + 1;
00085         return this;
00086     }
00087 }

Generated on Tue Sep 12 21:52:08 2006 for PLP by  doxygen 1.4.7