From d388c355cd85b31c1537560fac4aa1c13752439c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=87=E7=A8=8B?= <1498425439@qq.com> Date: Sun, 26 Jun 2022 11:32:42 +0800 Subject: [PATCH] =?UTF-8?q?show=20supper=20doc=20at=20right=20of=20@Overri?= =?UTF-8?q?de=20|=20=E5=9C=A8=20@Override=20=E5=8F=B3=E8=BE=B9=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E7=88=B6=E6=96=B9=E6=B3=95=E7=9A=84=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=20Fixed=20#3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../linwancen/plugin/show/doc/OwnerToPsiDocUtils.java | 5 +++++ .../linwancen/plugin/show/doc/PsiMethodToPsiDoc.java | 2 +- .../linwancen/plugin/show/line/NewCallRefToPsiDoc.java | 8 ++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/github/linwancen/plugin/show/doc/OwnerToPsiDocUtils.java b/src/main/java/io/github/linwancen/plugin/show/doc/OwnerToPsiDocUtils.java index 82d6a48..c4f19a0 100644 --- a/src/main/java/io/github/linwancen/plugin/show/doc/OwnerToPsiDocUtils.java +++ b/src/main/java/io/github/linwancen/plugin/show/doc/OwnerToPsiDocUtils.java @@ -25,6 +25,11 @@ public class OwnerToPsiDocUtils { return PsiMethodToPsiDoc.methodSupperNewPropDoc(psiMethod); } + @Nullable + public static PsiDocComment supperMethodDoc(PsiMethod psiMethod) { + return PsiMethodToPsiDoc.supperMethodDoc(psiMethod); + } + @Nullable public static PsiDocComment packageDoc(@Nullable PsiPackage psiPackage) { if (psiPackage == null) { diff --git a/src/main/java/io/github/linwancen/plugin/show/doc/PsiMethodToPsiDoc.java b/src/main/java/io/github/linwancen/plugin/show/doc/PsiMethodToPsiDoc.java index 1d883fd..c21fcab 100644 --- a/src/main/java/io/github/linwancen/plugin/show/doc/PsiMethodToPsiDoc.java +++ b/src/main/java/io/github/linwancen/plugin/show/doc/PsiMethodToPsiDoc.java @@ -46,7 +46,7 @@ class PsiMethodToPsiDoc { } @Nullable - private static PsiDocComment supperMethodDoc(PsiMethod psiMethod) { + static PsiDocComment supperMethodDoc(PsiMethod psiMethod) { PsiMethod[] superMethods = psiMethod.findSuperMethods(); for (PsiMethod superMethod : superMethods) { PsiDocComment superDoc = OwnerToPsiDocUtils.methodDoc(superMethod); diff --git a/src/main/java/io/github/linwancen/plugin/show/line/NewCallRefToPsiDoc.java b/src/main/java/io/github/linwancen/plugin/show/line/NewCallRefToPsiDoc.java index 42b67ab..babd911 100644 --- a/src/main/java/io/github/linwancen/plugin/show/line/NewCallRefToPsiDoc.java +++ b/src/main/java/io/github/linwancen/plugin/show/line/NewCallRefToPsiDoc.java @@ -4,7 +4,9 @@ import com.intellij.psi.*; import com.intellij.psi.impl.source.javadoc.PsiDocMethodOrFieldRef; import com.intellij.psi.javadoc.PsiDocComment; import com.intellij.psi.util.PsiTreeUtil; +import io.github.linwancen.plugin.show.doc.OwnerToPsiDocUtils; import io.github.linwancen.plugin.show.settings.AppSettingsState; +import io.github.linwancen.plugin.show.settings.ProjectSettingsState; import org.jetbrains.annotations.Nullable; /** @@ -18,6 +20,12 @@ class NewCallRefToPsiDoc { static PsiDocComment elementDoc(PsiElement element, PsiElement psiIdentifier, int startOffset, int endOffset) { AppSettingsState instance = AppSettingsState.getInstance(); + if (psiIdentifier != null && "Override".equals(psiIdentifier.getText())) { + ProjectSettingsState projectSettings = ProjectSettingsState.getInstance(psiIdentifier.getProject()); + PsiMethod psiMethod = PsiTreeUtil.getParentOfType(psiIdentifier, PsiMethod.class); + PsiDocComment docComment = OwnerToPsiDocUtils.supperMethodDoc(psiMethod); + return SkipUtils.skipDoc(docComment, instance, projectSettings); + } if (element != null) { PsiDocComment elementDoc = elementDoc(element, startOffset, endOffset, instance); if (elementDoc != null) {