diff --git a/src/main/java/io/github/linwancen/plugin/show/doc/JsonDocUtils.java b/src/main/java/io/github/linwancen/plugin/show/doc/JsonDocUtils.java index 7a6861f..a2c4377 100644 --- a/src/main/java/io/github/linwancen/plugin/show/doc/JsonDocUtils.java +++ b/src/main/java/io/github/linwancen/plugin/show/doc/JsonDocUtils.java @@ -43,7 +43,7 @@ public class JsonDocUtils { for (PsiClass psiClass : psiClasses) { PsiField psiField = psiClass.findFieldByName(name, true); if (psiField == null) { - return null; + continue; } if (level == 0) { return DocUtils.srcOrByteCodeDoc(psiField); @@ -60,6 +60,11 @@ public class JsonDocUtils { @NotNull private static String toClassFullName(PsiField psiField) { + // <> only in .java + PsiElement navElement = psiField.getNavigationElement(); + if (navElement instanceof PsiField) { + psiField = (PsiField) navElement; + } PsiTypeElement typeElement = psiField.getTypeElement(); if (typeElement != null) { PsiJavaCodeReferenceElement code = typeElement.getInnermostComponentReferenceElement(); diff --git a/src/test/java/io/github/linwancen/plugin/show/demo/java/InDoc.java b/src/test/java/io/github/linwancen/plugin/show/demo/java/InDoc.java index e7136fd..ddbcf7d 100644 --- a/src/test/java/io/github/linwancen/plugin/show/demo/java/InDoc.java +++ b/src/test/java/io/github/linwancen/plugin/show/demo/java/InDoc.java @@ -14,11 +14,11 @@ public class InDoc { /** field */ public String field; - /** method() */ + /** method1() */ public void method1() { } - /** method(InDoc) */ + /** method2(InDoc) */ public void method2(InDoc inDoc) { } } diff --git a/src/test/java/io/github/linwancen/plugin/show/demo/java/obj/Pojo.java b/src/test/java/io/github/linwancen/plugin/show/demo/java/obj/Pojo.java new file mode 100644 index 0000000..9c8051f --- /dev/null +++ b/src/test/java/io/github/linwancen/plugin/show/demo/java/obj/Pojo.java @@ -0,0 +1,23 @@ +package io.github.linwancen.plugin.show.demo.java.obj; + +import java.util.Date; +import java.util.List; + +/** not doc */ +public class Pojo { + private int integer; + private String str; + private Date date; + private boolean bool; + private NestedClass nestedClass; + private NestedClass[] nestedClassArr; + private List nestedClassList; + + public static class NestedClass { + private NestedClass2 nestedClass2; + + public static class NestedClass2 { + private String a; + } + } +} diff --git a/src/test/java/io/github/linwancen/plugin/show/demo/json/nested Pojo.json b/src/test/java/io/github/linwancen/plugin/show/demo/json/nested Pojo.json index 0755524..b75e80d 100644 --- a/src/test/java/io/github/linwancen/plugin/show/demo/json/nested Pojo.json +++ b/src/test/java/io/github/linwancen/plugin/show/demo/json/nested Pojo.json @@ -1,14 +1,8 @@ { - "nestedClassList": [ - { - "nestedClass2": { - "a": "" - } - }, + "nestedClass": { "nestedClass2": { "a": "" } } - ] } \ No newline at end of file