Add some comments to make the function of the fields of ByteBufferFragment and ByteFragmentAtOffset clearer.
RELNOTES: None.
PiperOrigin-RevId: 298574436
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file/ByteBufferFragment.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file/ByteBufferFragment.java
index 4e10509..b418896 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file/ByteBufferFragment.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file/ByteBufferFragment.java
@@ -26,7 +26,11 @@
/** Represents the fragment of immutable {@link ByteBuffer} for parallel processing. */
public class ByteBufferFragment {
private final ByteBuffer buffer;
+
+ /** The start of this fragment in the backing {@link ByteBuffer}. */
private final int startIncl;
+
+ /** The end of this fragment in the backing {@link ByteBuffer}. */
private final int endExcl;
public ByteBufferFragment(ByteBuffer buffer, int startIncl, int endExcl) {
@@ -38,6 +42,7 @@
this.endExcl = endExcl;
}
+ /** Returns the start of this fragment in the backing {@link ByteBuffer}. */
@VisibleForTesting
public int getStartIncl() {
return startIncl;
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file/ByteFragmentAtOffset.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file/ByteFragmentAtOffset.java
index 462bf0d..e0c45a8 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file/ByteFragmentAtOffset.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file/ByteFragmentAtOffset.java
@@ -17,24 +17,28 @@
/**
* Represents a fragment of file as a {@link ByteBufferFragment} of {@link java.nio.ByteBuffer},
- * starting at {@link #offset}. The first byte should be read at {@link #getRealStartOffset()}, the
- * length of fragment is {@link ByteBufferFragment#length()}.
+ * starting at {@link #bufferOffset}. The first byte should be read at {@link #getFragmentOffset()},
+ * the length of fragment is {@link ByteBufferFragment#length()}.
*/
public class ByteFragmentAtOffset {
- private final int offset;
+ /** The offset in the file the {@code ByteBuffer} backing this fragment starts at. */
+ private final int bufferOffset;
+
private final ByteBufferFragment fragment;
- public ByteFragmentAtOffset(int offset, ByteBufferFragment fragment) {
- this.offset = offset;
+ public ByteFragmentAtOffset(int bufferOffset, ByteBufferFragment fragment) {
+ this.bufferOffset = bufferOffset;
this.fragment = fragment;
}
- public int getOffset() {
- return offset;
+ /** The offset in the file the {@code ByteBuffer} backing this fragment starts at. */
+ public int getBufferOffset() {
+ return bufferOffset;
}
- public int getRealStartOffset() {
- return offset + fragment.getStartIncl();
+ /** The offset in the file this fragment starts at. */
+ public int getFragmentOffset() {
+ return bufferOffset + fragment.getStartIncl();
}
public ByteBufferFragment getFragment() {
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file/DeclarationAssembler.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file/DeclarationAssembler.java
index a7623c9..2a843ba 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file/DeclarationAssembler.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file/DeclarationAssembler.java
@@ -53,12 +53,12 @@
*/
public void wrapUp(List<ByteFragmentAtOffset> fragments)
throws GenericParsingException, IOException {
- fragments.sort(Comparator.comparingInt(ByteFragmentAtOffset::getRealStartOffset));
+ fragments.sort(Comparator.comparingInt(ByteFragmentAtOffset::getFragmentOffset));
List<ByteFragmentAtOffset> list = Lists.newArrayList();
int previous = -1;
for (ByteFragmentAtOffset edge : fragments) {
- int start = edge.getRealStartOffset();
+ int start = edge.getFragmentOffset();
ByteBufferFragment fragment = edge.getFragment();
if (previous >= 0 && previous != start) {
sendMerged(list);
@@ -91,7 +91,7 @@
// 4. Later we will check only interestingRanges for separators, and create corresponding
// fragments; the underlying common ByteBuffer will be reused, so we are not performing
// extensive copying.
- int firstOffset = first.getOffset();
+ int firstOffset = first.getBufferOffset();
List<ByteBufferFragment> fragments = new ArrayList<>();
List<Range<Integer>> interestingRanges = Lists.newArrayList();
int fragmentShift = 0;
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/parser/NinjaParser.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/parser/NinjaParser.java
index 69ca604..68c129d 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/parser/NinjaParser.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/parser/NinjaParser.java
@@ -47,7 +47,7 @@
public void declaration(ByteFragmentAtOffset byteFragmentAtOffset)
throws GenericParsingException, IOException {
ByteBufferFragment fragment = byteFragmentAtOffset.getFragment();
- int offset = byteFragmentAtOffset.getRealStartOffset();
+ int offset = byteFragmentAtOffset.getFragmentOffset();
NinjaLexer lexer = new NinjaLexer(fragment);
if (!lexer.hasNextToken()) {
@@ -102,10 +102,10 @@
// (byteFragmentAtOffset.getOffset()),
// and start of fragment inside buffer (fragment.getStartIncl()).
int fragmentStart =
- declarationStart - byteFragmentAtOffset.getOffset() - fragment.getStartIncl();
+ declarationStart - byteFragmentAtOffset.getBufferOffset() - fragment.getStartIncl();
targetFragment =
new ByteFragmentAtOffset(
- byteFragmentAtOffset.getOffset(),
+ byteFragmentAtOffset.getBufferOffset(),
fragment.subFragment(fragmentStart, fragment.length()));
}
parseResult.addTarget(targetFragment);
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/pipeline/NinjaPipeline.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/pipeline/NinjaPipeline.java
index 6463ea2..cc9b055 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/pipeline/NinjaPipeline.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/pipeline/NinjaPipeline.java
@@ -119,8 +119,7 @@
service.submit(
() ->
new NinjaParserStep(new NinjaLexer(byteFragmentAtOffset.getFragment()))
- .parseNinjaTarget(
- currentScope, byteFragmentAtOffset.getRealStartOffset())));
+ .parseNinjaTarget(currentScope, byteFragmentAtOffset.getFragmentOffset())));
}
queue.addAll(currentScope.getIncludedScopes());
queue.addAll(currentScope.getSubNinjaScopes());
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/ninja/BufferSplitterTest.java b/src/test/java/com/google/devtools/build/lib/bazel/rules/ninja/BufferSplitterTest.java
index fbe00f8..9a8bc48 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/rules/ninja/BufferSplitterTest.java
+++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/ninja/BufferSplitterTest.java
@@ -45,7 +45,7 @@
DeclarationConsumer consumer =
(byteFragmentAtOffset) -> {
result.add(byteFragmentAtOffset.getFragment().toString());
- assertThat(byteFragmentAtOffset.getOffset()).isEqualTo(offsetValue);
+ assertThat(byteFragmentAtOffset.getBufferOffset()).isEqualTo(offsetValue);
};
byte[] chars = String.join("\n", list).getBytes(StandardCharsets.ISO_8859_1);
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/ninja/DeclarationAssemblerTest.java b/src/test/java/com/google/devtools/build/lib/bazel/rules/ninja/DeclarationAssemblerTest.java
index e26daf4..480d1ca 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/rules/ninja/DeclarationAssemblerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/ninja/DeclarationAssemblerTest.java
@@ -64,7 +64,7 @@
new DeclarationAssembler(
(byteFragmentAtOffset) -> {
list.add(byteFragmentAtOffset.getFragment().toString());
- assertThat(byteFragmentAtOffset.getOffset()).isAnyOf(0, chars1.length);
+ assertThat(byteFragmentAtOffset.getBufferOffset()).isAnyOf(0, chars1.length);
},
NinjaSeparatorFinder.INSTANCE);
@@ -86,7 +86,7 @@
new DeclarationAssembler(
(byteFragmentAtOffset) -> {
list.add(byteFragmentAtOffset.getFragment().toString());
- assertThat(byteFragmentAtOffset.getOffset()).isEqualTo(0);
+ assertThat(byteFragmentAtOffset.getBufferOffset()).isEqualTo(0);
},
NinjaSeparatorFinder.INSTANCE);