aspect PullUpMembers { public void TypeDecl.pullUpMembers(MethodDecl[] meths, boolean[] makeAbstract, FieldDeclaration[] fields, MemberTypeDecl[] membertypes) { throw new RefactoringException("can only pull up from classes"); } public void ClassDecl.pullUpMembers(MethodDecl[] meths, boolean[] makeAbstract, FieldDeclaration[] fields, MemberTypeDecl[] membertypes) { for(int i=0;i requiredMethods = new HashSet(); java.util.Set requiredFields = new HashSet(); java.util.Set requiredTypes = new HashSet(); requiredMethods.add(this); TypeDecl host = hostType(); host.addRequiredMembers(requiredMethods, requiredFields, requiredTypes); host.doPullUpMembers(requiredMethods.toArray(new MethodDecl[]{}), new boolean[requiredMethods.size()], requiredFields.toArray(new FieldDeclaration[]{}), requiredTypes.toArray(new MemberTypeDecl[]{})); } }