Damian Gryski
acba0748f1
compiler,reflect: NumMethods reports exported methods only
...
Fixes #3796
2023-07-02 15:35:42 +02:00
Damian Gryski
ef72c5bb4e
reflect: fix iterating over maps with interface{} keys
...
Fixes #3794
2023-07-02 11:47:08 +02:00
Tyler Rockwood
fdc4bbbfad
reflect: Add FieldByNameFunc
...
This adds FieldByNameFunc, which some libraries like reflect2 need.
For my usecase I could also just stub FieldByNameFunc to panic, but
figured that it would work OK to just make it work. I'm not sure if
the overhead to FieldByName using a closure is acceptable.
Signed-off-by: Tyler Rockwood <rockwood@redpanda.com>
2023-07-02 09:14:36 +02:00
Damian Gryski
60bb832c89
reflect: handle Convert'ing between identical underlying types
...
Needed for go-jose/v3
2023-04-01 22:46:46 +02:00
Damian Gryski
f239e8e2d9
reflect: typo in uint test
2023-03-27 18:53:37 +02:00
Damian Gryski
0b6bb12e9e
reflect: add Convert() for string -> []byte and []byte -> string
2023-03-27 18:53:37 +02:00
Damian Gryski
72c7adf94a
reflect: Convert() for integer and float types
2023-03-27 18:53:37 +02:00
Damian Gryski
360f6904f5
reflect: add test for map[interface{}]T
2023-03-25 22:32:29 +01:00
Damian Gryski
9c0bf8bd2c
reflect: Value.Set: fix direction of assignment check
2023-03-25 22:32:29 +01:00
Damian Gryski
c0f8f129c0
reflect: convert map elements to an interface, if needed
2023-03-25 22:32:29 +01:00
Damian Gryski
a5ddc68845
reflect: unpack interfaces in MapKeys() if needed
2023-03-25 22:32:29 +01:00
Damian Gryski
3aa8c8e0d1
reflect: fix typo in unit test
2023-03-25 22:32:29 +01:00
Damian Gryski
6cb7f29d9b
reflect: add tests for map interface lookup fixes
2023-03-25 22:32:29 +01:00
Damian Gryski
45c916f5c0
reflect: rename tests in value_test to avoid conflicts upstream tests
2023-03-25 13:57:00 +01:00
Damian Gryski
17f5fb1071
reflect; SetLen() requires an addressable value
2023-03-21 20:53:37 +01:00
Damian Gryski
4d43df75d5
reflect: fix some vet issues
2023-03-21 20:53:37 +01:00
Damian Gryski
229f479a7d
reflect: make sure pointerTo() works for named types
2023-03-19 17:45:43 +01:00
Damian Gryski
876f08979f
compiler,reflect: sort out pkg path vs pkg name for named types
2023-03-19 17:45:43 +01:00
Damian Gryski
6a685b2a8d
reflect: add test for Type.NumMethod()
2023-03-19 17:45:43 +01:00
Damian Gryski
569817a514
refect: Type.String() should use a shortened package name
2023-03-19 17:45:43 +01:00
Damian Gryski
fa4f361ca7
reflect: add FieldByName(), and FieldByIndex()
2023-03-15 21:53:57 +01:00
Damian Gryski
91d6ca057c
reflect: add SetBytes()
2023-03-15 10:06:19 -07:00
Damian Gryski
6768af91e7
reflect: TypeOf(nil) should be nil
2023-03-14 23:58:27 +01:00
Damian Gryski
069c397975
reflect: fix off-by-one in Zero sizing
...
Without this, pointers wouldn't be set to nil. Add some tests.
2023-03-14 09:42:51 -07:00
Damian Gryski
a52cad3825
reflect: fix Addr() indirect value/flags and add tests.
2023-03-14 16:49:05 +01:00
Damian Gryski
69e5c5088d
reflect: add support for remaining map types
2023-03-10 16:28:22 -08:00
Damian Gryski
2de64d3f4e
compiler, reflect: add Type.PkgPath
2023-03-08 09:38:49 -08:00
Damian Gryski
2a821d2a66
reflect: improve Value.String()
2023-03-08 09:38:49 -08:00
Damian Gryski
90af41d089
reflect: add Type.String()
2023-03-08 09:38:49 -08:00
Damian Gryski
7654d86d2c
compiler, reflect: add support for named types
2023-03-08 09:38:49 -08:00
Damian Gryski
960a0b79bf
reflect: add SetLen()
2023-03-03 10:18:32 -08:00
Damian Gryski
d98c0afbab
reflect: add Bytes()
2023-03-03 05:21:02 -08:00
Damian Gryski
a7e3cf0826
reflect: add Slice3()
2023-03-03 05:21:02 -08:00
Damian Gryski
43a4b256bd
reflect: add Slice()
2023-03-03 05:21:02 -08:00
Damian Gryski
5cc5f11b58
reflect: add MakeSlice()
2023-03-03 05:21:02 -08:00
Damian Gryski
836689fdd2
reflect: add Append()
2023-03-03 05:21:02 -08:00
Damian Gryski
a2bb1d3805
reflect: add MapKeys()
2023-02-28 13:10:40 -08:00
Damian Gryski
c4dadbaaab
reflect: add MakeMap()
2023-02-28 13:10:40 -08:00
Damian Gryski
828c3169ab
reflect: add SetMapIndex()
2023-02-28 13:10:40 -08:00
Damian Gryski
f6ee470eda
reflect: add MapRange/MapIter
2023-02-28 13:10:40 -08:00
Damian Gryski
d0f4702f8b
reflect: add MapIndex()
2023-02-28 13:10:40 -08:00
Damian Gryski
9541525402
reflect: add Type.Elem() and Type.Key() for Maps
2023-02-28 13:10:40 -08:00
Damian Gryski
c0ea21ece7
src/reflect: add test for indirect array indexing
2021-12-18 10:02:36 +01:00
Damian Gryski
81edf577a3
src/reflect: add test for indirect pointer fix
2021-12-18 10:02:36 +01:00