...

Package types

import "github.com/bytedance/sonic/internal/native/types"
Overview
Index

Overview ▾

Constants

const (
    // for native.Unquote() flags
    B_DOUBLE_UNQUOTE  = 0
    B_UNICODE_REPLACE = 1

    // for native.Value() flags
    B_USE_NUMBER      = 1
    B_VALIDATE_STRING = 5
    B_ALLOW_CONTROL   = 31
)
const (
    F_DOUBLE_UNQUOTE  = 1 << B_DOUBLE_UNQUOTE
    F_UNICODE_REPLACE = 1 << B_UNICODE_REPLACE

    F_USE_NUMBER      = 1 << B_USE_NUMBER
    F_VALIDATE_STRING = 1 << B_VALIDATE_STRING
    F_ALLOW_CONTROL   = 1 << B_ALLOW_CONTROL
)
const (
    MAX_RECURSE = 4096
)
const MaxDigitNums = 800
const (
    SPACE_MASK = (1 << ' ') | (1 << '\t') | (1 << '\r') | (1 << '\n')
)

func FreeDbuf

func FreeDbuf(p *byte)

func FreeStateMachine

func FreeStateMachine(fsm *StateMachine)

func NewDbuf

func NewDbuf() *byte

type JsonState

type JsonState struct {
    Vt   ValueType
    Dv   float64
    Iv   int64
    Ep   int
    Dbuf *byte
    Dcap int
}

type ParsingError

type ParsingError uint
const (
    ERR_EOF                ParsingError = 1
    ERR_INVALID_CHAR       ParsingError = 2
    ERR_INVALID_ESCAPE     ParsingError = 3
    ERR_INVALID_UNICODE    ParsingError = 4
    ERR_INTEGER_OVERFLOW   ParsingError = 5
    ERR_INVALID_NUMBER_FMT ParsingError = 6
    ERR_RECURSE_EXCEED_MAX ParsingError = 7
    ERR_FLOAT_INFINITY     ParsingError = 8
    ERR_MISMATCH           ParsingError = 9
    ERR_INVALID_UTF8       ParsingError = 10

    // error code used in ast
    ERR_NOT_FOUND      ParsingError = 33
    ERR_UNSUPPORT_TYPE ParsingError = 34
)

func (ParsingError) Error

func (self ParsingError) Error() string

func (ParsingError) Message

func (self ParsingError) Message() string

type SearchingError

type SearchingError uint

type StateMachine

type StateMachine struct {
    Sp int
    Vt [MAX_RECURSE]int
}

func NewStateMachine

func NewStateMachine() *StateMachine

type ValueType

type ValueType int
const (
    V_EOF     ValueType = 1
    V_NULL    ValueType = 2
    V_TRUE    ValueType = 3
    V_FALSE   ValueType = 4
    V_ARRAY   ValueType = 5
    V_OBJECT  ValueType = 6
    V_STRING  ValueType = 7
    V_DOUBLE  ValueType = 8
    V_INTEGER ValueType = 9

    V_MAX ValueType
)