00001 package plp.orientadaObjetos1.declaracao.variavel; 00002 00003 import plp.orientadaObjetos1.comando.Comando; 00004 import plp.orientadaObjetos1.excecao.comando.TryCatchException; 00005 import plp.orientadaObjetos1.excecao.declaracao.ClasseJaDeclaradaException; 00006 import plp.orientadaObjetos1.excecao.declaracao.ClasseNaoDeclaradaException; 00007 import plp.orientadaObjetos1.excecao.declaracao.ObjetoJaDeclaradoException; 00008 import plp.orientadaObjetos1.excecao.declaracao.ObjetoNaoDeclaradoException; 00009 import plp.orientadaObjetos1.excecao.declaracao.VariavelJaDeclaradaException; 00010 import plp.orientadaObjetos1.excecao.declaracao.VariavelNaoDeclaradaException; 00011 import plp.orientadaObjetos1.expressao.leftExpression.Id; 00012 import plp.orientadaObjetos1.memoria.AmbienteCompilacao; 00013 import plp.orientadaObjetos1.memoria.AmbienteExecucao; 00014 import plp.orientadaObjetos1.util.Tipo; 00015 00019 public interface DecVariavel extends Comando { 00020 00026 public Tipo getTipo(Id id) 00027 throws VariavelNaoDeclaradaException ; 00028 00036 public AmbienteExecucao executar(AmbienteExecucao ambiente) 00037 throws VariavelJaDeclaradaException, VariavelNaoDeclaradaException, 00038 ClasseJaDeclaradaException, ClasseNaoDeclaradaException, 00039 ObjetoNaoDeclaradoException, ObjetoJaDeclaradoException, TryCatchException ; 00040 00049 public boolean checaTipo(AmbienteCompilacao ambiente) 00050 throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException, 00051 ClasseJaDeclaradaException, ClasseNaoDeclaradaException; 00052 00053 }