Skip to content
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

Use standard invocation type for class proxy methods w/o target #625

Conversation

stakx
Copy link
Member

@stakx stakx commented May 20, 2022

This follows in the footsteps of #573, where we introduced a standard IInvocation implementation type and re-used it for all methods of interface proxies without target. This present PR does the same for abstract methods of class proxies without target: those would always get a custom-built invocation type with identical InvokeMethodOnTarget implementations; so they, too, are eligible for invocation type reuse.

The tests cover all combinations of (a) abstract vs. virtual, (b) public vs. protected, and (c) generic vs. non-generic method:

@stakx stakx force-pushed the refactor/class-method-without-target-invocation branch 2 times, most recently from 665e8d9 to 072a6e6 Compare May 20, 2022 13:46
@stakx stakx force-pushed the refactor/class-method-without-target-invocation branch from 072a6e6 to 9c23252 Compare May 20, 2022 18:23
@stakx stakx closed this May 20, 2022
@stakx stakx deleted the refactor/class-method-without-target-invocation branch May 20, 2022 18:24
@stakx
Copy link
Member Author

stakx commented May 20, 2022

Oops, GitHub automatically closed this PR when I renamed my branch. Will reopen the PR. Sorry about that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant