_generated

package
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2023 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ConstantInt    int    = 8
	ConstantInt8   int8   = 8
	ConstantInt16  int16  = 8
	ConstantInt32  int32  = 8
	ConstantInt64  int64  = 8
	ConstantUint   uint   = 8
	ConstantUint8  uint8  = 8
	ConstantUint16 uint16 = 8
	ConstantUint32 uint32 = 8
	ConstantUint64 uint64 = 8
)

Ensure all different widths of integer can be used as constant keys.

Variables

This section is empty.

Functions

This section is empty.

Types

type AliasContainer

type AliasContainer struct {
	Fast FastAlias
}

Test nested aliases

type AllowNil0

type AllowNil0 struct {
	ABool       bool       `msg:"abool,allownil"`
	AInt        int        `msg:"aint,allownil"`
	AInt8       int8       `msg:"aint8,allownil"`
	AInt16      int16      `msg:"aint16,allownil"`
	AInt32      int32      `msg:"aint32,allownil"`
	AInt64      int64      `msg:"aint64,allownil"`
	AUint       uint       `msg:"auint,allownil"`
	AUint8      uint8      `msg:"auint8,allownil"`
	AUint16     uint16     `msg:"auint16,allownil"`
	AUint32     uint32     `msg:"auint32,allownil"`
	AUint64     uint64     `msg:"auint64,allownil"`
	AFloat32    float32    `msg:"afloat32,allownil"`
	AFloat64    float64    `msg:"afloat64,allownil"`
	AComplex64  complex64  `msg:"acomplex64,allownil"`
	AComplex128 complex128 `msg:"acomplex128,allownil"`

	ANamedBool    bool    `msg:"anamedbool,allownil"`
	ANamedInt     int     `msg:"anamedint,allownil"`
	ANamedFloat64 float64 `msg:"anamedfloat64,allownil"`

	AMapStrStr map[string]string `msg:"amapstrstr,allownil"`

	APtrNamedStr *NamedString `msg:"aptrnamedstr,allownil"`

	AString      string `msg:"astring,allownil"`
	ANamedString string `msg:"anamedstring,allownil"`
	AByteSlice   []byte `msg:"abyteslice,allownil"`

	ASliceString      []string      `msg:"aslicestring,allownil"`
	ASliceNamedString []NamedString `msg:"aslicenamedstring,allownil"`

	ANamedStruct    NamedStructAN  `msg:"anamedstruct,allownil"`
	APtrNamedStruct *NamedStructAN `msg:"aptrnamedstruct,allownil"`

	AUnnamedStruct struct {
		A string `msg:"a,allownil"`
	} `msg:"aunnamedstruct,allownil"` // allownil not supported on unnamed struct

	EmbeddableStructAN `msg:",flatten,allownil"` // embed flat

	EmbeddableStruct2AN `msg:"embeddablestruct2,allownil"` // embed non-flat

	AArrayInt [5]int `msg:"aarrayint,allownil"` // not supported

	ATime time.Time `msg:"atime,allownil"`
}

type AllowNil1

type AllowNil1 struct {
	ABool       []bool       `msg:"abool,allownil"`
	AInt        []int        `msg:"aint,allownil"`
	AInt8       []int8       `msg:"aint8,allownil"`
	AInt16      []int16      `msg:"aint16,allownil"`
	AInt32      []int32      `msg:"aint32,allownil"`
	AInt64      []int64      `msg:"aint64,allownil"`
	AUint       []uint       `msg:"auint,allownil"`
	AUint8      []uint8      `msg:"auint8,allownil"`
	AUint16     []uint16     `msg:"auint16,allownil"`
	AUint32     []uint32     `msg:"auint32,allownil"`
	AUint64     []uint64     `msg:"auint64,allownil"`
	AFloat32    []float32    `msg:"afloat32,allownil"`
	AFloat64    []float64    `msg:"afloat64,allownil"`
	AComplex64  []complex64  `msg:"acomplex64,allownil"`
	AComplex128 []complex128 `msg:"acomplex128,allownil"`

	ANamedBool    []bool    `msg:"anamedbool,allownil"`
	ANamedInt     []int     `msg:"anamedint,allownil"`
	ANamedFloat64 []float64 `msg:"anamedfloat64,allownil"`

	AMapStrStr map[string]string `msg:"amapstrstr,allownil"`

	APtrNamedStr *NamedString `msg:"aptrnamedstr,allownil"`

	AString      []string `msg:"astring,allownil"`
	ANamedString []string `msg:"anamedstring,allownil"`
	AByteSlice   []byte   `msg:"abyteslice,allownil"`

	ASliceString      []string      `msg:"aslicestring,allownil"`
	ASliceNamedString []NamedString `msg:"aslicenamedstring,allownil"`

	ANamedStruct    NamedStructAN  `msg:"anamedstruct,allownil"`
	APtrNamedStruct *NamedStructAN `msg:"aptrnamedstruct,allownil"`

	AUnnamedStruct struct {
		A []string `msg:"a,allownil"`
	} `msg:"aunnamedstruct,allownil"`

	*EmbeddableStructAN `msg:",flatten,allownil"` // embed flat

	*EmbeddableStruct2AN `msg:"embeddablestruct2,allownil"` // embed non-flat

	AArrayInt [5]int `msg:"aarrayint,allownil"` // not supported

	ATime *time.Time `msg:"atime,allownil"`
}

