private static String getPrimitiveMethodSuffix(Parameter p) { return getPrimitiveMethodSuffix(p.getType()); }
private static String getPrimitiveMethodSuffix(Parameter p) { return getPrimitiveMethodSuffix(p.getType()); }
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(Parameter p, MethodVisitor mv, Class<?> wrapperClass, boolean ignoreNullValues) { if (TypeHelper.isPrimitive(p.getType())) { if (ignoreNullValues) { mv.visitVarInsn(ALOAD, 3); } String methodSuffix = getPrimitiveMethodSuffix(p); String valueMethodPrefix = methodSuffix.toLowerCase(); if ("character".equals(valueMethodPrefix)) { valueMethodPrefix = "char"; } String valueMethod = valueMethodPrefix + "Value"; AsmUtils.invoke(mv, wrapperClass, valueMethod, "()" + AsmUtils.toAsmType(p.getType())); if (ignoreNullValues) { mv.visitVarInsn(AsmUtils.getStoreOps(p.getType()), 3); } } }
private static void changeToPrimitiveIfNeeded(Parameter p, MethodVisitor mv, Class<?> wrapperClass, boolean ignoreNullValues) { if (TypeHelper.isPrimitive(p.getType())) { if (ignoreNullValues) { mv.visitVarInsn(ALOAD, 3); } String methodSuffix = getPrimitiveMethodSuffix(p); String valueMethodPrefix = methodSuffix.toLowerCase(); if ("character".equals(valueMethodPrefix)) { valueMethodPrefix = "char"; } String valueMethod = valueMethodPrefix + "Value"; AsmUtils.invoke(mv, wrapperClass, valueMethod, "()" + AsmUtils.toAsmType(p.getType())); if (ignoreNullValues) { mv.visitVarInsn(AsmUtils.getStoreOps(p.getType()), 3); } } }