00001 package plp.orientadaObjetos1.declaracao.variavel; 00002 00003 import plp.expressions2.memory.VariavelJaDeclaradaException; 00004 import plp.expressions2.memory.VariavelNaoDeclaradaException; 00005 import plp.orientadaObjetos1.declaracao.Declaracao; 00006 import plp.orientadaObjetos1.excecao.declaracao.ClasseJaDeclaradaException; 00007 import plp.orientadaObjetos1.excecao.declaracao.ClasseNaoDeclaradaException; 00008 import plp.orientadaObjetos1.excecao.declaracao.ObjetoJaDeclaradoException; 00009 import plp.orientadaObjetos1.excecao.declaracao.ObjetoNaoDeclaradoException; 00010 import plp.orientadaObjetos1.expressao.leftExpression.Id; 00011 import plp.orientadaObjetos1.memoria.AmbienteCompilacaoOO1; 00012 import plp.orientadaObjetos1.memoria.AmbienteExecucaoOO1; 00013 import plp.orientadaObjetos1.util.Tipo; 00014 00018 public interface DecVariavel extends Declaracao { 00019 00025 public Tipo getTipo(Id id) 00026 throws VariavelNaoDeclaradaException ; 00027 00035 public AmbienteExecucaoOO1 elabora(AmbienteExecucaoOO1 ambiente) 00036 throws VariavelJaDeclaradaException, VariavelNaoDeclaradaException, 00037 ClasseJaDeclaradaException, ClasseNaoDeclaradaException, 00038 ObjetoNaoDeclaradoException, ObjetoJaDeclaradoException ; 00039 00048 public boolean checaTipo(AmbienteCompilacaoOO1 ambiente) 00049 throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException, 00050 ClasseJaDeclaradaException, ClasseNaoDeclaradaException; 00051 }