From 3f2ead834938de24f6621040ad664d069b52d85d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=87=E7=A8=8B?= <1498425439@qq.com> Date: Fri, 12 Jan 2024 21:50:32 +0800 Subject: [PATCH] refactor(JavaLangDoc): move paramDoc method to a Class --- .../plugin/show/java/JavaLangDoc.java | 27 +------------- .../plugin/show/java/doc/ParamDoc.java | 37 +++++++++++++++++++ 2 files changed, 39 insertions(+), 25 deletions(-) create mode 100644 src/main/idea/io/github/linwancen/plugin/show/java/doc/ParamDoc.java diff --git a/src/main/idea/io/github/linwancen/plugin/show/java/JavaLangDoc.java b/src/main/idea/io/github/linwancen/plugin/show/java/JavaLangDoc.java index bf7b453..7b7fa58 100644 --- a/src/main/idea/io/github/linwancen/plugin/show/java/JavaLangDoc.java +++ b/src/main/idea/io/github/linwancen/plugin/show/java/JavaLangDoc.java @@ -10,6 +10,7 @@ import io.github.linwancen.plugin.show.bean.LineInfo; import io.github.linwancen.plugin.show.bean.SettingsInfo; import io.github.linwancen.plugin.show.java.doc.EnumDoc; import io.github.linwancen.plugin.show.java.doc.OwnerToPsiDocUtils; +import io.github.linwancen.plugin.show.java.doc.ParamDoc; import io.github.linwancen.plugin.show.java.doc.PsiMethodToPsiDoc; import io.github.linwancen.plugin.show.java.line.OwnerToPsiDocSkip; import io.github.linwancen.plugin.show.lang.base.BaseTagLangDoc; @@ -83,7 +84,7 @@ public class JavaLangDoc extends BaseTagLangDoc { } } if (info.appSettings.fromParam && resolve instanceof PsiParameter) { - return paramDoc((PsiParameter) resolve); + return ParamDoc.paramDoc((PsiParameter) resolve); } if (info.appSettings.enumDoc && resolve instanceof PsiEnumConstant) { return EnumDoc.enumDoc((PsiEnumConstant) resolve); @@ -96,30 +97,6 @@ public class JavaLangDoc extends BaseTagLangDoc { return info.appSettings.showLineEndCommentJavaBase; } - @Nullable - private String paramDoc(@NotNull PsiParameter psiParameter) { - @Nullable PsiMethod method = PsiTreeUtil.getParentOfType(psiParameter, PsiMethod.class); - if (method == null) { - return null; - } - @Nullable PsiDocComment psiDocComment = OwnerToPsiDocUtils.methodDoc(method); - if (psiDocComment == null) { - return null; - } - @NotNull String name = psiParameter.getName(); - @NotNull PsiDocTag[] params = psiDocComment.findTagsByName("param"); - for (@NotNull PsiDocTag param : params) { - @Nullable PsiDocTagValue value = param.getValueElement(); - if (value != null && name.equals(value.getText())) { - @NotNull PsiElement[] dataElements = param.getDataElements(); - if (dataElements.length > 1) { - return dataElements[1].getText(); - } - } - } - return null; - } - @Nullable @Override protected PsiDocComment toDocElement(@NotNull T info, diff --git a/src/main/idea/io/github/linwancen/plugin/show/java/doc/ParamDoc.java b/src/main/idea/io/github/linwancen/plugin/show/java/doc/ParamDoc.java new file mode 100644 index 0000000..a2904ca --- /dev/null +++ b/src/main/idea/io/github/linwancen/plugin/show/java/doc/ParamDoc.java @@ -0,0 +1,37 @@ +package io.github.linwancen.plugin.show.java.doc; + +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiMethod; +import com.intellij.psi.PsiParameter; +import com.intellij.psi.javadoc.PsiDocComment; +import com.intellij.psi.javadoc.PsiDocTag; +import com.intellij.psi.javadoc.PsiDocTagValue; +import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public class ParamDoc { + @Nullable + public static String paramDoc(@NotNull PsiParameter psiParameter) { + @Nullable PsiMethod method = PsiTreeUtil.getParentOfType(psiParameter, PsiMethod.class); + if (method == null) { + return null; + } + @Nullable PsiDocComment psiDocComment = OwnerToPsiDocUtils.methodDoc(method); + if (psiDocComment == null) { + return null; + } + @NotNull String name = psiParameter.getName(); + @NotNull PsiDocTag[] params = psiDocComment.findTagsByName("param"); + for (@NotNull PsiDocTag param : params) { + @Nullable PsiDocTagValue value = param.getValueElement(); + if (value != null && name.equals(value.getText())) { + @NotNull PsiElement[] dataElements = param.getDataElements(); + if (dataElements.length > 1) { + return dataElements[1].getText(); + } + } + } + return null; + } +}