Skip to content

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:

LexemeProvider


length

public int length()

Specified By:

CharSequence


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:

SimdCapableBuffer


scanDigitsSimd

public int scanDigitsSimd(int pos)

Specified By:

SimdCapableBuffer


setOffset

public void setOffset(int newOffset)


advanceBy

public void advanceBy(int n)