plp.orientadaAspectos1.comando
Class New

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

public class New
extends java.lang.Object
implements Comando

Comando de criação de objeto e atribuição deste a uma expressão esquerda.


Constructor Summary
New(LeftExpression av, Id classe)
          Construtor.
 
Method Summary
 boolean checaTipo(AmbienteCompilacao ambiente)
          Verifica se a atribuição é possível comparando os tipos do objeto e da left expression.
 AmbienteExecucao executar(AmbienteExecucao ambiente)
          Execução da atribuição de um novo objeto criado a uma left expression.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

New

public New(LeftExpression av,
           Id classe)
Construtor.

Parameters:
av - Lado esquerdo da atribuição.
classe - Identificador com o nome da classe.
Method Detail

executar

public AmbienteExecucao executar(AmbienteExecucao ambiente)
                          throws VariavelJaDeclaradaException,
                                 VariavelNaoDeclaradaException,
                                 ClasseJaDeclaradaException,
                                 ClasseNaoDeclaradaException,
                                 ObjetoJaDeclaradoException,
                                 ObjetoNaoDeclaradoException,
                                 PointcutNaoDeclaradoException,
                                 ProcedimentoNaoDeclaradoException,
                                 ProcedimentoJaDeclaradoException,
                                 EntradaInvalidaException,
                                 UnsuporttedAdviceAroundForAccessAttributeException
Execução da atribuição de um novo objeto criado a uma left expression.

Specified by:
executar in interface Comando
Parameters:
ambiente - O ambiente contendo o mapeamento entre identificadores e valores.
Returns:
o ambiente de execução atualizado.
Throws:
EntradaInvalidaException
ProcedimentoJaDeclaradoException
ProcedimentoNaoDeclaradoException
UnsuporttedAdviceAroundForAccessAttributeException
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
ClasseJaDeclaradaException
ClasseNaoDeclaradaException
ObjetoJaDeclaradoException
ObjetoNaoDeclaradoException
PointcutNaoDeclaradoException

checaTipo

public boolean checaTipo(AmbienteCompilacao ambiente)
                  throws VariavelNaoDeclaradaException,
                         ClasseJaDeclaradaException,
                         ClasseNaoDeclaradaException
Verifica se a atribuição é possível comparando os tipos do objeto e da left expression.

Specified by:
checaTipo in interface Comando
Parameters:
ambiente - O ambiente de compilação, com o mapeamento entre identificadores e tipos.
Returns:
true se os comando são bem tipados; false caso contrario.
Throws:
VariavelNaoDeclaradaException
ClasseJaDeclaradaException
ClasseNaoDeclaradaException