aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcEntryClassProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcEntryClassProvider.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcEntryClassProvider.java30
1 files changed, 16 insertions, 14 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcEntryClassProvider.java b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcEntryClassProvider.java
index 6bbc6a505f..0b3cd38d51 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcEntryClassProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcEntryClassProvider.java
@@ -54,6 +54,20 @@ public final class J2ObjcEntryClassProvider implements TransitiveInfoProvider {
}
/**
+ * Transitively adds the given {@link J2ObjcEntryClassProvider}s
+ * and all their properties to this builder.
+ *
+ * @param providers the J2ObjcEntryClassProviders to add
+ * @return this builder
+ */
+ public Builder addTransitive(Iterable<J2ObjcEntryClassProvider> providers) {
+ for (J2ObjcEntryClassProvider provider : providers) {
+ addTransitive(provider);
+ }
+ return this;
+ }
+
+ /**
* Transitively adds all the J2ObjcEntryClassProviders and all their properties
* that can be reached through the "deps" attribute.
*
@@ -62,10 +76,8 @@ public final class J2ObjcEntryClassProvider implements TransitiveInfoProvider {
*/
public Builder addTransitive(RuleContext ruleContext) {
if (ruleContext.attributes().has("deps", BuildType.LABEL_LIST)) {
- for (J2ObjcEntryClassProvider provider :
- ruleContext.getPrerequisites("deps", Mode.TARGET, J2ObjcEntryClassProvider.class)) {
- addTransitive(provider);
- }
+ addTransitive(
+ ruleContext.getPrerequisites("deps", Mode.TARGET, J2ObjcEntryClassProvider.class));
}
return this;
@@ -93,16 +105,6 @@ public final class J2ObjcEntryClassProvider implements TransitiveInfoProvider {
}
/**
- * Constructs a new J2ObjcEntryClassProvider that contains all the information
- * that can be transitively reached through the "deps" attribute of the given rule context.
- *
- * @param ruleContext the rule context in which to look for deps
- */
- public static J2ObjcEntryClassProvider buildFrom(RuleContext ruleContext) {
- return new Builder().addTransitive(ruleContext).build();
- }
-
- /**
* Constructs a {@link J2ObjcEntryClassProvider} to supply J2ObjC-translated ObjC sources to
* objc_binary for compilation and linking.
*