DecProcedimentoComposta.java

Go to the documentation of this file.
00001 package plp.orientadaObjetos1.declaracao.procedimento;
00002 
00003 import plp.expressions2.memory.VariavelJaDeclaradaException;
00004 import plp.expressions2.memory.VariavelNaoDeclaradaException;
00005 import plp.orientadaObjetos1.comando.Procedimento;
00006 import plp.orientadaObjetos1.excecao.declaracao.ClasseJaDeclaradaException;
00007 import plp.orientadaObjetos1.excecao.declaracao.ClasseNaoDeclaradaException;
00008 import plp.orientadaObjetos1.excecao.declaracao.ProcedimentoJaDeclaradoException;
00009 import plp.orientadaObjetos1.excecao.declaracao.ProcedimentoNaoDeclaradoException;
00010 import plp.orientadaObjetos1.expressao.leftExpression.Id;
00011 import plp.orientadaObjetos1.memoria.AmbienteCompilacaoOO1;
00012 
00016 public class DecProcedimentoComposta implements DecProcedimento{
00020     private DecProcedimento declaracao1;
00024     private DecProcedimento declaracao2;
00030     public  DecProcedimentoComposta(DecProcedimento declaracao1, DecProcedimento declaracao2){
00031         this.declaracao1 = declaracao1;
00032         this.declaracao2 = declaracao2;
00033     }
00041     public Procedimento getProcedimento(Id id) throws ProcedimentoNaoDeclaradoException {
00042         Procedimento procedimento;
00043         try {
00044             procedimento = declaracao1.getProcedimento(id);
00045         }
00046         catch(ProcedimentoNaoDeclaradoException e) {
00047             procedimento = declaracao2.getProcedimento(id);
00048         }
00049         return procedimento;
00050     }
00059     public boolean checaTipo(AmbienteCompilacaoOO1 ambiente)
00060         throws VariavelJaDeclaradaException, VariavelNaoDeclaradaException,
00061         ProcedimentoJaDeclaradoException, ProcedimentoNaoDeclaradoException,
00062         ClasseNaoDeclaradaException,ClasseJaDeclaradaException{
00063         return declaracao1.checaTipo(ambiente) && declaracao2.checaTipo(ambiente);
00064     }
00065 }

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