public Constructor asConstructor() { try { final Class cls = Class.forName(getDeclaringClass().getFullyQualifiedName()); final Class[] parms = MetaClassFactory.asClassArray(getParameters()); for (Constructor constructor : cls.getDeclaredConstructors()) { if (Arrays.equals(parms, constructor.getParameterTypes())) { return constructor; } } return null; } catch (Throwable t) { return null; } } }
public Constructor asConstructor() { try { final Class cls = Class.forName(getDeclaringClass().getFullyQualifiedName()); final Class[] parms = MetaClassFactory.asClassArray(getParameters()); for (Constructor constructor : cls.getDeclaredConstructors()) { if (Arrays.equals(parms, constructor.getParameterTypes())) { return constructor; } } return null; } catch (Throwable t) { return null; } } }
public static boolean equals(final MetaConstructor a, final MetaConstructor b) { if (a.getParameters().length != b.getParameters().length) { return false; } for (int i = 0; i < a.getParameters().length; i++) { if (!equals(a.getParameters()[i], b.getParameters()[i])) { return false; } } return a.getDeclaringClass().equals(b.getDeclaringClass()); }
public static boolean equals(final MetaConstructor a, final MetaConstructor b) { if (a.getParameters().length != b.getParameters().length) { return false; } for (int i = 0; i < a.getParameters().length; i++) { if (!equals(a.getParameters()[i], b.getParameters()[i])) { return false; } } return a.getDeclaringClass().equals(b.getDeclaringClass()); }
public static String initCachedMethod(final ClassStructureBuilder<?> classBuilder, final MetaConstructor c) { createJavaReflectionConstructorInitializerUtilMethod(classBuilder); final String fieldName = PrivateAccessUtil.getPrivateMethodName(c) + "_meth"; classBuilder.privateField(fieldName, Constructor.class).modifiers(Modifier.Static) .initializesWith(Stmt.invokeStatic(classBuilder.getClassDefinition(), JAVA_REFL_CONSTRUCTOR_UTIL_METH, c.getDeclaringClass(), MetaClassFactory.asClassArray(c.getParameters()))).finish(); return fieldName; }
public static String initCachedMethod(final ClassStructureBuilder<?> classBuilder, final MetaConstructor c) { createJavaReflectionConstructorInitializerUtilMethod(classBuilder); final String fieldName = PrivateAccessUtil.getPrivateMethodName(c) + "_meth"; classBuilder.privateField(fieldName, Constructor.class).modifiers(Modifier.Static) .initializesWith(Stmt.invokeStatic(classBuilder.getClassDefinition(), JAVA_REFL_CONSTRUCTOR_UTIL_METH, c.getDeclaringClass(), MetaClassFactory.asClassArray(c.getParameters()))).finish(); return fieldName; }