void ExprCompiler::visit(IsExpr& expr, int dest) { compile(expr.value(), dest); int type = makeTemp(); compile(expr.type(), type); write(expr, OP_IS, dest, type, dest); releaseTemp(); // type }
void Resolver::visit(IsExpr& expr, int dummy) { resolve(expr.value()); resolve(expr.type()); }