plp.functional1.expression.Aplicacao Class Reference

Inherits plp.expressions2.expression.Expressao.

Inheritance diagram for plp.functional1.expression.Aplicacao:

Inheritance graph
[legend]
Collaboration diagram for plp.functional1.expression.Aplicacao:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Aplicacao (Id f, List< Expressao > expressoes)
String toString ()
Valor avaliar (AmbienteExecucao ambiente) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException
boolean checaTipo (AmbienteCompilacao ambiente) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException
Tipo getTipo (AmbienteCompilacao ambiente) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException
Id getFunc ()
List< ExpressaogetArgsExpressao ()

Private Member Functions

void includeValueBindings (AmbienteExecucao ambiente, Map< Id, Valor > mapIdValor) throws VariavelJaDeclaradaException
Map< Id, ValorresolveParametersBindings (AmbienteExecucao ambiente, ValorFuncao funcao) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException
boolean checkArgumentTypes (AmbienteCompilacao ambiente, Tipo tipoFuncao) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException
boolean checkArgumentListSize (Tipo tipoFuncao)

Private Attributes

Id func
List< ExpressaoargsExpressao

Detailed Description

Definition at line 20 of file Aplicacao.java.


Constructor & Destructor Documentation

plp.functional1.expression.Aplicacao.Aplicacao ( Id  f,
List< Expressao expressoes 
)

Definition at line 25 of file Aplicacao.java.

References plp.functional1.expression.Aplicacao.argsExpressao, and plp.functional1.expression.Aplicacao.func.


Member Function Documentation

Valor plp.functional1.expression.Aplicacao.avaliar ( AmbienteExecucao  ambiente  )  throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException

Avalia a expressao retornando seu Valor.

Implements plp.expressions2.expression.Expressao.

Definition at line 44 of file Aplicacao.java.

References plp.expressions2.expression.Expressao.avaliar(), plp.functional1.expression.Aplicacao.func, plp.functional1.util.ValorFuncao.getExp(), plp.functional1.memory.AmbienteExecucaoFuncional.getFuncao(), plp.functional1.expression.Aplicacao.includeValueBindings(), and plp.functional1.expression.Aplicacao.resolveParametersBindings().

Here is the call graph for this function:

boolean plp.functional1.expression.Aplicacao.checaTipo ( AmbienteCompilacao  ambiente  )  throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException

Realiza a verificacao de tipos desta expressao.

Parameters:
amb o ambiente de compilação.
Returns:
true se os tipos da expressao sao validos; false caso contrario.
Exceptions:
VariavelNaoDeclaradaException se existir um identificador nao declarado no ambiente.
VariavelNaoDeclaradaException se existir um identificador declarado mais de uma vez no mesmo bloco do ambiente.

Implements plp.expressions2.expression.Expressao.

Definition at line 98 of file Aplicacao.java.

References plp.functional1.expression.Aplicacao.checkArgumentListSize(), plp.functional1.expression.Aplicacao.checkArgumentTypes(), and plp.functional1.expression.Aplicacao.func.

Here is the call graph for this function:

boolean plp.functional1.expression.Aplicacao.checkArgumentListSize ( Tipo  tipoFuncao  )  [private]

Definition at line 128 of file Aplicacao.java.

References plp.functional1.expression.Aplicacao.argsExpressao, and plp.expressions1.util.Tipo.getProx().

Referenced by plp.functional1.expression.Aplicacao.checaTipo().

Here is the call graph for this function:

boolean plp.functional1.expression.Aplicacao.checkArgumentTypes ( AmbienteCompilacao  ambiente,
Tipo  tipoFuncao 
) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException [private]

Definition at line 107 of file Aplicacao.java.

References plp.functional1.expression.Aplicacao.argsExpressao, plp.expressions1.util.Tipo.eVoid(), and plp.expressions1.util.Tipo.intersecao().

