Package io.github.qishr.cascara.common.lang.util
Class SourceStringBuffer
java.lang.Object
io.github.qishr.cascara.common.lang.util.SourceStringBuffer
All Implemented Interfaces:
SimdCapableBuffer, LexemeProvider, CharSequence
@io.github.qishr.cascara.common.lang.annotation.Experimental
public class SourceStringBuffer
Constructor Summary
| Constructor | Description |
|---|---|
| SourceStringBuffer(String source) |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
| public String | slice(int startOffset, int endOffset) | |
| public int | length() | |
| public char | charAt(int index) | |
| public CharSequence | subSequence(int start, int end) | |
| public char | advance() | |
| public char | peekAhead(int steps) | |
| public char | peek() | |
| public char | peekNext() | |
| public void | backup() | |
| public boolean | isAtEnd() | |
| public int | line() | |
| public int | column() | |
| public int | offset() | |
| public String | getTokenWindowLexeme() | |
| public void | startTokenWindow() | |
| public int | windowStartOffset() | |
| public int | windowStartLine() | |
| public int | windowStartColumn() | |
| public void | skipWhitespaceSimd() | |
| public int | scanDigitsSimd(int pos) | |
| public void | setOffset(int newOffset) | |
| public void | advanceBy(int n) |
Method Details
slice
public String slice(int startOffset, int endOffset)
Specified By:
length
public int length()
Specified By:
charAt
public char charAt(int index)
subSequence
public CharSequence subSequence(int start, int end)
advance
public char advance()
peekAhead
public char peekAhead(int steps)
peek
public char peek()
peekNext
public char peekNext()
backup
public void backup()
isAtEnd
public boolean isAtEnd()
line
public int line()
column
public int column()
offset
public int offset()
getTokenWindowLexeme
public String getTokenWindowLexeme()
startTokenWindow
public void startTokenWindow()
windowStartOffset
public int windowStartOffset()
windowStartLine
public int windowStartLine()
windowStartColumn
public int windowStartColumn()
skipWhitespaceSimd
public void skipWhitespaceSimd()
Specified By:
scanDigitsSimd
public int scanDigitsSimd(int pos)
Specified By:
setOffset
public void setOffset(int newOffset)
advanceBy
public void advanceBy(int n)