Skip to content

Latest commit

 

History

History
79 lines (60 loc) · 2.47 KB

README.md

File metadata and controls

79 lines (60 loc) · 2.47 KB

reflectx

Golang reflect package hack tools

Go1.14 Go1.15 Go1.16 Go1.17 Go1.18 Go1.19 Go1.20 Go1.21 Go1.22 Go1.23

Build

  • Go1.14 ~ Go1.22

    go build

  • Go1.23

    go build -ldflags="-checklinkname=0"

ABI

support ABI0 and ABIInternal

Field

  • reflectx.CanSet
  • reflectx.Field
  • reflectx.FieldByIndex
  • reflectx.FieldByName
  • reflectx.FieldByNameFunc

Named

  • reflectx.StructOf(fs)

  • reflectx.NamedTypeOf

  • SetUnderlying

  • SetTypeName

Method

  • reflectx.Method

  • reflectx.MakeMethod

  • reflectx.NewMethodSet

  • reflectx.SetMethodSet

  • reflectx.StructToMethodSet

Interface

  • reflectx.InterfaceOf
  • reflectx.NamedInterfaceOf
  • reflectx.NewInterfaceType
  • reflectx.SetInterfaceType

Context

  • reflectx.NewContext()

Method allocs

  • allocs
import _ "github.com/goplus/reflectx/icall/icall[N]"
  • install icall_gen
go get github.com/goplus/reflectx/cmd/icall_gen
icall_gen -o icall1024.go -pkg main -size 1024