block.invokeStatic(Operations.class, "castToBoolean", boolean.class, value.getType());
return typedByteCodeNode(block.visitLabel(end), boolean.class);
case "BIGINT":
block.append(ifWasNullPopAndGoto(context, end, long.class, value.getType()));
block.invokeStatic(Operations.class, "castToLong", long.class, value.getType());
return typedByteCodeNode(block.visitLabel(end), long.class);
case "DOUBLE":
block.append(ifWasNullPopAndGoto(context, end, double.class, value.getType()));
block.invokeStatic(Operations.class, "castToDouble", double.class, value.getType());
return typedByteCodeNode(block.visitLabel(end), double.class);
case "VARCHAR":