type AllowNil10

type AllowNil10 struct {
	Field00 []string `msg:"field00,allownil"`
	Field01 []string `msg:"field01,allownil"`
	Field02 []string `msg:"field02,allownil"`
	Field03 []string `msg:"field03,allownil"`
	Field04 []string `msg:"field04,allownil"`
	Field05 []string `msg:"field05,allownil"`
	Field06 []string `msg:"field06,allownil"`
	Field07 []string `msg:"field07,allownil"`
	Field08 []string `msg:"field08,allownil"`
	Field09 []string `msg:"field09,allownil"`
}

type AllowNilHalfFull

type AllowNilHalfFull struct {
	Field00 []string `msg:"field00,allownil"`
	Field01 []string `msg:"field01"`
	Field02 []string `msg:"field02,allownil"`
	Field03 []string `msg:"field03"`
}

type AllowNilLotsOFields

type AllowNilLotsOFields struct {
	Field00 []string `msg:"field00,allownil"`
	Field01 []string `msg:"field01,allownil"`
	Field02 []string `msg:"field02,allownil"`
	Field03 []string `msg:"field03,allownil"`
	Field04 []string `msg:"field04,allownil"`
	Field05 []string `msg:"field05,allownil"`
	Field06 []string `msg:"field06,allownil"`
	Field07 []string `msg:"field07,allownil"`
	Field08 []string `msg:"field08,allownil"`
	Field09 []string `msg:"field09,allownil"`
	Field10 []string `msg:"field10,allownil"`
	Field11 []string `msg:"field11,allownil"`
	Field12 []string `msg:"field12,allownil"`
	Field13 []string `msg:"field13,allownil"`
	Field14 []string `msg:"field14,allownil"`
	Field15 []string `msg:"field15,allownil"`
	Field16 []string `msg:"field16,allownil"`
	Field17 []string `msg:"field17,allownil"`
	Field18 []string `msg:"field18,allownil"`
	Field19 []string `msg:"field19,allownil"`
	Field20 []string `msg:"field20,allownil"`
	Field21 []string `msg:"field21,allownil"`
	Field22 []string `msg:"field22,allownil"`
	Field23 []string `msg:"field23,allownil"`
	Field24 []string `msg:"field24,allownil"`
	Field25 []string `msg:"field25,allownil"`
	Field26 []string `msg:"field26,allownil"`
	Field27 []string `msg:"field27,allownil"`
	Field28 []string `msg:"field28,allownil"`
	Field29 []string `msg:"field29,allownil"`
	Field30 []string `msg:"field30,allownil"`
	Field31 []string `msg:"field31,allownil"`
	Field32 []string `msg:"field32,allownil"`
	Field33 []string `msg:"field33,allownil"`
	Field34 []string `msg:"field34,allownil"`
	Field35 []string `msg:"field35,allownil"`
	Field36 []string `msg:"field36,allownil"`
	Field37 []string `msg:"field37,allownil"`
	Field38 []string `msg:"field38,allownil"`
	Field39 []string `msg:"field39,allownil"`
	Field40 []string `msg:"field40,allownil"`
	Field41 []string `msg:"field41,allownil"`
	Field42 []string `msg:"field42,allownil"`
	Field43 []string `msg:"field43,allownil"`
	Field44 []string `msg:"field44,allownil"`
	Field45 []string `msg:"field45,allownil"`
	Field46 []string `msg:"field46,allownil"`
	Field47 []string `msg:"field47,allownil"`
	Field48 []string `msg:"field48,allownil"`
	Field49 []string `msg:"field49,allownil"`
	Field50 []string `msg:"field50,allownil"`
	Field51 []string `msg:"field51,allownil"`
	Field52 []string `msg:"field52,allownil"`
	Field53 []string `msg:"field53,allownil"`
	Field54 []string `msg:"field54,allownil"`
	Field55 []string `msg:"field55,allownil"`
	Field56 []string `msg:"field56,allownil"`
	Field57 []string `msg:"field57,allownil"`
	Field58 []string `msg:"field58,allownil"`
	Field59 []string `msg:"field59,allownil"`
	Field60 []string `msg:"field60,allownil"`
	Field61 []string `msg:"field61,allownil"`
	Field62 []string `msg:"field62,allownil"`
	Field63 []string `msg:"field63,allownil"`
	Field64 []string `msg:"field64,allownil"`
	Field65 []string `msg:"field65,allownil"`
	Field66 []string `msg:"field66,allownil"`
	Field67 []string `msg:"field67,allownil"`
	Field68 []string `msg:"field68,allownil"`
	Field69 []string `msg:"field69,allownil"`
}

