plp.orientadaAspectos1.expressao
Interface Expressao

All Known Subinterfaces:
LeftExpression, Valor, ValorConcreto
All Known Implementing Classes:
AcessoAtributo, AcessoAtributoId, AcessoAtributoThis, ExpAnd, ExpBinaria, ExpConcat, ExpEquals, ExpLength, ExpMenos, ExpNot, ExpOr, ExpSoma, ExpSub, ExpUnaria, Id, InterceptavelSemAround, This, ThisTarget, ValorBooleano, ValorInteiro, ValorNull, ValorRef, ValorString

public interface Expressao

Uma expressão é a unidade basica na Linguagem de Expressoes.


Method Summary
 Valor avaliar(AmbienteExecucao ambiente)
          Avalia a expressao retornando seu Valor.
 boolean checaTipo(AmbienteCompilacao ambiente)
          Realiza a verificacao de tipos desta expressao.
 Tipo getTipo(AmbienteCompilacao ambiente)
          Retorna os tipos possiveis desta expressao.
 

Method Detail

avaliar

Valor avaliar(AmbienteExecucao ambiente)
              throws VariavelNaoDeclaradaException,
                     VariavelJaDeclaradaException,
                     ObjetoNaoDeclaradoException,
                     ObjetoJaDeclaradoException,
                     ProcedimentoNaoDeclaradoException,
                     ProcedimentoJaDeclaradoException,
                     ClasseJaDeclaradaException,
                     ClasseNaoDeclaradaException,
                     EntradaInvalidaException,
                     PointcutNaoDeclaradoException,
                     UnsuporttedAdviceAroundForAccessAttributeException
Avalia a expressao retornando seu Valor.

Throws:
PointcutNaoDeclaradoException
EntradaInvalidaException
ClasseNaoDeclaradaException
ClasseJaDeclaradaException
ProcedimentoJaDeclaradoException
ProcedimentoNaoDeclaradoException
ObjetoJaDeclaradoException
UnsuporttedAdviceAroundForAccessAttributeException
VariavelNaoDeclaradaException
VariavelJaDeclaradaException
ObjetoNaoDeclaradoException

checaTipo

boolean checaTipo(AmbienteCompilacao ambiente)
                  throws VariavelNaoDeclaradaException,
                         ClasseNaoDeclaradaException
Realiza a verificacao de tipos desta expressao.

Parameters:
ambiente - o ambiente que contem o mapeamento entre identificadores e tipos.
Returns:
true se os tipos da expressao são válidos; false caso contrario.
Throws:
VariavelNaoDeclaradaException
ClasseNaoDeclaradaException

getTipo

Tipo getTipo(AmbienteCompilacao ambiente)
             throws VariavelNaoDeclaradaException,
                    ClasseNaoDeclaradaException
Retorna os tipos possiveis desta expressao.

Parameters:
ambiente - o ambiente que contem o mapeamento entre identificadores e tipos.
Returns:
os tipos possiveis desta expressao.
Throws:
VariavelNaoDeclaradaException
ClasseNaoDeclaradaException