Add shortcut methods for adding providers. These do not require explicitly specifying the
class of the provider object.

--
MOS_MIGRATED_REVID=101227127
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/Aspect.java b/src/main/java/com/google/devtools/build/lib/analysis/Aspect.java
index 95f0683..939e3ea 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/Aspect.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/Aspect.java
@@ -106,6 +106,13 @@
     }
 
     /**
+     * Adds a provider to the aspect. Shortcut for addProvider(value.getClass(), value).
+     */
+    public Builder addProvider(TransitiveInfoProvider value) {
+      return addProvider(value.getClass(), value);
+    }
+
+    /**
      * Adds a set of files to an output group.
      */
     public Builder addOutputGroup(String name, NestedSet<Artifact> artifacts) {
@@ -118,7 +125,6 @@
       return this;
     }
 
-
     public Aspect build() {
       if (!outputGroupBuilders.isEmpty()) {
         ImmutableMap.Builder<String, NestedSet<Artifact>> outputGroups = ImmutableMap.builder();
@@ -136,4 +142,4 @@
       return new Aspect(name, ImmutableMap.copyOf(providers));
     }
   }
-}
\ No newline at end of file
+}