/** * Constructs a ClassPoolVisitor to efficiently travel to the specified * classes, class members, and attributes. * * @param classSpecifications the list of ClassSpecification instances * that specify the classes and class members * to visit. * @param classVisitor an optional ClassVisitor to be applied to * all classes. * @param memberVisitor an optional MemberVisitor to be applied to * matching fields and methods. */ public ClassPoolVisitor createClassPoolVisitor(List classSpecifications, ClassVisitor classVisitor, MemberVisitor memberVisitor) { return createClassPoolVisitor(classSpecifications, classVisitor, memberVisitor, memberVisitor, null); }
/** * Constructs a ClassPoolVisitor to efficiently travel to the specified * classes, class members, and attributes. * * @param classSpecifications the list of ClassSpecification instances * that specify the classes and class members * to visit. * @param classVisitor an optional ClassVisitor to be applied to * all classes. * @param memberVisitor an optional MemberVisitor to be applied to * matching fields and methods. */ public ClassPoolVisitor createClassPoolVisitor(List classSpecifications, ClassVisitor classVisitor, MemberVisitor memberVisitor) { return createClassPoolVisitor(classSpecifications, classVisitor, memberVisitor, memberVisitor, null); }
/** * Constructs a ClassPoolVisitor to efficiently travel to the specified * classes, class members, and attributes. * * @param classSpecifications the list of ClassSpecification instances * that specify the classes and class members * to visit. * @param classVisitor an optional ClassVisitor to be applied to * all classes. * @param memberVisitor an optional MemberVisitor to be applied to * matching fields and methods. */ public ClassPoolVisitor createClassPoolVisitor(List classSpecifications, ClassVisitor classVisitor, MemberVisitor memberVisitor) { return createClassPoolVisitor(classSpecifications, classVisitor, memberVisitor, memberVisitor, null); }
createClassPoolVisitor(classSpecification, classVisitor, memberVisitor));
createClassPoolVisitor(keepClassSpecification, classVisitor, memberVisitor));
createClassPoolVisitor(classSpecification, classVisitor, fieldVisitor,
createClassPoolVisitor(classSpecification, classVisitor, fieldVisitor,
createClassPoolVisitor(classSpecification, classVisitor, fieldVisitor,
return createClassPoolVisitor((ClassSpecification)keepClassSpecification, classVisitor, memberVisitor);
/** * Constructs a ClassPoolVisitor that conditionally applies the given * ClassVisitor to all classes that match the given class specification. */ protected ClassPoolVisitor createClassTester(ClassSpecification classSpecification, ClassVisitor classVisitor, List variableStringMatchers) { // Create a placeholder for the class visitor that tests class // members. MultiClassVisitor conditionalMemberTester = new MultiClassVisitor(); // Parse the class condition. ClassPoolVisitor conditionalClassTester = createClassPoolVisitor(classSpecification, conditionalMemberTester, null, null, null, variableStringMatchers); // Parse the member conditions and add the result to the placeholder. conditionalMemberTester.addClassVisitor( createClassMemberTester(classSpecification.fieldSpecifications, classSpecification.methodSpecifications, classVisitor, variableStringMatchers)); return conditionalClassTester; }
/** * Constructs a ClassPoolVisitor that conditionally applies the given * ClassVisitor to all classes that match the given class specification. */ protected ClassPoolVisitor createClassTester(ClassSpecification classSpecification, ClassVisitor classVisitor, List variableStringMatchers) { // Create a placeholder for the class visitor that tests class // members. MultiClassVisitor conditionalMemberTester = new MultiClassVisitor(); // Parse the class condition. ClassPoolVisitor conditionalClassTester = createClassPoolVisitor(classSpecification, conditionalMemberTester, null, null, null, variableStringMatchers); // Parse the member conditions and add the result to the placeholder. conditionalMemberTester.addClassVisitor( createClassMemberTester(classSpecification.fieldSpecifications, classSpecification.methodSpecifications, classVisitor, variableStringMatchers)); return conditionalClassTester; }
/** * Constructs a ClassPoolVisitor that conditionally applies the given * ClassVisitor to all classes that match the given class specification. */ protected ClassPoolVisitor createClassTester(ClassSpecification classSpecification, ClassVisitor classVisitor, List variableStringMatchers) { // Create a placeholder for the class visitor that tests class // members. MultiClassVisitor conditionalMemberTester = new MultiClassVisitor(); // Parse the class condition. ClassPoolVisitor conditionalClassTester = createClassPoolVisitor(classSpecification, conditionalMemberTester, null, null, null, variableStringMatchers); // Parse the member conditions and add the result to the placeholder. conditionalMemberTester.addClassVisitor( createClassMemberTester(classSpecification.fieldSpecifications, classSpecification.methodSpecifications, classVisitor, variableStringMatchers)); return conditionalClassTester; }
ClassSpecificationVisitorFactory.createClassPoolVisitor(configuration.keep, new ProgramClassFilter(printer), new ProgramMemberFilter(printer),
/** * Checks the classes mentioned in the given keep specifications, printing * notes if necessary. Returns the number of notes printed. */ public void checkClassSpecifications(List keepSpecifications) { // Clean up any old visitor info. programClassPool.classesAccept(new ClassCleaner()); libraryClassPool.classesAccept(new ClassCleaner()); // Create a visitor for marking the seeds. KeepMarker keepMarker = new KeepMarker(); ClassPoolVisitor classPoolvisitor = ClassSpecificationVisitorFactory.createClassPoolVisitor(keepSpecifications, keepMarker, keepMarker, false, true, true); // Mark the seeds. programClassPool.accept(classPoolvisitor); libraryClassPool.accept(classPoolvisitor); // Print out notes about argument types that are not being kept. programClassPool.classesAccept(new AllMemberVisitor(this)); }
ClassSpecificationVisitorFactory.createClassPoolVisitor(configuration.keep, usageMarker, usageMarker, ClassSpecificationVisitorFactory.createClassPoolVisitor(configuration.whyAreYouKeeping, shortestUsagePrinter, shortestUsagePrinter);
.createClassPoolVisitor(configuration.whyAreYouKeeping, shortestUsagePrinter, shortestUsagePrinter,
.createClassPoolVisitor(configuration.whyAreYouKeeping, shortestUsagePrinter, shortestUsagePrinter,
.createClassPoolVisitor(configuration.whyAreYouKeeping, shortestUsagePrinter, shortestUsagePrinter,
return super.createClassPoolVisitor(keepClassSpecification, classVisitor, fieldVisitor,
return super.createClassPoolVisitor(keepClassSpecification, classVisitor, fieldVisitor,