type AllowNilOmitEmpty

type AllowNilOmitEmpty struct {
	Field00 []string `msg:"field00,allownil,omitempty"`
	Field01 []string `msg:"field01,allownil"`
}

type AllowNilOmitEmpty2

type AllowNilOmitEmpty2 struct {
	Field00 []string `msg:"field00,allownil,omitempty"`
	Field01 []string `msg:"field01,allownil,omitempty"`
}

type ArrayConstants

type ArrayConstants struct {
	ConstantInt    [ConstantInt]string
	ConstantInt8   [ConstantInt8]string
	ConstantInt16  [ConstantInt16]string
	ConstantInt32  [ConstantInt32]string
	ConstantInt64  [ConstantInt64]string
	ConstantUint   [ConstantUint]string
	ConstantUint8  [ConstantUint8]string
	ConstantUint16 [ConstantUint16]string
	ConstantUint32 [ConstantUint32]string
	ConstantUint64 [ConstantUint64]string
	ConstantHex    [0x16]string
	ConstantOctal  [0o7]string
}

type Block

type Block [32]byte

type Common

type Common struct {
	RequestID uint32 `msg:"request_id"`
	Token     string `msg:"token"`
}

type ConvertErr

type ConvertErr struct {
	Err ConvertErrVal
}

type ConvertErrVal

type ConvertErrVal string

type ConvertIntf

type ConvertIntf struct {
	Intf ConvertIntfVal
}

type ConvertIntfVal

type ConvertIntfVal struct {
	Test string
}

type ConvertString

type ConvertString struct {
	String ConvertStringVal
}

type ConvertStringMapValue

type ConvertStringMapValue struct {
	Strings map[string]ConvertStringVal
}

type ConvertStringSlice

type ConvertStringSlice struct {
	Strings []ConvertStringVal
}

type ConvertStringVal

type ConvertStringVal string

type Custom

type Custom struct {
	Bts   CustomBytes          `msg:"bts"`
	Mp    map[string]*Embedded `msg:"mp"`
	Enums []MyEnum             `msg:"enums"` // test explicit enum shim
	Some  FileHandle           `msg:"file_handle"`
}

type CustomBytes

type CustomBytes []byte

type CustomInt

type CustomInt int

type EmbeddableStruct

type EmbeddableStruct struct {
	SomeEmbed string `msg:"someembed,omitempty"`
}

type EmbeddableStruct2

type EmbeddableStruct2 struct {
	SomeEmbed2 string `msg:"someembed2,omitempty"`
}

type EmbeddableStruct2AN

type EmbeddableStruct2AN struct {
	SomeEmbed2 []string `msg:"someembed2,allownil"`
}

