plp.orientadaObjetos1.expressao
Class This

java.lang.Object
  extended by plp.orientadaObjetos1.expressao.This
All Implemented Interfaces:
Expressao

public class This
extends java.lang.Object
implements Expressao

Representa uma expressao utilizando o token "this"


Constructor Summary
This()
           
 
Method Summary
 Valor avaliar(AmbienteExecucaoOO1 ambiente)
          Obtém o valor do objeto this no ambiente e o avalia.
 boolean checaTipo(AmbienteCompilacaoOO1 ambiente)
          Checa o tipo do objeto this.
 Tipo getTipo(AmbienteCompilacaoOO1 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(AmbienteExecucaoOO1 ambiente)
              throws VariavelNaoDeclaradaException,
                     VariavelJaDeclaradaException,
                     ClasseNaoDeclaradaException
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.
ClasseNaoDeclaradaException - TODO

checaTipo

public boolean checaTipo(AmbienteCompilacaoOO1 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(AmbienteCompilacaoOO1 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.