infos.add(classInfo); for (Method method : clazz.getDeclaredMethods()) { MethodInfo methodInfo = new MethodInfo(classInfo, method); if (linking) { classInfo.methods.add(methodInfo); MethodInfo methodInfo = new MethodInfo(classInfo, constructor); if (linking) { classInfo.methods.add(methodInfo);
final ClassInfo classInfo = methodInfo.getDeclaringClass(); final Method method = (Method) methodInfo.get(); methods.add(method); } catch (ClassNotFoundException e) { classesNotLoaded.add(methodInfo.getDeclaringClass().getName());
if (!"<init>".equals(parameterInfo.getDeclaringMethod().getName())) { continue; final ClassInfo classInfo = parameterInfo.getDeclaringMethod().getDeclaringClass(); result.add(parameter); } catch (ClassNotFoundException e) { classesNotLoaded.add(parameterInfo.getDeclaringMethod().getDeclaringClass().getName());
infos.add(classInfo); for (Method method : clazz.getDeclaredMethods()) { MethodInfo methodInfo = new MethodInfo(classInfo, method); if (linking) { classInfo.methods.add(methodInfo); MethodInfo methodInfo = new MethodInfo(classInfo, constructor); if (linking) { classInfo.methods.add(methodInfo);
final MethodInfo compareMethodInfo = new MethodInfo(classInfo, name, desc); if (!compareMethodInfo.isConstructor() && !isJavaIdentifier(name)) { return toWrap; if (atI.getName().equals(name) && StringUtils.equals(atI.getDescriptor(), desc)) { testMethodInfo = atI; break;
if ("<init>".equals(parameterInfo.getDeclaringMethod().getName())) { continue; final ClassInfo classInfo = parameterInfo.getDeclaringMethod().getDeclaringClass(); result.add(parameter); } catch (ClassNotFoundException e) { classesNotLoaded.add(parameterInfo.getDeclaringMethod().getDeclaringClass().getName());
if (!"<init>".equals(parameterInfo.getDeclaringMethod().getName())) { continue; final ClassInfo classInfo = parameterInfo.getDeclaringMethod().getDeclaringClass(); result.add(parameter); } catch (ClassNotFoundException e) { classesNotLoaded.add(parameterInfo.getDeclaringMethod().getDeclaringClass().getName());
if ("<init>".equals(parameterInfo.getDeclaringMethod().getName())) { continue; final ClassInfo classInfo = parameterInfo.getDeclaringMethod().getDeclaringClass(); result.add(parameter); } catch (ClassNotFoundException e) { classesNotLoaded.add(parameterInfo.getDeclaringMethod().getDeclaringClass().getName());
final ClassInfo classInfo = methodInfo.getDeclaringClass(); final Method method = (Method) methodInfo.get(); methods.add(method); } catch (ClassNotFoundException e) { classesNotLoaded.add(methodInfo.getDeclaringClass().getName());
ClassInfo classInfo = methodInfo.getDeclaringClass(); constructors.add((Constructor) methodInfo.get()); } catch (ClassNotFoundException e) { classesNotLoaded.add(methodInfo.getDeclaringClass().getName());
} else if (info instanceof MethodInfo && !((MethodInfo) info).isConstructor()) { ClassInfo classInfo = methodInfo.getDeclaringClass();
} else if (info instanceof MethodInfo && !((MethodInfo) info).isConstructor()) { ClassInfo classInfo = methodInfo.getDeclaringClass();
ClassInfo classInfo = methodInfo.getDeclaringClass(); constructors.add((Constructor) methodInfo.get()); } catch (ClassNotFoundException e) { classesNotLoaded.add(methodInfo.getDeclaringClass().getName());
} else if (info instanceof MethodInfo && !((MethodInfo) info).isConstructor()) { ClassInfo classInfo = methodInfo.getDeclaringClass();
classInfos.put(clazz.getName(), classInfo); for (Method method : clazz.getDeclaredMethods()) { infos.add(new MethodInfo(classInfo, method)); infos.add(new MethodInfo(classInfo, constructor));
public List<Constructor> findAnnotatedConstructors(Class<? extends Annotation> annotation) { classesNotLoaded.clear(); List<ClassInfo> seen = new ArrayList<ClassInfo>(); List<Constructor> constructors = new ArrayList<Constructor>(); List<Info> infos = getAnnotationInfos(annotation.getName()); for (Info info : infos) { if (info instanceof MethodInfo && info.getName().equals("<init>")) { MethodInfo methodInfo = (MethodInfo) info; ClassInfo classInfo = methodInfo.getDeclaringClass(); if (seen.contains(classInfo)) continue; seen.add(classInfo); try { Class clazz = classInfo.get(); for (Constructor constructor : clazz.getConstructors()) { if (constructor.isAnnotationPresent(annotation)) { constructors.add(constructor); } } } catch (ClassNotFoundException e) { classesNotLoaded.add(classInfo.getName()); } } } return constructors; }
public List<Method> findAnnotatedMethods(Class<? extends Annotation> annotation) { classesNotLoaded.clear(); List<ClassInfo> seen = new ArrayList<ClassInfo>(); List<Method> methods = new ArrayList<Method>(); List<Info> infos = getAnnotationInfos(annotation.getName()); for (Info info : infos) { if (info instanceof MethodInfo && !info.getName().equals("<init>")) { MethodInfo methodInfo = (MethodInfo) info; ClassInfo classInfo = methodInfo.getDeclaringClass(); if (seen.contains(classInfo)) continue; seen.add(classInfo); try { Class clazz = classInfo.get(); for (Method method : clazz.getDeclaredMethods()) { if (method.isAnnotationPresent(annotation)) { methods.add(method); } } } catch (ClassNotFoundException e) { classesNotLoaded.add(classInfo.getName()); } } } return methods; }
@Override public AnnotationVisitor visitParameterAnnotation(final int param, final String desc, final boolean visible) { final AnnotationVisitor toWrap = super.visitParameterAnnotation(param, desc, visible); if (visible) { return toWrap; } ParameterInfo parameterInfo = null; // should be the most recently added parameter, so iterate backward: for (int i = methodInfo.getParameters().size() - 1; i >= 0; i--) { final ParameterInfo atI = methodInfo.getParameters().get(i); if (atI.getName().equals(Integer.toString(param))) { parameterInfo = atI; break; } } return parameterInfo == null ? toWrap : new TopLevelAnnotationInflater(desc, toWrap, parameterInfo); } };
public boolean isConstructor() { return getName().equals("<init>"); }