plp.expressions2.expression
Class ExpDeclaracao
java.lang.Object
plp.expressions2.expression.ExpDeclaracao
- All Implemented Interfaces:
- Expressao
public class ExpDeclaracao
- extends java.lang.Object
- implements Expressao
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ExpDeclaracao
public ExpDeclaracao(java.util.List<DecVariavel> declarations,
Expressao expressaoArg)
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
checaTipo
public boolean checaTipo(AmbienteCompilacao ambiente)
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 ambiente)
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