plp.orientadaAspectos1.memoria
Interface AmbienteCompilacao

All Superinterfaces:
Ambiente
All Known Implementing Classes:
ContextoCompilacao

public interface AmbienteCompilacao
extends Ambiente

Classe que representa o ambiente de compilação, contendo o mapeamento entre identificadores e tipos.


Method Summary
 DefClasse getDefClasse(Id idArg)
          Obtém a definição da classe cujo nome é idArg
 ListaDeclaracaoParametro getParametrosProcedimento(Id idArg)
          Obtém a lista de parâmetros associada a um identificador que representa nome do método.
 Tipo getTipo(Id idArg)
          Obtém o tipo associado a um dado identificador
 Tipo getTipoEntrada()
          Obtém o tipo da entrada atual para este ambiente.
 void mapDefClasse(Id idArg, DefClasse defClasse)
          Mapeia um identificador a um definição de classe.
 void mapParametrosProcedimento(Id idArg, ListaDeclaracaoParametro parametrosId)
          Mapeia um identificador representando um método aos seus parâmetros.
 void mapTipo(Id idArg, Tipo tipoId)
          Mapeia um identificador a um tipo.
 
Methods inherited from interface plp.orientadaAspectos1.memoria.Ambiente
incrementa, restaura
 

Method Detail

mapTipo

void mapTipo(Id idArg,
             Tipo tipoId)
             throws VariavelJaDeclaradaException
Mapeia um identificador a um tipo.

Parameters:
idArg - Identificador
tipoId - Tipo que deve ser associado ao identificador.
Throws:
VariavelJaDeclaradaException - quando o id já foi declarado.

getTipo

Tipo getTipo(Id idArg)
             throws VariavelNaoDeclaradaException
Obtém o tipo associado a um dado identificador

Parameters:
idArg - Identificador
Returns:
Tipo associado a um dado identificador
Throws:
VariavelNaoDeclaradaException - quando id não foi declarado.

mapParametrosProcedimento

void mapParametrosProcedimento(Id idArg,
                               ListaDeclaracaoParametro parametrosId)
                               throws ProcedimentoJaDeclaradoException
Mapeia um identificador representando um método aos seus parâmetros.

Parameters:
idArg - identificador do método.
parametrosId - Parâmetros do método
Throws:
ProcedimentoJaDeclaradoException - quando o procedimento já foi declarado.

getParametrosProcedimento

ListaDeclaracaoParametro getParametrosProcedimento(Id idArg)
                                                   throws ProcedimentoNaoDeclaradoException
Obtém a lista de parâmetros associada a um identificador que representa nome do método.

Parameters:
idArg - Identificador que representa o nome do método.
Returns:
Lista de parâmetros Lista de parâmetros associada a um identificador que representa nome do método.
Throws:
ProcedimentoNaoDeclaradoException - quando não foi declarado nenhum método com esse id.

mapDefClasse

void mapDefClasse(Id idArg,
                  DefClasse defClasse)
                  throws ClasseJaDeclaradaException
Mapeia um identificador a um definição de classe.

Parameters:
idArg - o nome da classe
defClasse - Definição da Classe.
Throws:
ClasseJaDeclaradaException - quando a classe já foi declarada.

getDefClasse

DefClasse getDefClasse(Id idArg)
                       throws ClasseNaoDeclaradaException
Obtém a definição da classe cujo nome é idArg

Parameters:
idArg - Nome da classe.
Returns:
a definição da classe.
Throws:
ClasseNaoDeclaradaException - quando nao foi declarada nenhuma classe com esse nome.

getTipoEntrada

Tipo getTipoEntrada()
                    throws VariavelNaoDeclaradaException
Obtém o tipo da entrada atual para este ambiente.

Returns:
o tipo da entrada.
Throws:
VariavelNaoDeclaradaException - quando a entrada atual é uma variável não declarada.