plp.orientadaObjetos1.comando
Class ComDeclaracao

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

public class ComDeclaracao
extends java.lang.Object
implements Comando

Classe que representa um comando de declaração.


Field Summary
private  Comando comando
          O comando executado após a declaração.
private  Declaracao declaracao
          A declaração em si.
 
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

declaracao

private Declaracao declaracao
A declaração em si.


comando

private Comando comando
O comando executado após a declaração.

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,
                                 java.lang.InterruptedException
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:
java.lang.InterruptedException
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
ProcedimentoNaoDeclaradoException
ProcedimentoJaDeclaradoException
ClasseNaoDeclaradaException
ClasseJaDeclaradaException
ObjetoJaDeclaradoException
ObjetoNaoDeclaradoException
EntradaInvalidaException

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