plp.orientadaAspectos1.expressao.leftExpression
Class AcessoAtributoId

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.AcessoAtributoId
All Implemented Interfaces:
Expressao, LeftExpression

public class AcessoAtributoId
extends AcessoAtributo

Classe que representa um acesso de atributo a partir de uma expressao.


Constructor Summary
AcessoAtributoId(LeftExpression av, Id id)
          Construtor.
 
Method Summary
 boolean checaTipo(AmbienteCompilacao ambiente)
          Verifica se os atributos associados foram declarados e se seus tipos existem no ambiente.
 LeftExpression getAv()
          Obtém a expressao que acessa o atributo.
 Expressao getExpressaoObjeto()
          Obtém a expressão acessadora do atributo.
 Tipo getTipo(AmbienteCompilacao ambiente)
          Obtém o tipo do atributo no ambiente.
 
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

AcessoAtributoId

public AcessoAtributoId(LeftExpression av,
                        Id id)
Construtor.

Parameters:
av - Expressao do lado esquerdo, que acessa o atributo.
id - O atributo sendo acessado.
Method Detail

getExpressaoObjeto

public Expressao getExpressaoObjeto()
Obtém a expressão acessadora do atributo.

Specified by:
getExpressaoObjeto in class AcessoAtributo
Returns:
a expressão acessadora do atributo.

checaTipo

public boolean checaTipo(AmbienteCompilacao ambiente)
                  throws VariavelNaoDeclaradaException,
                         ClasseNaoDeclaradaException
Verifica se os atributos associados foram declarados e se seus tipos existem no ambiente.

Parameters:
ambiente - o ambiente de compilação, com o mapeamento de identificadores a tipos.
Returns:
true, se as variáveis acessadas já foram declaradas e seus tipos existem.
Throws:
VariavelNaoDeclaradaException
ClasseNaoDeclaradaException

getTipo

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

Parameters:
ambiente - que apresenta o mapeamento de identificadores a tipos.
Returns:
o tipo do atributo acessado.
Throws:
VariavelNaoDeclaradaException
ClasseNaoDeclaradaException

getAv

public LeftExpression getAv()
Obtém a expressao que acessa o atributo.

Returns:
a LeftExpression que representa a expressão que acessa o atributo.