plp.orientadaAspectos1.expressao.leftExpression
Class AcessoAtributoThis

java.lang.Object
  extended by plp.orientadaAspectos1.interceptavel.Interceptavel
      extended by plp.orientadaAspectos1.interceptavel.InterceptavelSemAround
          extended by plp.orientadaAspectos1.expressao.leftExpression.AcessoAtributo
              extended by plp.orientadaAspectos1.expressao.leftExpression.AcessoAtributoThis
All Implemented Interfaces:
Expressao, LeftExpression

public class AcessoAtributoThis
extends AcessoAtributo

Representa um acesso de atributo a partir de um objeto this.


Constructor Summary
AcessoAtributoThis(This varThis, Id id)
          Construtor.
 
Method Summary
 boolean checaTipo(AmbienteCompilacao ambiente)
          Verifica se o this está associado a um objeto e se o atributo existe.
 Expressao getExpressaoObjeto()
          Obtém a expressão que acessa o identificador.
 Tipo getTipo(AmbienteCompilacao ambiente)
          Obtém o tipo do atributo acessado.
 
Methods inherited from class plp.orientadaAspectos1.expressao.leftExpression.AcessoAtributo
getId
 
Methods inherited from class plp.orientadaAspectos1.interceptavel.InterceptavelSemAround
avaliar
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface plp.orientadaAspectos1.expressao.Expressao
avaliar
 

Constructor Detail

AcessoAtributoThis

public AcessoAtributoThis(This varThis,
                          Id id)
Construtor.

Parameters:
varThis - O objeto this.
id - O identificador sendo acessado.
Method Detail

getExpressaoObjeto

public Expressao getExpressaoObjeto()
Obtém a expressão que acessa o identificador.

Specified by:
getExpressaoObjeto in class AcessoAtributo
Returns:
a expressao que acessa o identificador.

checaTipo

public boolean checaTipo(AmbienteCompilacao ambiente)
Verifica se o this está associado a um objeto e se o atributo existe.

Parameters:
ambiente - o ambiente com o mapeamento de identificadores a tipos.
Returns:
true, se o this está associado a um objeto e se o atributo existe, ou false, caso contrário.

getTipo

public Tipo getTipo(AmbienteCompilacao ambiente)
             throws VariavelNaoDeclaradaException,
                    ClasseNaoDeclaradaException
Obtém o tipo do atributo acessado.

Parameters:
ambiente - o ambiente com o mapeamento de identificadores a tipos.
Returns:
true, se foi associado um tipo a esse identificador acessado no escopo corrente.
Throws:
VariavelNaoDeclaradaException
ClasseNaoDeclaradaException