00001 package plp.orientadaObjetos1.memoria; 00002 00003 import plp.expressions2.memory.VariavelNaoDeclaradaException; 00004 import plp.orientadaObjetos1.comando.Procedimento; 00005 import plp.orientadaObjetos1.declaracao.procedimento.DecProcedimento; 00006 import plp.orientadaObjetos1.declaracao.variavel.DecVariavel; 00007 import plp.orientadaObjetos1.excecao.declaracao.ProcedimentoNaoDeclaradoException; 00008 import plp.orientadaObjetos1.expressao.leftExpression.Id; 00009 import plp.orientadaObjetos1.util.Tipo; 00010 00015 public class DefClasse { 00019 private DecVariavel decVariavel; 00023 private DecProcedimento decProcedimento; 00024 00030 public DefClasse(DecVariavel decVariavel, DecProcedimento decProcedimento) { 00031 this.decVariavel = decVariavel; 00032 this.decProcedimento = decProcedimento; 00033 } 00038 public DecVariavel getDecVariavel(){ 00039 return decVariavel; 00040 } 00041 00048 public Procedimento getMetodo(Id idMetodo)throws ProcedimentoNaoDeclaradoException{ 00049 return decProcedimento.getProcedimento(idMetodo); 00050 } 00051 00058 public Tipo getTipoAtributo(Id idAtributo)throws VariavelNaoDeclaradaException{ 00059 return decVariavel.getTipo(idAtributo); 00060 } 00061 }