/** * Constructs a ClassVisitor that conditionally applies the given * ClassVisitor to all classes that contain the given List of class * members (of the given type). */ private static ClassVisitor createClassMemberTester(List memberSpecifications, boolean isField, ClassVisitor classVisitor) { // Create a linked list of conditional visitors. if (memberSpecifications != null) { for (int index = 0; index < memberSpecifications.size(); index++) { MemberSpecification memberSpecification = (MemberSpecification)memberSpecifications.get(index); classVisitor = createClassVisitor(memberSpecification, isField, new MemberToClassVisitor(classVisitor)); } } return classVisitor; }
/** * Constructs a ClassVisitor that conditionally applies the given * ClassVisitor to all classes that contain the given List of class * members (of the given type). */ private ClassVisitor createClassMemberTester(List memberSpecifications, boolean isField, ClassVisitor classVisitor, List variableStringMatchers) { // Create a linked list of conditional visitors. if (memberSpecifications != null) { for (int index = 0; index < memberSpecifications.size(); index++) { MemberSpecification memberSpecification = (MemberSpecification)memberSpecifications.get(index); classVisitor = createClassVisitor(memberSpecification, isField, new MemberToClassVisitor(classVisitor), null, variableStringMatchers); } } return classVisitor; }
/** * Constructs a ClassVisitor that conditionally applies the given * ClassVisitor to all classes that contain the given List of class * members (of the given type). */ private ClassVisitor createClassMemberTester(List memberSpecifications, boolean isField, ClassVisitor classVisitor, List variableStringMatchers) { // Create a linked list of conditional visitors. if (memberSpecifications != null) { for (int index = 0; index < memberSpecifications.size(); index++) { MemberSpecification memberSpecification = (MemberSpecification)memberSpecifications.get(index); classVisitor = createClassVisitor(memberSpecification, isField, new MemberToClassVisitor(classVisitor), null, variableStringMatchers); } } return classVisitor; }
/** * Constructs a ClassVisitor that conditionally applies the given * ClassVisitor to all classes that contain the given List of class * members (of the given type). */ private ClassVisitor createClassMemberTester(List memberSpecifications, boolean isField, ClassVisitor classVisitor, List variableStringMatchers) { // Create a linked list of conditional visitors. if (memberSpecifications != null) { for (int index = 0; index < memberSpecifications.size(); index++) { MemberSpecification memberSpecification = (MemberSpecification)memberSpecifications.get(index); classVisitor = createClassVisitor(memberSpecification, isField, new MemberToClassVisitor(classVisitor), null, variableStringMatchers); } } return classVisitor; }
/** * Returns the set of superclasses and interfaces that are initialized. */ private Set initializedSuperClasses(Clazz clazz) { Set set = new HashSet(); // Visit all superclasses and interfaces, collecting the ones that have // static initializers. clazz.hierarchyAccept(true, true, true, false, new NamedMethodVisitor(ClassConstants.INTERNAL_METHOD_NAME_CLINIT, ClassConstants.INTERNAL_METHOD_TYPE_INIT, new MemberToClassVisitor( new ClassCollector(set)))); return set; }