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

Read.java

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

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