From ef9c219297a8244331bc4c04e4a366f12e559c9f Mon Sep 17 00:00:00 2001 From: UNV Date: Fri, 20 Feb 2026 22:31:58 +0300 Subject: [PATCH] Eliminating usage of PlatformIcons in comments. --- .../java/language/util/VisibilityIcons.java | 21 +- .../LightRecordCanonicalConstructor.java | 51 ++-- .../impl/psi/impl/light/LightRecordField.java | 251 +++++++++--------- 3 files changed, 164 insertions(+), 159 deletions(-) diff --git a/java-language-api/src/main/java/com/intellij/java/language/util/VisibilityIcons.java b/java-language-api/src/main/java/com/intellij/java/language/util/VisibilityIcons.java index 17f3bdf94c..eb105b1caf 100644 --- a/java-language-api/src/main/java/com/intellij/java/language/util/VisibilityIcons.java +++ b/java-language-api/src/main/java/com/intellij/java/language/util/VisibilityIcons.java @@ -20,7 +20,8 @@ package com.intellij.java.language.util; public class VisibilityIcons { - private VisibilityIcons() {} + private VisibilityIcons() { + } // public static void setVisibilityIcon(PsiModifierList modifierList, RowIcon baseIcon) { // if (modifierList != null) { @@ -37,12 +38,12 @@ private VisibilityIcons() {} // setVisibilityIcon(PsiUtil.ACCESS_LEVEL_PACKAGE_LOCAL, baseIcon); // } // else { -// Icon emptyIcon = new EmptyIcon(PlatformIcons.PUBLIC_ICON.getIconWidth(), PlatformIcons.PUBLIC_ICON.getIconHeight()); +// Icon emptyIcon = new EmptyIcon(PlatformIconGroup.nodesC_public().getIconWidth(), PlatformIconGroup.nodesC_public().getIconHeight()); // baseIcon.setIcon(emptyIcon, 1); // } // } -// else if (PlatformIcons.PUBLIC_ICON != null) { -// Icon emptyIcon = new EmptyIcon(PlatformIcons.PUBLIC_ICON.getIconWidth(), PlatformIcons.PUBLIC_ICON.getIconHeight()); +// else if (PlatformIconGroup.nodesC_public() != null) { +// Icon emptyIcon = new EmptyIcon(PlatformIconGroup.nodesC_public().getIconWidth(), PlatformIconGroup.nodesC_public().getIconHeight()); // baseIcon.setIcon(emptyIcon, 1); // } // } @@ -51,20 +52,20 @@ private VisibilityIcons() {} // Icon icon; // switch (accessLevel) { // case PsiUtil.ACCESS_LEVEL_PUBLIC: -// icon = PlatformIcons.PUBLIC_ICON; +// icon = PlatformIconGroup.nodesC_public(); // break; // case PsiUtil.ACCESS_LEVEL_PROTECTED: -// icon = PlatformIcons.PROTECTED_ICON; +// icon = PlatformIconGroup.nodesC_protected(); // break; // case PsiUtil.ACCESS_LEVEL_PACKAGE_LOCAL: -// icon = PlatformIcons.PACKAGE_LOCAL_ICON; +// icon = PlatformIconGroup.nodesC_plocal(); // break; // case PsiUtil.ACCESS_LEVEL_PRIVATE: -// icon = PlatformIcons.PRIVATE_ICON; +// icon = PlatformIconGroup.nodesC_private(); // break; // default: -// if (PlatformIcons.PUBLIC_ICON != null) { -// icon = new EmptyIcon(PlatformIcons.PUBLIC_ICON.getIconWidth(), PlatformIcons.PUBLIC_ICON.getIconHeight()); +// if (PlatformIconGroup.nodesC_public() != null) { +// icon = new EmptyIcon(PlatformIconGroup.nodesC_public().getIconWidth(), PlatformIconGroup.nodesC_public().getIconHeight()); // } // else { // return; diff --git a/java-language-impl/src/main/java/com/intellij/java/language/impl/psi/impl/light/LightRecordCanonicalConstructor.java b/java-language-impl/src/main/java/com/intellij/java/language/impl/psi/impl/light/LightRecordCanonicalConstructor.java index 98410be549..460ef75131 100644 --- a/java-language-impl/src/main/java/com/intellij/java/language/impl/psi/impl/light/LightRecordCanonicalConstructor.java +++ b/java-language-impl/src/main/java/com/intellij/java/language/impl/psi/impl/light/LightRecordCanonicalConstructor.java @@ -9,42 +9,39 @@ import jakarta.annotation.Nonnull; public class LightRecordCanonicalConstructor extends LightMethod implements SyntheticElement { - public LightRecordCanonicalConstructor(@Nonnull PsiMethod method, - @Nonnull PsiClass containingClass) { - super(method.getManager(), method, containingClass); - } + public LightRecordCanonicalConstructor(@Nonnull PsiMethod method, @Nonnull PsiClass containingClass) { + super(method.getManager(), method, containingClass); + } - @Override - public int getTextOffset() { - return getNavigationElement().getTextOffset(); - } + @Override + public int getTextOffset() { + return getNavigationElement().getTextOffset(); + } - @Nonnull - @Override - public PsiElement getNavigationElement() { - return getContainingClass(); - } + @Nonnull + @Override + public PsiElement getNavigationElement() { + return getContainingClass(); + } - @Override - public PsiFile getContainingFile() { - PsiClass containingClass = getContainingClass(); - return containingClass.getContainingFile(); - } + @Override + public PsiFile getContainingFile() { + PsiClass containingClass = getContainingClass(); + return containingClass.getContainingFile(); + } // @Override -// public Icon getElementIcon(final int flags) -// { +// public Icon getElementIcon(final int flags) { // final RowIcon baseIcon = -// IconManager.getInstance().createLayeredIcon(this, PlatformIcons.METHOD_ICON, ElementPresentationUtil.getFlags(this, false)); -// if(BitUtil.isSet(flags, ICON_FLAG_VISIBILITY)) -// { +// IconManager.getInstance().createLayeredIcon(this, PlatformIconGroup.nodesMethod(), ElementPresentationUtil.getFlags(this, false)); +// if(BitUtil.isSet(flags, ICON_FLAG_VISIBILITY)) { // VisibilityIcons.setVisibilityIcon(getContainingClass().getModifierList(), baseIcon); // } // return baseIcon; // } - @Override - public PsiElement getContext() { - return getContainingClass(); - } + @Override + public PsiElement getContext() { + return getContainingClass(); + } } diff --git a/java-language-impl/src/main/java/com/intellij/java/language/impl/psi/impl/light/LightRecordField.java b/java-language-impl/src/main/java/com/intellij/java/language/impl/psi/impl/light/LightRecordField.java index 7207ab5e13..70c122daf8 100644 --- a/java-language-impl/src/main/java/com/intellij/java/language/impl/psi/impl/light/LightRecordField.java +++ b/java-language-impl/src/main/java/com/intellij/java/language/impl/psi/impl/light/LightRecordField.java @@ -3,6 +3,7 @@ import com.intellij.java.language.codeInsight.AnnotationTargetUtil; import com.intellij.java.language.psi.*; +import consulo.annotation.access.RequiredReadAction; import consulo.application.util.CachedValueProvider; import consulo.content.scope.SearchScope; import consulo.language.psi.PsiElement; @@ -15,139 +16,145 @@ import jakarta.annotation.Nonnull; import jakarta.annotation.Nullable; + import java.util.Arrays; import java.util.Objects; public class LightRecordField extends LightField implements LightRecordMember { - private final - @Nonnull - PsiRecordComponent myRecordComponent; - - public LightRecordField(@Nonnull PsiManager manager, - @Nonnull PsiField field, - @Nonnull PsiClass containingClass, - @Nonnull PsiRecordComponent component) { - super(manager, field, containingClass); - myRecordComponent = component; - } - - @Override - @Nonnull - public PsiRecordComponent getRecordComponent() { - return myRecordComponent; - } - - @Override - public int getTextOffset() { - return myRecordComponent.getTextOffset(); - } - - @Nonnull - @Override - public PsiElement getNavigationElement() { - return myRecordComponent.getNavigationElement(); - } - - @Override - public boolean isWritable() { - return true; - } - - @Override - public PsiFile getContainingFile() { - PsiClass containingClass = getContainingClass(); - if (containingClass == null) { - return null; - } - return containingClass.getContainingFile(); - } - - @Override - public - @Nonnull - PsiType getType() { - if (DumbService.isDumb(myRecordComponent.getProject())) { - return myRecordComponent.getType(); - } - return LanguageCachedValueUtil.getCachedValue(this, () -> { - PsiType type = myRecordComponent.getType() - .annotate(() -> Arrays.stream(myRecordComponent.getAnnotations()) - .filter(LightRecordField::hasApplicableAnnotationTarget) - .toArray(PsiAnnotation[]::new) - ); - return CachedValueProvider.Result.create(type, this); - }); - } - - @Override - @Nonnull - public PsiAnnotation[] getAnnotations() { - return getType().getAnnotations(); - } - - @Override - public boolean hasAnnotation(@Nonnull String fqn) { - PsiType type = getType(); - return type.hasAnnotation(fqn); - } - - @Override - @Nullable - public PsiAnnotation getAnnotation(@Nonnull String fqn) { - return getType().findAnnotation(fqn); - } + private final + @Nonnull + PsiRecordComponent myRecordComponent; + + public LightRecordField( + @Nonnull PsiManager manager, + @Nonnull PsiField field, + @Nonnull PsiClass containingClass, + @Nonnull PsiRecordComponent component + ) { + super(manager, field, containingClass); + myRecordComponent = component; + } + + @Override + @Nonnull + public PsiRecordComponent getRecordComponent() { + return myRecordComponent; + } + + @Override + public int getTextOffset() { + return myRecordComponent.getTextOffset(); + } + + @Nonnull + @Override + public PsiElement getNavigationElement() { + return myRecordComponent.getNavigationElement(); + } + + @Override + public boolean isWritable() { + return true; + } + + @Override + public PsiFile getContainingFile() { + PsiClass containingClass = getContainingClass(); + if (containingClass == null) { + return null; + } + return containingClass.getContainingFile(); + } + + @Override + public + @Nonnull + PsiType getType() { + if (DumbService.isDumb(myRecordComponent.getProject())) { + return myRecordComponent.getType(); + } + return LanguageCachedValueUtil.getCachedValue(this, () -> { + PsiType type = myRecordComponent.getType() + .annotate(() -> Arrays.stream(myRecordComponent.getAnnotations()) + .filter(LightRecordField::hasApplicableAnnotationTarget) + .toArray(PsiAnnotation[]::new) + ); + return CachedValueProvider.Result.create(type, this); + }); + } + + @Override + @Nonnull + public PsiAnnotation[] getAnnotations() { + return getType().getAnnotations(); + } + + @Override + public boolean hasAnnotation(@Nonnull String fqn) { + PsiType type = getType(); + return type.hasAnnotation(fqn); + } + + @Override + @Nullable + public PsiAnnotation getAnnotation(@Nonnull String fqn) { + return getType().findAnnotation(fqn); + } // @Override -// public Icon getElementIcon(final int flags) -// { +// public Icon getElementIcon(final int flags) { // final RowIcon baseIcon = -// IconManager.getInstance().createLayeredIcon(this, PlatformIcons.FIELD_ICON, ElementPresentationUtil.getFlags(this, false)); -// if(BitUtil.isSet(flags, ICON_FLAG_VISIBILITY)) -// { +// IconManager.getInstance().createLayeredIcon(this, PlatformIconGroup.nodesField(), ElementPresentationUtil.getFlags(this, false)); +// if (BitUtil.isSet(flags, ICON_FLAG_VISIBILITY)) { // VisibilityIcons.setVisibilityIcon(PsiUtil.ACCESS_LEVEL_PRIVATE, baseIcon); // } // return baseIcon; // } - @Override - public PsiElement getContext() { - return getContainingClass(); - } - - @Override - public - @Nonnull - SearchScope getUseScope() { - PsiClass aClass = Objects.requireNonNull(getContainingClass()); - PsiClass containingClass = aClass.getContainingClass(); - while (containingClass != null) { - aClass = containingClass; - containingClass = containingClass.getContainingClass(); - } - return new LocalSearchScope(aClass); - } - - private static boolean hasApplicableAnnotationTarget(PsiAnnotation annotation) { - return AnnotationTargetUtil.findAnnotationTarget(annotation, PsiAnnotation.TargetType.TYPE_USE, PsiAnnotation.TargetType.FIELD) != null; - } - - @Override - public void normalizeDeclaration() throws IncorrectOperationException { - // no-op - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - return o instanceof LightRecordField && - myRecordComponent.equals(((LightRecordField) o).myRecordComponent); - } - - @Override - public int hashCode() { - return Objects.hash(myRecordComponent); - } + @Override + public PsiElement getContext() { + return getContainingClass(); + } + + @Override + public + @Nonnull + SearchScope getUseScope() { + PsiClass aClass = Objects.requireNonNull(getContainingClass()); + PsiClass containingClass = aClass.getContainingClass(); + while (containingClass != null) { + aClass = containingClass; + containingClass = containingClass.getContainingClass(); + } + return new LocalSearchScope(aClass); + } + + @RequiredReadAction + private static boolean hasApplicableAnnotationTarget(PsiAnnotation annotation) { + return AnnotationTargetUtil.findAnnotationTarget( + annotation, + PsiAnnotation.TargetType.TYPE_USE, + PsiAnnotation.TargetType.FIELD + ) != null; + } + + @Override + public void normalizeDeclaration() throws IncorrectOperationException { + // no-op + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + return o instanceof LightRecordField && + myRecordComponent.equals(((LightRecordField) o).myRecordComponent); + } + + @Override + public int hashCode() { + return Objects.hash(myRecordComponent); + } }