update:support overload declaration reference#270
Open
luoliwoshang wants to merge 5 commits intogoplus:goplusfrom
Open
update:support overload declaration reference#270luoliwoshang wants to merge 5 commits intogoplus:goplusfrom
luoliwoshang wants to merge 5 commits intogoplus:goplusfrom
Conversation
c05339a to
9187f85
Compare
11c9d16 to
107171f
Compare
f310120 to
1daaeb5
Compare
visualfc
reviewed
May 7, 2024
ffe6f59 to
cdfc8e7
Compare
cdfc8e7 to
cc48b75
Compare
cc48b75 to
f8d733d
Compare
5394f53 to
077305d
Compare
42a81cf to
0ddf32a
Compare
Member
Author
|
support fine overload decl cross package reference in 0ddf32a |
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
#269
support
Implementation details:
https://m1utligoytg.feishu.cn/wiki/QSzVwgWGaiwF6Ak8kL1cNc5mn6d?from=from_copylink
Support for overload function find references
Option 1
Multiple overloaded functions corresponding to use ident are stored in the TypeInfo of Go+, so in the search of reference, it is determined whether the type corresponding to the Ident calling the overloaded function is a function type of the overloaded function. If it is one of the overloaded functions, then according to the name of the overloaded function, the declaration of the overloaded function is obtained and replaced with the object compared with target, that is, the overloaded function corresponding to the overloaded declaration can be found.
Defect
TypeInfo does not directly store the types declared by Overload functions corresponding to Ident, but stores multiple overloaded function members corresponding to Ident, resulting in redundant logic
Improve
Modify the typesutil.Overloads from multiple overloaded members corresponding to Ident to the corresponding overloaded declaration, and provide a function to obtain the actual overloaded member function corresponding to the Ident