Main Page | Packages | Class Hierarchy | Class List | Directories | File List | Class Members | Related Pages

ValorRef.java

Go to the documentation of this file.
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;
00010 public class ValorRef implements Valor{
00014     public static final int VALOR_INICIAL = 0;
00018     private int valor;
00023     public ValorRef(int valor){
00024         if ( valor >= ValorRef.VALOR_INICIAL){
00025              this.valor = valor;
00026     }
00027         else this.valor = VALOR_INICIAL;
00028     }
00029 
00034     public int valor() {
00035         return valor;
00036     }
00042     public Valor avaliar(AmbienteExecucao ambiente) {
00043         return this;
00044     }
00045 
00046     //Os métodos getTipo e checaTipo de ValorRef
00047     //não foram utilizados nessa linguagem.
00048     public int hashCode() {
00049         return valor;
00050     }
00056     public Tipo getTipo(AmbienteCompilacao amb) {
00057         return TipoPrimitivo.TIPO_INTEIRO;
00058     }
00064     public boolean checaTipo(AmbienteCompilacao amb) {
00065         return true;
00066     }
00072     public boolean equals(Valor val){
00073         if ( val instanceof ValorRef)
00074             return valor == ((ValorRef)val).valor();
00075         else return false;
00076     }
00077 
00082     public ValorRef incrementa(){
00083         valor = valor + 1;
00084         return this;
00085     }
00086 
00087 
00088 }

Generated on Mon Aug 8 20:20:46 2005 for Linguagem OO1 - Generics by  doxygen 1.4.4