aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java
diff options
context:
space:
mode:
authorGravatar tomlu <tomlu@google.com>2018-04-18 08:41:55 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-18 08:43:14 -0700
commit641569af14f9f639291f153f78b3ba467d9309e5 (patch)
treef5e864ec1994892c6d12ccd39c967b800e2bf6e9 /src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java
parent380f5dd96e97ff9c1c8ceb1104322ba6e303e067 (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.java5
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,