Skip to content

Package io.github.qishr.cascara.lang.json.token

Class JsonSourceByteBuffer

java.lang.Object
        io.github.qishr.cascara.lang.json.token.JsonSourceByteBuffer

All Implemented Interfaces:
    JsonSimdCapableBuffer, LexemeProvider


public final class JsonSourceByteBuffer

Field Summary

Modifier and Type Field Description
public static final boolean VECTOR_AVAILABLE
public final byte[] raw

Constructor Summary

Constructor Description
JsonSourceByteBuffer(byte[] raw, JsonOptions options)

Method Summary

Modifier and Type Method Description
public String slice(int startOffset, int endOffset)
public boolean isAtEnd()
public byte peekByte()
public byte advanceByte()
public char peekNext()
public char peekAhead(int steps)
public char peek()
public char advance()
public void backup()
public char advanceWithTracking()
public void backupWithTracking()
public int offset()
public void setOffset(int newOffset)
public int length()
public char charAt(int index)
public CharSequence subSequence(int start, int end)
public void startTokenWindow()
public String getTokenWindowLexeme()
public int windowStartOffset()
public int windowStartLine()
public int windowStartColumn()
public int line()
public int column()
public void skipWhitespaceSimd() JSON Strict
public int scanDigitsSimd(int pos)
public int scanStringAsciiSimd(int pos, byte quoteByte)
public int scanStructuralSimd(int pos)
public void skipWhitespaceAndFormattingSimd() JSON5
public int scanAsciiUntilUtf8LeadSimd(int pos)
public int scanIdentifierStartSimd(int pos)
public void advanceBy(int n)
public int parseEightDigitsSIMD(byte[] raw, int offset)
public static boolean isVectorApiAvailable()
public boolean isEightDigitsSIMD(byte[] raw, int offset, int limit)
public boolean isEightDigits(byte[] raw, int offset, int limit)
public int parseEightDigits(byte[] raw, int offset)
public boolean matchKeywordByte(byte[] raw, int offset, String kw)
public boolean matchKeywordByte(byte[] raw, int offset, String kw, int relativeOffset)

Field Details

VECTOR_AVAILABLE

public static final boolean VECTOR_AVAILABLE


raw

public final byte[] raw


Method Details

slice

public String slice(int startOffset, int endOffset)

Specified By:

LexemeProvider


isAtEnd

public boolean isAtEnd()


peekByte

public byte peekByte()


advanceByte

public byte advanceByte()


peekNext

public char peekNext()


peekAhead

public char peekAhead(int steps)


peek

public char peek()


advance

public char advance()


backup

public void backup()


advanceWithTracking

public char advanceWithTracking()


backupWithTracking

public void backupWithTracking()


offset

public int offset()


setOffset

public void setOffset(int newOffset)


length

public int length()


charAt

public char charAt(int index)


subSequence

public CharSequence subSequence(int start, int end)


startTokenWindow

public void startTokenWindow()


getTokenWindowLexeme

public String getTokenWindowLexeme()


windowStartOffset

public int windowStartOffset()


windowStartLine

public int windowStartLine()


windowStartColumn

public int windowStartColumn()


line

public int line()


column

public int column()


skipWhitespaceSimd

public void skipWhitespaceSimd()

JSON Strict


scanDigitsSimd

public int scanDigitsSimd(int pos)


scanStringAsciiSimd

public int scanStringAsciiSimd(int pos, byte quoteByte)

Specified By:

JsonSimdCapableBuffer


scanStructuralSimd

public int scanStructuralSimd(int pos)


skipWhitespaceAndFormattingSimd

public void skipWhitespaceAndFormattingSimd()

JSON5

Specified By:

JsonSimdCapableBuffer


scanAsciiUntilUtf8LeadSimd

public int scanAsciiUntilUtf8LeadSimd(int pos)


scanIdentifierStartSimd

public int scanIdentifierStartSimd(int pos)


advanceBy

public void advanceBy(int n)


parseEightDigitsSIMD

public int parseEightDigitsSIMD(byte[] raw, int offset)


isVectorApiAvailable

public static boolean isVectorApiAvailable()


isEightDigitsSIMD

public boolean isEightDigitsSIMD(byte[] raw, int offset, int limit)


isEightDigits

public boolean isEightDigits(byte[] raw, int offset, int limit)


parseEightDigits

public int parseEightDigits(byte[] raw, int offset)


matchKeywordByte

public boolean matchKeywordByte(byte[] raw, int offset, String kw)


matchKeywordByte

public boolean matchKeywordByte(byte[] raw, int offset, String kw, int relativeOffset)