Read.java

Go to the documentation of this file.
00001 package plp.orientadaObjetos1.comando;
00002 
00003 import plp.expressions2.memory.VariavelJaDeclaradaException;
00004 import plp.expressions2.memory.VariavelNaoDeclaradaException;
00005 import plp.orientadaObjetos1.excecao.execucao.EntradaInvalidaException;
00006 import plp.orientadaObjetos1.expressao.leftExpression.Id;
00007 import plp.orientadaObjetos1.memoria.AmbienteCompilacaoOO1;
00008 import plp.orientadaObjetos1.memoria.AmbienteExecucaoOO1;
00009 import plp.orientadaObjetos1.util.Tipo;
00010 
00014 public class Read implements IO{
00018     private Id id;
00022     private Tipo tipoId;
00027     public Read ( Id id){
00028         this.id = id;
00029     }
00030 
00038     public AmbienteExecucaoOO1 executar(AmbienteExecucaoOO1 ambiente)
00039         throws VariavelJaDeclaradaException, VariavelNaoDeclaradaException, EntradaInvalidaException {
00040         ambiente.changeValor(id, ambiente.read(this.tipoId));
00041         return ambiente;
00042     }
00043 
00050     public boolean checaTipo(AmbienteCompilacaoOO1 ambiente)
00051         throws VariavelNaoDeclaradaException {
00052 //      Alteramos a implementação, pois em tempo de compilação não se pode saber
00053 //      o tipo da entrada que será lida.
00054 
00055 //        Tipo tipo = ambiente.getTipoEntrada();
00056 //        Tipo tipo2 = id.getTipo(ambiente);
00057 
00058         this.tipoId = id.getTipo(ambiente);
00059         return id.checaTipo(ambiente);
00060 
00061         //return id.getTipo(ambiente).equals(ambiente.getTipoEntrada());
00062     }
00063 
00064 }

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