type EmbeddableStructAN

type EmbeddableStructAN struct {
	SomeEmbed []string `msg:"someembed,allownil"`
}

type EmbeddableStructOZ

type EmbeddableStructOZ struct {
	SomeEmbed string `msg:"someembed2,omitempty"`
}

func (EmbeddableStructOZ) IsZero

func (es EmbeddableStructOZ) IsZero() bool

type EmbeddableStructOZ2

type EmbeddableStructOZ2 struct {
	SomeEmbed2 string `msg:"someembed2,omitempty"`
}

func (EmbeddableStructOZ2) IsZero

func (es EmbeddableStructOZ2) IsZero() bool

type Embedded

type Embedded struct {
	*Embedded   // test embedded field
	Children    []Embedded
	PtrChildren []*Embedded
	Other       string
}

type ErrorCtxAsMap

type ErrorCtxAsMap struct {
	Val          string
	Child        *ErrorCtxMapChild
	Children     []*ErrorCtxMapChild
	ComplexChild *ErrorCtxMapChildNotInline
	Map          map[string]string

	Nest struct {
		Val      string
		Child    *ErrorCtxMapChild
		Children []*ErrorCtxMapChild
		Map      map[string]string

		Nest struct {
			Val      string
			Child    *ErrorCtxMapChild
			Children []*ErrorCtxMapChild
			Map      map[string]string
		}
	}
}

type ErrorCtxAsTuple

type ErrorCtxAsTuple struct {
	Val          string
	Child        *ErrorCtxTupleChild
	Children     []*ErrorCtxTupleChild
	ComplexChild *ErrorCtxTupleChildNotInline
	Map          map[string]string

	Nest struct {
		Val      string
		Child    *ErrorCtxTupleChild
		Children []*ErrorCtxTupleChild
		Map      map[string]string

		Nest struct {
			Val      string
			Child    *ErrorCtxTupleChild
			Children []*ErrorCtxTupleChild
			Map      map[string]string
		}
	}
}

type ErrorCtxMapChild

type ErrorCtxMapChild struct {
	Val string
}

type ErrorCtxMapChildNotInline

type ErrorCtxMapChildNotInline struct {
	Val1, Val2, Val3, Val4, Val5 string
}

type ErrorCtxTupleChild

type ErrorCtxTupleChild struct {
	Val string
}

type ErrorCtxTupleChildNotInline

type ErrorCtxTupleChildNotInline struct {
	Val1, Val2, Val3, Val4, Val5 string
}

type FastAlias

type FastAlias TestFast

Test nested aliases

type FileHandle

type FileHandle struct {
	Relevant Files  `msg:"files"`
	Name     string `msg:"name"`
}

type Files

type Files []*os.File

type Fixed

type Fixed struct {
	A float64
	B bool
}

test fixed-size struct size compilation

type Foo

type Foo struct {
	I struct{}
	// contains filtered or unexported fields
}

type GetUserRequest

type GetUserRequest struct {
	RequestID uint32 `msg:"request_id"`
	Token     string `msg:"token"`
	UserID    uint32 `msg:"user_id"`
}

type GetUserRequestWithEmbeddedStruct

type GetUserRequestWithEmbeddedStruct struct {
	Common `msg:",flatten"`
	UserID uint32 `msg:"user_id"`
}

type Insane

type Insane [3]map[string]struct{ A, B CustomInt }

type IntA

type IntA int

Test dependency resolution

type IntB

type IntB IntA

Test dependency resolution

type IntC

type IntC IntB

Test dependency resolution

type Issue102

type Issue102 struct{}

type Issue102MapUsesTuple

type Issue102MapUsesTuple struct {
	Nested    Issue102Tuple
	NestedPtr *Issue102Tuple
}

type Issue102Tuple

type Issue102Tuple struct{}

type Issue102TupleDeep

type Issue102TupleDeep struct {
	A int
	X struct{}
	Y struct{}
	Z int
}

type Issue102TupleUsesMap

type Issue102TupleUsesMap struct {
	Nested    Issue102
	NestedPtr *Issue102
}

type Issue102TupleUsesTuple

type Issue102TupleUsesTuple struct {
	Nested    Issue102Tuple
	NestedPtr *Issue102Tuple
}

