plp.functional1.expression.ExpDeclaracao Class Reference

Inherits plp.expressions2.expression.Expressao.

Inheritance diagram for plp.functional1.expression.ExpDeclaracao:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ExpDeclaracao (List< DeclaracaoFuncional > declaracoesFuncionais, Expressao expressaoArg)
String toString ()
Valor avaliar (AmbienteExecucao ambienteFuncional) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException
boolean checaTipo (AmbienteCompilacao ambiente) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException
Tipo getTipo (AmbienteCompilacao ambiente) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException
List< DeclaracaoFuncionalgetSeqdecFuncional ()
Expressao getExpressao ()

Package Attributes

List< DeclaracaoFuncionalseqdecFuncional
Expressao expressao

Private Member Functions

void includeBindings (AmbienteExecucaoFuncional ambiente, Map< Id, Valor > auxIdValor, Map< Id, ValorFuncao > auxIdValorFuncao) throws VariavelJaDeclaradaException
void resolveBindings (AmbienteExecucaoFuncional ambiente, Map< Id, Valor > auxIdValor, Map< Id, ValorFuncao > auxIdValorFuncao) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException
Map< Id, TiporesolveTypeBidings (AmbienteCompilacao ambiente) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException
boolean checkTypeBindings (AmbienteCompilacao ambiente) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException
void includeTypeBindings (AmbienteCompilacao ambiente, Map< Id, Tipo > resolvedTypes) throws VariavelJaDeclaradaException

Detailed Description

Definition at line 21 of file ExpDeclaracao.java.


Constructor & Destructor Documentation

plp.functional1.expression.ExpDeclaracao.ExpDeclaracao ( List< DeclaracaoFuncional declaracoesFuncionais,
Expressao  expressaoArg 
)

Definition at line 26 of file ExpDeclaracao.java.

References plp.functional1.expression.ExpDeclaracao.expressao, and plp.functional1.expression.ExpDeclaracao.seqdecFuncional.


Member Function Documentation

Valor plp.functional1.expression.ExpDeclaracao.avaliar ( AmbienteExecucao  ambienteFuncional  )  throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException

Avalia a expressao retornando seu Valor.

Implements plp.expressions2.expression.Expressao.

Definition at line 45 of file ExpDeclaracao.java.

References plp.expressions2.expression.Expressao.avaliar(), plp.functional1.expression.ExpDeclaracao.expressao, plp.functional1.expression.ExpDeclaracao.includeBindings(), and plp.functional1.expression.ExpDeclaracao.resolveBindings().

Here is the call graph for this function:

boolean plp.functional1.expression.ExpDeclaracao.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 115 of file ExpDeclaracao.java.

References plp.expressions2.expression.Expressao.checaTipo(), plp.functional1.expression.ExpDeclaracao.checkTypeBindings(), plp.functional1.expression.ExpDeclaracao.expressao, plp.functional1.expression.ExpDeclaracao.includeTypeBindings(), and plp.functional1.expression.ExpDeclaracao.resolveTypeBidings().

Here is the call graph for this function:

boolean plp.functional1.expression.ExpDeclaracao.checkTypeBindings ( AmbienteCompilacao  ambiente  )  throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException [private]

Definition at line 145 of file ExpDeclaracao.java.

References plp.functional1.expression.ExpDeclaracao.seqdecFuncional.

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

Expressao plp.functional1.expression.ExpDeclaracao.getExpressao (  ) 

Returns the expressao.

Returns:
Expressao

Definition at line 210 of file ExpDeclaracao.java.

References plp.functional1.expression.ExpDeclaracao.expressao.

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

List<DeclaracaoFuncional> plp.functional1.expression.ExpDeclaracao.getSeqdecFuncional (  ) 

Returns the seqdecVariavel.

Returns:
List

Definition at line 202 of file ExpDeclaracao.java.

References plp.functional1.expression.ExpDeclaracao.seqdecFuncional.

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

Tipo plp.functional1.expression.ExpDeclaracao.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 177 of file ExpDeclaracao.java.

References plp.functional1.expression.ExpDeclaracao.expressao, plp.functional1.declaration.DecFuncao.getFuncao(), plp.expressions2.expression.Expressao.getTipo(), plp.functional1.util.ValorFuncao.getTipo(), plp.functional1.expression.ExpDeclaracao.seqdecFuncional, and plp.expressions1.util.Tipo.TIPO_INDEFINIDO.

Here is the call graph for this function:

void plp.functional1.expression.ExpDeclaracao.includeBindings ( AmbienteExecucaoFuncional  ambiente,
Map< Id, Valor auxIdValor,
Map< Id, ValorFuncao auxIdValorFuncao 
) throws VariavelJaDeclaradaException [private]

Definition at line 66 of file ExpDeclaracao.java.

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

void plp.functional1.expression.ExpDeclaracao.includeTypeBindings ( AmbienteCompilacao  ambiente,
Map< Id, Tipo resolvedTypes 
) throws VariavelJaDeclaradaException [private]

Definition at line 158 of file ExpDeclaracao.java.

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

void plp.functional1.expression.ExpDeclaracao.resolveBindings ( AmbienteExecucaoFuncional  ambiente,
Map< Id, Valor auxIdValor,
Map< Id, ValorFuncao auxIdValorFuncao 
) throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException [private]

Definition at line 85 of file ExpDeclaracao.java.

References plp.functional1.declaration.DecFuncao.getFuncao(), and plp.functional1.expression.ExpDeclaracao.seqdecFuncional.

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

Here is the call graph for this function:

Map<Id,Tipo> plp.functional1.expression.ExpDeclaracao.resolveTypeBidings ( AmbienteCompilacao  ambiente  )  throws VariavelNaoDeclaradaException, VariavelJaDeclaradaException [private]

Definition at line 133 of file ExpDeclaracao.java.

References plp.functional1.expression.ExpDeclaracao.seqdecFuncional.

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

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

Retorna uma representacao String desta expressao. Util para depuracao.

Returns:
uma representacao String desta expressao.

Definition at line 36 of file ExpDeclaracao.java.

References plp.functional1.expression.ExpDeclaracao.expressao, and plp.functional1.expression.ExpDeclaracao.seqdecFuncional.


Member Data Documentation

Expressao plp.functional1.expression.ExpDeclaracao.expressao [package]

Definition at line 24 of file ExpDeclaracao.java.

Referenced by plp.functional1.expression.ExpDeclaracao.avaliar(), plp.functional1.expression.ExpDeclaracao.checaTipo(), plp.functional1.expression.ExpDeclaracao.ExpDeclaracao(), plp.functional1.expression.ExpDeclaracao.getExpressao(), plp.functional1.expression.ExpDeclaracao.getTipo(), and plp.functional1.expression.ExpDeclaracao.toString().

List<DeclaracaoFuncional> plp.functional1.expression.ExpDeclaracao.seqdecFuncional [package]

Definition at line 23 of file ExpDeclaracao.java.

Referenced by plp.functional1.expression.ExpDeclaracao.checkTypeBindings(), plp.functional1.expression.ExpDeclaracao.ExpDeclaracao(), plp.functional1.expression.ExpDeclaracao.getSeqdecFuncional(), plp.functional1.expression.ExpDeclaracao.getTipo(), plp.functional1.expression.ExpDeclaracao.resolveBindings(), plp.functional1.expression.ExpDeclaracao.resolveTypeBidings(), and plp.functional1.expression.ExpDeclaracao.toString().


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