static via instance: hide parameters/classes qualified names (IDEA-168084)

This commit is contained in:
Anna.Kozlova
2017-02-13 19:28:12 +01:00
parent 9614dc9c1b
commit de1520695c
4 changed files with 11 additions and 9 deletions

View File

@@ -30,10 +30,7 @@ import com.intellij.openapi.editor.colors.EditorColorsManager;
import com.intellij.openapi.editor.markup.TextAttributes;
import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
import com.intellij.psi.util.PsiExpressionTrimRenderer;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.util.PsiUtil;
import com.intellij.psi.util.PsiUtilCore;
import com.intellij.psi.util.*;
import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -63,8 +60,8 @@ public class AccessStaticViaInstanceFix extends LocalQuickFixAndIntentionActionO
PsiClass aClass = member.getContainingClass();
if (aClass == null) return "";
return QuickFixBundle.message("access.static.via.class.reference.text",
HighlightMessageUtil.getSymbolName(member, substitutor),
HighlightUtil.formatClass(aClass),
HighlightMessageUtil.getSymbolName(member, substitutor, PsiFormatUtilBase.SHOW_TYPE),
HighlightUtil.formatClass(aClass, false),
HighlightUtil.formatClass(aClass, false));
}

View File

@@ -27,6 +27,11 @@ public class HighlightMessageUtil {
@Nullable
public static String getSymbolName(@NotNull PsiElement symbol, PsiSubstitutor substitutor) {
return getSymbolName(symbol, substitutor, PsiFormatUtilBase.SHOW_TYPE | PsiFormatUtilBase.SHOW_FQ_CLASS_NAMES | PsiFormatUtilBase.USE_INTERNAL_CANONICAL_TEXT);
}
@Nullable
public static String getSymbolName(@NotNull PsiElement symbol, PsiSubstitutor substitutor, final int parameterOptions) {
String symbolName = null;
if (symbol instanceof PsiClass) {
@@ -43,7 +48,7 @@ public class HighlightMessageUtil {
else if (symbol instanceof PsiMethod) {
symbolName = PsiFormatUtil.formatMethod((PsiMethod)symbol,
substitutor, PsiFormatUtilBase.SHOW_NAME | PsiFormatUtilBase.SHOW_PARAMETERS,
PsiFormatUtilBase.SHOW_TYPE | PsiFormatUtilBase.SHOW_FQ_CLASS_NAMES | PsiFormatUtilBase.USE_INTERNAL_CANONICAL_TEXT);
parameterOptions);
}
else if (symbol instanceof PsiVariable) {
symbolName = ((PsiVariable)symbol).getName();

View File

@@ -1,4 +1,4 @@
// "Access static 'AClass.R.rr' via class 'R' reference" "true"
// "Access static 'R.rr' via class 'R' reference" "true"
class AClass
{

View File

@@ -1,4 +1,4 @@
// "Access static 'AClass.R.rr' via class 'R' reference" "true"
// "Access static 'R.rr' via class 'R' reference" "true"
class AClass
{