LVTI: provide quick documentation with type info for var types

This commit is contained in:
Anna.Kozlova
2017-10-02 11:52:51 +02:00
parent c19a31198e
commit bceb7a9a1c
2 changed files with 28 additions and 0 deletions
@@ -0,0 +1,27 @@
// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.codeInsight.navigation.actions;
import com.intellij.openapi.editor.Editor;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiIdentifier;
import com.intellij.psi.PsiTypeElement;
import com.intellij.psi.PsiVariable;
import org.jetbrains.annotations.Nullable;
public class GotoVarTypeHandler extends GotoDeclarationHandlerBase {
@Override
@Nullable
public PsiElement getGotoDeclarationTarget(@Nullable PsiElement elementAt, Editor editor) {
if (elementAt instanceof PsiIdentifier) {
PsiElement parent = elementAt.getParent();
if (parent instanceof PsiVariable) {
PsiTypeElement typeElement = ((PsiVariable)parent).getTypeElement();
if (typeElement != null && typeElement.isInferredType()) {
return parent;
}
}
}
return null;
}
}
+1
View File
@@ -1952,6 +1952,7 @@
<annotator language="SPI" implementationClass="com.intellij.spi.SPIAnnotator"/>
<gotoDeclarationHandler implementation="com.intellij.codeInsight.navigation.actions.GotoLambdaParameterHandler"/>
<gotoDeclarationHandler implementation="com.intellij.codeInsight.navigation.actions.GotoVarTypeHandler"/>
<completion.contributor language="JAVA" id="methodsChainsCompletionContributor" order="first"
implementationClass="com.intellij.compiler.chainsSearch.completion.MethodChainCompletionContributor"/>