diff options
author | tomlu <tomlu@google.com> | 2018-04-18 08:41:55 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-04-18 08:43:14 -0700 |
commit | 641569af14f9f639291f153f78b3ba467d9309e5 (patch) | |
tree | f5e864ec1994892c6d12ccd39c967b800e2bf6e9 /src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java | |
parent | 380f5dd96e97ff9c1c8ceb1104322ba6e303e067 (diff) |
Clean up IterablesChain.
* Change builder return type to Iterable<T> instead of IterableChain<T>. It is over-specified and unnecessary to state the return type so precisely.
* Optimize builder for cases where we add 0 or 1 iterables to the chain. In this case, we can simply return the underlying iterables without adding wrappers.
* Extract DedupingIterable, it doesn't have anything to do with IterablesChain and is only used in one place
RELNOTES: None
PiperOrigin-RevId: 193363048
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java index 23429f1b65..02a57e00fa 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java @@ -35,6 +35,7 @@ import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.analysis.config.PerLabelOptions; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.collect.CollectionUtils; +import com.google.devtools.build.lib.collect.DedupingIterable; import com.google.devtools.build.lib.collect.ImmutableIterable; import com.google.devtools.build.lib.collect.IterablesChain; import com.google.devtools.build.lib.collect.nestedset.NestedSet; @@ -1138,7 +1139,7 @@ public class CppLinkActionBuilder { linkstampEntry.getValue(), linkstampEntry.getKey().getDeclaredIncludeSrcs(), ImmutableSet.copyOf(nonCodeInputs), - inputsBuilder.deduplicate().build(), + DedupingIterable.of(inputsBuilder.build()), buildInfoHeaderArtifacts, additionalLinkstampDefines, toolchain, @@ -1164,7 +1165,7 @@ public class CppLinkActionBuilder { return new CppLinkAction( getOwner(), mnemonic, - inputsBuilder.deduplicate().build(), + DedupingIterable.of(inputsBuilder.build()), actionOutputs, outputLibrary, output, |