github.com/goccy/go-reflect@v1.2.1-0.20220925055700-4646ad15ec8a/value.go (about)

     1  package reflect
     2  
     3  import (
     4  	"reflect"
     5  	"unsafe"
     6  )
     7  
     8  func value_Copy(dst Value, src Value) int {
     9  	return reflect.Copy(toRV(dst), toRV(src))
    10  }
    11  
    12  func value_Append(v Value, args ...Value) Value {
    13  	return toV(reflect.Append(toRV(v), toRVs(args)...))
    14  }
    15  
    16  func value_AppendSlice(s, t Value) Value {
    17  	return toV(reflect.AppendSlice(toRV(s), toRV(t)))
    18  }
    19  
    20  func value_Indirect(v Value) Value {
    21  	return toV(reflect.Indirect(toRV(v)))
    22  }
    23  
    24  func value_MakeChan(typ Type, buffer int) Value {
    25  	return toV(reflect.MakeChan(toRT(typ), buffer))
    26  }
    27  
    28  func value_MakeFunc(typ Type, fn func([]Value) []Value) Value {
    29  	return toV(reflect.MakeFunc(toRT(typ), func(args []reflect.Value) []reflect.Value {
    30  		return toRVs(fn(toVs(args)))
    31  	}))
    32  }
    33  
    34  func value_MakeMap(typ Type) Value {
    35  	return toV(reflect.MakeMap(toRT(typ)))
    36  }
    37  
    38  func value_MakeMapWithSize(typ Type, n int) Value {
    39  	return toV(reflect.MakeMapWithSize(toRT(typ), n))
    40  }
    41  
    42  func value_MakeSlice(typ Type, len, cap int) Value {
    43  	return toV(reflect.MakeSlice(toRT(typ), len, cap))
    44  }
    45  
    46  func value_New(typ Type) Value {
    47  	return toV(reflect.New(toRT(typ)))
    48  }
    49  
    50  func value_NewAt(typ Type, p unsafe.Pointer) Value {
    51  	return toV(reflect.NewAt(toRT(typ), p))
    52  }
    53  
    54  func value_Select(cases []SelectCase) (int, Value, bool) {
    55  	chosen, recv, recvOK := reflect.Select(toRSCs(cases))
    56  	return chosen, toV(recv), recvOK
    57  }
    58  
    59  func value_Zero(typ Type) Value {
    60  	return toV(reflect.Zero(toRT(typ)))
    61  }
    62  
    63  func value_Addr(v Value) Value {
    64  	return toV(toRV(v).Addr())
    65  }
    66  
    67  func value_Bool(v Value) bool {
    68  	return toRV(v).Bool()
    69  }
    70  
    71  func value_Bytes(v Value) []byte {
    72  	return toRV(v).Bytes()
    73  }
    74  
    75  func value_Call(v Value, in []Value) []Value {
    76  	return toVs(toRV(v).Call(toRVs(in)))
    77  }
    78  
    79  func value_CallSlice(v Value, in []Value) []Value {
    80  	return toVs(toRV(v).CallSlice(toRVs(in)))
    81  }
    82  
    83  func value_CanAddr(v Value) bool {
    84  	return toRV(v).CanAddr()
    85  }
    86  
    87  func value_CanSet(v Value) bool {
    88  	return toRV(v).CanSet()
    89  }
    90  
    91  func value_CanInterface(v Value) bool {
    92  	return toRV(v).CanInterface()
    93  }
    94  
    95  func value_Cap(v Value) int {
    96  	return toRV(v).Cap()
    97  }
    98  
    99  func value_Close(v Value) {
   100  	toRV(v).Close()
   101  }
   102  
   103  func value_Complex(v Value) complex128 {
   104  	return toRV(v).Complex()
   105  }
   106  
   107  func value_Convert(v Value, typ Type) Value {
   108  	return toV(toRV(v).Convert(toRT(typ)))
   109  }
   110  
   111  func value_Elem(v Value) Value {
   112  	return toV(toRV(v).Elem())
   113  }
   114  
   115  func value_Field(v Value, i int) Value {
   116  	return toV(toRV(v).Field(i))
   117  }
   118  
   119  func value_FieldByIndex(v Value, i []int) Value {
   120  	return toV(toRV(v).FieldByIndex(i))
   121  }
   122  
   123  func value_FieldByName(v Value, name string) Value {
   124  	return toV(toRV(v).FieldByName(name))
   125  }
   126  
   127  func value_FieldByNameFunc(v Value, fn func(string) bool) Value {
   128  	return toV(toRV(v).FieldByNameFunc(fn))
   129  }
   130  
   131  func value_Float(v Value) float64 {
   132  	return toRV(v).Float()
   133  }
   134  
   135  func value_Index(v Value, i int) Value {
   136  	return toV(toRV(v).Index(i))
   137  }
   138  
   139  func value_Int(v Value) int64 {
   140  	return toRV(v).Int()
   141  }
   142  
   143  func value_Interface(v Value) interface{} {
   144  	return toRV(v).Interface()
   145  }
   146  
   147  func value_InterfaceData(v Value) [2]uintptr {
   148  	return toRV(v).InterfaceData()
   149  }
   150  
   151  func value_IsNil(v Value) bool {
   152  	return toRV(v).IsNil()
   153  }
   154  
   155  func value_IsValid(v Value) bool {
   156  	return toRV(v).IsValid()
   157  }
   158  
   159  func value_Kind(v Value) Kind {
   160  	return toRV(v).Kind()
   161  }
   162  
   163  func value_Len(v Value) int {
   164  	return toRV(v).Len()
   165  }
   166  
   167  func value_MapIndex(v Value, key Value) Value {
   168  	return toV(toRV(v).MapIndex(toRV(key)))
   169  }
   170  
   171  func value_MapKeys(v Value) []Value {
   172  	return toVs(toRV(v).MapKeys())
   173  }
   174  
   175  func value_MapRange(v Value) *MapIter {
   176  	return (*MapIter)(toRV(v).MapRange())
   177  }
   178  
   179  func value_Method(v Value, i int) Value {
   180  	return toV(toRV(v).Method(i))
   181  }
   182  
   183  func value_MethodByName(v Value, name string) Value {
   184  	return toV(toRV(v).MethodByName(name))
   185  }
   186  
   187  func value_NumField(v Value) int {
   188  	return toRV(v).NumField()
   189  }
   190  
   191  func value_NumMethod(v Value) int {
   192  	return toRV(v).NumMethod()
   193  }
   194  
   195  func value_OverflowComplex(v Value, c complex128) bool {
   196  	return toRV(v).OverflowComplex(c)
   197  }
   198  
   199  func value_OverflowFloat(v Value, f float64) bool {
   200  	return toRV(v).OverflowFloat(f)
   201  }
   202  
   203  func value_OverflowInt(v Value, i int64) bool {
   204  	return toRV(v).OverflowInt(i)
   205  }
   206  
   207  func value_OverflowUint(v Value, u uint64) bool {
   208  	return toRV(v).OverflowUint(u)
   209  }
   210  
   211  func value_Pointer(v Value) uintptr {
   212  	return toRV(v).Pointer()
   213  }
   214  
   215  func value_Recv(v Value) (Value, bool) {
   216  	value, ok := toRV(v).Recv()
   217  	return toV(value), ok
   218  }
   219  
   220  func value_Send(v Value, x Value) {
   221  	toRV(v).Send(toRV(x))
   222  }
   223  
   224  func value_Set(v Value, x Value) {
   225  	toRV(v).Set(toRV(x))
   226  }
   227  
   228  func value_SetBool(v Value, b bool) {
   229  	toRV(v).SetBool(b)
   230  }
   231  
   232  func value_SetBytes(v Value, b []byte) {
   233  	toRV(v).SetBytes(b)
   234  }
   235  
   236  func value_SetCap(v Value, i int) {
   237  	toRV(v).SetCap(i)
   238  }
   239  
   240  func value_SetComplex(v Value, c complex128) {
   241  	toRV(v).SetComplex(c)
   242  }
   243  
   244  func value_SetFloat(v Value, f float64) {
   245  	toRV(v).SetFloat(f)
   246  }
   247  
   248  func value_SetInt(v Value, i int64) {
   249  	toRV(v).SetInt(i)
   250  }
   251  
   252  func value_SetLen(v Value, i int) {
   253  	toRV(v).SetLen(i)
   254  }
   255  
   256  func value_SetMapIndex(v Value, key Value, elem Value) {
   257  	toRV(v).SetMapIndex(toRV(key), toRV(elem))
   258  }
   259  
   260  func value_SetPointer(v Value, p unsafe.Pointer) {
   261  	toRV(v).SetPointer(p)
   262  }
   263  
   264  func value_SetString(v Value, s string) {
   265  	toRV(v).SetString(s)
   266  }
   267  
   268  func value_SetUint(v Value, u uint64) {
   269  	toRV(v).SetUint(u)
   270  }
   271  
   272  func value_Slice(v Value, i int, j int) Value {
   273  	return toV(toRV(v).Slice(i, j))
   274  }
   275  
   276  func value_Slice3(v Value, i int, j int, k int) Value {
   277  	return toV(toRV(v).Slice3(i, j, k))
   278  }
   279  
   280  func value_String(v Value) string {
   281  	return toRV(v).String()
   282  }
   283  
   284  func value_TryRecv(v Value) (Value, bool) {
   285  	value, ok := toRV(v).TryRecv()
   286  	return toV(value), ok
   287  }
   288  
   289  func value_TrySend(v Value, x Value) bool {
   290  	return toRV(v).TrySend(toRV(x))
   291  }
   292  
   293  func value_Type(v Value) Type {
   294  	return ToType(toRV(v).Type())
   295  }
   296  
   297  func value_Uint(v Value) uint64 {
   298  	return toRV(v).Uint()
   299  }
   300  
   301  func value_UnsafeAddr(v Value) uintptr {
   302  	return toRV(v).UnsafeAddr()
   303  }