plp.orientadaAspectos1.comando
Class ComDeclaracao

java.lang.Object
  extended by plp.orientadaAspectos1.comando.ComDeclaracao
All Implemented Interfaces:
Comando

public class ComDeclaracao
extends java.lang.Object
implements Comando

Classe que representa um comando de declaração.


Constructor Summary
ComDeclaracao(Declaracao declaracao, Comando comando)
          Construtor.
 
Method Summary
 boolean checaTipo(AmbienteCompilacao ambiente)
          Verifica se o tipo do comando esta correto, levando em conta que o tipo de uma variavel é o tipo do valor da sua primeira atribuicao.
 AmbienteExecucao executar(AmbienteExecucao ambiente)
          Declara a(s) variável(is) e executa o comando.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComDeclaracao

public ComDeclaracao(Declaracao declaracao,
                     Comando comando)
Construtor.

Method Detail

executar

public AmbienteExecucao executar(AmbienteExecucao ambiente)
                          throws VariavelJaDeclaradaException,
                                 VariavelNaoDeclaradaException,
                                 ProcedimentoNaoDeclaradoException,
                                 ProcedimentoJaDeclaradoException,
                                 ClasseNaoDeclaradaException,
                                 ClasseJaDeclaradaException,
                                 ObjetoJaDeclaradoException,
                                 ObjetoNaoDeclaradoException,
                                 EntradaInvalidaException,
                                 PointcutNaoDeclaradoException,
                                 UnsuporttedAdviceAroundForAccessAttributeException
Declara a(s) variável(is) e executa o comando.

Specified by:
executar in interface Comando
Parameters:
ambiente - o ambiente que contem o mapeamento entre identificadores e valores.
Returns:
o ambiente modificado pela execução da declaração e do comando.
Throws:
UnsuporttedAdviceAroundForAccessAttributeException
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
ProcedimentoNaoDeclaradoException
ProcedimentoJaDeclaradoException
ClasseNaoDeclaradaException
ClasseJaDeclaradaException
ObjetoJaDeclaradoException
ObjetoNaoDeclaradoException
EntradaInvalidaException
PointcutNaoDeclaradoException

checaTipo

public boolean checaTipo(AmbienteCompilacao ambiente)
                  throws VariavelNaoDeclaradaException,
                         VariavelJaDeclaradaException,
                         ProcedimentoNaoDeclaradoException,
                         ProcedimentoJaDeclaradoException,
                         ClasseNaoDeclaradaException,
                         ClasseJaDeclaradaException
Verifica se o tipo do comando esta correto, levando em conta que o tipo de uma variavel é o tipo do valor da sua primeira atribuicao.

Specified by:
checaTipo in interface Comando
Parameters:
ambiente - o ambiente que contem o mapeamento entre identificadores e tipos.
Returns:
true se os comando são bem tipados; false caso contrario.
Throws:
VariavelNaoDeclaradaException
VariavelJaDeclaradaException
ProcedimentoNaoDeclaradoException
ProcedimentoJaDeclaradoException
ClasseNaoDeclaradaException
ClasseJaDeclaradaException