This repository was archived by the owner on Dec 12, 2024. It is now read-only.
Added Associated Type support in Get properties #314
Merged
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.
Added Associated Types support in get properties.
This is only a smoke test - the code doesn't get executed (yet).
For the most part, the work was similar to methods:
One other things that came up - the way that I handle the wrapper for associated types is that I write a synthetic
ClassDeclaration
and copy all the protocol methods and properties into it. That done, it can get passed toMethodWrapping
to get turned into a set of functions that we can pinvoke into.The problem I was having was that every member of the class points to the parent, but when I was looking for the a matching wrapper, I wasn't finding it, and sure enough, the wrapper class didn't have any properties in it.
The problem was that when I called
MakeUnrooted
on the synthetic class, its members lost their parentage. I put in a hack patch instead of fixingMakeUnrooted
because I'm worried about code that might depend on that behavior. Issue for that is here.