[pull] main from w-ahmad:main#29
Merged
Merged
Conversation
… in the BindingPath string). Included test cases for collection of items with the same parent class, on which shared properties and indexers are defined. Signed-off-by: Daniël Trommel <d.s.trommel@gmail.com>
…tial naming slip-up from when I first build it (focussed on properties) Signed-off-by: Daniël Trommel <d.s.trommel@gmail.com>
…s the original Getter flow; when navigating to the final segment, the code is exactly the same. Only the final bit of code (get versus set) is different.
This refactor also exposed a subtle bug; GetCompiledValueSetter_ShouldNotSet_ForOutOfBoundsNonGenericListIndex failed with ArgumentOutOfRangeException. This was a latent bug in the setter that the old over-specialization was masking:
- For a property typed IList (non-generic ArrayList), the shared navigation correctly leaves current.Type as the interface IList (no over-specialization).
- The setter's bounds-check did current.Type.GetProperty("Count"), but Count is declared on the base ICollection interface — and reflection doesn't surface inherited members on interface types. So countProperty was null, the bounds check was skipped, and the raw indexer assignment threw.
- The old setter only "worked" by accident: it had converted current to the concrete ArrayList, where Count is found directly.
…for-subclasses Compiled binding path for subclasses - support for mixed collection
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )