plp.orientadaObjetos2.expressao.binaria
Class ExpInstanceOf
java.lang.Object
plp.orientadaObjetos1.expressao.binaria.ExpBinaria
plp.orientadaObjetos2.expressao.binaria.ExpInstanceOf
- All Implemented Interfaces:
- Expressao
public class ExpInstanceOf
- extends ExpBinaria
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ExpInstanceOf
public ExpInstanceOf(Expressao idObjeto,
Expressao classe)
- Constrói uma expressao instanceof com as sub-expressoes especificadas.
Assume-se que estas sub-expressoes resultam em
ValorBooleano
quando avaliadas.
- Parameters:
idObjeto
- expressao que representa o identificador do objetoclasse
- expressao que representa a classe
avaliar
public Valor avaliar(AmbienteExecucao ambiente)
throws VariavelNaoDeclaradaException,
VariavelJaDeclaradaException,
ObjetoNaoDeclaradoException
- Retorna o valor da expressao instanceof.
- Throws:
VariavelNaoDeclaradaException
VariavelJaDeclaradaException
ObjetoNaoDeclaradoException
checaTipo
public boolean checaTipo(AmbienteCompilacao ambiente)
throws VariavelNaoDeclaradaException,
ClasseNaoDeclaradaException
- Realiza a verificacao de tipos desta expressao.
- Specified by:
checaTipo
in interface Expressao
- Overrides:
checaTipo
in class ExpBinaria
- Parameters:
ambiente
- o ambiente de compilação.
- Returns:
true
se os tipos da expressao são válidos;
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.
ClasseNaoDeclaradaException
getTipo
public Tipo getTipo(AmbienteCompilacao ambiente)
throws VariavelNaoDeclaradaException,
ClasseNaoDeclaradaException
- Retorna os tipos possiveis desta expressao.
- Parameters:
ambiente
- o ambiente de compilação.
- Returns:
- os tipos possiveis desta expressao.
- Throws:
VariavelNaoDeclaradaException
ClasseNaoDeclaradaException