plp.orientadaObjetos1.expressao.leftExpression
Class AcessoAtributoId

java.lang.Object
  extended by plp.orientadaObjetos1.expressao.leftExpression.AcessoAtributo
      extended by plp.orientadaObjetos1.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.


Field Summary
private  LeftExpression av
          Expressao que acessa o atributo.
 
Constructor Summary
AcessoAtributoId(LeftExpression av, Id id)
          Construtor.
 
Method Summary
 Valor avaliar(AmbienteExecucao ambiente)
          Avalia esse acesso de atributo obtendo o valor do atributo no ambiente.
 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.
private  Valor obterValorDeIdNoAmbiente(AmbienteExecucao ambiente)
          Retorna o valor do Objeto representado por um certo id
 
Methods inherited from class plp.orientadaObjetos1.expressao.leftExpression.AcessoAtributo
getId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

av

private LeftExpression av
Expressao que acessa o atributo.

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

avaliar

public Valor avaliar(AmbienteExecucao ambiente)
              throws VariavelNaoDeclaradaException,
                     VariavelJaDeclaradaException,
                     ObjetoNaoDeclaradoException,
                     ClasseNaoDeclaradaException
Avalia esse acesso de atributo obtendo o valor do atributo no ambiente.

Parameters:
ambiente - o ambiente de execução, que apresenta o mapeamento de identificadores a valores.
Returns:
o valor do atributo acessado no ambiente.
Throws:
VariavelNaoDeclaradaException
VariavelJaDeclaradaException
ObjetoNaoDeclaradoException
ClasseNaoDeclaradaException - TODO

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.

obterValorDeIdNoAmbiente

private Valor obterValorDeIdNoAmbiente(AmbienteExecucao ambiente)
                                throws VariavelNaoDeclaradaException,
                                       VariavelJaDeclaradaException,
                                       ObjetoNaoDeclaradoException,
                                       ClasseNaoDeclaradaException
Retorna o valor do Objeto representado por um certo id

Parameters:
ambiente - é o Ambiente de Execução
Returns:
o valor do Objeto representado por um certo id
Throws:
ClasseNaoDeclaradaException
VariavelNaoDeclaradaException
VariavelJaDeclaradaException
ObjetoNaoDeclaradoException