type Issue102Uses

type Issue102Uses struct {
	Nested    Issue102
	NestedPtr *Issue102
}

type Issue102deep

type Issue102deep struct {
	A int
	X struct{}
	Y struct{}
	Z int
}

type Issue191

type Issue191 struct {
	Foo string
	Bar string
}

type MyEnum

type MyEnum byte
const (
	A MyEnum = iota
	B
	C
	D
)

func (MyEnum) String

func (m MyEnum) String() string

type NamedBool

type NamedBool bool

type NamedFloat64

type NamedFloat64 float64

type NamedInt

type NamedInt int

type NamedString

type NamedString string

type NamedStringOZ

type NamedStringOZ string

func (*NamedStringOZ) IsZero

func (ns *NamedStringOZ) IsZero() bool

type NamedStruct

type NamedStruct struct {
	A string `msg:"a,omitempty"`
	B string `msg:"b,omitempty"`
}

type NamedStructAN

type NamedStructAN struct {
	A []string `msg:"a,allownil"`
	B []string `msg:"b,allownil"`
}

type NamedStructOZ

type NamedStructOZ struct {
	A string `msg:"a,omitempty"`
	B string `msg:"b,omitempty"`
}

func (*NamedStructOZ) IsZero

func (ns *NamedStructOZ) IsZero() bool

type NonMsgStructTags

type NonMsgStructTags struct {
	A      []string `json:"fooJSON" msg:"fooMsgp"`
	B      string   `json:"barJSON"`
	C      []string `json:"bazJSON" msg:"-"`
	Nested []struct {
		A          []string `json:"a"`
		B          string   `json:"b"`
		C          []string `json:"c"`
		VeryNested []struct {
			A []string `json:"a"`
			B []string `msg:"bbbb" xml:"-"`
		}
	}
}

type NotAllowNil10

type NotAllowNil10 struct {
	Field00 []string `msg:"field00"`
	Field01 []string `msg:"field01"`
	Field02 []string `msg:"field02"`
	Field03 []string `msg:"field03"`
	Field04 []string `msg:"field04"`
	Field05 []string `msg:"field05"`
	Field06 []string `msg:"field06"`
	Field07 []string `msg:"field07"`
	Field08 []string `msg:"field08"`
	Field09 []string `msg:"field09"`
}

type NotOmitEmpty10

type NotOmitEmpty10 struct {
	Field00 string `msg:"field00"`
	Field01 string `msg:"field01"`
	Field02 string `msg:"field02"`
	Field03 string `msg:"field03"`
	Field04 string `msg:"field04"`
	Field05 string `msg:"field05"`
	Field06 string `msg:"field06"`
	Field07 string `msg:"field07"`
	Field08 string `msg:"field08"`
	Field09 string `msg:"field09"`
}

type Object

type Object struct {
	ObjectNo string   `msg:"objno"`
	Slice1   []string `msg:"slice1"`
	Slice2   []string `msg:"slice2"`
	MapMap   map[string]map[string]string
}

type OmitEmpty0

