00001 package plp.orientadaObjetos1.expressao.unaria; 00002 00003 import plp.expressions2.memory.VariavelJaDeclaradaException; 00004 import plp.expressions2.memory.VariavelNaoDeclaradaException; 00005 import plp.orientadaObjetos1.excecao.declaracao.ClasseNaoDeclaradaException; 00006 import plp.orientadaObjetos1.expressao.Expressao; 00007 import plp.orientadaObjetos1.memoria.AmbienteCompilacaoOO1; 00008 00012 public abstract class ExpUnaria implements Expressao { 00013 00017 private Expressao exp; 00018 00022 private String operador; 00023 00029 public ExpUnaria(Expressao exp, String operador) { 00030 this.exp = exp; 00031 this.operador = operador; 00032 } 00033 00039 public Expressao getExp() { 00040 return exp; 00041 } 00042 00048 public String getOperador() { 00049 return operador; 00050 } 00051 00063 public boolean checaTipo(AmbienteCompilacaoOO1 ambiente) 00064 throws VariavelNaoDeclaradaException, 00065 VariavelNaoDeclaradaException, ClasseNaoDeclaradaException { 00066 boolean result; 00067 if (getExp().checaTipo(ambiente)) { 00068 result = true; 00069 } 00070 else { 00071 result = false; 00072 } 00073 return result; 00074 } 00075 }