plp.functional2.expression
Class ValorFuncao

java.lang.Object
  extended by plp.functional2.expression.ValorFuncao
All Implemented Interfaces:
Expressao, Valor, ValorAbstrato

public class ValorFuncao
extends java.lang.Object
implements ValorAbstrato

Author:
Sérgio To change this generated comment edit the template variable "typecomment": Window>Preferences>Java>Templates. To enable and disable the creation of type comments go to Window>Preferences>Java>Code Generation.

Constructor Summary
ValorFuncao(java.util.List<Id> argsId, Expressao exp)
           
 
Method Summary
 Valor avaliar(AmbienteExecucao ambiente)
          Avalia a expressao retornando seu Valor.
 boolean checaTipo(AmbienteCompilacao ambiente)
          Realiza a verificacao de tipos desta declaração.
 int getAridade()
          Retorna a aridade desta funcao.
 Expressao getExp()
           
 java.util.List<Id> getListaId()
           
 Tipo getTipo(AmbienteCompilacao ambiente)
          Retorna os tipos possiveis desta função.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ValorFuncao

public ValorFuncao(java.util.List<Id> argsId,
                   Expressao exp)
Method Detail

getListaId

public java.util.List<Id> getListaId()

getExp

public Expressao getExp()

getAridade

public int getAridade()
Retorna a aridade desta funcao.

Returns:
a aridade desta funcao.

checaTipo

public boolean checaTipo(AmbienteCompilacao ambiente)
                  throws VariavelNaoDeclaradaException,
                         VariavelJaDeclaradaException
Realiza a verificacao de tipos desta declaração.

Specified by:
checaTipo in interface Expressao
Parameters:
amb - o ambiente de compilação.
Returns:
true se os tipos da expressao sao validos; false caso contrario.
Throws:
VariavelNaoDeclaradaException - se existir um identificador nao declarado no ambiente.
VariavelNaoDeclaradaException - se existir um identificador declarado mais de uma vez no mesmo bloco do ambiente.
VariavelJaDeclaradaException

getTipo

public Tipo getTipo(AmbienteCompilacao ambiente)
             throws VariavelNaoDeclaradaException,
                    VariavelJaDeclaradaException
Retorna os tipos possiveis desta função.

Specified by:
getTipo in interface Expressao
Parameters:
amb - o ambiente que contem o mapeamento entre identificadores e tipos.
Returns:
os tipos possiveis desta declaração.
Throws:
VariavelNaoDeclaradaException - se houver uma variável não declarada no ambiente.
VariavelJaDeclaradaException - se houver uma mesma variável declarada duas vezes no mesmo bloco do ambiente.

avaliar

public Valor avaliar(AmbienteExecucao ambiente)
Description copied from interface: Expressao
Avalia a expressao retornando seu Valor.

Specified by:
avaliar in interface Expressao

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object