plp.orientadaObjetos1.expressao.leftExpression
Class Id

java.lang.Object
  extended by plp.orientadaObjetos1.expressao.leftExpression.Id
All Implemented Interfaces:
Expressao, LeftExpression

public class Id
extends java.lang.Object
implements LeftExpression

Classe que representa um identificador.


Field Summary
private  java.lang.String idName
          Nome do identificador.
 
Constructor Summary
Id(java.lang.String strName)
          Construtor.
 
Method Summary
 Valor avaliar(AmbienteExecucao ambiente)
          Retorna o valor deste identificador.
 boolean checaTipo(AmbienteCompilacao amb)
          Realiza a verificacao de tipos desta expressao.
 boolean equals(java.lang.Object obj)
          Verifica se o objeto que entra como parâmetro é igual a este Id.
 Id getId()
          Obtém este identificador.
 Tipo getTipo(AmbienteCompilacao amb)
          Retorna os tipos possiveis desta expressao.
 int hashCode()
          Retorna o código hash, utilizado para indexação deste identificador no momento de armazená-lo em alguma estrutura de dados.
private  Valor obterValorDeIdNoAmbiente(AmbienteExecucao ambiente)
          Retorna o valor do Objeto representado por um certo id
 java.lang.String toString()
          Retorna o nome desse identificador.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

idName

private java.lang.String idName
Nome do identificador.

Constructor Detail

Id

public Id(java.lang.String strName)
Construtor.

Parameters:
strName - Nome do identificador.
Method Detail

equals

public boolean equals(java.lang.Object obj)
Verifica se o objeto que entra como parâmetro é igual a este Id.

Overrides:
equals in class java.lang.Object
Parameters:
obj - Objeto a ser comparado.
Returns:
se obj é igual a este objeto, false, caso contrário.

toString

public java.lang.String toString()
Retorna o nome desse identificador.

Overrides:
toString in class java.lang.Object
Returns:
o nome do identificador.

avaliar

public Valor avaliar(AmbienteExecucao ambiente)
              throws VariavelNaoDeclaradaException,
                     ClasseNaoDeclaradaException
Retorna o valor deste identificador.

Specified by:
avaliar in interface Expressao
Parameters:
ambiente - o ambiente de execução, com o mapeamento de identificadores a valores.
Returns:
o valor deste identificador
Throws:
VariavelNaoDeclaradaException - se este identificador nao estiver no ambiente.
ClasseNaoDeclaradaException - TODO

checaTipo

public boolean checaTipo(AmbienteCompilacao amb)
                  throws VariavelNaoDeclaradaException
Realiza a verificacao de tipos desta expressao.

Specified by:
checaTipo in interface Expressao
Parameters:
ambiente - o ambiente de compilação.
Returns:
true se os tipos da expressao são válidos; false caso contrario.
Throws:
VariavelNaoDeclaradaException - se este identificador nao estiver no ambiente.

getTipo

public Tipo getTipo(AmbienteCompilacao amb)
             throws VariavelNaoDeclaradaException
Retorna os tipos possiveis desta expressao.

Specified by:
getTipo in interface Expressao
Parameters:
ambiente - o ambiente de compilação.
Returns:
os tipos possiveis desta expressao.
Throws:
VariavelNaoDeclaradaException - se este identificador nao estiver no ambiente.

getId

public Id getId()
Obtém este identificador.

Specified by:
getId in interface LeftExpression
Returns:
este Id.

hashCode

public int hashCode()
Retorna o código hash, utilizado para indexação deste identificador no momento de armazená-lo em alguma estrutura de dados.

Overrides:
hashCode in class java.lang.Object
Returns:
o código hash do nome do identificador.

obterValorDeIdNoAmbiente

private Valor obterValorDeIdNoAmbiente(AmbienteExecucao ambiente)
                                throws VariavelNaoDeclaradaException
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:
VariavelNaoDeclaradaException