aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/syntax
diff options
context:
space:
mode:
authorGravatar Eric Fellheimer <felly@google.com>2015-06-15 15:53:34 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2015-06-16 13:58:43 +0000
commit65f422376467aa2369e2e1a7bb0ba8fc2e69393b (patch)
tree9683a2d4a14cc159e0915ce23adf5f33c25cdd3f /src/main/java/com/google/devtools/build/lib/syntax
parentc7dd1b19b75944ae2cf56fc23e01a9b8750b9a91 (diff)
Avoid copying the entire package contents in order to construct the line number table.
-- MOS_MIGRATED_REVID=96010987
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/syntax')
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/LineNumberTable.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/LineNumberTable.java b/src/main/java/com/google/devtools/build/lib/syntax/LineNumberTable.java
index 653abee1f6..7867455d57 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/LineNumberTable.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/LineNumberTable.java
@@ -23,6 +23,7 @@ import com.google.devtools.build.lib.util.StringUtilities;
import com.google.devtools.build.lib.vfs.PathFragment;
import java.io.Serializable;
+import java.nio.CharBuffer;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
@@ -185,8 +186,7 @@ abstract class LineNumberTable implements Serializable {
private final int bufferLength;
private HashLine(char[] buffer, PathFragment defaultPath) {
- // Not especially efficient, but that's fine: we just exec'd Python.
- String bufString = new String(buffer);
+ CharSequence bufString = CharBuffer.wrap(buffer);
Matcher m = pattern.matcher(bufString);
List<SingleHashLine> unorderedTable = new ArrayList<>();
while (m.find()) {