plp.orientadaObjetos1.comando
Class New

java.lang.Object
  extended by plp.orientadaObjetos1.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(AmbienteCompilacaoOO1 ambiente)
          Verifica se a atribuição é possível comparando os tipos do objeto e da left expression.
 AmbienteExecucaoOO1 executar(AmbienteExecucaoOO1 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 AmbienteExecucaoOO1 executar(AmbienteExecucaoOO1 ambiente)
                             throws VariavelJaDeclaradaException,
                                    VariavelNaoDeclaradaException,
                                    ClasseJaDeclaradaException,
                                    ClasseNaoDeclaradaException,
                                    ObjetoJaDeclaradoException,
                                    ObjetoNaoDeclaradoException
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:
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
ClasseJaDeclaradaException
ClasseNaoDeclaradaException
ObjetoJaDeclaradoException
ObjetoNaoDeclaradoException

checaTipo

public boolean checaTipo(AmbienteCompilacaoOO1 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