mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[javadoc] Add interfaces for fragment reference PSI elements
IJ-MR-174748 GitOrigin-RevId: 0db4a62e4216d01f52e49dfbe68f94654709c097
This commit is contained in:
committed by
intellij-monorepo-bot
parent
c6cc5e8224
commit
3cf7c13a11
+2
-2
@@ -21,9 +21,9 @@ import com.intellij.packageDependencies.DependencyValidationManager;
|
||||
import com.intellij.packageDependencies.DependencyValidationManagerImpl;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.light.LightRecordField;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiDocFragmentName;
|
||||
import com.intellij.psi.impl.source.tree.ElementType;
|
||||
import com.intellij.psi.impl.source.tree.TreeUtil;
|
||||
import com.intellij.psi.javadoc.PsiDocFragmentName;
|
||||
import com.intellij.psi.search.scope.packageSet.NamedScope;
|
||||
import com.intellij.psi.search.scope.packageSet.NamedScopesHolder;
|
||||
import com.intellij.psi.search.scope.packageSet.PackageSet;
|
||||
@@ -397,7 +397,7 @@ public final class HighlightNamesUtil {
|
||||
}
|
||||
|
||||
static HighlightInfo highlightFragmentReference(@NotNull PsiDocFragmentName fragmentName) {
|
||||
return nameBuilder(JavaHighlightInfoTypes.LOCAL_VARIABLE).range((PsiElement)fragmentName).create();
|
||||
return nameBuilder(JavaHighlightInfoTypes.LOCAL_VARIABLE).range(fragmentName).create();
|
||||
}
|
||||
|
||||
public static @NotNull @NlsSafe String formatClass(@NotNull PsiClass aClass) {
|
||||
|
||||
+1
-1
@@ -11,8 +11,8 @@ import com.intellij.openapi.project.IndexNotReadyException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiDocFragmentName;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiDocMethodOrFieldRef;
|
||||
import com.intellij.psi.javadoc.PsiDocFragmentName;
|
||||
import com.intellij.psi.javadoc.PsiDocTagValue;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
|
||||
+2
-3
@@ -38,8 +38,6 @@ import com.intellij.psi.codeStyle.CodeStyleSettings;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
|
||||
import com.intellij.psi.filters.TrueFilter;
|
||||
import com.intellij.psi.impl.JavaConstantExpressionEvaluator;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiDocFragmentName;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiDocFragmentRef;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiDocMethodOrFieldRef;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiDocParamRef;
|
||||
import com.intellij.psi.javadoc.*;
|
||||
@@ -138,7 +136,8 @@ public final class JavaDocCompletionContributor extends CompletionContributor im
|
||||
}
|
||||
else if (position.getParent() instanceof PsiDocFragmentName docFragmentName) {
|
||||
final PsiElement parent = docFragmentName.getParent();
|
||||
final PsiClass classRef = parent instanceof PsiDocFragmentRef ? ((PsiDocFragmentRef)docFragmentName.getParent()).getScope() : null;
|
||||
final PsiClass classRef = parent instanceof PsiDocFragmentRef
|
||||
? ((PsiDocFragmentRef)docFragmentName.getParent()).getScope() : null;
|
||||
if (classRef != null) {
|
||||
for (JavaDocFragmentData anchor : JavaDocFragmentAnchorCacheKt.getJavaDocFragmentsForClass(position.getProject(), classRef)) {
|
||||
result.addElement(LookupElementBuilder.create(anchor.getName()).withIcon(AllIcons.Nodes.Related));
|
||||
|
||||
@@ -47,7 +47,6 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.JavaConstantExpressionEvaluator;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiDocFragmentRef;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiDocMethodOrFieldRef;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiSnippetDocTagImpl;
|
||||
import com.intellij.psi.impl.source.tree.ElementType;
|
||||
|
||||
-1
@@ -19,7 +19,6 @@ import com.intellij.openapi.util.text.HtmlChunk;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.pom.java.JavaFeature;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiDocFragmentRef;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiDocParamRef;
|
||||
import com.intellij.psi.impl.source.tree.JavaDocElementType;
|
||||
import com.intellij.psi.javadoc.*;
|
||||
|
||||
@@ -43,7 +43,6 @@ import com.intellij.psi.codeStyle.arrangement.MemberOrderService;
|
||||
import com.intellij.psi.impl.compiled.ClsClassImpl;
|
||||
import com.intellij.psi.impl.compiled.ClsElementImpl;
|
||||
import com.intellij.psi.impl.source.codeStyle.ImportHelper;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiDocFragmentName;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiSnippetAttributeValueImpl;
|
||||
import com.intellij.psi.javadoc.*;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.psi.javadoc;
|
||||
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* Represents the name of a fragment reference, for instance {@code my-id} in {@code Foo##my-id}.
|
||||
*/
|
||||
public interface PsiDocFragmentName extends PsiElement {
|
||||
|
||||
/**
|
||||
* Returns the class that contains the fragment reference.
|
||||
*/
|
||||
@Nullable PsiClass getScope();
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.psi.javadoc;
|
||||
|
||||
import com.intellij.psi.PsiClass;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* Represents a fragment reference, for instance {@code Foo##my-id}.
|
||||
*/
|
||||
public interface PsiDocFragmentRef extends PsiDocTagValue {
|
||||
|
||||
/**
|
||||
* Returns the class that contains the fragment reference.
|
||||
*/
|
||||
@Nullable PsiClass getScope();
|
||||
|
||||
}
|
||||
+1
-1
@@ -5,8 +5,8 @@ import com.intellij.openapi.components.Service
|
||||
import com.intellij.openapi.components.service
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.psi.PsiClass
|
||||
import com.intellij.psi.impl.source.javadoc.PsiDocFragmentName
|
||||
import com.intellij.psi.javadoc.PsiDocComment
|
||||
import com.intellij.psi.javadoc.PsiDocFragmentName
|
||||
import com.intellij.psi.util.CachedValueProvider.Result
|
||||
import com.intellij.psi.util.CachedValuesManager
|
||||
import com.intellij.psi.util.PsiModificationTracker
|
||||
|
||||
@@ -9,9 +9,9 @@ import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.JavaFileCodeStyleFacade;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiDocFragmentRef;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiDocMethodOrFieldRef;
|
||||
import com.intellij.psi.javadoc.PsiDocComment;
|
||||
import com.intellij.psi.javadoc.PsiDocFragmentRef;
|
||||
import com.intellij.psi.javadoc.PsiDocTagValue;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.templateLanguages.TemplateLanguageUtil;
|
||||
|
||||
@@ -9,7 +9,7 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.JavaPsiImplementationHelper;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiDocFragmentName;
|
||||
import com.intellij.psi.javadoc.PsiDocFragmentName;
|
||||
import com.intellij.psi.javadoc.PsiDocToken;
|
||||
import com.intellij.psi.javadoc.PsiSnippetAttributeValue;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.source.javadoc.PsiDocFragmentName;
|
||||
import com.intellij.psi.javadoc.PsiDocFragmentName;
|
||||
import com.intellij.psi.javadoc.PsiDocToken;
|
||||
import com.intellij.psi.javadoc.PsiSnippetAttributeValue;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
+4
-15
@@ -2,38 +2,27 @@
|
||||
package com.intellij.psi.impl.source.javadoc;
|
||||
|
||||
import com.intellij.model.psi.PsiSymbolReference;
|
||||
import com.intellij.psi.JavaElementVisitor;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiElementVisitor;
|
||||
import com.intellij.psi.impl.JavaPsiImplementationHelper;
|
||||
import com.intellij.psi.impl.source.Constants;
|
||||
import com.intellij.psi.impl.source.tree.CompositePsiElement;
|
||||
import com.intellij.psi.javadoc.PsiDocTagValue;
|
||||
import com.intellij.psi.javadoc.PsiDocFragmentName;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
|
||||
public class PsiDocFragmentName extends CompositePsiElement implements PsiDocTagValue, Constants {
|
||||
public PsiDocFragmentName() {
|
||||
public class PsiDocFragmentNameImpl extends CompositePsiElement implements PsiDocFragmentName, Constants {
|
||||
public PsiDocFragmentNameImpl() {
|
||||
super(DOC_FRAGMENT_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void accept(@NotNull PsiElementVisitor visitor) {
|
||||
if (visitor instanceof JavaElementVisitor) {
|
||||
((JavaElementVisitor)visitor).visitDocTagValue(this);
|
||||
}
|
||||
else {
|
||||
visitor.visitElement(this);
|
||||
}
|
||||
}
|
||||
|
||||
public @Nullable PsiClass getScope() {
|
||||
final PsiElement parent = getParent();
|
||||
return parent instanceof PsiDocFragmentRef ? ((PsiDocFragmentRef)parent).getScope() : null;
|
||||
return parent instanceof PsiDocFragmentRefImpl ? ((PsiDocFragmentRefImpl)parent).getScope() : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
+4
-3
@@ -6,12 +6,12 @@ import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiElementVisitor;
|
||||
import com.intellij.psi.impl.source.Constants;
|
||||
import com.intellij.psi.impl.source.tree.CompositePsiElement;
|
||||
import com.intellij.psi.javadoc.PsiDocTagValue;
|
||||
import com.intellij.psi.javadoc.PsiDocFragmentRef;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class PsiDocFragmentRef extends CompositePsiElement implements PsiDocTagValue, Constants {
|
||||
public PsiDocFragmentRef() {
|
||||
public class PsiDocFragmentRefImpl extends CompositePsiElement implements PsiDocFragmentRef, Constants {
|
||||
public PsiDocFragmentRefImpl() {
|
||||
super(DOC_FRAGMENT_REF);
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ public class PsiDocFragmentRef extends CompositePsiElement implements PsiDocTagV
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable PsiClass getScope() {
|
||||
return PsiDocMethodOrFieldRef.getScope(this);
|
||||
}
|
||||
@@ -44,8 +44,8 @@ public interface JavaDocElementType {
|
||||
IElementType DOC_TAG = new JavaDocCompositeElementType("DOC_TAG", () -> new PsiDocTagImpl(), BasicJavaDocElementType.BASIC_DOC_TAG);
|
||||
IElementType DOC_INLINE_TAG = new JavaDocCompositeElementType("DOC_INLINE_TAG", () -> new PsiInlineDocTagImpl(), BasicJavaDocElementType.BASIC_DOC_INLINE_TAG);
|
||||
IElementType DOC_METHOD_OR_FIELD_REF = new JavaDocCompositeElementType("DOC_METHOD_OR_FIELD_REF", () -> new PsiDocMethodOrFieldRef(), BasicJavaDocElementType.BASIC_DOC_METHOD_OR_FIELD_REF);
|
||||
IElementType DOC_FRAGMENT_REF = new JavaDocCompositeElementType("DOC_FRAGMENT_REF", () -> new PsiDocFragmentRef(), BasicJavaDocElementType.BASIC_DOC_FRAGMENT_REF);
|
||||
IElementType DOC_FRAGMENT_NAME = new JavaDocCompositeElementType("DOC_FRAGMENT_NAME", () -> new PsiDocFragmentName(), BasicJavaDocElementType.BASIC_DOC_FRAGMENT_NAME);
|
||||
IElementType DOC_FRAGMENT_REF = new JavaDocCompositeElementType("DOC_FRAGMENT_REF", () -> new PsiDocFragmentRefImpl(), BasicJavaDocElementType.BASIC_DOC_FRAGMENT_REF);
|
||||
IElementType DOC_FRAGMENT_NAME = new JavaDocCompositeElementType("DOC_FRAGMENT_NAME", () -> new PsiDocFragmentNameImpl(), BasicJavaDocElementType.BASIC_DOC_FRAGMENT_NAME);
|
||||
IElementType DOC_PARAMETER_REF = new JavaDocCompositeElementType("DOC_PARAMETER_REF", () -> new PsiDocParamRef(), BasicJavaDocElementType.BASIC_DOC_PARAMETER_REF);
|
||||
IElementType DOC_TAG_VALUE_ELEMENT = new JavaDocParentProviderElementType("DOC_TAG_VALUE_ELEMENT", BasicJavaDocElementType.BASIC_DOC_TAG_VALUE_ELEMENT);
|
||||
IElementType DOC_SNIPPET_TAG = new JavaDocCompositeElementType("DOC_SNIPPET_TAG", () -> new PsiSnippetDocTagImpl(), BasicJavaDocElementType.BASIC_DOC_SNIPPET_TAG);
|
||||
|
||||
Reference in New Issue
Block a user