Refactor dependency filtering out of Rule class.

--
MOS_MIGRATED_REVID=112717648
diff --git a/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java b/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
index 3e7bf76..43704f2 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
@@ -24,7 +24,6 @@
 import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
 import com.google.devtools.build.lib.packages.ConfigurationFragmentPolicy.MissingFragmentPolicy;
 import com.google.devtools.build.lib.packages.NativeAspectClass.NativeAspectFactory;
-import com.google.devtools.build.lib.util.BinaryPredicate;
 import com.google.devtools.build.lib.util.Preconditions;
 
 import java.util.Collection;
@@ -168,7 +167,8 @@
           candidateClass.getDefinition().getRequiredProviderNames())) {
         continue;
       }
-      addAllAttributesOfAspect(from, result, candidateClass.getDefinition(), Rule.ALL_DEPS);
+      addAllAttributesOfAspect(
+          from, result, candidateClass.getDefinition(), DependencyFilter.ALL_DEPS);
     }
     return ImmutableMultimap.copyOf(result);
   }
@@ -184,9 +184,11 @@
   /**
    * Collects all attribute labels from the specified aspectDefinition.
    */
-  public static void addAllAttributesOfAspect(Rule from,
-      Multimap<Attribute, Label> labelBuilder, AspectDefinition aspectDefinition,
-      BinaryPredicate<Rule, Attribute> predicate) {
+  public static void addAllAttributesOfAspect(
+      Rule from,
+      Multimap<Attribute, Label> labelBuilder,
+      AspectDefinition aspectDefinition,
+      DependencyFilter predicate) {
     ImmutableMap<String, Attribute> attributes = aspectDefinition.getAttributes();
     for (Attribute aspectAttribute : attributes.values()) {
       if (!predicate.apply(from, aspectAttribute)) {