plp.functional1.expression
Class IfThenElse

java.lang.Object
  extended by plp.functional1.expression.IfThenElse
All Implemented Interfaces:
Expressao

public class IfThenElse
extends java.lang.Object
implements Expressao


Constructor Summary
IfThenElse(Expressao teste, Expressao thenExpressao, Expressao elseExpressao)
           
 
Method Summary
 Valor avaliar(AmbienteExecucao ambiente)
          Avalia a expressao retornando seu Valor.
 boolean checaTipo(AmbienteCompilacao amb)
          Realiza a verificacao de tipos desta expressao.
 Expressao getCondicao()
          Returns the condicao.
 Expressao getElseExpressao()
          Returns the elseExpressao.
 Expressao getThen()
          Returns the then.
 Tipo getTipo(AmbienteCompilacao amb)
          Retorna os tipos possiveis desta expressao.
 java.lang.String toString()
          Retorna texto representando um objeto desta classe.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IfThenElse

public IfThenElse(Expressao teste,
                  Expressao thenExpressao,
                  Expressao elseExpressao)
Method Detail

avaliar

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

Specified by:
avaliar in interface Expressao
Throws:
VariavelNaoDeclaradaException
VariavelJaDeclaradaException

toString

public java.lang.String toString()
Retorna texto representando um objeto desta classe.

Overrides:
toString in class java.lang.Object

checaTipo

public boolean checaTipo(AmbienteCompilacao amb)
                  throws VariavelNaoDeclaradaException,
                         VariavelJaDeclaradaException
Realiza a verificacao de tipos desta expressao.

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 amb)
             throws VariavelNaoDeclaradaException,
                    VariavelJaDeclaradaException
Retorna os tipos possiveis desta expressao.

Specified by:
getTipo in interface Expressao
Parameters:
amb - o ambiente de compilação.
Returns:
os tipos possiveis desta expressao.
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

getCondicao

public Expressao getCondicao()
Returns the condicao.

Returns:
Expressao

getThen

public Expressao getThen()
Returns the then.

Returns:
Expressao

getElseExpressao

public Expressao getElseExpressao()
Returns the elseExpressao.

Returns:
Expressao