aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar kaipi <kaipi@google.com>2017-06-02 14:01:14 -0400
committerGravatar John Cater <jcater@google.com>2017-06-05 10:18:44 -0400
commit376c650a7b9a1a8fee57db059a9e861ed731bc02 (patch)
tree8cf44dd66a437e4f07c69b2ceb9133f3c04ca3d1 /src
parente72b17b403da5c31b8f03e530759ffce44d4727c (diff)
Make the non propagated values available in the Skylark representation of ObjcProvider.
PiperOrigin-RevId: 157850516
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java32
1 files changed, 12 insertions, 20 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java
index 73d474b114..85cd91bd4e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProvider.java
@@ -1004,27 +1004,19 @@ public final class ObjcProvider extends SkylarkClassObject implements Transitive
ImmutableMap.Builder<String, Object> skylarkFields = new ImmutableMap.Builder<>();
for (Key<?> key : KEYS_FOR_SKYLARK) {
- if (propagated.containsKey(key) && strictDependency.containsKey(key)) {
- NestedSet<?> union = new NestedSetBuilder(STABLE_ORDER)
- .addTransitive(propagated.get(key))
- .addTransitive(strictDependency.get(key))
- .build();
- skylarkFields.put(
- key.getSkylarkKeyName(), ObjcProviderSkylarkConverters.convertToSkylark(key, union));
- } else if (items.containsKey(key)) {
- skylarkFields.put(
- key.getSkylarkKeyName(),
- ObjcProviderSkylarkConverters.convertToSkylark(key, propagated.get(key)));
- } else if (strictDependency.containsKey(key)) {
- skylarkFields.put(
- key.getSkylarkKeyName(),
- ObjcProviderSkylarkConverters.convertToSkylark(key, strictDependency.get(key)));
- } else {
- skylarkFields.put(
- key.getSkylarkKeyName(),
- ObjcProviderSkylarkConverters.convertToSkylark(
- key, new NestedSetBuilder(STABLE_ORDER).build()));
+ NestedSetBuilder union = new NestedSetBuilder(key.order);
+ if (propagated.containsKey(key)) {
+ union.addTransitive((NestedSet<?>) propagated.get(key));
}
+ if (strictDependency.containsKey(key)) {
+ union.addTransitive(strictDependency.get(key));
+ }
+ if (nonPropagated.containsKey(key)) {
+ union.addTransitive(nonPropagated.get(key));
+ }
+ skylarkFields.put(
+ key.getSkylarkKeyName(),
+ ObjcProviderSkylarkConverters.convertToSkylark(key, union.build()));
}
return new ObjcProvider(propagated, nonPropagated, strictDependency, skylarkFields.build());