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

Support for Call Hierarchy #508

Closed
gorkem opened this issue Dec 24, 2017 · 11 comments · Fixed by #1306
Closed

Support for Call Hierarchy #508

gorkem opened this issue Dec 24, 2017 · 11 comments · Fixed by #1306

Comments

@gorkem
Copy link
Contributor

gorkem commented Dec 24, 2017

Add support for call hierarchies

@kittaakos
Copy link

I am volunteering for this.

The LSP part has been proposed via microsoft/vscode-languageserver-node#420.
I will also take care of the LSP4J implementation.

If this task is not yet taken, please assign to me. Thank you!

@fbricon
Copy link
Contributor

fbricon commented Jan 22, 2019

@kittaakos sounds great! Seems I can't assign it to you, but feel free to start working on it

@kittaakos
Copy link

kittaakos commented Jan 24, 2019

@fbricon, the org.eclipse.jdt.internal.corext.callhierarchy.CallHierarchy class is in jdt.ui. Would it be sufficient to copy the UI classes into JDT LS for now and do the jdt.core.manipulation migration in a separate PR. Thank you!

kittaakos pushed a commit to kittaakos/eclipse.jdt.ls that referenced this issue Jan 28, 2019
kittaakos pushed a commit to kittaakos/eclipse.jdt.ls that referenced this issue Jan 28, 2019
…rPlugin`.

Also, reused the `StringMatcher` from the CA instead of `jdt.ui.util`.

Signed-off-by: Akos Kitta <[email protected]>
kittaakos pushed a commit to kittaakos/eclipse.jdt.ls that referenced this issue Jan 28, 2019
kittaakos pushed a commit to kittaakos/eclipse.jdt.ls that referenced this issue Jan 28, 2019
@kittaakos
Copy link

Would it be sufficient to copy the UI classes into JDT LS for now

I've created a PR for this task. After copying the JDT UI code to the LS, I had to adjust the source in two relatively easy steps: c7ea1da, 33b0a71. (The rest is the actual implementation.) I would like to know how to proceed with the org.eclipse.jdt.internal.corext.callhierarchy package.

@fbricon
Copy link
Contributor

fbricon commented Jan 28, 2019

@jjohnstn @rgrunber how long before we could get those copied classes refactored to jdt.core?

@jjohnstn
Copy link
Contributor

It should be straightforward. Let me work on a patch.

kittaakos pushed a commit to kittaakos/eclipse.jdt.ls that referenced this issue Jan 29, 2019
kittaakos pushed a commit to kittaakos/eclipse.jdt.ls that referenced this issue Jan 29, 2019
@kittaakos
Copy link

Let me work on a patch.

Please note, I had to change the CallHierarchy.DEFAULT_IGNORE_FILTERS pattern from java.*,javax.* to an empty string. (Here is the change.) Please leave the default value as an empty string in the core or make it mutable. Thank you!

@jjohnstn
Copy link
Contributor

jjohnstn commented Feb 1, 2019

Patch submitted for review: https://git.eclipse.org/r/#/c/136044/

@Yanpas
Copy link

Yanpas commented Feb 1, 2019

I participate in ccls development, call and inheritance hierarchy code may be easily reused in vscode extension:
https://github.com/MaskRay/vscode-ccls/tree/master/src/hierarchies

@kittaakos
Copy link

I participate in ccls development, call and inheritance hierarchy code may be easily reused in vscode extension:
https://github.com/MaskRay/vscode-ccls/tree/master/src/hierarchies

@Yanpas, can you please give us some hints on how to reuse the extension? I would be interested in trying the LS feature in VS Code. Thank you!

@Yanpas
Copy link

Yanpas commented Feb 8, 2019

There is an abstract class for all kind of hierarchies (Hierarchy in hierarchy.ts) and it's implementations. What it does is it's hides/reveals hierarchy pane in explorer window via "context" variables, awaits for requests to language server and creates TreeItems. I don't know the internals of java ls, so not sure if it is dropin replacement (e.g. ccls uses subtree requests).

It is created in serverContext (instance of this class has the same lifetime as language server) and registered in registerTreeDataProvide.

testforstephen pushed a commit to testforstephen/eclipse.jdt.ls that referenced this issue Dec 13, 2019
testforstephen pushed a commit to testforstephen/eclipse.jdt.ls that referenced this issue Dec 13, 2019
…rPlugin`.

Also, reused the `StringMatcher` from the CA instead of `jdt.ui.util`.

Signed-off-by: Akos Kitta <[email protected]>
testforstephen pushed a commit to testforstephen/eclipse.jdt.ls that referenced this issue Dec 13, 2019
testforstephen pushed a commit to testforstephen/eclipse.jdt.ls that referenced this issue Dec 13, 2019
testforstephen added a commit to testforstephen/eclipse.jdt.ls that referenced this issue Dec 13, 2019
testforstephen added a commit to testforstephen/eclipse.jdt.ls that referenced this issue Dec 13, 2019
testforstephen added a commit to testforstephen/eclipse.jdt.ls that referenced this issue Dec 16, 2019
testforstephen added a commit to testforstephen/eclipse.jdt.ls that referenced this issue Dec 18, 2019
testforstephen pushed a commit to testforstephen/eclipse.jdt.ls that referenced this issue Dec 18, 2019
testforstephen pushed a commit to testforstephen/eclipse.jdt.ls that referenced this issue Dec 18, 2019
…rPlugin`.

Also, reused the `StringMatcher` from the CA instead of `jdt.ui.util`.

Signed-off-by: Akos Kitta <[email protected]>
testforstephen pushed a commit to testforstephen/eclipse.jdt.ls that referenced this issue Dec 18, 2019
testforstephen pushed a commit to testforstephen/eclipse.jdt.ls that referenced this issue Dec 18, 2019
testforstephen added a commit to testforstephen/eclipse.jdt.ls that referenced this issue Dec 18, 2019
testforstephen added a commit to testforstephen/eclipse.jdt.ls that referenced this issue Dec 18, 2019
testforstephen added a commit to testforstephen/eclipse.jdt.ls that referenced this issue Dec 18, 2019
testforstephen added a commit to testforstephen/eclipse.jdt.ls that referenced this issue Dec 18, 2019
fbricon pushed a commit that referenced this issue Dec 18, 2019
fbricon pushed a commit that referenced this issue Dec 18, 2019
Also, reused the `StringMatcher` from the CA instead of `jdt.ui.util`.

Signed-off-by: Akos Kitta <[email protected]>
fbricon pushed a commit that referenced this issue Dec 18, 2019
fbricon pushed a commit that referenced this issue Dec 18, 2019
fbricon pushed a commit that referenced this issue Dec 18, 2019
fbricon pushed a commit that referenced this issue Dec 18, 2019
fbricon pushed a commit that referenced this issue Dec 18, 2019
@fbricon fbricon added this to the Mid December 2019 milestone Dec 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants