public static int getLoadOps(Class<?> parameterType) { if (TypeHelper.isPrimitive(parameterType)) { return loadOps.get(parameterType); } return ALOAD; }
public static int getLoadOps(Class<?> parameterType) { if (TypeHelper.isPrimitive(parameterType)) { return loadOps.get(parameterType); } return ALOAD; }
public static int getStoreOps(Class<?> type) { if (TypeHelper.isPrimitive(type)) { return storeOps.get(type); } return ASTORE; }
public static int getStoreOps(Class<?> type) { if (TypeHelper.isPrimitive(type)) { return storeOps.get(type); } return ASTORE; }
public static String toAsmType(final Type type) { if (TypeHelper.isPrimitive(type)) { return primitivesType.get(TypeHelper.toClass(type)); } return toAsmType(TypeHelper.toClass(type).getName()); }
private static boolean allowToStringConverter(Type type) { return TypeHelper.isPrimitive(type) || TypeHelper.isEnum(type) || TypeHelper.isInPackage(type, new Predicate<String>() { @Override public boolean test(String s) { return s.startsWith("java."); } }) ; }
public static String toAsmType(final Type type) { if (TypeHelper.isPrimitive(type)) { return primitivesType.get(TypeHelper.toClass(type)); } return toAsmType(TypeHelper.toClass(type).getName()); }
private static boolean allowToStringConverter(Type type) { return TypeHelper.isPrimitive(type) || TypeHelper.isEnum(type) || TypeHelper.isInPackage(type, new Predicate<String>() { @Override public boolean test(String s) { return s.startsWith("java."); } }) ; }
public static String toAsmType(final Type type) { if (TypeHelper.isPrimitive(type)) { return primitivesType.get(TypeHelper.toClass(type)); } return toAsmType(TypeHelper.toClass(type).getName()); }
public static String toTargetTypeDeclaration(Type targetType) { if (TypeHelper.isPrimitive(targetType)) { return primitivesType.get(TypeHelper.toClass(targetType)); } return toTargetTypeDeclaration(AsmUtils.toAsmType(targetType)); } public static String toTargetTypeDeclaration(String targetType) {
public static String toTargetTypeDeclaration(Type targetType) { if (TypeHelper.isPrimitive(targetType)) { return primitivesType.get(TypeHelper.toClass(targetType)); } return toTargetTypeDeclaration(AsmUtils.toAsmType(targetType)); } public static String toTargetTypeDeclaration(String targetType) {
public static String toTargetTypeDeclaration(Type targetType) { if (TypeHelper.isPrimitive(targetType)) { return primitivesType.get(TypeHelper.toClass(targetType)); } return toTargetTypeDeclaration(AsmUtils.toAsmType(targetType)); } public static String toTargetTypeDeclaration(String targetType) {
@SuppressWarnings("unchecked") private <V> V markValue(Type type, boolean builderIgnoresNullValues) throws Exception { if (TypeHelper.isPrimitive(type)) { return (V) primitivesMarkValue.get(type); } else if (TypeHelper.areEquals(type, String.class)) { return (V) "1"; } else if (TypeHelper.isAssignable(Enum.class, type)) { Enum[] values = TypeHelper.<Enum>toClass(type).getEnumConstants(); return (V) (values.length > 1 ? values[1] : values[0]); } else { return createValueFromInstantiator(type, builderIgnoresNullValues); } }
@SuppressWarnings("unchecked") private <V> V markValue(Type type, boolean builderIgnoresNullValues) throws Exception { if (TypeHelper.isPrimitive(type)) { return (V) primitivesMarkValue.get(type); } else if (TypeHelper.areEquals(type, String.class)) { return (V) "1"; } else if (TypeHelper.isAssignable(Enum.class, type)) { Enum[] values = TypeHelper.<Enum>toClass(type).getEnumConstants(); return (V) (values.length > 1 ? values[1] : values[0]); } else { return createValueFromInstantiator(type, builderIgnoresNullValues); } }
private static void newInstanceNullFunction(MethodVisitor mv, Parameter p) { if (TypeHelper.isPrimitive(p.getType())) { mv.visitInsn(AsmUtils.defaultValue.get(p.getType())); } else { mv.visitInsn(ACONST_NULL); } }
private static void newInstanceNullFunction(MethodVisitor mv, Parameter p) { if (TypeHelper.isPrimitive(p.getType())) { mv.visitInsn(AsmUtils.defaultValue.get(p.getType())); } else { mv.visitInsn(ACONST_NULL); } }
private static GetterCall getGetterCall(Class<?> propertyType, Class<? extends Getter> getterClass) { if (TypeHelper.isPrimitive(propertyType)) { Class<?> primitiveGetter = BiInstantiatorBuilder.getPrimitiveGetter(propertyType); if (primitiveGetter == null) { throw new IllegalStateException("No primitive getter for primitive " + propertyType); } Type publicGetterClass = AsmUtils.findClosestPublicTypeExposing(getterClass, primitiveGetter); if (publicGetterClass != null) { return new GetterCall("get" + getPrimitiveMethodSuffix(propertyType), publicGetterClass, true); } } Type publicGetterClass = AsmUtils.findClosestPublicTypeExposing(getterClass, Getter.class); return new GetterCall("get", publicGetterClass, false); }
private static GetterCall getGetterCall(Class<?> propertyType, Class<? extends Getter> getterClass) { if (TypeHelper.isPrimitive(propertyType)) { Class<?> primitiveGetter = BiInstantiatorBuilder.getPrimitiveGetter(propertyType); if (primitiveGetter == null) { throw new IllegalStateException("No primitive getter for primitive " + propertyType); } Type publicGetterClass = AsmUtils.findClosestPublicTypeExposing(getterClass, primitiveGetter); if (publicGetterClass != null) { return new GetterCall("get" + getPrimitiveMethodSuffix(propertyType), publicGetterClass, true); } } Type publicGetterClass = AsmUtils.findClosestPublicTypeExposing(getterClass, Getter.class); return new GetterCall("get", publicGetterClass, false); }
private static void changeToPrimitiveIfNeeded(InjectionPoint injectionPoint, MethodVisitor mv, Class<?> wrapperClass, boolean ignoreNullValues) { if (TypeHelper.isPrimitive(injectionPoint.parameter.getType())) { mv.visitVarInsn(ALOAD, 4); String methodSuffix = getPrimitiveMethodSuffix(injectionPoint.parameter); String valueMethodPrefix = methodSuffix.toLowerCase(); if ("character".equals(valueMethodPrefix)) { valueMethodPrefix = "char"; } String valueMethod = valueMethodPrefix + "Value"; AsmUtils.invoke(mv, wrapperClass, valueMethod, "()" + AsmUtils.toAsmType(injectionPoint.parameter.getType())); mv.visitVarInsn(AsmUtils.getStoreOps(injectionPoint.parameter.getType()), 4); } }
private static void changeToPrimitiveIfNeeded(InjectionPoint injectionPoint, MethodVisitor mv, Class<?> wrapperClass, boolean ignoreNullValues) { if (TypeHelper.isPrimitive(injectionPoint.parameter.getType())) { mv.visitVarInsn(ALOAD, 4); String methodSuffix = getPrimitiveMethodSuffix(injectionPoint.parameter); String valueMethodPrefix = methodSuffix.toLowerCase(); if ("character".equals(valueMethodPrefix)) { valueMethodPrefix = "char"; } String valueMethod = valueMethodPrefix + "Value"; AsmUtils.invoke(mv, wrapperClass, valueMethod, "()" + AsmUtils.toAsmType(injectionPoint.parameter.getType())); mv.visitVarInsn(AsmUtils.getStoreOps(injectionPoint.parameter.getType()), 4); } }