plp.orientadaObjetos2.comando
Class NewOO2

java.lang.Object
  extended by plp.orientadaObjetos2.comando.NewOO2
All Implemented Interfaces:
Comando

public class NewOO2
extends java.lang.Object
implements Comando

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


Constructor Summary
NewOO2(LeftExpression av, Id classe, ListaExpressao listaParametrosReais)
          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.
 LeftExpression getAv()
           
 Id getClasse()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NewOO2

public NewOO2(LeftExpression av,
              Id classe,
              ListaExpressao listaParametrosReais)
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,
                                 ProcedimentoNaoDeclaradoException,
                                 ProcedimentoJaDeclaradoException,
                                 EntradaInvalidaException
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
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
ClasseJaDeclaradaException
ClasseNaoDeclaradaException
ObjetoJaDeclaradoException
ObjetoNaoDeclaradoException

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

getAv

public LeftExpression getAv()

getClasse

public Id getClasse()