plp.orientadaAspectos1.declaracao.classe
Class DecClasse

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

public class DecClasse
extends java.lang.Object
implements DecElemento

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


Constructor Summary
DecClasse(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
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DecClasse

public DecClasse(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 DecElemento
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 DecElemento
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