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

DecProcedimentoComposta.java

Go to the documentation of this file.
00001 package plp.orientadaObjetos1.declaracao.procedimento;
00002 
00003 import plp.orientadaObjetos1.comando.Procedimento;
00004 import plp.orientadaObjetos1.excecao.declaracao.ClasseJaDeclaradaException;
00005 import plp.orientadaObjetos1.excecao.declaracao.ClasseNaoDeclaradaException;
00006 import plp.orientadaObjetos1.excecao.declaracao.ProcedimentoJaDeclaradoException;
00007 import plp.orientadaObjetos1.excecao.declaracao.ProcedimentoNaoDeclaradoException;
00008 import plp.orientadaObjetos1.excecao.declaracao.VariavelJaDeclaradaException;
00009 import plp.orientadaObjetos1.excecao.declaracao.VariavelNaoDeclaradaException;
00010 import plp.orientadaObjetos1.expressao.leftExpression.Id;
00011 import plp.orientadaObjetos1.memoria.AmbienteCompilacao;
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     }
00034 
00035     public DecProcedimentoComposta() {
00036     }
00037     
00038     public void setCurrent(DecProcedimento declaracao1) {
00039         this.declaracao1 = declaracao1;
00040     }    
00041     
00042     public void setNext(DecProcedimento declaracao2) {
00043         this.declaracao2 = declaracao2;
00044     }
00045     
00046     public DecProcedimento getNext() {
00047         return this.declaracao2;
00048     }    
00049     
00057     public Procedimento getProcedimento(Id id) throws ProcedimentoNaoDeclaradoException {
00058         Procedimento procedimento;
00059         try {
00060             procedimento = declaracao1.getProcedimento(id);
00061         }
00062         catch(ProcedimentoNaoDeclaradoException e) {
00063             procedimento = declaracao2.getProcedimento(id);
00064         }
00065         return procedimento;
00066     }
00075     public boolean checaTipo(AmbienteCompilacao ambiente)
00076         throws VariavelJaDeclaradaException, VariavelNaoDeclaradaException,
00077         ProcedimentoJaDeclaradoException, ProcedimentoNaoDeclaradoException,
00078         ClasseNaoDeclaradaException,ClasseJaDeclaradaException{
00079         return declaracao1.checaTipo(ambiente) && declaracao2.checaTipo(ambiente);
00080     }
00081 }

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