Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import com.intellij.java.language.impl.psi.impl.source.PsiClassImpl;
import com.intellij.java.language.psi.*;
import com.intellij.java.language.psi.util.PropertyUtil;
import consulo.annotation.DeprecationInfo;
import consulo.annotation.access.RequiredReadAction;
import consulo.application.progress.ProgressIndicator;
import consulo.application.progress.ProgressManager;
Expand All @@ -40,6 +41,7 @@
import consulo.language.psi.resolve.RefResolveService;
import consulo.language.psi.scope.GlobalSearchScope;
import consulo.language.psi.search.PsiSearchHelper;
import consulo.localize.LocalizeValue;
import consulo.project.Project;
import consulo.usage.UsageInfo;
import jakarta.annotation.Nonnull;
Expand Down Expand Up @@ -87,28 +89,37 @@ public static boolean isImplicitWrite(@Nonnull Project project, @Nonnull PsiVari
}) || isInjected(project, element);
}

@Nullable
@Nonnull
@RequiredReadAction
public static HighlightInfo createUnusedSymbolInfo(
public static HighlightInfo.Builder createUnusedSymbolInfo(
@Nonnull PsiElement element,
@Nonnull String message,
@Nonnull LocalizeValue message,
@Nonnull HighlightInfoType highlightInfoType
) {
HighlightInfo info = HighlightInfo.newHighlightInfo(highlightInfoType)
HighlightInfo.Builder hlBuilder = HighlightInfo.newHighlightInfo(highlightInfoType)
.range(element)
.descriptionAndTooltip(message).create();

if (info == null) {
return null; //filtered out
}
.descriptionAndTooltip(message);

for (UnusedDeclarationFixProvider provider : UnusedDeclarationFixProvider.EP_NAME.getExtensionList()) {
element.getApplication().getExtensionPoint(UnusedDeclarationFixProvider.class).forEach(provider -> {
IntentionAction[] fixes = provider.getQuickFixes(element);
for (IntentionAction fix : fixes) {
info.registerFix(fix, null, null, null, null);
hlBuilder.registerFix(fix);
}
}
return info;
});

return hlBuilder;
}

@Deprecated
@DeprecationInfo("Use variant with LocalizeValue")
@Nullable
@RequiredReadAction
public static HighlightInfo createUnusedSymbolInfo(
@Nonnull PsiElement element,
@Nonnull String message,
@Nonnull HighlightInfoType highlightInfoType
) {
return createUnusedSymbolInfo(element, LocalizeValue.of(message), highlightInfoType).create();
}

@RequiredReadAction
Expand Down
Loading
Loading