-
Notifications
You must be signed in to change notification settings - Fork 118
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support static abstract interface members #930
Support static abstract interface members #930
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this PR @lostmsu.
This is a much better implementation than the previous usage of reflection.
5203332
to
c8ef126
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
b2ab3a3
to
7803cf8
Compare
@MoFtZ hm, I don't seem to be able to reproduce unit test failures locally. Besides, before the copyright year change they were passing??? |
This replaces specific GenericMath support introduced in 7bf5578 ( m4rs-mt#898 ) with generic support for static abstract interface members. Support is implemented using the constrained flag on the call instruction the same way it used to be done on virtual method calls. The call instruction with constrained flag set contains concrete type, that implements given interface, which makes it possible to find concrete method implementation to be called. fixes m4rs-mt#929
7803cf8
to
1daae30
Compare
Updated with the latest |
Thanks a lot for you work on this issue 👍 ! |
This replaces specific generic math support introduced in 7bf5578 ( #898 ) with generic support for static abstract interface members.
Support is implemented using the constrained flag on the call instruction the same way it used to be done on virtual method calls. The call instruction with constrained flag set contains concrete type, that implements given interface, which makes it possible to find concrete method implementation to be called.
fixes #929