plp.orientadaObjetos1.declaracao.classe
Class DecClasseSimples

java.lang.Object
  extended by plp.orientadaObjetos1.declaracao.classe.DecClasseSimples
All Implemented Interfaces:
DecClasse, Declaracao
Direct Known Subclasses:
DecClasseSimplesOO2

public class DecClasseSimples
extends java.lang.Object
implements DecClasse

Classe que representa a declaração de uma única classe.


Constructor Summary
DecClasseSimples(Id nomeClasse, DecVariavel atributos, DecConstrutor construtor, DecProcedimento metodos)
          Construtor.
 
Method Summary
 boolean checaTipo(AmbienteCompilacao ambiente)
          Verifica se a declaração está bem tipada, ou seja, se a checagem dos tipos dos métodos e atributos está ok.
 AmbienteExecucao elabora(AmbienteExecucao ambiente)
          Cria um mapeamento do identificador para a declaração desta classe.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DecClasseSimples

public DecClasseSimples(Id nomeClasse,
                        DecVariavel atributos,
                        DecConstrutor construtor,
                        DecProcedimento metodos)
Construtor.

Parameters:
nomeClasse - Nome da classe
atributos - Atributos da classe
metodos - Métodos da classe.
Method Detail

elabora

public AmbienteExecucao elabora(AmbienteExecucao ambiente)
                         throws ClasseJaDeclaradaException,
                                ClasseNaoDeclaradaException
Cria um mapeamento do identificador para a declaração desta classe.

Specified by:
elabora in interface DecClasse
Specified by:
elabora in interface Declaracao
Parameters:
ambiente - o ambiente que contem o mapeamento entre identificadores e valores.
Returns:
o ambiente modificado pela declaração da classe.
Throws:
ClasseJaDeclaradaException
ClasseNaoDeclaradaException

checaTipo

public boolean checaTipo(AmbienteCompilacao ambiente)
                  throws VariavelJaDeclaradaException,
                         VariavelNaoDeclaradaException,
                         ClasseJaDeclaradaException,
                         ClasseNaoDeclaradaException,
                         ProcedimentoNaoDeclaradoException,
                         ProcedimentoJaDeclaradoException
Verifica se a declaração está bem tipada, ou seja, se a checagem dos tipos dos métodos e atributos está ok.

Specified by:
checaTipo in interface DecClasse
Specified by:
checaTipo in interface Declaracao
Parameters:
ambiente - o ambiente que contem o mapeamento entre identificadores e seus tipos.
Returns:
true se os tipos da declaração são válidos; false caso contrario.
Throws:
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
ClasseJaDeclaradaException
ClasseNaoDeclaradaException
ProcedimentoNaoDeclaradoException
ProcedimentoJaDeclaradoException