type OmitEmpty0 struct {
	ABool       bool       `msg:"abool,omitempty"`
	AInt        int        `msg:"aint,omitempty"`
	AInt8       int8       `msg:"aint8,omitempty"`
	AInt16      int16      `msg:"aint16,omitempty"`
	AInt32      int32      `msg:"aint32,omitempty"`
	AInt64      int64      `msg:"aint64,omitempty"`
	AUint       uint       `msg:"auint,omitempty"`
	AUint8      uint8      `msg:"auint8,omitempty"`
	AUint16     uint16     `msg:"auint16,omitempty"`
	AUint32     uint32     `msg:"auint32,omitempty"`
	AUint64     uint64     `msg:"auint64,omitempty"`
	AFloat32    float32    `msg:"afloat32,omitempty"`
	AFloat64    float64    `msg:"afloat64,omitempty"`
	AComplex64  complex64  `msg:"acomplex64,omitempty"`
	AComplex128 complex128 `msg:"acomplex128,omitempty"`

	ANamedBool    bool    `msg:"anamedbool,omitempty"`
	ANamedInt     int     `msg:"anamedint,omitempty"`
	ANamedFloat64 float64 `msg:"anamedfloat64,omitempty"`

	AMapStrStr map[string]string `msg:"amapstrstr,omitempty"`

	APtrNamedStr *NamedString `msg:"aptrnamedstr,omitempty"`

	AString      string `msg:"astring,omitempty"`
	ANamedString string `msg:"anamedstring,omitempty"`
	AByteSlice   []byte `msg:"abyteslice,omitempty"`

	ASliceString      []string      `msg:"aslicestring,omitempty"`
	ASliceNamedString []NamedString `msg:"aslicenamedstring,omitempty"`

	ANamedStruct    NamedStruct  `msg:"anamedstruct,omitempty"`
	APtrNamedStruct *NamedStruct `msg:"aptrnamedstruct,omitempty"`

	AUnnamedStruct struct {
		A string `msg:"a,omitempty"`
	} `msg:"aunnamedstruct,omitempty"` // omitempty not supported on unnamed struct

	EmbeddableStruct `msg:",flatten,omitempty"` // embed flat

	EmbeddableStruct2 `msg:"embeddablestruct2,omitempty"` // embed non-flat

	AArrayInt [5]int `msg:"aarrayint,omitempty"` // not supported

	ATime time.Time `msg:"atime,omitempty"`
}

type OmitEmpty10

type OmitEmpty10 struct {
	Field00 string `msg:"field00,omitempty"`
	Field01 string `msg:"field01,omitempty"`
	Field02 string `msg:"field02,omitempty"`
	Field03 string `msg:"field03,omitempty"`
	Field04 string `msg:"field04,omitempty"`
	Field05 string `msg:"field05,omitempty"`
	Field06 string `msg:"field06,omitempty"`
	Field07 string `msg:"field07,omitempty"`
	Field08 string `msg:"field08,omitempty"`
	Field09 string `msg:"field09,omitempty"`
}

type OmitEmptyHalfFull

type OmitEmptyHalfFull struct {
	Field00 string `msg:"field00,omitempty"`
	Field01 string `msg:"field01"`
	Field02 string `msg:"field02,omitempty"`
	Field03 string `msg:"field03"`
}

type OmitEmptyLotsOFields

type OmitEmptyLotsOFields struct {
	Field00 string `msg:"field00,omitempty"`
	Field01 string `msg:"field01,omitempty"`
	Field02 string `msg:"field02,omitempty"`
	Field03 string `msg:"field03,omitempty"`
	Field04 string `msg:"field04,omitempty"`
	Field05 string `msg:"field05,omitempty"`
	Field06 string `msg:"field06,omitempty"`
	Field07 string `msg:"field07,omitempty"`
	Field08 string `msg:"field08,omitempty"`
	Field09 string `msg:"field09,omitempty"`
	Field10 string `msg:"field10,omitempty"`
	Field11 string `msg:"field11,omitempty"`
	Field12 string `msg:"field12,omitempty"`
	Field13 string `msg:"field13,omitempty"`
	Field14 string `msg:"field14,omitempty"`
	Field15 string `msg:"field15,omitempty"`
	Field16 string `msg:"field16,omitempty"`
	Field17 string `msg:"field17,omitempty"`
	Field18 string `msg:"field18,omitempty"`
	Field19 string `msg:"field19,omitempty"`
	Field20 string `msg:"field20,omitempty"`
	Field21 string `msg:"field21,omitempty"`
	Field22 string `msg:"field22,omitempty"`
	Field23 string `msg:"field23,omitempty"`
	Field24 string `msg:"field24,omitempty"`
	Field25 string `msg:"field25,omitempty"`
	Field26 string `msg:"field26,omitempty"`
	Field27 string `msg:"field27,omitempty"`
	Field28 string `msg:"field28,omitempty"`
	Field29 string `msg:"field29,omitempty"`
	Field30 string `msg:"field30,omitempty"`
	Field31 string `msg:"field31,omitempty"`
	Field32 string `msg:"field32,omitempty"`
	Field33 string `msg:"field33,omitempty"`
	Field34 string `msg:"field34,omitempty"`
	Field35 string `msg:"field35,omitempty"`
	Field36 string `msg:"field36,omitempty"`
	Field37 string `msg:"field37,omitempty"`
	Field38 string `msg:"field38,omitempty"`
	Field39 string `msg:"field39,omitempty"`
	Field40 string `msg:"field40,omitempty"`
	Field41 string `msg:"field41,omitempty"`
	Field42 string `msg:"field42,omitempty"`
	Field43 string `msg:"field43,omitempty"`
	Field44 string `msg:"field44,omitempty"`
	Field45 string `msg:"field45,omitempty"`
	Field46 string `msg:"field46,omitempty"`
	Field47 string `msg:"field47,omitempty"`
	Field48 string `msg:"field48,omitempty"`
	Field49 string `msg:"field49,omitempty"`
	Field50 string `msg:"field50,omitempty"`
	Field51 string `msg:"field51,omitempty"`
	Field52 string `msg:"field52,omitempty"`
	Field53 string `msg:"field53,omitempty"`
	Field54 string `msg:"field54,omitempty"`
	Field55 string `msg:"field55,omitempty"`
	Field56 string `msg:"field56,omitempty"`
	Field57 string `msg:"field57,omitempty"`
	Field58 string `msg:"field58,omitempty"`
	Field59 string `msg:"field59,omitempty"`
	Field60 string `msg:"field60,omitempty"`
	Field61 string `msg:"field61,omitempty"`
	Field62 string `msg:"field62,omitempty"`
	Field63 string `msg:"field63,omitempty"`
	Field64 string `msg:"field64,omitempty"`
	Field65 string `msg:"field65,omitempty"`
	Field66 string `msg:"field66,omitempty"`
	Field67 string `msg:"field67,omitempty"`
	Field68 string `msg:"field68,omitempty"`
	Field69 string `msg:"field69,omitempty"`
}