Referenced by plp.functional1.expression.Aplicacao.checaTipo().

Here is the call graph for this function:

List<Expressao> plp.functional1.expression.Aplicacao.getArgsExpressao (  ) 

Returns the args.

Returns:
ListaExpressao

Definition at line 182 of file Aplicacao.java.

References plp.functional1.expression.Aplicacao.argsExpressao.

Referenced by plp.functional1.util.RestrictTypesVisitor._visitAplicacao().

Id plp.functional1.expression.Aplicacao.getFunc (  ) 

Returns the func.

Returns:
Id

Definition at line 174 of file Aplicacao.java.

References plp.functional1.expression.Aplicacao.func.

Referenced by plp.functional1.util.RestrictTypesVisitor._visitAplicacao().

Tipo plp.functional1.expression.Aplicacao.getTipo ( AmbienteCompilacao  ambiente  )  throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException

Retorna os tipos possiveis desta expressao.

Parameters:
amb o ambiente de compilação.
Returns:
os tipos possiveis desta expressao.
Exceptions:
VariavelNaoDeclaradaException se existir um identificador nao declarado no ambiente.
VariavelNaoDeclaradaException se existir um identificador declarado mais de uma vez no mesmo bloco do ambiente. this.checaTipo();

Implements plp.expressions2.expression.Expressao.

Definition at line 161 of file Aplicacao.java.

References plp.functional1.expression.Aplicacao.func, plp.expressions1.util.Tipo.get(), and plp.expressions1.util.Tipo.getProx().

Here is the call graph for this function:

void plp.functional1.expression.Aplicacao.includeValueBindings ( AmbienteExecucao  ambiente,
Map< Id, Valor mapIdValor 
) throws VariavelJaDeclaradaException [private]

Definition at line 62 of file Aplicacao.java.

Referenced by plp.functional1.expression.Aplicacao.avaliar().

Map<Id,Valor> plp.functional1.expression.Aplicacao.resolveParametersBindings ( AmbienteExecucao  ambiente,
ValorFuncao  funcao 
) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException [private]

Definition at line 71 of file Aplicacao.java.

References plp.functional1.expression.Aplicacao.argsExpressao, and plp.expressions2.expression.Expressao.avaliar().

Referenced by plp.functional1.expression.Aplicacao.avaliar().

Here is the call graph for this function:

String plp.functional1.expression.Aplicacao.toString (  ) 

Retorna uma representacao String desta expressao. Util para depuracao.

Returns:
uma representacao String desta expressao.

Definition at line 35 of file Aplicacao.java.

References plp.functional1.expression.Aplicacao.argsExpressao, plp.functional1.expression.Aplicacao.func, and plp.expressions2.expression.Id.toString().

Here is the call graph for this function:


Member Data Documentation

List<Expressao> plp.functional1.expression.Aplicacao.argsExpressao [private]

Definition at line 23 of file Aplicacao.java.

Referenced by plp.functional1.expression.Aplicacao.Aplicacao(), plp.functional1.expression.Aplicacao.checkArgumentListSize(), plp.functional1.expression.Aplicacao.checkArgumentTypes(), plp.functional1.expression.Aplicacao.getArgsExpressao(), plp.functional1.expression.Aplicacao.resolveParametersBindings(), and plp.functional1.expression.Aplicacao.toString().

Id plp.functional1.expression.Aplicacao.func [private]

Definition at line 22 of file Aplicacao.java.

Referenced by plp.functional1.expression.Aplicacao.Aplicacao(), plp.functional1.expression.Aplicacao.avaliar(), plp.functional1.expression.Aplicacao.checaTipo(), plp.functional1.expression.Aplicacao.getFunc(), plp.functional1.expression.Aplicacao.getTipo(), and plp.functional1.expression.Aplicacao.toString().


The documentation for this class was generated from the following file:
Generated on Tue Sep 12 21:56:03 2006 for PLP by  doxygen 1.4.7