From 0ebf080a5624f3d8c022512eec1bf1ce472b2a64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=87=E7=A8=8B?= <1498425439@qq.com> Date: Tue, 16 Jan 2024 22:00:54 +0800 Subject: [PATCH] fix(ResolveDoc): docElement.getTextRange() NPE --- .../linwancen/plugin/show/lang/base/ResolveDoc.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/github/linwancen/plugin/show/lang/base/ResolveDoc.java b/src/main/java/io/github/linwancen/plugin/show/lang/base/ResolveDoc.java index 83b46fc..4318928 100644 --- a/src/main/java/io/github/linwancen/plugin/show/lang/base/ResolveDoc.java +++ b/src/main/java/io/github/linwancen/plugin/show/lang/base/ResolveDoc.java @@ -1,6 +1,7 @@ package io.github.linwancen.plugin.show.lang.base; import com.intellij.openapi.editor.Document; +import com.intellij.openapi.util.TextRange; import com.intellij.psi.FileViewProvider; import com.intellij.psi.PsiComment; import com.intellij.psi.PsiElement; @@ -23,7 +24,11 @@ public class ResolveDoc { if (document == null) { return null; } - int endOffset = resolve.getTextRange().getEndOffset(); + @Nullable TextRange resolveRange = resolve.getTextRange(); + if (resolveRange == null) { + return null; + } + int endOffset = resolveRange.getEndOffset(); int lineNumber; int resolveEndOffset; try { @@ -41,7 +46,11 @@ public class ResolveDoc { if (!(docElement instanceof PsiComment)) { return null; } - int docEnd = docElement.getTextRange().getEndOffset(); + @Nullable TextRange docRange = docElement.getTextRange(); + if (docRange == null) { + return null; + } + int docEnd = docRange.getEndOffset(); int docLineNumber = document.getLineNumber(docEnd); if (lineNumber != docLineNumber) { return null;