/** * Constructs a ClassVisitor to efficiently travel to the specified class * members. * * @param classSpecification the specifications of the class members to visit. * @param memberVisitor the MemberVisitor to be applied to matching * class members. */ private static ClassVisitor createClassVisitor(ClassSpecification classSpecification, MemberVisitor memberVisitor) { MultiClassVisitor multiClassVisitor = new MultiClassVisitor(); addMemberVisitors(classSpecification.fieldSpecifications, true, multiClassVisitor, memberVisitor); addMemberVisitors(classSpecification.methodSpecifications, false, multiClassVisitor, memberVisitor); // Mark the class member in this class and in super classes. return new ClassHierarchyTraveler(true, true, false, false, multiClassVisitor); }
/** * Constructs a ClassVisitor to efficiently travel to the specified class * members. * * @param fieldSpecifications the specifications of the fields to visit. * @param methodSpecifications the specifications of the methods to visit. * @param fieldVisitor an optional MemberVisitor to be applied to * matching fields. * @param methodVisitor an optional MemberVisitor to be applied to * matching methods. * @param attributeVisitor an optional AttributeVisitor to be applied * to matching attributes. * @param variableStringMatchers an optional mutable list of * VariableStringMatcher instances that match * the wildcards. */ private ClassVisitor createClassVisitor(List fieldSpecifications, List methodSpecifications, MemberVisitor fieldVisitor, MemberVisitor methodVisitor, AttributeVisitor attributeVisitor, List variableStringMatchers) { MultiClassVisitor multiClassVisitor = new MultiClassVisitor(); addMemberVisitors(fieldSpecifications, true, multiClassVisitor, fieldVisitor, attributeVisitor, variableStringMatchers); addMemberVisitors(methodSpecifications, false, multiClassVisitor, methodVisitor, attributeVisitor, variableStringMatchers); // Mark the class member in this class and in super classes. return new ClassHierarchyTraveler(true, true, false, false, multiClassVisitor); }
/** * Constructs a ClassVisitor to efficiently travel to the specified class * members. * * @param fieldSpecifications the specifications of the fields to visit. * @param methodSpecifications the specifications of the methods to visit. * @param fieldVisitor an optional MemberVisitor to be applied to * matching fields. * @param methodVisitor an optional MemberVisitor to be applied to * matching methods. * @param attributeVisitor an optional AttributeVisitor to be applied * to matching attributes. * @param variableStringMatchers an optional mutable list of * VariableStringMatcher instances that match * the wildcards. */ private ClassVisitor createClassVisitor(List fieldSpecifications, List methodSpecifications, MemberVisitor fieldVisitor, MemberVisitor methodVisitor, AttributeVisitor attributeVisitor, List variableStringMatchers) { MultiClassVisitor multiClassVisitor = new MultiClassVisitor(); addMemberVisitors(fieldSpecifications, true, multiClassVisitor, fieldVisitor, attributeVisitor, variableStringMatchers); addMemberVisitors(methodSpecifications, false, multiClassVisitor, methodVisitor, attributeVisitor, variableStringMatchers); // Mark the class member in this class and in super classes. return new ClassHierarchyTraveler(true, true, false, false, multiClassVisitor); }
/** * Constructs a ClassVisitor to efficiently travel to the specified class * members. * * @param fieldSpecifications the specifications of the fields to visit. * @param methodSpecifications the specifications of the methods to visit. * @param fieldVisitor an optional MemberVisitor to be applied to * matching fields. * @param methodVisitor an optional MemberVisitor to be applied to * matching methods. * @param attributeVisitor an optional AttributeVisitor to be applied * to matching attributes. * @param variableStringMatchers an optional mutable list of * VariableStringMatcher instances that match * the wildcards. */ private ClassVisitor createClassVisitor(List fieldSpecifications, List methodSpecifications, MemberVisitor fieldVisitor, MemberVisitor methodVisitor, AttributeVisitor attributeVisitor, List variableStringMatchers) { MultiClassVisitor multiClassVisitor = new MultiClassVisitor(); addMemberVisitors(fieldSpecifications, true, multiClassVisitor, fieldVisitor, attributeVisitor, variableStringMatchers); addMemberVisitors(methodSpecifications, false, multiClassVisitor, methodVisitor, attributeVisitor, variableStringMatchers); // Mark the class member in this class and in super classes. return new ClassHierarchyTraveler(true, true, false, false, multiClassVisitor); }