From 2ec3f432a362b23193501e0e85235fd11ceb45d0 Mon Sep 17 00:00:00 2001 From: lkqm Date: Wed, 27 Sep 2023 13:57:33 +0800 Subject: [PATCH] build: release version v1.1.4 --- build.gradle | 2 +- .../java/io/apidocx/config/ApidocxSettingsForm.form | 9 +++++++-- src/main/java/io/apidocx/parse/ApiParser.java | 13 ++++++++++++- src/main/resources/META-INF/plugin.xml | 4 ++++ 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index d897c37..e96996b 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } group 'com.github.jetplugins' -version '1.1.3' +version '1.1.4' java.sourceCompatibility = 1.8 java.targetCompatibility = 1.8 diff --git a/src/main/java/io/apidocx/config/ApidocxSettingsForm.form b/src/main/java/io/apidocx/config/ApidocxSettingsForm.form index ff5fb69..289572e 100644 --- a/src/main/java/io/apidocx/config/ApidocxSettingsForm.form +++ b/src/main/java/io/apidocx/config/ApidocxSettingsForm.form @@ -1,9 +1,9 @@
- + - + @@ -109,6 +109,11 @@ + + + + + diff --git a/src/main/java/io/apidocx/parse/ApiParser.java b/src/main/java/io/apidocx/parse/ApiParser.java index ca72d34..51a565f 100644 --- a/src/main/java/io/apidocx/parse/ApiParser.java +++ b/src/main/java/io/apidocx/parse/ApiParser.java @@ -10,6 +10,8 @@ import com.intellij.psi.PsiMethod; import com.intellij.psi.PsiModifier; import com.intellij.psi.PsiModifierList; +import com.intellij.psi.search.searches.SuperMethodsSearch; +import com.intellij.psi.util.MethodSignatureBackedByPsiMethod; import io.apidocx.config.ApidocxConfig; import io.apidocx.model.Api; import io.apidocx.parse.constant.SpringConstants; @@ -81,7 +83,16 @@ public ClassApiData parse(PsiClass psiClass) { */ public MethodApiData parse(PsiMethod method) { PsiClass psiClass = method.getContainingClass(); - return doParseMethod(method, doParseClassLevelApiInfo(psiClass)); + MethodApiData methodApiData = doParseMethod(method, doParseClassLevelApiInfo(psiClass)); + if (!methodApiData.isValid()) { + // 处理父类方法:接口方法和实现分离情况 + MethodSignatureBackedByPsiMethod superMethodSignature = SuperMethodsSearch.search(method, psiClass, true, false).findFirst(); + if (superMethodSignature != null) { + method = superMethodSignature.getMethod(); + } + methodApiData = doParseMethod(method, doParseClassLevelApiInfo(psiClass)); + } + return methodApiData; } /** diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index f80b029..637efcd 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -73,6 +73,10 @@ + - feat: 支持配置复制cURL的主机路径
+ - fix: 修复配置文件类型检测可能导致索引过程卡死
+
1.1.3:
- fix: 修复解析getter方法导致大量解析提示
- feat: 支持swagger3.0部分功能