@Immutable
public final class CodeReaderInputBuffer
extends java.lang.Object
implements com.github.fge.grappa.buffers.InputBuffer
InputBuffer over a CodeReader
Unfortunately, this is required. Sonar's CodeBuffer claims
(claimed?) to support CharSequence, but in fact it doesn't: CharSequence.subSequence(int, int) throws UnsupportedOperationException, which violates the contract. So this is
basically a CharSequenceInputBuffer with subsequence extraction
rewritten.
| Constructor and Description |
|---|
CodeReaderInputBuffer(org.sonar.sslr.channel.CodeReader reader) |
| Modifier and Type | Method and Description |
|---|---|
char |
charAt(int index) |
int |
codePointAt(int index)
Returns the Unicode code point starting at a given index
If the index is greater than, or equal to, the buffer's length, this
method returns -1.
|
java.lang.String |
extract(com.github.fge.grappa.support.IndexRange range) |
java.lang.String |
extract(int start,
int end) |
java.lang.String |
extractLine(int lineNumber) |
int |
getLineCount() |
com.github.fge.grappa.support.IndexRange |
getLineRange(int lineNumber)
Get the index range matching a given line number
|
com.github.fge.grappa.support.Position |
getPosition(int index) |
int |
length() |
public CodeReaderInputBuffer(@Nonnull
org.sonar.sslr.channel.CodeReader reader)
public char charAt(int index)
charAt in interface com.github.fge.grappa.buffers.InputBufferpublic int codePointAt(int index)
If the index is greater than, or equal to, the buffer's length, this method returns -1.
codePointAt in interface com.github.fge.grappa.buffers.InputBufferindex - the indexjava.lang.IllegalArgumentException - index is negativepublic java.lang.String extract(int start,
int end)
extract in interface com.github.fge.grappa.buffers.InputBufferpublic java.lang.String extract(com.github.fge.grappa.support.IndexRange range)
extract in interface com.github.fge.grappa.buffers.InputBufferpublic com.github.fge.grappa.support.Position getPosition(int index)
getPosition in interface com.github.fge.grappa.buffers.InputBufferpublic java.lang.String extractLine(int lineNumber)
extractLine in interface com.github.fge.grappa.buffers.InputBufferpublic com.github.fge.grappa.support.IndexRange getLineRange(int lineNumber)
getLineRange in interface com.github.fge.grappa.buffers.InputBufferlineNumber - the line numberpublic int getLineCount()
getLineCount in interface com.github.fge.grappa.buffers.InputBufferpublic int length()
length in interface com.github.fge.grappa.buffers.InputBuffer