aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar michajlo <michajlo@google.com>2017-03-30 17:53:17 +0000
committerGravatar Philipp Wollermann <philwo@google.com>2017-03-31 17:10:03 +0200
commit395940c69dcb657fd602f3d319fb50dac7ce52f7 (patch)
treebba88e35b1e80a57d7630fcb9707e227b0aecd59 /src
parentbd151bf2623fe27f66079335ade5048d80e9f772 (diff)
Suffix fingerprint of iterable with length
This should be morally equivalent to prefixing, with the benefit that we won't prematurely expand NestedSets (not cheap) to get the length. PiperOrigin-RevId: 151721361
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/util/Fingerprint.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/util/Fingerprint.java b/src/main/java/com/google/devtools/build/lib/util/Fingerprint.java
index c75104ee7f..c2119eeccb 100644
--- a/src/main/java/com/google/devtools/build/lib/util/Fingerprint.java
+++ b/src/main/java/com/google/devtools/build/lib/util/Fingerprint.java
@@ -14,7 +14,6 @@
package com.google.devtools.build.lib.util;
-import com.google.common.collect.Iterables;
import com.google.common.io.ByteStreams;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
@@ -191,10 +190,12 @@ public final class Fingerprint {
* different from adding them each individually.
*/
public Fingerprint addStrings(Iterable<String> inputs) {
- addInt(Iterables.size(inputs));
+ int count = 0;
for (String input : inputs) {
addString(input);
+ count++;
}
+ addInt(count);
return this;
}
@@ -217,10 +218,12 @@ public final class Fingerprint {
* @param inputs the paths with which to update the digest
*/
public Fingerprint addPaths(Iterable<PathFragment> inputs) {
- addInt(Iterables.size(inputs));
+ int count = 0;
for (PathFragment path : inputs) {
addPath(path);
+ count++;
}
+ addInt(count);
return this;
}