This.java

Go to the documentation of this file.
00001 package plp.orientadaObjetos1.expressao;
00002 
00003 import plp.expressions2.memory.VariavelJaDeclaradaException;
00004 import plp.expressions2.memory.VariavelNaoDeclaradaException;
00005 import plp.orientadaObjetos1.excecao.declaracao.ClasseNaoDeclaradaException;
00006 import plp.orientadaObjetos1.expressao.leftExpression.Id;
00007 import plp.orientadaObjetos1.expressao.valor.Valor;
00008 import plp.orientadaObjetos1.memoria.AmbienteCompilacaoOO1;
00009 import plp.orientadaObjetos1.memoria.AmbienteExecucaoOO1;
00010 import plp.orientadaObjetos1.util.Tipo;
00011 
00015 public class This implements Expressao{
00026     public Valor avaliar(AmbienteExecucaoOO1 ambiente)
00027         throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException, ClasseNaoDeclaradaException{
00028         return obterValorDoObjetoThisNoAmbiente(ambiente);
00029     }
00039     public boolean checaTipo(AmbienteCompilacaoOO1 ambiente)
00040         throws VariavelNaoDeclaradaException{
00041         //Como sempre há uma classe instanciada em orientacao a objeto
00042         //o checaTipo() de this retorna true
00043         return true;
00044     }
00053     public Tipo getTipo(AmbienteCompilacaoOO1 ambiente)
00054         throws VariavelNaoDeclaradaException{
00055           return ambiente.get(new Id("this"));
00056     }
00057 
00063     private Valor obterValorDoObjetoThisNoAmbiente(AmbienteExecucaoOO1 ambiente)
00064             throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException {
00065         return ambiente.get(new Id("this"));
00066     }
00067 }

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