cleanup: notnull

GitOrigin-RevId: 02bd3ed060b5ab3fdc83878ce170b197ce5e68d2
This commit is contained in:
Alexey Kudravtsev
2025-11-25 18:54:02 +00:00
committed by intellij-monorepo-bot
parent 16b2f74a84
commit 91adf9aa44
8 changed files with 60 additions and 57 deletions
@@ -27,7 +27,7 @@ public class DirectoryAsPackageRenameHandler extends DirectoryAsPackageRenameHan
}
@Override
protected String getQualifiedName(PsiPackage aPackage) {
protected @NotNull String getQualifiedName(PsiPackage aPackage) {
return aPackage.getQualifiedName();
}
@@ -21,31 +21,32 @@ public class MoveRenameUsageInfo extends UsageInfo implements Cloneable {
private PsiReference myReference;
private RangeMarker myReferenceRangeMarker;
public MoveRenameUsageInfo(PsiReference reference, PsiElement referencedElement){
public MoveRenameUsageInfo(@NotNull PsiReference reference, PsiElement referencedElement){
this(reference.getElement(), reference, referencedElement);
}
public MoveRenameUsageInfo(PsiElement element, PsiReference reference, PsiElement referencedElement){
public MoveRenameUsageInfo(@NotNull PsiElement element, PsiReference reference, PsiElement referencedElement){
super(element);
init(element, reference, referencedElement);
}
public MoveRenameUsageInfo(PsiElement element, PsiReference reference, int startOffset, int endOffset, PsiElement referencedElement, boolean nonCodeUsage){
public MoveRenameUsageInfo(@NotNull PsiElement element, PsiReference reference, int startOffset, int endOffset, PsiElement referencedElement, boolean nonCodeUsage){
super(element, startOffset, endOffset, nonCodeUsage);
init(element, reference, referencedElement);
}
private void init(final PsiElement element, PsiReference reference, final PsiElement referencedElement) {
final Project project = element.getProject();
private void init(@NotNull PsiElement element, @Nullable PsiReference reference, @Nullable PsiElement referencedElement) {
Project project = element.getProject();
myReferencedElement = referencedElement;
if (referencedElement != null) {
myReferencedElementPointer = SmartPointerManager.getInstance(referencedElement.getProject()).createSmartPsiElementPointer(referencedElement);
}
if (reference == null) reference = element.getReference();
if (reference == null) {
reference = element.getReference();
}
PsiFile containingFile = element.getContainingFile();
if (reference == null) {
final TextRange textRange = element.getTextRange();
TextRange textRange = element.getTextRange();
if (textRange != null) {
reference = containingFile.findReferenceAt(textRange.getStartOffset());
}
@@ -54,8 +55,8 @@ public class MoveRenameUsageInfo extends UsageInfo implements Cloneable {
if (reference != null) {
Document document = PsiDocumentManager.getInstance(project).getDocument(containingFile);
if (document != null) {
final int elementStart = reference.getElement().getTextRange().getStartOffset();
final TextRange rangeInElement = reference.getRangeInElement();
int elementStart = reference.getElement().getTextRange().getStartOffset();
TextRange rangeInElement = reference.getRangeInElement();
LOG.assertTrue(elementStart + rangeInElement.getEndOffset() <= document.getTextLength(), reference);
myReferenceRangeMarker = document.createRangeMarker(elementStart + rangeInElement.getStartOffset(),
elementStart + rangeInElement.getEndOffset());
@@ -75,13 +76,13 @@ public class MoveRenameUsageInfo extends UsageInfo implements Cloneable {
@Override
public @Nullable PsiReference getReference() {
if (myReference != null) {
final PsiElement element = myReference.getElement();
PsiElement element = myReference.getElement();
if (element.isValid()) {
if (myReferenceRangeMarker == null) {
return myReference;
}
final PsiReference reference = checkReferenceRange(element, start -> myReference);
PsiReference reference = checkReferenceRange(element, start -> myReference);
if (reference != null) {
return reference;
@@ -90,7 +91,7 @@ public class MoveRenameUsageInfo extends UsageInfo implements Cloneable {
}
if (myReferenceRangeMarker == null) return null;
final PsiElement element = getElement();
PsiElement element = getElement();
if (element == null || !element.isValid()) {
return null;
}
@@ -108,15 +109,15 @@ public class MoveRenameUsageInfo extends UsageInfo implements Cloneable {
return myReferenceRangeMarker;
}
private @Nullable PsiReference checkReferenceRange(PsiElement element, Function<? super Integer, ? extends PsiReference> fn) {
private @Nullable PsiReference checkReferenceRange(@NotNull PsiElement element, @NotNull Function<? super Integer, ? extends PsiReference> fn) {
var rangeToCheck = getReferenceRangeToCheck(element);
final int start = rangeToCheck.getStartOffset() - element.getTextRange().getStartOffset();
final int end = rangeToCheck.getEndOffset() - element.getTextRange().getStartOffset();
final PsiReference reference = fn.fun(start);
int start = rangeToCheck.getStartOffset() - element.getTextRange().getStartOffset();
int end = rangeToCheck.getEndOffset() - element.getTextRange().getStartOffset();
PsiReference reference = fn.fun(start);
if (reference == null) {
return null;
}
final TextRange rangeInElement = reference.getRangeInElement();
TextRange rangeInElement = reference.getRangeInElement();
if (rangeInElement.getStartOffset() != start || rangeInElement.getEndOffset() != end) {
return null;
}
@@ -1,10 +1,12 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.refactoring.util;
import com.intellij.openapi.util.ProperTextRange;
import com.intellij.openapi.util.TextRange;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiReference;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -16,12 +18,12 @@ public final class NonCodeUsageInfo extends MoveRenameUsageInfo{
this.newText = newText;
}
public static @Nullable NonCodeUsageInfo create(@NotNull PsiFile file,
public static @Nullable NonCodeUsageInfo create(@NotNull PsiFile psiFile,
int startOffset,
int endOffset,
PsiElement referencedElement,
String newText) {
PsiElement element = file.findElementAt(startOffset);
PsiElement element = psiFile.findElementAt(startOffset);
while(element != null){
TextRange range = element.getTextRange();
if (range.getEndOffset() < endOffset){
@@ -45,7 +47,9 @@ public final class NonCodeUsageInfo extends MoveRenameUsageInfo{
return null;
}
public NonCodeUsageInfo replaceElement(PsiElement newElement) {
return new NonCodeUsageInfo(newElement, getRangeInElement().getStartOffset(), getRangeInElement().getEndOffset(), getReferencedElement(), newText);
@Contract("_ -> new")
public @NotNull NonCodeUsageInfo replaceElement(@NotNull PsiElement newElement) {
ProperTextRange rangeInElement = getRangeInElement();
return new NonCodeUsageInfo(newElement, rangeInElement.getStartOffset(), rangeInElement.getEndOffset(), getReferencedElement(), newText);
}
}
@@ -11,11 +11,11 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public class NonCodeUsageInfoFactory implements UsageInfoFactory {
private final PsiElement myElement;
private final PsiElement myPsiElement;
private final String myStringToReplace;
public NonCodeUsageInfoFactory(final PsiElement element, final String stringToReplace) {
myElement = element;
public NonCodeUsageInfoFactory(@NotNull PsiElement psiElement, final String stringToReplace) {
myPsiElement = psiElement;
myStringToReplace = stringToReplace;
}
@@ -27,6 +27,6 @@ public class NonCodeUsageInfoFactory implements UsageInfoFactory {
}
int start = usage.getTextRange().getStartOffset();
return NonCodeUsageInfo.create(usage.getContainingFile(), start + startOffset, start + endOffset, myElement, myStringToReplace);
return NonCodeUsageInfo.create(usage.getContainingFile(), start + startOffset, start + endOffset, myPsiElement, myStringToReplace);
}
}
@@ -35,7 +35,7 @@ public abstract class DirectoryAsPackageRenameHandlerBase<T extends PsiDirectory
protected abstract boolean isIdentifier(String name, Project project);
protected abstract String getQualifiedName(T aPackage);
protected abstract @NotNull String getQualifiedName(T aPackage);
protected abstract @Nullable T getPackage(PsiDirectory psiDirectory);
@@ -64,7 +64,7 @@ public class RenameProcessor extends BaseRefactoringProcessor {
protected final LinkedHashMap<PsiElement, String> myAllRenames = new LinkedHashMap<>();
private @NotNull PsiElement myPrimaryElement;
private String myNewName = null;
private String myNewName;
private boolean mySearchInComments;
private boolean mySearchTextOccurrences;
@@ -130,7 +130,7 @@ public class RenameProcessor extends BaseRefactoringProcessor {
super.doRun();
}
public void prepareRenaming(final @NotNull PsiElement element, final String newName, final LinkedHashMap<PsiElement, String> allRenames) {
public void prepareRenaming(final @NotNull PsiElement element, final String newName, @NotNull LinkedHashMap<PsiElement, String> allRenames) {
final List<RenamePsiElementProcessor> processors = RenamePsiElementProcessor.allForElement(element);
myForceShowPreview = false;
for (RenamePsiElementProcessor processor : processors) {
@@ -207,15 +207,16 @@ public class RenameProcessor extends BaseRefactoringProcessor {
try {
for (Iterator<Map.Entry<PsiElement, String>> iterator = myAllRenames.entrySet().iterator(); iterator.hasNext(); ) {
Map.Entry<PsiElement, String> entry = iterator.next();
if (entry.getKey() instanceof PsiFile file) {
final PsiDirectory containingDirectory = file.getContainingDirectory();
if (CopyFilesOrDirectoriesHandler.checkFileExist(containingDirectory, choice, file, entry.getValue(),
PsiElement psiElement = entry.getKey();
if (psiElement instanceof PsiFile psiFile) {
final PsiDirectory containingDirectory = psiFile.getContainingDirectory();
if (CopyFilesOrDirectoriesHandler.checkFileExist(containingDirectory, choice, psiFile, entry.getValue(),
RefactoringBundle.message("command.name.rename"))) {
iterator.remove();
continue;
}
}
RenameUtil.checkRename(entry.getKey(), entry.getValue());
RenameUtil.checkRename(psiElement, entry.getValue());
}
}
catch (IncorrectOperationException e) {
@@ -270,9 +271,9 @@ public class RenameProcessor extends BaseRefactoringProcessor {
return dialog.showAndGet();
}
public void addElement(@NotNull PsiElement element, @NotNull String newName) {
RenameUtil.assertNonCompileElement(element);
myAllRenames.put(element, newName);
public void addElement(@NotNull PsiElement psiElement, @NotNull String newName) {
RenameUtil.assertNonCompileElement(psiElement);
myAllRenames.put(psiElement, newName);
}
private void setNewName(@NotNull String newName) {
@@ -338,7 +339,7 @@ public class RenameProcessor extends BaseRefactoringProcessor {
myPrimaryElement = elements[0];
final Iterator<String> newNames = myAllRenames.values().iterator();
LinkedHashMap<PsiElement, String> newAllRenames = new LinkedHashMap<>();
Map<PsiElement, String> newAllRenames = new LinkedHashMap<>();
for (PsiElement resolved : elements) {
newAllRenames.put(resolved, newNames.next());
}
@@ -23,8 +23,7 @@ public class RenameViewDescriptor implements UsageViewDescriptor{
private final @Nls String myCodeReferencesText;
private final PsiElement[] myElements;
public RenameViewDescriptor(LinkedHashMap<PsiElement, String> renamesMap) {
public RenameViewDescriptor(@NotNull LinkedHashMap<PsiElement, String> renamesMap) {
myElements = PsiUtilCore.toPsiElementArray(renamesMap.keySet());
Set<String> processedElementsHeaders = new HashSet<>();
@@ -176,7 +176,7 @@ public final class RenameUtil {
}
public static void buildPackagePrefixChangedMessage(final VirtualFile[] virtualFiles, StringBuffer message, final String qualifiedName) {
public static void buildPackagePrefixChangedMessage(final VirtualFile @NotNull [] virtualFiles, @NotNull StringBuffer message, @NotNull String qualifiedName) {
if (virtualFiles.length > 0) {
message.append(RefactoringBundle.message("package.occurs.in.package.prefixes.of.the.following.source.folders.n", qualifiedName));
for (final VirtualFile virtualFile : virtualFiles) {
@@ -186,33 +186,31 @@ public final class RenameUtil {
}
}
private static String getStringToReplace(PsiElement element, String newName, boolean nonJava, final RenamePsiElementProcessorBase theProcessor) {
if (element instanceof PsiMetaOwner psiMetaOwner) {
private static String getStringToReplace(@NotNull PsiElement psiElement, String newName, boolean nonJava, @NotNull RenamePsiElementProcessorBase theProcessor) {
if (psiElement instanceof PsiMetaOwner psiMetaOwner) {
final PsiMetaData metaData = psiMetaOwner.getMetaData();
if (metaData != null) {
return metaData.getName();
}
}
if (theProcessor != null) {
String result = theProcessor.getQualifiedNameAfterRename(element, newName, nonJava);
if (result != null) {
return result;
}
String result = theProcessor.getQualifiedNameAfterRename(psiElement, newName, nonJava);
if (result != null) {
return result;
}
if (element instanceof PsiNamedElement) {
if (psiElement instanceof PsiNamedElement) {
return newName;
}
else {
LOG.error("Unknown element type : " + element);
LOG.error("Unknown element type : " + psiElement);
return null;
}
}
public static void checkRename(PsiElement element, String newName) throws IncorrectOperationException {
if (element instanceof PsiCheckedRenameElement) {
((PsiCheckedRenameElement)element).checkSetName(newName);
public static void checkRename(PsiElement psiElement, String newName) throws IncorrectOperationException {
if (psiElement instanceof PsiCheckedRenameElement) {
((PsiCheckedRenameElement)psiElement).checkSetName(newName);
}
}
@@ -260,9 +258,9 @@ public final class RenameUtil {
});
}
public static void doRenameGenericNamedElement(@NotNull PsiElement namedElement, String newName, UsageInfo[] usages,
public static void doRenameGenericNamedElement(@NotNull PsiElement namedElement, String newName, UsageInfo @NotNull [] usages,
@Nullable RefactoringElementListener listener) throws IncorrectOperationException {
Set<Class> reportedClasses = new HashSet<>();
Set<Class<?>> reportedClasses = new HashSet<>();
for (UsageInfo usage : usages) {
PsiReference reference = usage.getReference();
if (reference != null && reportedClasses.add(reference.getClass())) {
@@ -276,7 +274,7 @@ public final class RenameUtil {
RenameUtilBase.rename(info, newName);
}
public static @Nullable List<UnresolvableCollisionUsageInfo> removeConflictUsages(Set<UsageInfo> usages) {
public static @Nullable List<UnresolvableCollisionUsageInfo> removeConflictUsages(@NotNull Set<UsageInfo> usages) {
final List<UnresolvableCollisionUsageInfo> result = new ArrayList<>();
for (Iterator<UsageInfo> iterator = usages.iterator(); iterator.hasNext();) {
UsageInfo usageInfo = iterator.next();
@@ -288,7 +286,7 @@ public final class RenameUtil {
return result.isEmpty() ? null : result;
}
public static void addConflictDescriptions(UsageInfo[] usages, MultiMap<PsiElement, @DialogMessage String> conflicts) {
public static void addConflictDescriptions(UsageInfo @NotNull [] usages, MultiMap<PsiElement, @DialogMessage String> conflicts) {
for (UsageInfo usage : usages) {
if (usage instanceof UnresolvableCollisionUsageInfo) {
conflicts.putValue(usage.getElement(), ((UnresolvableCollisionUsageInfo)usage).getDescription());