type OmitZero0

type OmitZero0 struct {
	AStruct    OmitZeroA       `msg:"astruct,omitempty"`    // leave this one omitempty
	BStruct    OmitZeroA       `msg:"bstruct,omitzero"`     // and compare to this
	AStructPtr *OmitZeroA      `msg:"astructptr,omitempty"` // a pointer case omitempty
	BStructPtr *OmitZeroA      `msg:"bstructptr,omitzero"`  // a pointer case omitzero
	AExt       OmitZeroExt     `msg:"aext,omitzero"`        // external type case
	AExtPtr    *OmitZeroExtPtr `msg:"aextptr,omitzero"`     // external type pointer case

	// more
	APtrNamedStr       *NamedStringOZ                     `msg:"aptrnamedstr,omitzero"`
	ANamedStruct       NamedStructOZ                      `msg:"anamedstruct,omitzero"`
	APtrNamedStruct    *NamedStructOZ                     `msg:"aptrnamedstruct,omitzero"`
	EmbeddableStruct   `msg:",flatten,omitzero"`          // embed flat
	EmbeddableStructOZ `msg:"embeddablestruct2,omitzero"` // embed non-flat
	ATime              time.Time                          `msg:"atime,omitzero"`

	OmitZeroTuple OmitZeroTuple `msg:"ozt"` // the inside of a tuple should ignore both omitempty and omitzero
}

type OmitZero1

type OmitZero1 struct {
	T1 OmitZeroTuple `msg:"t1"`
}

type OmitZeroA

type OmitZeroA struct {
	A string        `msg:"a,omitempty"`
	B NamedStringOZ `msg:"b,omitzero"`
	C NamedStringOZ `msg:"c,omitzero"`
}

func (*OmitZeroA) IsZero

func (o *OmitZeroA) IsZero() bool

type OmitZeroExt

type OmitZeroExt struct {
	// contains filtered or unexported fields
}

func (*OmitZeroExt) DecodeMsg

func (o *OmitZeroExt) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (OmitZeroExt) EncodeMsg

func (o OmitZeroExt) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (OmitZeroExt) IsZero

func (o OmitZeroExt) IsZero() bool

IsZero will return true if a is not positive

func (OmitZeroExt) MarshalMsg

func (o OmitZeroExt) MarshalMsg(b []byte) (ret []byte, err error)

MarshalMsg implements msgp.Marshaler

func (OmitZeroExt) Msgsize

func (o OmitZeroExt) Msgsize() (s int)

Msgsize implements msgp.Msgsizer

func (*OmitZeroExt) UnmarshalMsg

