00001 package plp.orientadaObjetos1.comando; 00002 00003 import plp.expressions2.memory.VariavelJaDeclaradaException; 00004 import plp.expressions2.memory.VariavelNaoDeclaradaException; 00005 import plp.orientadaObjetos1.excecao.declaracao.ClasseNaoDeclaradaException; 00006 import plp.orientadaObjetos1.excecao.declaracao.ObjetoNaoDeclaradoException; 00007 import plp.orientadaObjetos1.expressao.Expressao; 00008 import plp.orientadaObjetos1.expressao.valor.Valor; 00009 import plp.orientadaObjetos1.memoria.AmbienteCompilacaoOO1; 00010 import plp.orientadaObjetos1.memoria.AmbienteExecucaoOO1; 00011 00015 public class Write implements IO { 00019 private Expressao expressao; 00024 public Write(Expressao expressao){ 00025 this.expressao = expressao; 00026 } 00027 00035 public AmbienteExecucaoOO1 executar(AmbienteExecucaoOO1 ambiente) 00036 throws VariavelJaDeclaradaException, VariavelNaoDeclaradaException, 00037 ObjetoNaoDeclaradoException, ClasseNaoDeclaradaException { 00038 Valor valor = expressao.avaliar(ambiente); 00039 System.out.println(valor); 00040 return ambiente.write( valor); 00041 } 00042 00050 public boolean checaTipo(AmbienteCompilacaoOO1 ambiente) 00051 throws VariavelJaDeclaradaException, VariavelNaoDeclaradaException, 00052 ClasseNaoDeclaradaException { 00053 return expressao.checaTipo(ambiente); 00054 } 00055 }