Allow users of Blaze Lexer to explicitly specify the line-number table of a file.
--
MOS_MIGRATED_REVID=96039514
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 7867455..3bcf0a0 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
@@ -35,7 +35,7 @@
* their buffer using {@link #create}. The client can then ask for the line and column given a
* position using ({@link #getLineAndColumn(int)}).
*/
-abstract class LineNumberTable implements Serializable {
+public abstract class LineNumberTable implements Serializable {
/**
* Returns the (line, column) pair for the specified offset.
@@ -67,7 +67,7 @@
* offsets of newlines.
*/
@Immutable
- private static class Regular extends LineNumberTable {
+ public static class Regular extends LineNumberTable {
/**
* A mapping from line number (line >= 1) to character offset into the file.
@@ -76,7 +76,7 @@
private final PathFragment path;
private final int bufferLength;
- private Regular(char[] buffer, PathFragment path) {
+ public Regular(char[] buffer, PathFragment path) {
// Compute the size.
int size = 2;
for (int i = 0; i < buffer.length; i++) {
@@ -154,7 +154,7 @@
*/
// TODO(bazel-team): Use binary search instead of linear search.
@Immutable
- private static class HashLine extends LineNumberTable {
+ public static class HashLine extends LineNumberTable {
/**
* Represents a "#line" directive
@@ -185,7 +185,7 @@
private final PathFragment defaultPath;
private final int bufferLength;
- private HashLine(char[] buffer, PathFragment defaultPath) {
+ public HashLine(char[] buffer, PathFragment defaultPath) {
CharSequence bufString = CharBuffer.wrap(buffer);
Matcher m = pattern.matcher(bufString);
List<SingleHashLine> unorderedTable = new ArrayList<>();