func (o *OmitZeroExt) UnmarshalMsg(bts []byte) (ret []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type OmitZeroExtPtr

type OmitZeroExtPtr struct {
	// contains filtered or unexported fields
}

func (*OmitZeroExtPtr) DecodeMsg

func (o *OmitZeroExtPtr) DecodeMsg(dc *msgp.Reader) (err error)

DecodeMsg implements msgp.Decodable

func (*OmitZeroExtPtr) EncodeMsg

func (o *OmitZeroExtPtr) EncodeMsg(en *msgp.Writer) (err error)

EncodeMsg implements msgp.Encodable

func (*OmitZeroExtPtr) IsZero

func (o *OmitZeroExtPtr) IsZero() bool

IsZero will return true if a is nil or not positive

func (*OmitZeroExtPtr) MarshalMsg

func (o *OmitZeroExtPtr) MarshalMsg(b []byte) (ret []byte, err error)

MarshalMsg implements msgp.Marshaler

func (*OmitZeroExtPtr) Msgsize

func (o *OmitZeroExtPtr) Msgsize() (s int)

Msgsize implements msgp.Msgsizer

func (*OmitZeroExtPtr) UnmarshalMsg

func (o *OmitZeroExtPtr) UnmarshalMsg(bts []byte) (ret []byte, err error)

UnmarshalMsg implements msgp.Unmarshaler

type OmitZeroTuple

type OmitZeroTuple struct {
	FieldA string        `msg:"fielda,omitempty"`
	FieldB NamedStringOZ `msg:"fieldb,omitzero"`
	FieldC NamedStringOZ `msg:"fieldc,omitzero"`
}

OmitZeroTuple is flagged for tuple output, it should ignore all omitempty and omitzero functionality since it's fundamentally incompatible.

type SpecialID

type SpecialID string

type T

type T struct {
	T time.Time
}

type TestBench

type TestBench struct {
	Name     string
	BirthDay time.Time
	Phone    string
	Siblings int
	Spouse   bool
	Money    float64
}

type TestFast

type TestFast struct {
	Lat, Long, Alt float64 // test inline decl
	Data           []byte
}

type TestHidden

type TestHidden struct {
	A   string
	B   []float64
	Bad func(string) bool // This results in a warning: field "Bad" unsupported
}

type TestObj

type TestObj struct{ ID1, ID2 SpecialID }

type TestType

type TestType struct {
	F   *float64          `msg:"float"`
	Els map[string]string `msg:"elements"`
	Obj struct {
		ValueA string `msg:"value_a"`
		ValueB []byte `msg:"value_b"`
	} `msg:"object"`
	Child      *TestType   `msg:"child"`
	Time       time.Time   `msg:"time"`
	Any        interface{} `msg:"any"`
	Appended   msgp.Raw    `msg:"appended"`
	Num        msgp.Number `msg:"num"`
	Byte       byte
	Rune       rune
	RunePtr    *rune
	RunePtrPtr **rune
	RuneSlice  []rune
	Slice1     []string
	Slice2     []string
	SlicePtr   *[]string
}

type Things

type Things struct {
	Cmplx complex64                         `msg:"complex"` // test slices
	Vals  []int32                           `msg:"values"`
	Arr   [msgp.ExtensionPrefixSize]float64 `msg:"arr"`            // test const array and *ast.SelectorExpr as array size
	Arr2  [4]float64                        `msg:"arr2"`           // test basic lit array
	Ext   *msgp.RawExtension                `msg:"ext,extension"`  // test extension
	Oext  msgp.RawExtension                 `msg:"oext,extension"` // test extension reference
}

type Tree

type Tree struct {
	Children []Tree
	Element  int
	Parent   *Wrapper
}

type Wrapper

type Wrapper struct {
	Tree *Tree
}

type X

type X struct {
	Values    [32]byte    // should compile to 32*msgp.ByteSize; encoded as Bin
	ValuesPtr *[32]byte   // check (*)[:] deref
	More      Block       // should be identical to the above
	Others    [][32]int32 // should compile to len(x.Others)*32*msgp.Int32Size
	Matrix    [][]int32   // should not optimize
	ManyFixed []Fixed
}

tests edge-cases with compiling size compilation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL