plp.orientadaAspectos1.expressao.unaria
Class ExpNot

java.lang.Object
  extended by plp.orientadaAspectos1.expressao.unaria.ExpUnaria
      extended by plp.orientadaAspectos1.expressao.unaria.ExpNot
All Implemented Interfaces:
Expressao

public class ExpNot
extends ExpUnaria

Um objeto desta classe representa uma expressao de Negacao logica.


Constructor Summary
ExpNot(Expressao expressao)
          Controi uma expressao de negacao logica com expressao especificada.
 
Method Summary
 Valor avaliar(AmbienteExecucao ambiente)
          Retorna o valor da expressao de negacao logica.
 boolean checaTipo(AmbienteCompilacao ambiente)
          Realiza a verificacao de tipos desta expressao.
 Tipo getTipo(AmbienteCompilacao ambiente)
          Retorna os tipos possiveis desta expressao.
 
Methods inherited from class plp.orientadaAspectos1.expressao.unaria.ExpUnaria
getExp, getOperador
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExpNot

public ExpNot(Expressao expressao)
Controi uma expressao de negacao logica com expressao especificada.

Parameters:
exp - expressao a ser negada. Assume-se que sua avaliacao resulta em ValorBooleano.
Method Detail

avaliar

public Valor avaliar(AmbienteExecucao ambiente)
              throws VariavelJaDeclaradaException,
                     VariavelNaoDeclaradaException,
                     ObjetoNaoDeclaradoException,
                     ObjetoJaDeclaradoException,
                     ProcedimentoNaoDeclaradoException,
                     ProcedimentoJaDeclaradoException,
                     ClasseJaDeclaradaException,
                     ClasseNaoDeclaradaException,
                     EntradaInvalidaException,
                     PointcutNaoDeclaradoException,
                     UnsuporttedAdviceAroundForAccessAttributeException
Retorna o valor da expressao de negacao logica.

Parameters:
ambiente - o ambiente de execução.
Returns:
o valor da expressao avaliada.
Throws:
VariavelJaDeclaradaException - se a variável já está declarada no ambiente.
VariavelNaoDeclaradaException - se a variável não está declarada no ambiente.
PointcutNaoDeclaradoException
EntradaInvalidaException
ClasseNaoDeclaradaException
ClasseJaDeclaradaException
ProcedimentoJaDeclaradoException
ProcedimentoNaoDeclaradoException
ObjetoJaDeclaradoException
UnsuporttedAdviceAroundForAccessAttributeException
ObjetoNaoDeclaradoException

checaTipo

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

Specified by:
checaTipo in interface Expressao
Overrides:
checaTipo in class ExpUnaria
Parameters:
ambiente - o ambiente de compilação.
Returns:
true se os tipos da expressao são válidos; false caso contrario.
Throws:
VariavelNaoDeclaradaException - se existir um identificador nao declarado no ambiente.
VariavelNaoDeclaradaException - se existir um identificador declarado mais de uma vez no mesmo bloco do ambiente.
ClasseNaoDeclaradaException

getTipo

public Tipo getTipo(AmbienteCompilacao ambiente)
Retorna os tipos possiveis desta expressao.

Parameters:
ambiente - o ambiente de compilação.
Returns:
os tipos possiveis desta expressao.