PT #160596363: Fixes for live hints and navigation for multi-projects

Initial work: highlights fixed, source links bean

SourceLinks bean uses project finder

Project finder all projects. Source entries for dependency projects.

Properly support peer projects for fall back Gradle projects

Update code minings for e4.9
This commit is contained in:
BoykoAlex
2019-01-17 19:01:04 -05:00
parent a115b736e4
commit 0681baa876
58 changed files with 710 additions and 312 deletions

View File

@@ -182,7 +182,8 @@ public class STS4LanguageClientImpl extends LanguageClientImpl implements STS4La
method.setAccessible(true);
method.invoke(sourceViewer);
} catch (InvocationTargetException | NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException e) {
LanguageServerCommonsActivator.logError(e, "");
// don't log the exception
((ISourceViewerExtension5) sourceViewer).updateCodeMinings();
}
} else {
((ISourceViewerExtension5) sourceViewer).updateCodeMinings();
@@ -312,7 +313,7 @@ public class STS4LanguageClientImpl extends LanguageClientImpl implements STS4La
JavadocResponse response = new JavadocResponse();
try {
String content = JavadocUtils.javadoc(JavaDoc2MarkdownConverter::getMarkdownContentReader,
URI.create(params.getProjectUri()), params.getBindingKey());
URI.create(params.getProjectUri()), params.getBindingKey(), JavaDataParams.isLookInOtherProjects(params));
response.setContent(content);
} catch (Exception e) {
LanguageServerCommonsActivator.logError(e, "Failed getting javadoc for " + params.toString());
@@ -347,7 +348,7 @@ public class STS4LanguageClientImpl extends LanguageClientImpl implements STS4La
@Override
public CompletableFuture<JavaTypeResponse> javaType(JavaDataParams params) {
JavaTypeResponse response = new JavaTypeResponse(JAVA_DATA.typeData(params.getProjectUri(), params.getBindingKey()));
JavaTypeResponse response = new JavaTypeResponse(JAVA_DATA.typeData(params.getProjectUri(), params.getBindingKey(), JavaDataParams.isLookInOtherProjects(params)));
return CompletableFuture.completedFuture(response);
}
@@ -355,7 +356,7 @@ public class STS4LanguageClientImpl extends LanguageClientImpl implements STS4La
public CompletableFuture<JavadocHoverLinkResponse> javadocHoverLink(JavaDataParams params) {
JavadocHoverLinkResponse response = new JavadocHoverLinkResponse(null);
try {
IJavaElement element = JavaData.findElement(URI.create(params.getProjectUri()), params.getBindingKey());
IJavaElement element = JavaData.findElement(URI.create(params.getProjectUri()), params.getBindingKey(), JavaDataParams.isLookInOtherProjects(params));
if (element != null) {
response.setLink(JavaElementLinks.createURI(JavaElementLinks.OPEN_LINK_SCHEME, element));
}