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 }