diff options
author | 2015-06-15 15:53:34 +0000 | |
---|---|---|
committer | 2015-06-16 13:58:43 +0000 | |
commit | 65f422376467aa2369e2e1a7bb0ba8fc2e69393b (patch) | |
tree | 9683a2d4a14cc159e0915ce23adf5f33c25cdd3f /src/main/java/com/google/devtools/build/lib/syntax | |
parent | c7dd1b19b75944ae2cf56fc23e01a9b8750b9a91 (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.java | 4 |
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()) { |