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":
block.append(ifWasNullPopAndGoto(context, end, Slice.class, value.getType()));
block.invokeStatic(Operations.class, "castToSlice", Slice.class, value.getType());
return typedByteCodeNode(block.visitLabel(end), Slice.class);