plp.orientadaObjetos1.declaracao.classe
Class DecClasseSimples

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

public class DecClasseSimples
extends java.lang.Object
implements DecClasse

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


Field Summary
private  DecVariavel atributos
          Atributos da classe.
private  DecProcedimento metodos
          Métodos da classe.
private  Id nomeClasse
          Identificador do nome da classe.
 
Constructor Summary
DecClasseSimples(Id nomeClasse, DecVariavel atributos, 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nomeClasse

private Id nomeClasse
Identificador do nome da classe.


atributos

private DecVariavel atributos
Atributos da classe.


metodos

private DecProcedimento metodos
Métodos da classe.

Constructor Detail

DecClasseSimples

public DecClasseSimples(Id nomeClasse,
                        DecVariavel atributos,
                        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