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

Fix generic method instantiation #46

Open
wants to merge 3 commits into
base: metadata-provider
Choose a base branch
from

Conversation

fcurdi
Copy link

@fcurdi fcurdi commented Aug 22, 2020

When obtaining an instantiated generic method reference, a method (M1) is obtained from a MethodSpecificationHandle and then instantiated using the instantiate() method present in the model. The issue is that the M1 might have not been extracted/processed yet, so when that happens a method that is not complete is used instead (i.e with some null fields). The instantiate() method uses M1 fields, which some of them are null, and set them to the new Instantiated method. Since this are fields, when M1 is actually processed and updated this does not translate to the instantiated method.

A proxy is used instead to link the instantiation to M1 so when this last one is processed, the instantiation is updated as well.

This depends on #44.

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.

1 participant