aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/reflect
AgeCommit message (Collapse)Author
2023-07-07reflect: add SetZeroAyke van Laethem
This was added in Go 1.20 and is required by encoding/json starting with Go 1.21.
2023-07-07reflect: implement Value.GrowAyke van Laethem
This was added in Go 1.20 and becomes necessary for encoding/json in Go 1.21.
2023-07-02compiler,reflect: NumMethods reports exported methods onlyDamian Gryski
Fixes #3796
2023-07-02reflect: fix iterating over maps with interface{} keysDamian Gryski
Fixes #3794
2023-07-02reflect: Add FieldByNameFuncTyler Rockwood
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 <[email protected]>
2023-07-01reflect: remove unecessary heap allocationssoypat
2023-06-17reflect: use .key() instead of a type assertAyke van Laethem
This should be ever so slightly more efficient.
2023-06-09compiler,reflect: add tagged pointers for **T etcDamian Gryski
2023-06-08compiler,reflect: use two bits of the meta byte for comparable/isBinaryDamian Gryski
Fixes #3683
2023-05-16src/reflect: remove overflow checks from uvarint32Damian Gryski
2023-05-16compiler,reflect: make field offsets varintsDamian Gryski
Fixes #3686
2023-05-14reflect: optimize Zero() a little bitAyke van Laethem
It could be expensive to call Size() three times, and it is unnecessary. Instead, do it only once. This results in a very small reduction of binary size if Zero() is used.
2023-04-27add struct size and field offsets to reflect dataDamian Gryski
2023-04-01reflect: uncomment a another test the fails and doc some that don'tDamian Gryski
2023-04-01reflect; uncomment SetZero (but comment out the parts that fail)Damian Gryski
2023-04-01reflect: uncomment TestAppend and fix a bug it foundDamian Gryski
2023-04-01reflect: handle Convert'ing between identical underlying typesDamian Gryski
Needed for go-jose/v3
2023-03-31reflect: another obscure RO bugDamian Gryski
2023-03-31reflect: uncomment another test and fix RO logic issues it uncoveredDamian Gryski
2023-03-30reflect: add more RO checksDamian Gryski
2023-03-30reflect: add valueFlagRODamian Gryski
2023-03-30reflect: add sipmlified strconv.Quote() implementation for struct tagsDamian Gryski
2023-03-30reflect: Fix Kind(-1).String() and enable testDamian Gryski
2023-03-30reflect: implement and test Value.ComparableDamian Gryski
2023-03-30reflect: TestAliasNames passesDamian Gryski
2023-03-30reflect: fix TestCanSetFieldDamian Gryski
2023-03-30reflect: add CanInt() and friends and uncomments tests that passDamian Gryski
2023-03-30reflect: uncomment Type.String() tests that passDamian Gryski
2023-03-30reflect: print struct tags in Type.String() (with a caveat)Damian Gryski
2023-03-30reflect: stub channel select routines/typesDamian Gryski
2023-03-30compiler,reflect: support channel directionsDamian Gryski
2023-03-27reflect: use direct calls to runtime string functionsAyke van Laethem
The runtime.stringFromBytesTyped and runtime.stringToBytesTyped functions aren't really necessary, because they have the same LLVM IR signature. Therefore, remove them and link directly to the functions that the compiler uses internally.
2023-03-27reflect: fix bug found by Convert() tests on wasiDamian Gryski
2023-03-27reflect: add missing Uintptr type and some numerical testsDamian Gryski
2023-03-27reflect: fix indirect issues with makeInt/makeUint/makeFloatDamian Gryski
2023-03-27reflect: typo in uint testDamian Gryski
2023-03-27reflect: document which Convert() cases are still unimplementedDamian Gryski
2023-03-27reflect: Convert(): add Float() conversionsDamian Gryski
2023-03-27reflect: add Convert() for string -> []byte and []byte -> stringDamian Gryski
2023-03-27reflect: Convert() for integer and float typesDamian Gryski
2023-03-25reflect: add test for map[interface{}]TDamian Gryski
2023-03-25reflect: fix key type logic for mapsDamian Gryski
2023-03-25reflect: Value.Set: fix direction of assignment checkDamian Gryski
2023-03-25reflect: convert non-interface to interface in Set()Damian Gryski
2023-03-25reflect: convert map elements to an interface, if neededDamian Gryski
2023-03-25reflect: SetMapIndex: use AssignableTo() instead of type equalityDamian Gryski
2023-03-25reflect: unpack interfaces in MapKeys() if neededDamian Gryski
2023-03-25reflect: tweak v.typecode.Key().(*rawType) -> v.typecode.key()Damian Gryski
2023-03-25reflect: fix typo in unit testDamian Gryski
2023-03-25reflect: add tests for map interface lookup fixesDamian Gryski