plp.orientadaAspectos1.declaracao.aspecto.introducao
Class DecIntroducaoVariavel

java.lang.Object
  extended by plp.orientadaAspectos1.declaracao.aspecto.introducao.DecIntroducaoVariavel
All Implemented Interfaces:
DecIntroducao, Declaracao

public class DecIntroducaoVariavel
extends java.lang.Object
implements DecIntroducao

Classe que representa a introducao de variaveis na estrutura de classes ja existentes


Constructor Summary
DecIntroducaoVariavel(Id classId, DecVariavel dec)
          Construtor
 
Method Summary
 boolean checaTipo(AmbienteCompilacao ambiente)
          Verifica se as declarações estão bem tipadas, ou seja, se as expressões de inicialização estão bem tipadas.
 AmbienteExecucao elabora(AmbienteExecucao ambiente)
          Cria um mapeamento dos identificadores para os valores das expressões desta declaração composta no AmbienteExecucao
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DecIntroducaoVariavel

public DecIntroducaoVariavel(Id classId,
                             DecVariavel dec)
Construtor

Parameters:
classId - Identificador da classe onde será inserido o procedimento
dec - Declaração da variável a ser inserida
Method Detail

elabora

public AmbienteExecucao elabora(AmbienteExecucao ambiente)
                         throws VariavelJaDeclaradaException,
                                VariavelNaoDeclaradaException,
                                ClasseJaDeclaradaException,
                                ClasseNaoDeclaradaException,
                                ObjetoNaoDeclaradoException,
                                ObjetoJaDeclaradoException
Cria um mapeamento dos identificadores para os valores das expressões desta declaração composta no AmbienteExecucao

Specified by:
elabora in interface DecIntroducao
Specified by:
elabora in interface Declaracao
Parameters:
ambiente - o ambiente que contem o mapeamento entre identificadores e valores.
Returns:
o ambiente modificado pelas inicializações das variáveis.
Throws:
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
ClasseJaDeclaradaException
ClasseNaoDeclaradaException
ObjetoNaoDeclaradoException
ObjetoJaDeclaradoException

checaTipo

public boolean checaTipo(AmbienteCompilacao ambiente)
                  throws VariavelNaoDeclaradaException,
                         VariavelJaDeclaradaException,
                         ClasseNaoDeclaradaException,
                         ClasseJaDeclaradaException
Verifica se as declarações estão bem tipadas, ou seja, se as expressões de inicialização estão bem tipadas.

Specified by:
checaTipo in interface DecIntroducao
Specified by:
checaTipo in interface Declaracao
Parameters:
ambiente - o ambiente que contem o mapeamento entre identificadores e seus tipos.
Returns:
true se os tipos da declaração são válidos; false caso contrario.
Throws:
VariavelNaoDeclaradaException
VariavelJaDeclaradaException
ClasseNaoDeclaradaException
ClasseJaDeclaradaException