plp.orientadaAspectos1.declaracao.variavel
Class SimplesDecVariavel

java.lang.Object
  extended by plp.orientadaAspectos1.declaracao.variavel.SimplesDecVariavel
All Implemented Interfaces:
Declaracao, DecVariavel

public class SimplesDecVariavel
extends java.lang.Object
implements DecVariavel

Classe que representa uma declaraçao de variável simples.


Constructor Summary
SimplesDecVariavel(Tipo tipo, Id id, Expressao expressao)
          Construtor.
 
Method Summary
 boolean checaTipo(AmbienteCompilacao ambiente)
          Verifica se a declaração está bem tipada, ou seja, se a expressão de inicialização está bem tipada.
 AmbienteExecucao elabora(AmbienteExecucao ambiente)
          Cria um mapeamento do identificador para o valor da expressão desta declaração no AmbienteExecucao
 Tipo getTipo(Id id)
          Retorna o tipo do identificador a ser declarado no AmbienteCompilacao
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimplesDecVariavel

public SimplesDecVariavel(Tipo tipo,
                          Id id,
                          Expressao expressao)
Construtor.

Parameters:
tipo - Tipo da variável declarada.
id - Variável declarada.
expressao - Expressão cujo valor será atribuído à variável.
Method Detail

getTipo

public Tipo getTipo(Id id)
             throws VariavelNaoDeclaradaException
Retorna o tipo do identificador a ser declarado no AmbienteCompilacao

Specified by:
getTipo in interface DecVariavel
Parameters:
id - o identificador da declaracao
Returns:
o tipo do identificador
Throws:
VariavelNaoDeclaradaException

elabora

public AmbienteExecucao elabora(AmbienteExecucao ambiente)
                         throws VariavelJaDeclaradaException,
                                VariavelNaoDeclaradaException,
                                ClasseJaDeclaradaException,
                                ClasseNaoDeclaradaException,
                                ObjetoNaoDeclaradoException,
                                ObjetoJaDeclaradoException,
                                ProcedimentoNaoDeclaradoException,
                                ProcedimentoJaDeclaradoException,
                                EntradaInvalidaException,
                                PointcutNaoDeclaradoException,
                                UnsuporttedAdviceAroundForAccessAttributeException
Cria um mapeamento do identificador para o valor da expressão desta declaração no AmbienteExecucao

Specified by:
elabora in interface Declaracao
Specified by:
elabora in interface DecVariavel
Parameters:
ambiente - o ambiente que contem o mapeamento entre identificadores e valores.
Returns:
o ambiente modificado pela inicialização da variável.
Throws:
PointcutNaoDeclaradoException
EntradaInvalidaException
ClasseNaoDeclaradaException
ClasseJaDeclaradaException
ProcedimentoJaDeclaradoException
ProcedimentoNaoDeclaradoException
UnsuporttedAdviceAroundForAccessAttributeException
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
ObjetoNaoDeclaradoException
ObjetoJaDeclaradoException

checaTipo

public boolean checaTipo(AmbienteCompilacao ambiente)
                  throws VariavelNaoDeclaradaException,
                         VariavelJaDeclaradaException,
                         ClasseNaoDeclaradaException
Verifica se a declaração está bem tipada, ou seja, se a expressão de inicialização está bem tipada.

Specified by:
checaTipo in interface Declaracao
Specified by:
checaTipo in interface DecVariavel
Parameters:
ambiente - o ambiente que contem o mapeamento entre identificadores e seus tipos.
Returns:
true se a expressão é bem tipada; false caso contrario.
Throws:
VariavelNaoDeclaradaException
VariavelJaDeclaradaException
ClasseNaoDeclaradaException