plp.orientadaObjetos1.declaracao.classe
Class DecClasseComposta

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

public class DecClasseComposta
extends java.lang.Object
implements DecClasse

Classe representando a declaração de mais de uma classe.


Field Summary
private  DecClasse declaracao1
          Primeira declaração de classe.
private  DecClasse declaracao2
          Segunda declaração de classe, que pode ser simples ou composta.
 
Constructor Summary
DecClasseComposta(DecClasse declaracao1, DecClasse declaracao2)
          Construtor.
 
Method Summary
 boolean checaTipo(AmbienteCompilacao ambiente)
          Verifica se a declaração está bem tipada, ou seja, se as duas declarações estão bem tipadas
 AmbienteExecucao elabora(AmbienteExecucao ambiente)
          Cria um mapeamento do identificador para esta declaração de classe no ambiente de execucao
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

declaracao1

private DecClasse declaracao1
Primeira declaração de classe.


declaracao2

private DecClasse declaracao2
Segunda declaração de classe, que pode ser simples ou composta.

Constructor Detail

DecClasseComposta

public DecClasseComposta(DecClasse declaracao1,
                         DecClasse declaracao2)
Construtor.

Parameters:
parametro1 - Primeira declaração de classe.
parametro2 - Segunda parte da declaração de classe composta.
Method Detail

elabora

public AmbienteExecucao elabora(AmbienteExecucao ambiente)
                         throws VariavelNaoDeclaradaException,
                                VariavelJaDeclaradaException,
                                ClasseNaoDeclaradaException,
                                ClasseJaDeclaradaException,
                                ProcedimentoNaoDeclaradoException,
                                ProcedimentoJaDeclaradoException
Cria um mapeamento do identificador para esta declaração de classe no ambiente de execucao

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 inicialização da classe.
Throws:
VariavelNaoDeclaradaException
VariavelJaDeclaradaException
ClasseNaoDeclaradaException
ClasseJaDeclaradaException
ProcedimentoNaoDeclaradoException
ProcedimentoJaDeclaradoException

checaTipo

public boolean checaTipo(AmbienteCompilacao ambiente)
                  throws VariavelJaDeclaradaException,
                         VariavelNaoDeclaradaException,
                         ClasseJaDeclaradaException,
                         ClasseNaoDeclaradaException,
                         ProcedimentoNaoDeclaradoException,
                         ProcedimentoJaDeclaradoException
Verifica se a declaração está bem tipada, ou seja, se as duas declarações estão bem tipadas

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