Versions in this module Expand all Collapse all v0 v0.9.13 Jul 18, 2022 v0.9.12 Jul 18, 2022 Changes in this version + const StartDetectingCyclesAfter + var Marshal func(interface{}) ([]byte, error) + var Unmarshal func([]byte, interface{}) error + func AppendBool(_ *RuntimeContext, b []byte, v bool) []byte + func AppendByteSlice(_ *RuntimeContext, b []byte, src []byte) []byte + func AppendComma(_ *RuntimeContext, b []byte) []byte + func AppendCommaIndent(_ *RuntimeContext, b []byte) []byte + func AppendFloat32(_ *RuntimeContext, b []byte, v float32) []byte + func AppendFloat64(_ *RuntimeContext, b []byte, v float64) []byte + func AppendIndent(ctx *RuntimeContext, b []byte, indent uint32) []byte + func AppendInt(_ *RuntimeContext, out []byte, p uintptr, code *Opcode) []byte + func AppendMarshalJSON(ctx *RuntimeContext, code *Opcode, b []byte, v interface{}) ([]byte, error) + func AppendMarshalJSONIndent(ctx *RuntimeContext, code *Opcode, b []byte, v interface{}) ([]byte, error) + func AppendMarshalText(ctx *RuntimeContext, code *Opcode, b []byte, v interface{}) ([]byte, error) + func AppendMarshalTextIndent(ctx *RuntimeContext, code *Opcode, b []byte, v interface{}) ([]byte, error) + func AppendNull(_ *RuntimeContext, b []byte) []byte + func AppendNumber(_ *RuntimeContext, b []byte, n json.Number) ([]byte, error) + func AppendString(ctx *RuntimeContext, buf []byte, s string) []byte + func AppendStructEnd(_ *RuntimeContext, b []byte) []byte + func AppendStructEndIndent(ctx *RuntimeContext, code *Opcode, b []byte) []byte + func AppendUint(_ *RuntimeContext, out []byte, p uintptr, code *Opcode) []byte + func Compact(buf *bytes.Buffer, src []byte, escape bool) error + func ErrMarshalerWithCode(code *Opcode, err error) *errors.MarshalerError + func ErrUnsupportedFloat(v float64) *errors.UnsupportedValueError + func ErrUnsupportedValue(code *Opcode, ptr uintptr) *errors.UnsupportedValueError + func Indent(buf *bytes.Buffer, src []byte, prefix, indentStr string) error + func IsNilForMarshaler(v interface{}) bool + func Load(base uintptr, idx uintptr) uintptr + func LoadNPtr(base uintptr, idx uintptr, ptrNum int) uintptr + func MapIterInit(mapType *runtime.Type, m unsafe.Pointer, it *mapIter) + func MapIterKey(it *mapIter) unsafe.Pointer + func MapIterNext(it *mapIter) + func MapIterValue(it *mapIter) unsafe.Pointer + func MapLen(m unsafe.Pointer) int + func PtrToBool(p uintptr) bool + func PtrToBytes(p uintptr) []byte + func PtrToFloat32(p uintptr) float32 + func PtrToFloat64(p uintptr) float64 + func PtrToInterface(code *Opcode, p uintptr) interface + func PtrToNPtr(p uintptr, ptrNum int) uintptr + func PtrToNumber(p uintptr) json.Number + func PtrToPtr(p uintptr) uintptr + func PtrToSlice(p uintptr) *runtime.SliceHeader + func PtrToString(p uintptr) string + func PtrToUint64(p uintptr) uint64 + func PtrToUnsafePtr(p uintptr) unsafe.Pointer + func ReleaseMapContext(c *MapContext) + func ReleaseRuntimeContext(ctx *RuntimeContext) + func SetFieldQueryToContext(ctx context.Context, query *FieldQuery) context.Context + func Store(base uintptr, idx uintptr, p uintptr) + type AnonymousCode interface + ToAnonymousOpcode func(*compileContext) Opcodes + type ArrayCode struct + func (c *ArrayCode) Filter(_ *FieldQuery) Code + func (c *ArrayCode) Kind() CodeKind + func (c *ArrayCode) ToOpcode(ctx *compileContext) Opcodes + type BoolCode struct + func (c *BoolCode) Filter(_ *FieldQuery) Code + func (c *BoolCode) Kind() CodeKind + func (c *BoolCode) ToOpcode(ctx *compileContext) Opcodes + type BytesCode struct + func (c *BytesCode) Filter(_ *FieldQuery) Code + func (c *BytesCode) Kind() CodeKind + func (c *BytesCode) ToOpcode(ctx *compileContext) Opcodes + type Code interface + Filter func(*FieldQuery) Code + Kind func() CodeKind + ToOpcode func(*compileContext) Opcodes + type CodeKind int + const CodeKindArray + const CodeKindBool + const CodeKindBytes + const CodeKindFloat + const CodeKindInt + const CodeKindInterface + const CodeKindMap + const CodeKindMarshalJSON + const CodeKindMarshalText + const CodeKindPtr + const CodeKindRecursive + const CodeKindSlice + const CodeKindString + const CodeKindStruct + const CodeKindUint + type CodeType int + const CodeArrayElem + const CodeArrayHead + const CodeMapEnd + const CodeMapHead + const CodeMapKey + const CodeMapValue + const CodeOp + const CodeRecursive + const CodeSliceElem + const CodeSliceHead + const CodeStructEnd + const CodeStructField + type ColorFormat = EncodeFormat + type ColorScheme = EncodeFormatScheme + type CompiledCode struct + Code *Opcode + CurLen uintptr + Linked bool + NextLen uintptr + type Compiler struct + type EncodeFormat struct + Footer string + Header string + type EncodeFormatScheme struct + Binary EncodeFormat + Bool EncodeFormat + Float EncodeFormat + Int EncodeFormat + Null EncodeFormat + ObjectKey EncodeFormat + String EncodeFormat + Uint EncodeFormat + type FieldQuery struct + Fields []*FieldQuery + Name string + func FieldQueryFromContext(ctx context.Context) *FieldQuery + func (q *FieldQuery) Hash() string + func (q *FieldQuery) MarshalJSON() ([]byte, error) + func (q *FieldQuery) QueryString() (FieldQueryString, error) + type FieldQueryString string + func (s FieldQueryString) Build() (*FieldQuery, error) + type FloatCode struct + func (c *FloatCode) Filter(_ *FieldQuery) Code + func (c *FloatCode) Kind() CodeKind + func (c *FloatCode) ToOpcode(ctx *compileContext) Opcodes + type IntCode struct + func (c *IntCode) Filter(_ *FieldQuery) Code + func (c *IntCode) Kind() CodeKind + func (c *IntCode) ToOpcode(ctx *compileContext) Opcodes + type InterfaceCode struct + func (c *InterfaceCode) Filter(query *FieldQuery) Code + func (c *InterfaceCode) Kind() CodeKind + func (c *InterfaceCode) ToOpcode(ctx *compileContext) Opcodes + type MapCode struct + func (c *MapCode) Filter(_ *FieldQuery) Code + func (c *MapCode) Kind() CodeKind + func (c *MapCode) ToOpcode(ctx *compileContext) Opcodes + type MapContext struct + Buf []byte + First int + Idx int + Iter mapIter + Len int + Slice *Mapslice + Start int + func NewMapContext(mapLen int, unorderedMap bool) *MapContext + type MapItem struct + Key []byte + Value []byte + type Mapslice struct + Items []MapItem + func (m *Mapslice) Len() int + func (m *Mapslice) Less(i, j int) bool + func (m *Mapslice) Swap(i, j int) + type MarshalJSONCode struct + func (c *MarshalJSONCode) Filter(query *FieldQuery) Code + func (c *MarshalJSONCode) Kind() CodeKind + func (c *MarshalJSONCode) ToOpcode(ctx *compileContext) Opcodes + type MarshalTextCode struct + func (c *MarshalTextCode) Filter(query *FieldQuery) Code + func (c *MarshalTextCode) Kind() CodeKind + func (c *MarshalTextCode) ToOpcode(ctx *compileContext) Opcodes + type OpFlags uint16 + const AddrForMarshalerFlags + const AnonymousHeadFlags + const AnonymousKeyFlags + const IndirectFlags + const IsNextOpPtrTypeFlags + const IsNilableTypeFlags + const IsTaggedKeyFlags + const MarshalerContextFlags + const NilCheckFlags + const NonEmptyInterfaceFlags + type OpType uint16 + const OpArray + const OpArrayElem + const OpArrayEnd + const OpArrayPtr + const OpBool + const OpBoolPtr + const OpBoolPtrString + const OpBoolString + const OpBytes + const OpBytesPtr + const OpEnd + const OpFloat32 + const OpFloat32Ptr + const OpFloat32PtrString + const OpFloat32String + const OpFloat64 + const OpFloat64Ptr + const OpFloat64PtrString + const OpFloat64String + const OpInt + const OpIntPtr + const OpIntPtrString + const OpIntString + const OpInterface + const OpInterfaceEnd + const OpInterfacePtr + const OpMap + const OpMapEnd + const OpMapKey + const OpMapPtr + const OpMapValue + const OpMarshalJSON + const OpMarshalJSONPtr + const OpMarshalText + const OpMarshalTextPtr + const OpNumber + const OpNumberPtr + const OpNumberPtrString + const OpNumberString + const OpPtr + const OpRecursive + const OpRecursiveEnd + const OpRecursivePtr + const OpSlice + const OpSliceElem + const OpSliceEnd + const OpSlicePtr + const OpString + const OpStringPtr + const OpStringPtrString + const OpStringString + const OpStruct + const OpStructEnd + const OpStructEndArray + const OpStructEndArrayPtr + const OpStructEndBool + const OpStructEndBoolPtr + const OpStructEndBoolPtrString + const OpStructEndBoolString + const OpStructEndBytes + const OpStructEndBytesPtr + const OpStructEndFloat32 + const OpStructEndFloat32Ptr + const OpStructEndFloat32PtrString + const OpStructEndFloat32String + const OpStructEndFloat64 + const OpStructEndFloat64Ptr + const OpStructEndFloat64PtrString + const OpStructEndFloat64String + const OpStructEndInt + const OpStructEndIntPtr + const OpStructEndIntPtrString + const OpStructEndIntString + const OpStructEndInterfacePtr + const OpStructEndMap + const OpStructEndMapPtr + const OpStructEndMarshalJSON + const OpStructEndMarshalJSONPtr + const OpStructEndMarshalText + const OpStructEndMarshalTextPtr + const OpStructEndNumber + const OpStructEndNumberPtr + const OpStructEndNumberPtrString + const OpStructEndNumberString + const OpStructEndOmitEmpty + const OpStructEndOmitEmptyArray + const OpStructEndOmitEmptyArrayPtr + const OpStructEndOmitEmptyBool + const OpStructEndOmitEmptyBoolPtr + const OpStructEndOmitEmptyBoolPtrString + const OpStructEndOmitEmptyBoolString + const OpStructEndOmitEmptyBytes + const OpStructEndOmitEmptyBytesPtr + const OpStructEndOmitEmptyFloat32 + const OpStructEndOmitEmptyFloat32Ptr + const OpStructEndOmitEmptyFloat32PtrString + const OpStructEndOmitEmptyFloat32String + const OpStructEndOmitEmptyFloat64 + const OpStructEndOmitEmptyFloat64Ptr + const OpStructEndOmitEmptyFloat64PtrString + const OpStructEndOmitEmptyFloat64String + const OpStructEndOmitEmptyInt + const OpStructEndOmitEmptyIntPtr + const OpStructEndOmitEmptyIntPtrString + const OpStructEndOmitEmptyIntString + const OpStructEndOmitEmptyInterfacePtr + const OpStructEndOmitEmptyMap + const OpStructEndOmitEmptyMapPtr + const OpStructEndOmitEmptyMarshalJSON + const OpStructEndOmitEmptyMarshalJSONPtr + const OpStructEndOmitEmptyMarshalText + const OpStructEndOmitEmptyMarshalTextPtr + const OpStructEndOmitEmptyNumber + const OpStructEndOmitEmptyNumberPtr + const OpStructEndOmitEmptyNumberPtrString + const OpStructEndOmitEmptyNumberString + const OpStructEndOmitEmptySlice + const OpStructEndOmitEmptySlicePtr + const OpStructEndOmitEmptyString + const OpStructEndOmitEmptyStringPtr + const OpStructEndOmitEmptyStringPtrString + const OpStructEndOmitEmptyStringString + const OpStructEndOmitEmptyStruct + const OpStructEndOmitEmptyUint + const OpStructEndOmitEmptyUintPtr + const OpStructEndOmitEmptyUintPtrString + const OpStructEndOmitEmptyUintString + const OpStructEndSlice + const OpStructEndSlicePtr + const OpStructEndString + const OpStructEndStringPtr + const OpStructEndStringPtrString + const OpStructEndStringString + const OpStructEndStruct + const OpStructEndUint + const OpStructEndUintPtr + const OpStructEndUintPtrString + const OpStructEndUintString + const OpStructField + const OpStructFieldArray + const OpStructFieldArrayPtr + const OpStructFieldBool + const OpStructFieldBoolPtr + const OpStructFieldBoolPtrString + const OpStructFieldBoolString + const OpStructFieldBytes + const OpStructFieldBytesPtr + const OpStructFieldFloat32 + const OpStructFieldFloat32Ptr + const OpStructFieldFloat32PtrString + const OpStructFieldFloat32String + const OpStructFieldFloat64 + const OpStructFieldFloat64Ptr + const OpStructFieldFloat64PtrString + const OpStructFieldFloat64String + const OpStructFieldInt + const OpStructFieldIntPtr + const OpStructFieldIntPtrString + const OpStructFieldIntString + const OpStructFieldInterfacePtr + const OpStructFieldMap + const OpStructFieldMapPtr + const OpStructFieldMarshalJSON + const OpStructFieldMarshalJSONPtr + const OpStructFieldMarshalText + const OpStructFieldMarshalTextPtr + const OpStructFieldNumber + const OpStructFieldNumberPtr + const OpStructFieldNumberPtrString + const OpStructFieldNumberString + const OpStructFieldOmitEmpty + const OpStructFieldOmitEmptyArray + const OpStructFieldOmitEmptyArrayPtr + const OpStructFieldOmitEmptyBool + const OpStructFieldOmitEmptyBoolPtr + const OpStructFieldOmitEmptyBoolPtrString + const OpStructFieldOmitEmptyBoolString + const OpStructFieldOmitEmptyBytes + const OpStructFieldOmitEmptyBytesPtr + const OpStructFieldOmitEmptyFloat32 + const OpStructFieldOmitEmptyFloat32Ptr + const OpStructFieldOmitEmptyFloat32PtrString + const OpStructFieldOmitEmptyFloat32String + const OpStructFieldOmitEmptyFloat64 + const OpStructFieldOmitEmptyFloat64Ptr + const OpStructFieldOmitEmptyFloat64PtrString + const OpStructFieldOmitEmptyFloat64String + const OpStructFieldOmitEmptyInt + const OpStructFieldOmitEmptyIntPtr + const OpStructFieldOmitEmptyIntPtrString + const OpStructFieldOmitEmptyIntString + const OpStructFieldOmitEmptyInterfacePtr + const OpStructFieldOmitEmptyMap + const OpStructFieldOmitEmptyMapPtr + const OpStructFieldOmitEmptyMarshalJSON + const OpStructFieldOmitEmptyMarshalJSONPtr + const OpStructFieldOmitEmptyMarshalText + const OpStructFieldOmitEmptyMarshalTextPtr + const OpStructFieldOmitEmptyNumber + const OpStructFieldOmitEmptyNumberPtr + const OpStructFieldOmitEmptyNumberPtrString + const OpStructFieldOmitEmptyNumberString + const OpStructFieldOmitEmptySlice + const OpStructFieldOmitEmptySlicePtr + const OpStructFieldOmitEmptyString + const OpStructFieldOmitEmptyStringPtr + const OpStructFieldOmitEmptyStringPtrString + const OpStructFieldOmitEmptyStringString + const OpStructFieldOmitEmptyStruct + const OpStructFieldOmitEmptyUint + const OpStructFieldOmitEmptyUintPtr + const OpStructFieldOmitEmptyUintPtrString + const OpStructFieldOmitEmptyUintString + const OpStructFieldSlice + const OpStructFieldSlicePtr + const OpStructFieldString + const OpStructFieldStringPtr + const OpStructFieldStringPtrString + const OpStructFieldStringString + const OpStructFieldStruct + const OpStructFieldUint + const OpStructFieldUintPtr + const OpStructFieldUintPtrString + const OpStructFieldUintString + const OpStructHead + const OpStructHeadArray + const OpStructHeadArrayPtr + const OpStructHeadBool + const OpStructHeadBoolPtr + const OpStructHeadBoolPtrString + const OpStructHeadBoolString + const OpStructHeadBytes + const OpStructHeadBytesPtr + const OpStructHeadFloat32 + const OpStructHeadFloat32Ptr + const OpStructHeadFloat32PtrString + const OpStructHeadFloat32String + const OpStructHeadFloat64 + const OpStructHeadFloat64Ptr + const OpStructHeadFloat64PtrString + const OpStructHeadFloat64String + const OpStructHeadInt + const OpStructHeadIntPtr + const OpStructHeadIntPtrString + const OpStructHeadIntString + const OpStructHeadInterfacePtr + const OpStructHeadMap + const OpStructHeadMapPtr + const OpStructHeadMarshalJSON + const OpStructHeadMarshalJSONPtr + const OpStructHeadMarshalText + const OpStructHeadMarshalTextPtr + const OpStructHeadNumber + const OpStructHeadNumberPtr + const OpStructHeadNumberPtrString + const OpStructHeadNumberString + const OpStructHeadOmitEmpty + const OpStructHeadOmitEmptyArray + const OpStructHeadOmitEmptyArrayPtr + const OpStructHeadOmitEmptyBool + const OpStructHeadOmitEmptyBoolPtr + const OpStructHeadOmitEmptyBoolPtrString + const OpStructHeadOmitEmptyBoolString + const OpStructHeadOmitEmptyBytes + const OpStructHeadOmitEmptyBytesPtr + const OpStructHeadOmitEmptyFloat32 + const OpStructHeadOmitEmptyFloat32Ptr + const OpStructHeadOmitEmptyFloat32PtrString + const OpStructHeadOmitEmptyFloat32String + const OpStructHeadOmitEmptyFloat64 + const OpStructHeadOmitEmptyFloat64Ptr + const OpStructHeadOmitEmptyFloat64PtrString + const OpStructHeadOmitEmptyFloat64String + const OpStructHeadOmitEmptyInt + const OpStructHeadOmitEmptyIntPtr + const OpStructHeadOmitEmptyIntPtrString + const OpStructHeadOmitEmptyIntString + const OpStructHeadOmitEmptyInterfacePtr + const OpStructHeadOmitEmptyMap + const OpStructHeadOmitEmptyMapPtr + const OpStructHeadOmitEmptyMarshalJSON + const OpStructHeadOmitEmptyMarshalJSONPtr + const OpStructHeadOmitEmptyMarshalText + const OpStructHeadOmitEmptyMarshalTextPtr + const OpStructHeadOmitEmptyNumber + const OpStructHeadOmitEmptyNumberPtr + const OpStructHeadOmitEmptyNumberPtrString + const OpStructHeadOmitEmptyNumberString + const OpStructHeadOmitEmptySlice + const OpStructHeadOmitEmptySlicePtr + const OpStructHeadOmitEmptyString + const OpStructHeadOmitEmptyStringPtr + const OpStructHeadOmitEmptyStringPtrString + const OpStructHeadOmitEmptyStringString + const OpStructHeadOmitEmptyStruct + const OpStructHeadOmitEmptyUint + const OpStructHeadOmitEmptyUintPtr + const OpStructHeadOmitEmptyUintPtrString + const OpStructHeadOmitEmptyUintString + const OpStructHeadSlice + const OpStructHeadSlicePtr + const OpStructHeadString + const OpStructHeadStringPtr + const OpStructHeadStringPtrString + const OpStructHeadStringString + const OpStructHeadStruct + const OpStructHeadUint + const OpStructHeadUintPtr + const OpStructHeadUintPtrString + const OpStructHeadUintString + const OpStructPtrHead + const OpStructPtrHeadArray + const OpStructPtrHeadArrayPtr + const OpStructPtrHeadBool + const OpStructPtrHeadBoolPtr + const OpStructPtrHeadBoolPtrString + const OpStructPtrHeadBoolString + const OpStructPtrHeadBytes + const OpStructPtrHeadBytesPtr + const OpStructPtrHeadFloat32 + const OpStructPtrHeadFloat32Ptr + const OpStructPtrHeadFloat32PtrString + const OpStructPtrHeadFloat32String + const OpStructPtrHeadFloat64 + const OpStructPtrHeadFloat64Ptr + const OpStructPtrHeadFloat64PtrString + const OpStructPtrHeadFloat64String + const OpStructPtrHeadInt + const OpStructPtrHeadIntPtr + const OpStructPtrHeadIntPtrString + const OpStructPtrHeadIntString + const OpStructPtrHeadInterfacePtr + const OpStructPtrHeadMap + const OpStructPtrHeadMapPtr + const OpStructPtrHeadMarshalJSON + const OpStructPtrHeadMarshalJSONPtr + const OpStructPtrHeadMarshalText + const OpStructPtrHeadMarshalTextPtr + const OpStructPtrHeadNumber + const OpStructPtrHeadNumberPtr + const OpStructPtrHeadNumberPtrString + const OpStructPtrHeadNumberString + const OpStructPtrHeadOmitEmpty + const OpStructPtrHeadOmitEmptyArray + const OpStructPtrHeadOmitEmptyArrayPtr + const OpStructPtrHeadOmitEmptyBool + const OpStructPtrHeadOmitEmptyBoolPtr + const OpStructPtrHeadOmitEmptyBoolPtrString + const OpStructPtrHeadOmitEmptyBoolString + const OpStructPtrHeadOmitEmptyBytes + const OpStructPtrHeadOmitEmptyBytesPtr + const OpStructPtrHeadOmitEmptyFloat32 + const OpStructPtrHeadOmitEmptyFloat32Ptr + const OpStructPtrHeadOmitEmptyFloat32PtrString + const OpStructPtrHeadOmitEmptyFloat32String + const OpStructPtrHeadOmitEmptyFloat64 + const OpStructPtrHeadOmitEmptyFloat64Ptr + const OpStructPtrHeadOmitEmptyFloat64PtrString + const OpStructPtrHeadOmitEmptyFloat64String + const OpStructPtrHeadOmitEmptyInt + const OpStructPtrHeadOmitEmptyIntPtr + const OpStructPtrHeadOmitEmptyIntPtrString + const OpStructPtrHeadOmitEmptyIntString + const OpStructPtrHeadOmitEmptyInterfacePtr + const OpStructPtrHeadOmitEmptyMap + const OpStructPtrHeadOmitEmptyMapPtr + const OpStructPtrHeadOmitEmptyMarshalJSON + const OpStructPtrHeadOmitEmptyMarshalJSONPtr + const OpStructPtrHeadOmitEmptyMarshalText + const OpStructPtrHeadOmitEmptyMarshalTextPtr + const OpStructPtrHeadOmitEmptyNumber + const OpStructPtrHeadOmitEmptyNumberPtr + const OpStructPtrHeadOmitEmptyNumberPtrString + const OpStructPtrHeadOmitEmptyNumberString + const OpStructPtrHeadOmitEmptySlice + const OpStructPtrHeadOmitEmptySlicePtr + const OpStructPtrHeadOmitEmptyString + const OpStructPtrHeadOmitEmptyStringPtr + const OpStructPtrHeadOmitEmptyStringPtrString + const OpStructPtrHeadOmitEmptyStringString + const OpStructPtrHeadOmitEmptyStruct + const OpStructPtrHeadOmitEmptyUint + const OpStructPtrHeadOmitEmptyUintPtr + const OpStructPtrHeadOmitEmptyUintPtrString + const OpStructPtrHeadOmitEmptyUintString + const OpStructPtrHeadSlice + const OpStructPtrHeadSlicePtr + const OpStructPtrHeadString + const OpStructPtrHeadStringPtr + const OpStructPtrHeadStringPtrString + const OpStructPtrHeadStringString + const OpStructPtrHeadStruct + const OpStructPtrHeadUint + const OpStructPtrHeadUintPtr + const OpStructPtrHeadUintPtrString + const OpStructPtrHeadUintString + const OpUint + const OpUintPtr + const OpUintPtrString + const OpUintString + func (t OpType) CodeType() CodeType + func (t OpType) FieldToEnd() OpType + func (t OpType) FieldToOmitEmptyField() OpType + func (t OpType) HeadToOmitEmptyHead() OpType + func (t OpType) HeadToPtrHead() OpType + func (t OpType) IsMultipleOpField() bool + func (t OpType) IsMultipleOpHead() bool + func (t OpType) PtrHeadToHead() OpType + func (t OpType) String() string + type Opcode struct + DisplayIdx uint32 + DisplayKey string + ElemIdx uint32 + End *Opcode + FieldQuery *FieldQuery + Flags OpFlags + Idx uint32 + Indent uint32 + Jmp *CompiledCode + Key string + Length uint32 + Next *Opcode + NextField *Opcode + NumBitSize uint8 + Offset uint32 + Op OpType + PtrNum uint8 + Size uint32 + Type *runtime.Type + func ToEndCode(code *Opcode) *Opcode + func (c *Opcode) Dump() string + func (c *Opcode) IsEnd() bool + func (c *Opcode) IterNext() *Opcode + func (c *Opcode) MaxIdx() uint32 + func (c *Opcode) ToFieldType(isString bool) OpType + func (c *Opcode) ToHeaderType(isString bool) OpType + func (c *Opcode) TotalLength() int + func (c *Opcode) Validate() error + type OpcodeSet struct + Code Code + CodeLength int + EndCode *Opcode + EscapeKeyCode *Opcode + InterfaceEscapeKeyCode *Opcode + InterfaceNoescapeKeyCode *Opcode + NoescapeKeyCode *Opcode + QueryCache map[string]*OpcodeSet + Type *runtime.Type + func CompileToGetCodeSet(ctx *RuntimeContext, typeptr uintptr) (*OpcodeSet, error) + type Opcodes []*Opcode + func (o Opcodes) Add(codes ...*Opcode) Opcodes + func (o Opcodes) First() *Opcode + func (o Opcodes) Last() *Opcode + type Option struct + ColorScheme *ColorScheme + Context context.Context + DebugOut io.Writer + Flag OptionFlag + type OptionFlag uint8 + const ColorizeOption + const ContextOption + const DebugOption + const FieldQueryOption + const HTMLEscapeOption + const IndentOption + const NormalizeUTF8Option + const UnorderedMapOption + type PtrCode struct + func (c *PtrCode) Filter(query *FieldQuery) Code + func (c *PtrCode) Kind() CodeKind + func (c *PtrCode) ToAnonymousOpcode(ctx *compileContext) Opcodes + func (c *PtrCode) ToOpcode(ctx *compileContext) Opcodes + type RuntimeContext struct + BaseIndent uint32 + Buf []byte + Context context.Context + IndentStr []byte + KeepRefs []unsafe.Pointer + MarshalBuf []byte + Option *Option + Prefix []byte + Ptrs []uintptr + SeenPtr []uintptr + func TakeRuntimeContext() *RuntimeContext + func (c *RuntimeContext) Init(p uintptr, codelen int) + func (c *RuntimeContext) Ptr() uintptr + type SliceCode struct + func (c *SliceCode) Filter(_ *FieldQuery) Code + func (c *SliceCode) Kind() CodeKind + func (c *SliceCode) ToOpcode(ctx *compileContext) Opcodes + type StringCode struct + func (c *StringCode) Filter(_ *FieldQuery) Code + func (c *StringCode) Kind() CodeKind + func (c *StringCode) ToOpcode(ctx *compileContext) Opcodes + type StructCode struct + func (c *StructCode) Filter(query *FieldQuery) Code + func (c *StructCode) Kind() CodeKind + func (c *StructCode) ToAnonymousOpcode(ctx *compileContext) Opcodes + func (c *StructCode) ToOpcode(ctx *compileContext) Opcodes + type StructFieldCode struct + func (c *StructFieldCode) ToAnonymousOpcode(ctx *compileContext, isFirstField, isEndField bool) Opcodes + func (c *StructFieldCode) ToOpcode(ctx *compileContext, isFirstField, isEndField bool) Opcodes + type UintCode struct + func (c *UintCode) Filter(_ *FieldQuery) Code + func (c *UintCode) Kind() CodeKind + func (c *UintCode) ToOpcode(ctx *compileContext) Opcodes