plp.orientadaAspectos1.declaracao.variavel
Class CompostaDecVariavel

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

public class CompostaDecVariavel
extends java.lang.Object
implements DecVariavel

Declaração de variável composta.


Constructor Summary
CompostaDecVariavel(DecVariavel declaracao1, DecVariavel declaracao2)
          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
 Tipo getTipo(Id id)
          Obtém o tipo de uma variável nessa declaração.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompostaDecVariavel

public CompostaDecVariavel(DecVariavel declaracao1,
                           DecVariavel declaracao2)
Construtor.

Parameters:
declaracao1 - Primeira declaraçao de variável.
declaracao2 - Restante da declaração de variáveis.
Method Detail

getTipo

public Tipo getTipo(Id id)
             throws VariavelNaoDeclaradaException
Obtém o tipo de uma variável nessa declaração.

Specified by:
getTipo in interface DecVariavel
Parameters:
id - O identificador da variável.
Returns:
o tipo deste identificador nessa declaraçao.
Throws:
VariavelNaoDeclaradaException - Quando nao há nenhuma variável declarada com esse id na declaração.

elabora

public AmbienteExecucao elabora(AmbienteExecucao ambiente)
                         throws VariavelJaDeclaradaException,
                                VariavelNaoDeclaradaException,
                                ClasseJaDeclaradaException,
                                ClasseNaoDeclaradaException,
                                ObjetoNaoDeclaradoException,
                                ObjetoJaDeclaradoException,
                                ProcedimentoNaoDeclaradoException,
                                ProcedimentoJaDeclaradoException,
                                EntradaInvalidaException,
                                PointcutNaoDeclaradoException,
                                UnsuporttedAdviceAroundForAccessAttributeException
Cria um mapeamento dos identificadores para os valores das expressões desta declaração composta 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 pelas inicializações das variáveis.
Throws:
UnsuporttedAdviceAroundForAccessAttributeException
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
ClasseJaDeclaradaException
ClasseNaoDeclaradaException
ObjetoNaoDeclaradoException
ObjetoJaDeclaradoException
ProcedimentoNaoDeclaradoException
ProcedimentoJaDeclaradoException
EntradaInvalidaException
PointcutNaoDeclaradoException

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 Declaracao
Specified by:
checaTipo in interface DecVariavel
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