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

Id.java

Go to the documentation of this file.
00001 package plp.orientadaObjetos1.expressao.leftExpression;
00002 
00003 import plp.orientadaObjetos1.excecao.declaracao.VariavelNaoDeclaradaException;
00004 import plp.orientadaObjetos1.expressao.valor.Valor;
00005 import plp.orientadaObjetos1.memoria.AmbienteCompilacao;
00006 import plp.orientadaObjetos1.memoria.AmbienteExecucao;
00007 import plp.orientadaObjetos1.util.Tipo;
00008 
00012 public class Id implements LeftExpression{ //,IDominio{
00016     private String idName;
00021     public Id(String strName) {
00022         idName =  strName;
00023     }
00029     public boolean equals(Object obj) {
00030         boolean resposta = false;
00031         if (obj instanceof Id) {
00032             resposta = ((Id) obj).idName.equals(this.idName);
00033         }
00034         return resposta;
00035     }
00040     public String toString() {
00041         return idName;
00042     }
00043 
00052     public Valor avaliar(AmbienteExecucao ambiente)
00053         throws VariavelNaoDeclaradaException {
00054         return obterValorDeIdNoAmbiente(ambiente);
00055     }
00056 
00065     public boolean checaTipo(AmbienteCompilacao amb)
00066         throws VariavelNaoDeclaradaException {
00067         boolean result = true;
00068         amb.getTipo(this); // verifica se está no ambiente
00069         return result;
00070     }
00071 
00079     public Tipo getTipo(AmbienteCompilacao amb)
00080         throws VariavelNaoDeclaradaException {
00081         return amb.getTipo(this);
00082     }
00087     public Id getId(){
00088         return this;
00089     }
00095     public int hashCode() {
00096         return idName.hashCode();
00097     }
00098 
00104     private Valor obterValorDeIdNoAmbiente(AmbienteExecucao ambiente)
00105             throws VariavelNaoDeclaradaException {
00106         return (Valor)ambiente.getValor(this);
00107     }
00108 }

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