plp.orientadaAspectos1.expressao
Class This

java.lang.Object
  extended by plp.orientadaAspectos1.expressao.This
All Implemented Interfaces:
Expressao
Direct Known Subclasses:
ThisTarget

public class This
extends java.lang.Object
implements Expressao

Representa uma expressao utilizando o token "this"


Constructor Summary
This()
           
 
Method Summary
 Valor avaliar(AmbienteExecucao ambiente)
          Obtém o valor do objeto this no ambiente e o avalia.
 boolean checaTipo(AmbienteCompilacao ambiente)
          Checa o tipo do objeto this.
 Tipo getTipo(AmbienteCompilacao ambiente)
          Obtém o tipo do objeto this
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

This

public This()
Method Detail

avaliar

public Valor avaliar(AmbienteExecucao ambiente)
              throws VariavelNaoDeclaradaException,
                     VariavelJaDeclaradaException
Obtém o valor do objeto this no ambiente e o avalia.

Specified by:
avaliar in interface Expressao
Parameters:
ambiente - o ambiente de execuçao, que apresenta o mapeamento entre identificadores e valores.
Returns:
o valor do objeto this no escopo do ambiente atual.
Throws:
VariavelNaoDeclaradaException - Quando no escopo atual nao pode ser acessado o this.
VariavelJaDeclaradaException - Se por acaso se tentasse inserir no ambiente corrente mais de um "this" com o mesmo escopo.

checaTipo

public boolean checaTipo(AmbienteCompilacao ambiente)
                  throws VariavelNaoDeclaradaException
Checa o tipo do objeto this.

Specified by:
checaTipo in interface Expressao
Parameters:
ambiente - o ambiente de compilação, contendo o mapeamento entre identificadores e tipos.
Returns:
true, se o tipo do objeto this pode ser checado sem problemas, false, caso contrário.
Throws:
VariavelNaoDeclaradaException - Se nao houver nenhum objeto this no contexto corrente.

getTipo

public Tipo getTipo(AmbienteCompilacao ambiente)
             throws VariavelNaoDeclaradaException
Obtém o tipo do objeto this

Specified by:
getTipo in interface Expressao
Parameters:
ambiente - o ambiente de compilação, contendo o mapeamento entre identificadoes e tipos.
Returns:
o tipo do objeto this no ambiente.
Throws:
VariavelNaoDeclaradaException - Se nao houver nenhum objeto this no contexto atual.