@@ -59,7 +59,7 @@ public class JsonJumpJava extends PsiReferenceContributor {
|
||||
@NotNull Project project = element.getProject();
|
||||
@NotNull List<PsiField> psiFields = new ArrayList<>();
|
||||
@NotNull List<PsiField> tips = new ArrayList<>();
|
||||
@NotNull PsiClass[] psiClasses = PsiClassUtils.encClass(virtualFile, project);
|
||||
@NotNull PsiClass[] psiClasses = PsiClassUtils.fileToClasses(virtualFile, project);
|
||||
@NotNull List<String> jsonPath = jsonPath(jsonProp);
|
||||
put(project, psiFields, tips, psiClasses, jsonPath, jsonPath.size() - 1);
|
||||
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
package io.github.linwancen.plugin.show.java.doc;
|
||||
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiClassOwner;
|
||||
import com.intellij.psi.PsiDirectory;
|
||||
import com.intellij.psi.PsiDocCommentOwner;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiPackage;
|
||||
import com.intellij.psi.javadoc.PsiDocComment;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -59,7 +65,7 @@ public class OwnerToPsiDocUtils {
|
||||
// for "xxx ClassName.xxx"
|
||||
if (psiClasses.length == 0) {
|
||||
VirtualFile virtualFile = psiFile.getVirtualFile();
|
||||
psiClasses = PsiClassUtils.encClass(virtualFile, psiFile.getProject());
|
||||
psiClasses = PsiClassUtils.fileToClasses(virtualFile, psiFile.getProject());
|
||||
}
|
||||
for (@NotNull PsiClass psiClass : psiClasses) {
|
||||
@Nullable PsiDocComment docComment = srcOrByteCodeDoc(psiClass);
|
||||
|
||||
@@ -20,8 +20,12 @@ public class PsiClassUtils {
|
||||
private static final Pattern JSON_PATTERN = Pattern.compile("[\\w.]*+$");
|
||||
|
||||
@NotNull
|
||||
public static PsiClass[] encClass(@NotNull VirtualFile virtualFile, @NotNull Project project) {
|
||||
public static PsiClass[] fileToClasses(@NotNull VirtualFile virtualFile, @NotNull Project project) {
|
||||
@NotNull String fileName = virtualFile.getNameWithoutExtension();
|
||||
@Nullable String ext = virtualFile.getExtension();
|
||||
if (ext == null || (!ext.startsWith("json") && !ext.equals("xml"))) {
|
||||
return PsiClass.EMPTY_ARRAY;
|
||||
}
|
||||
@NotNull Matcher matcher = JSON_PATTERN.matcher(fileName);
|
||||
if (!matcher.find()) {
|
||||
return PsiClass.EMPTY_ARRAY;
|
||||
@@ -35,7 +39,7 @@ public class PsiClassUtils {
|
||||
return psiClasses;
|
||||
}
|
||||
// issue #23
|
||||
if (virtualFile.getExtension() == null || className.length() != fileName.length()) {
|
||||
if (className.length() != fileName.length()) {
|
||||
return PsiClass.EMPTY_ARRAY;
|
||||
}
|
||||
@NotNull char[] chars = fileName.toCharArray();
|
||||
|
||||
Reference in New Issue
Block a user