mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Propagate @Unmodifiable to enable data-flow inspection to analyze more code
GitOrigin-RevId: 288358515ebebd840b45244cd3d5b251385ff1b8
This commit is contained in:
committed by
intellij-monorepo-bot
parent
c71d8dd467
commit
31185c6576
+2
@@ -34,6 +34,7 @@ import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.io.DataInput;
|
||||
import java.io.IOException;
|
||||
@@ -79,6 +80,7 @@ public class InspectionValidatorWrapper implements Validator {
|
||||
return ourCompilationThreads.get().booleanValue();
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
private static List<ProblemDescriptor> runInspectionOnFile(@NotNull PsiFile file, @NotNull LocalInspectionTool inspectionTool) {
|
||||
InspectionManager inspectionManager = InspectionManager.getInstance(file.getProject());
|
||||
GlobalInspectionContext context = inspectionManager.createNewGlobalContext();
|
||||
|
||||
+2
@@ -17,6 +17,7 @@ import com.intellij.packaging.ui.PackagingElementPropertiesPanel;
|
||||
import com.intellij.ui.DocumentAdapter;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.DocumentEvent;
|
||||
@@ -144,6 +145,7 @@ public abstract class ElementWithManifestPropertiesPanel<E extends CompositeElem
|
||||
}
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
private List<String> getConfiguredClasspath() {
|
||||
return StringUtil.split(myClasspathField.getText(), " ");
|
||||
}
|
||||
|
||||
@@ -70,6 +70,7 @@ public final class ModuleCompilerUtil {
|
||||
}));
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
public static @NotNull List<Chunk<ModuleSourceSet>> computeSourceSetCycles(@NotNull ModulesProvider provider) {
|
||||
Graph<ModuleSourceSet> graph = createModuleSourceDependenciesGraph(provider);
|
||||
Collection<Chunk<ModuleSourceSet>> chunks = GraphAlgorithms.getInstance().computeStronglyConnectedComponents(graph);
|
||||
|
||||
@@ -40,6 +40,7 @@ import com.sun.jdi.request.ClassPrepareRequest;
|
||||
import one.util.streamex.StreamEx;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
import org.jetbrains.org.objectweb.asm.Opcodes;
|
||||
|
||||
import java.util.*;
|
||||
@@ -429,6 +430,7 @@ public class PositionManagerImpl implements PositionManager, MultiRequestPositio
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
public List<ReferenceType> getAllClasses(@NotNull final SourcePosition position) throws NoDataException {
|
||||
Set<PsiClass> lineClasses = ReadAction.compute(() -> getLineClasses(position.getFile(), position.getLine()));
|
||||
return ContainerUtil.flatMap(lineClasses, aClass -> getClassReferences(aClass, position));
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.sun.jdi.ThreadGroupReference;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -59,10 +60,12 @@ public class ThreadGroupReferenceProxyImpl extends ObjectReferenceProxyImpl impl
|
||||
getThreadGroupReference().resume();
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
public List<ThreadReferenceProxyImpl> threads() {
|
||||
return ContainerUtil.map(getThreadGroupReference().threads(), getVirtualMachineProxy()::getThreadReferenceProxy);
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
public List<ThreadGroupReferenceProxyImpl> threadGroups() {
|
||||
return ContainerUtil.map(getThreadGroupReference().threadGroups(), getVirtualMachineProxy()::getThreadGroupReferenceProxy);
|
||||
}
|
||||
|
||||
@@ -254,6 +254,7 @@ public class VirtualMachineProxyImpl implements JdiTimer, VirtualMachineProxy {
|
||||
/**
|
||||
* @return a list of threadGroupProxies
|
||||
*/
|
||||
@Unmodifiable
|
||||
public List<ThreadGroupReferenceProxyImpl> topLevelThreadGroups() {
|
||||
return ContainerUtil.map(getVirtualMachine().topLevelThreadGroups(), this::getThreadGroupReferenceProxy);
|
||||
}
|
||||
|
||||
+2
@@ -8,6 +8,7 @@ import com.intellij.debugger.engine.evaluation.EvaluationContextImpl;
|
||||
import com.intellij.openapi.util.registry.Registry;
|
||||
import com.sun.jdi.ObjectReference;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -29,6 +30,7 @@ public class MemoryAgentPathsToClosestGCRootsProvider implements ReferringObject
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public List<ReferringObject> getReferringObjects(@NotNull EvaluationContextImpl evaluationContext,
|
||||
@NotNull ObjectReference value,
|
||||
long limit) throws EvaluateException {
|
||||
|
||||
@@ -50,6 +50,7 @@ public class JavaDebuggerEditorsProvider extends XDebuggerEditorsProviderBase {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public Collection<Language> getSupportedLanguages(@NotNull Project project, @Nullable XSourcePosition sourcePosition) {
|
||||
if (sourcePosition != null) {
|
||||
return getSupportedLanguages(getContextElement(sourcePosition.getFile(), sourcePosition.getOffset(), project));
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.sun.jdi.ReferenceType;
|
||||
import com.sun.jdi.request.ClassPrepareRequest;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
@@ -54,6 +55,7 @@ public interface PositionManager {
|
||||
* @see com.intellij.debugger.engine.jdi.VirtualMachineProxy#classesByName
|
||||
*/
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
List<ReferenceType> getAllClasses(@NotNull SourcePosition classPosition) throws NoDataException;
|
||||
|
||||
/**
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.sun.jdi.ReferenceType;
|
||||
import com.sun.jdi.request.ClassPrepareRequest;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -49,6 +50,7 @@ public class JavaScratchPositionManager extends PositionManagerImpl{
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public List<ReferenceType> getAllClasses(@NotNull SourcePosition position) throws NoDataException {
|
||||
checkPosition(position);
|
||||
return super.getAllClasses(position);
|
||||
|
||||
+2
@@ -20,6 +20,7 @@ import com.intellij.openapi.roots.OrderRootType;
|
||||
import com.intellij.openapi.roots.libraries.ui.RootDetector;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
@@ -30,6 +31,7 @@ public final class LibraryJavaSourceRootDetector extends RootDetector {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public Collection<VirtualFile> detectRoots(@NotNull VirtualFile rootCandidate,
|
||||
@NotNull ProgressIndicator progressIndicator) {
|
||||
return JavaVfsSourceRootDetectionUtil.suggestRoots(rootCandidate, progressIndicator);
|
||||
|
||||
@@ -430,6 +430,7 @@ public abstract class QuickFixFactory {
|
||||
public abstract IntentionAction createNotIterableForEachLoopFix(@NotNull PsiExpression expression);
|
||||
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
public abstract List<IntentionAction> createAddAnnotationAttributeNameFixes(@NotNull PsiNameValuePair pair);
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -169,6 +169,7 @@ public interface RefMethod extends RefJavaElement, RefOverridable {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
@Unmodifiable
|
||||
default Collection<? extends RefOverridable> getDerivedReferences() {
|
||||
return getDerivedMethods();
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
package com.intellij.codeInspection.reference;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
@@ -13,6 +14,7 @@ public interface RefOverridable extends RefJavaElement {
|
||||
* @return the collection of derived references, e.g. RefMethod may contain at least RefMethod, RefFunctionalExpression as derived reference,
|
||||
* RefFunctionalExpression contains nothing.
|
||||
*/
|
||||
@Unmodifiable
|
||||
@NotNull Collection<? extends RefOverridable> getDerivedReferences();
|
||||
|
||||
/**
|
||||
|
||||
+1
@@ -264,6 +264,7 @@ class ContractInferenceInterpreter {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
private List<PreContract> visitPolyadic(List<ValueConstraint[]> states, @NotNull LighterASTNode expr) {
|
||||
if (firstChildOfType(myTree, expr, JavaTokenType.PLUS) != null) {
|
||||
return asPreContracts(ContainerUtil.map(states, s -> new StandardMethodContract(s, returnNotNull())));
|
||||
|
||||
+3
@@ -10,6 +10,7 @@ import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiResourceList;
|
||||
import com.intellij.util.containers.FList;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -34,6 +35,7 @@ public class EnterFinallyTrap implements DfaControlTransferValue.Trap {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<DfaInstructionState> dispatch(@NotNull DfaMemoryState state,
|
||||
@NotNull DataFlowInterpreter interpreter,
|
||||
DfaControlTransferValue.@NotNull TransferTarget target,
|
||||
@@ -68,6 +70,7 @@ public class EnterFinallyTrap implements DfaControlTransferValue.Trap {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<DfaInstructionState> dispatch(@NotNull DfaMemoryState state,
|
||||
@NotNull DataFlowInterpreter interpreter,
|
||||
DfaControlTransferValue.@NotNull TransferTarget target,
|
||||
|
||||
+2
@@ -9,6 +9,7 @@ import com.intellij.codeInspection.dataFlow.value.DfaValue;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.util.containers.FList;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -20,6 +21,7 @@ public class InsideFinallyTrap implements DfaControlTransferValue.Trap {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<DfaInstructionState> dispatch(@NotNull DfaMemoryState state,
|
||||
@NotNull DataFlowInterpreter interpreter,
|
||||
DfaControlTransferValue.@NotNull TransferTarget target,
|
||||
|
||||
+2
-1
@@ -6,10 +6,10 @@ import com.intellij.codeInspection.dataFlow.lang.ir.DfaInstructionState;
|
||||
import com.intellij.codeInspection.dataFlow.memory.DfaMemoryState;
|
||||
import com.intellij.codeInspection.dataFlow.value.DfaControlTransferValue;
|
||||
import com.intellij.codeInspection.dataFlow.value.DfaValue;
|
||||
import com.intellij.psi.PsiCodeBlock;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.util.containers.FList;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -21,6 +21,7 @@ public class InsideInlinedBlockTrap implements DfaControlTransferValue.Trap {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<DfaInstructionState> dispatch(@NotNull DfaMemoryState state,
|
||||
@NotNull DataFlowInterpreter interpreter,
|
||||
DfaControlTransferValue.@NotNull TransferTarget target,
|
||||
|
||||
+2
@@ -9,6 +9,7 @@ import com.intellij.codeInspection.dataFlow.value.DfaControlTransferValue;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.util.containers.FList;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -22,6 +23,7 @@ public class TryCatchAllTrap implements DfaControlTransferValue.Trap {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<DfaInstructionState> dispatch(@NotNull DfaMemoryState state,
|
||||
@NotNull DataFlowInterpreter interpreter,
|
||||
DfaControlTransferValue.@NotNull TransferTarget target,
|
||||
|
||||
+2
@@ -34,6 +34,7 @@ import one.util.streamex.EntryStream;
|
||||
import one.util.streamex.StreamEx;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -187,6 +188,7 @@ public final class SuspiciousInvocationHandlerImplementationInspection extends A
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
protected @NotNull List<DfaInstructionState> createInitialInstructionStates(@NotNull PsiElement psiBlock,
|
||||
@NotNull Collection<? extends DfaMemoryState> memStates,
|
||||
@NotNull ControlFlow flow) {
|
||||
|
||||
@@ -34,6 +34,7 @@ import com.siyeh.ig.psiutils.CommentTracker;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@@ -91,6 +92,7 @@ public final class VarargParameterInspection extends BaseInspection {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
private static List<PsiElement> getReferences(@NotNull PsiMethod method) {
|
||||
if (IntentionPreviewUtils.isIntentionPreviewActive()) {
|
||||
return SyntaxTraverser.psiTraverser(method.getContainingFile())
|
||||
|
||||
@@ -160,6 +160,7 @@ public final class MakeInferredAnnotationExplicit extends BaseIntentionAction {
|
||||
() -> doMakeAnnotationExplicit(project, owner, annotations)), file);
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
private @NotNull List<PsiAnnotation> getAnnotationsToAdd(@NotNull PsiModifierListOwner owner) {
|
||||
List<PsiAnnotation> allAnnotations = StreamEx.of(InferredAnnotationsManager.getInstance(owner.getProject()).findInferredAnnotations(owner))
|
||||
.remove(DefaultInferredAnnotationProvider::isExperimentalInferredAnnotation)
|
||||
|
||||
@@ -567,6 +567,7 @@ public final class JavaCompletionUtil {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
static @NotNull Iterable<? extends LookupElement> createLookupElements(@NotNull CompletionElement completionElement, @NotNull PsiJavaReference reference) {
|
||||
Object completion = completionElement.getElement();
|
||||
assert !(completion instanceof LookupElement);
|
||||
|
||||
@@ -162,6 +162,7 @@ public final class JavaConstructorCallElement extends LookupElementDecorator<Loo
|
||||
return aClass;
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
static List<? extends LookupElement> wrap(@NotNull JavaPsiClassReferenceElement classItem, @NotNull PsiElement position) {
|
||||
PsiClass psiClass = classItem.getObject();
|
||||
return wrap(classItem, psiClass, position, () -> JavaPsiFacade.getElementFactory(psiClass.getProject()).createType(psiClass, PsiSubstitutor.EMPTY));
|
||||
|
||||
@@ -32,6 +32,7 @@ import static com.intellij.psi.CommonClassNames.*;
|
||||
|
||||
final class StreamConversion {
|
||||
|
||||
@Unmodifiable
|
||||
static List<LookupElement> addToStreamConversion(PsiReferenceExpression ref, CompletionParameters parameters) {
|
||||
PsiExpression qualifier = ref.getQualifierExpression();
|
||||
if (qualifier == null) return Collections.emptyList();
|
||||
|
||||
+2
-4
@@ -28,10 +28,7 @@ import com.intellij.psi.util.PsiUtilCore;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.siyeh.ig.psiutils.SealedUtils;
|
||||
import it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.*;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -351,6 +348,7 @@ public final class JavaCompletionProcessor implements PsiScopeProcessor, Element
|
||||
}
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
public Iterable<CompletionElement> getResults() {
|
||||
if (mySecondRateResults.size() == myResults.size()) {
|
||||
return mySecondRateResults;
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -129,6 +130,7 @@ public class ImportClassFix extends ImportClassFixBase<PsiJavaCodeReferenceEleme
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
protected @NotNull Collection<PsiClass> filterByContext(@NotNull Collection<PsiClass> candidates, @NotNull PsiJavaCodeReferenceElement referenceElement) {
|
||||
if (referenceElement instanceof PsiReferenceExpression) {
|
||||
return Collections.emptyList();
|
||||
|
||||
@@ -16,6 +16,7 @@ import com.intellij.psi.*;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -115,6 +116,7 @@ public class GenerateEqualsHandler extends GenerateMembersHandlerBase {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
protected @NotNull List<? extends GenerationInfo> generateMemberPrototypes(PsiClass aClass, ClassMember[] originalMembers) {
|
||||
final boolean useInstanceofToCheckParameterType = CodeInsightSettings.getInstance().USE_INSTANCEOF_ON_EQUALS_PARAMETER;
|
||||
final boolean useAccessors = CodeInsightSettings.getInstance().USE_ACCESSORS_IN_EQUALS_HASHCODE;
|
||||
|
||||
@@ -269,6 +269,7 @@ public final class OverrideImplementUtil extends OverrideImplementExploreUtil {
|
||||
}
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
public static @NotNull List<PsiGenerationInfo<PsiMethod>> overrideOrImplementMethods(@NotNull PsiClass aClass,
|
||||
@NotNull Collection<? extends PsiMethodMember> candidates,
|
||||
boolean toCopyJavaDoc,
|
||||
|
||||
+1
@@ -779,6 +779,7 @@ public final class QuickFixFactoryImpl extends QuickFixFactory {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<IntentionAction> createAddAnnotationAttributeNameFixes(@NotNull PsiNameValuePair pair) {
|
||||
return AddAnnotationAttributeNameFix.createFixes(pair);
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ import com.intellij.util.Processor;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -217,6 +218,7 @@ public class JavaFindUsagesHandler extends FindUsagesHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull Collection<PsiReference> findReferencesToHighlight(final @NotNull PsiElement target, final @NotNull SearchScope searchScope) {
|
||||
if (target instanceof PsiMethod) {
|
||||
Set<PsiMethod> superTargets = new LinkedHashSet<>();
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.util.LocalTimeCounter;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.Collections;
|
||||
@@ -491,6 +492,7 @@ public final class JavaLanguageCodeStyleSettingsProvider extends LanguageCodeSty
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
protected List<String> parseString(@NotNull String string) {
|
||||
return CodeStylePropertiesUtil.getValueList(string);
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.intellij.psi.PsiManager;
|
||||
import com.intellij.psi.PsiPackage;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -41,6 +42,7 @@ public class PackageViewProjectNode extends AbstractProjectNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull Collection<AbstractTreeNode<?>> getChildren() {
|
||||
if (getSettings().isShowModules()) {
|
||||
return modulesAndGroups(moduleDescriptions(myProject));
|
||||
|
||||
@@ -40,6 +40,7 @@ import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.containers.SmartHashSet;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.io.*;
|
||||
@@ -329,6 +330,7 @@ public final class JavadocGeneratorRunProfile implements ModuleRunProfile {
|
||||
return argsFile;
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
private @NotNull List<VirtualFile> findSourceRoots(@NotNull Set<Module> modules) {
|
||||
OrderEnumerator sourcePathEnumerator = ProjectRootManager.getInstance(myProject).orderEntries(modules);
|
||||
if (!myConfiguration.OPTION_INCLUDE_LIBS) {
|
||||
@@ -340,6 +342,7 @@ public final class JavadocGeneratorRunProfile implements ModuleRunProfile {
|
||||
return sourcePathEnumerator.getSourcePathsList().getRootDirs();
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
private @NotNull List<VirtualFile> findClassRoots(@NotNull Set<Module> modules, @NotNull Sdk jdk) {
|
||||
OrderEnumerator classPathEnumerator = ProjectRootManager.getInstance(myProject).orderEntries(modules).withoutModuleSourceEntries();
|
||||
if (jdk.getSdkType() instanceof JavaSdk) {
|
||||
|
||||
@@ -5,11 +5,13 @@ import com.intellij.codeInsight.daemon.impl.focusMode.FocusModeProvider;
|
||||
import com.intellij.openapi.util.Segment;
|
||||
import com.intellij.psi.*;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public final class JavaFocusModeProvider implements FocusModeProvider {
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<? extends Segment> calcFocusZones(@NotNull PsiFile file) {
|
||||
return SyntaxTraverser.psiTraverser(file)
|
||||
.postOrderDfsTraversal()
|
||||
|
||||
@@ -46,6 +46,7 @@ import org.jdom.Element;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
import org.jetbrains.concurrency.Promise;
|
||||
import org.jetbrains.jps.model.java.JdkVersionDetector;
|
||||
import org.jetbrains.jps.model.java.impl.JavaSdkUtil;
|
||||
@@ -493,6 +494,7 @@ public final class JavaSdkImpl extends JavaSdk {
|
||||
* Tries to load the list of modules in the JDK from the 'release' file. Returns null if the 'release' file is not there
|
||||
* or doesn't contain the expected information.
|
||||
*/
|
||||
@Unmodifiable
|
||||
private static @Nullable List<String> readModulesFromReleaseFile(@NotNull Path jrtBaseDir) {
|
||||
try (InputStream stream = Files.newInputStream(jrtBaseDir.resolve("release"))) {
|
||||
Properties p = new Properties();
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.intellij.extapi.psi.ASTWrapperPsiElement;
|
||||
import com.intellij.lang.ASTNode;
|
||||
import com.intellij.spi.parsing.SPIElementTypes;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -27,6 +28,7 @@ public class SPIClassProvidersElementList extends ASTWrapperPsiElement {
|
||||
super(node);
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
public List<SPIClassProviderReferenceElement> getElements() {
|
||||
return findChildrenByType(SPIElementTypes.PROVIDER);
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.siyeh.ig.psiutils.SwitchUtils;
|
||||
import one.util.streamex.StreamEx;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
@@ -29,7 +30,7 @@ public final class CreateEnumMissingSwitchBranchesFix extends CreateMissingSwitc
|
||||
}
|
||||
|
||||
@Override
|
||||
protected @NotNull Function<PsiSwitchLabelStatementBase, List<String>> getCaseExtractor() {
|
||||
protected @NotNull Function<PsiSwitchLabelStatementBase, @Unmodifiable List<String>> getCaseExtractor() {
|
||||
return label -> ContainerUtil.map(SwitchUtils.findEnumConstants(label), PsiEnumConstant::getName);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.siyeh.ig.psiutils.SwitchUtils;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
@@ -72,7 +73,7 @@ public final class CreateMissingBooleanPrimitiveBranchesFix extends CreateMissin
|
||||
}
|
||||
|
||||
@Override
|
||||
protected @NotNull Function<PsiSwitchLabelStatementBase, List<String>> getCaseExtractor() {
|
||||
protected @NotNull Function<PsiSwitchLabelStatementBase, @Unmodifiable List<String>> getCaseExtractor() {
|
||||
return label -> {
|
||||
PsiCaseLabelElementList list = label.getCaseLabelElementList();
|
||||
if (list == null) return Collections.emptyList();
|
||||
|
||||
+2
-1
@@ -14,6 +14,7 @@ import com.siyeh.ig.psiutils.VariableNameGenerator;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
@@ -48,7 +49,7 @@ public final class CreateMissingDeconstructionRecordClassBranchesFix extends Cre
|
||||
}
|
||||
|
||||
@Override
|
||||
protected @NotNull Function<PsiSwitchLabelStatementBase, List<String>> getCaseExtractor() {
|
||||
protected @NotNull Function<PsiSwitchLabelStatementBase, @Unmodifiable List<String>> getCaseExtractor() {
|
||||
return label -> {
|
||||
PsiCaseLabelElementList list = label.getCaseLabelElementList();
|
||||
if (list == null) return Collections.emptyList();
|
||||
|
||||
@@ -50,5 +50,5 @@ public abstract class CreateMissingSwitchBranchesFix extends BaseSwitchFix {
|
||||
|
||||
@Unmodifiable
|
||||
protected abstract @NotNull List<String> getAllNames(@NotNull PsiClass aClass, @NotNull PsiSwitchBlock switchBlock);
|
||||
protected abstract @NotNull Function<PsiSwitchLabelStatementBase, List<String>> getCaseExtractor();
|
||||
protected abstract @NotNull Function<PsiSwitchLabelStatementBase, @Unmodifiable List<String>> getCaseExtractor();
|
||||
}
|
||||
|
||||
+1
-1
@@ -88,7 +88,7 @@ public class CreateSealedClassMissingSwitchBranchesFix extends CreateMissingSwit
|
||||
}
|
||||
|
||||
@Override
|
||||
protected @NotNull Function<PsiSwitchLabelStatementBase, List<String>> getCaseExtractor() {
|
||||
protected @NotNull Function<PsiSwitchLabelStatementBase, @Unmodifiable List<String>> getCaseExtractor() {
|
||||
return label -> {
|
||||
PsiCaseLabelElementList list = label.getCaseLabelElementList();
|
||||
if (list == null) return Collections.emptyList();
|
||||
|
||||
@@ -9,12 +9,14 @@ import com.intellij.psi.PsiLiteralExpression;
|
||||
import com.intellij.psi.SyntaxTraverser;
|
||||
import com.intellij.util.Function;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
public final class StringFormatUsageSearcher implements UsageSearcher {
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull Collection<? extends Usage> collectImmediateResults(@NotNull UsageSearchParameters parameters) {
|
||||
SearchTarget target = parameters.getTarget();
|
||||
if (target instanceof StringFormatSymbolReferenceProvider.JavaFormatArgumentSymbol symbol) {
|
||||
@@ -26,6 +28,7 @@ public final class StringFormatUsageSearcher implements UsageSearcher {
|
||||
return List.of();
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
private static @NotNull List<Usage> getFormatUsages(@NotNull Symbol symbol,
|
||||
@NotNull PsiExpression expression,
|
||||
@NotNull PsiExpression arg,
|
||||
|
||||
@@ -35,6 +35,7 @@ import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -242,6 +243,7 @@ public final class IfCanBeSwitchInspection extends BaseInspection {
|
||||
}
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
private static @NotNull List<PsiTypeCastExpression> getRelatesCastExpressions(PsiElement expression, PsiInstanceOfExpression targetInstanceOf) {
|
||||
return SyntaxTraverser.psiTraverser(expression)
|
||||
.filter(PsiTypeCastExpression.class)
|
||||
|
||||
@@ -54,10 +54,11 @@ public final class CreateSwitchBranchesUtil {
|
||||
* thus some kind of normalization could be necessary.
|
||||
* @return a list of created branches
|
||||
*/
|
||||
@Unmodifiable
|
||||
public static List<PsiSwitchLabelStatementBase> createMissingBranches(@NotNull PsiSwitchBlock switchBlock,
|
||||
@NotNull List<String> allNames,
|
||||
@NotNull @Unmodifiable Collection<String> missingNames,
|
||||
@NotNull Function<? super PsiSwitchLabelStatementBase, ? extends List<String>> caseExtractor) {
|
||||
@NotNull Function<? super PsiSwitchLabelStatementBase, ? extends @Unmodifiable List<String>> caseExtractor) {
|
||||
final JavaCodeStyleManager javaCodeStyleManager = JavaCodeStyleManager.getInstance(switchBlock.getProject());
|
||||
boolean isRuleBasedFormat = SwitchUtils.isRuleFormatSwitch(switchBlock);
|
||||
final PsiCodeBlock body = switchBlock.getBody();
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
package com.intellij.lang.jvm.annotation;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -11,5 +12,6 @@ import java.util.List;
|
||||
public interface JvmAnnotationArrayValue extends JvmAnnotationAttributeValue {
|
||||
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
List<JvmAnnotationAttributeValue> getValues();
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.intellij.psi.util.PsiUtil;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import static com.intellij.util.containers.ContainerUtil.mapNotNull;
|
||||
|
||||
@@ -21,6 +22,7 @@ public final class JvmUtil {
|
||||
private JvmUtil() {}
|
||||
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
static Iterable<JvmClass> resolveClasses(JvmReferenceType @NotNull [] types) {
|
||||
return mapNotNull(types, JvmUtil::resolveClass);
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.intellij.lang.jvm.JvmEnumField;
|
||||
import com.intellij.lang.jvm.annotation.*;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -99,6 +100,7 @@ class PsiAnnotationArrayValue extends PsiAnnotationAttributeValue<PsiArrayInitia
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public List<JvmAnnotationAttributeValue> getValues() {
|
||||
return map(myElement.getInitializers(), PsiJvmConversionHelper::getAnnotationAttributeValue);
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@@ -273,6 +274,7 @@ public interface PsiClass
|
||||
* @return the found methods and their substitutors, or an empty list if no methods are found.
|
||||
*/
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
List<Pair<PsiMethod, PsiSubstitutor>> findMethodsAndTheirSubstitutorsByName(@NonNls @NotNull String name, boolean checkBases);
|
||||
|
||||
/**
|
||||
@@ -282,6 +284,7 @@ public interface PsiClass
|
||||
* @return the list of methods and their substitutors
|
||||
*/
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
List<Pair<PsiMethod, PsiSubstitutor>> getAllMethodsAndTheirSubstitutors();
|
||||
|
||||
/**
|
||||
|
||||
@@ -167,6 +167,7 @@ public class PropertyUtilBase {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
public static List<PsiMethod> getAccessors(@NotNull final PsiClass psiClass, final String propertyName) {
|
||||
return getAccessors(psiClass, propertyName, false, ONLY_PUBLIC);
|
||||
}
|
||||
|
||||
@@ -159,6 +159,7 @@ public final class PsiClassImplUtil {
|
||||
: ContainerUtil.filter(type.getMembers(aClass), member -> name.equals(member.getName()));
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
public static @NotNull <T extends PsiMember> List<Pair<T, PsiSubstitutor>> getAllWithSubstitutorsByMap(@NotNull PsiClass aClass, @NotNull MemberType type) {
|
||||
return withSubstitutors(aClass, getMap(aClass).getAllMembers(type, null));
|
||||
}
|
||||
@@ -923,6 +924,7 @@ public final class PsiClassImplUtil {
|
||||
return resolved;
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
public static @NotNull List<Pair<PsiMethod, PsiSubstitutor>> findMethodsAndTheirSubstitutorsByName(@NotNull PsiClass psiClass,
|
||||
@NotNull String name,
|
||||
boolean checkBases) {
|
||||
|
||||
@@ -31,6 +31,7 @@ import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.*;
|
||||
@@ -269,11 +270,13 @@ public class ClsClassImpl extends ClsMemberImpl<PsiClassStub<?>> implements PsiE
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<Pair<PsiMethod, PsiSubstitutor>> findMethodsAndTheirSubstitutorsByName(@NotNull String name, boolean checkBases) {
|
||||
return PsiClassImplUtil.findMethodsAndTheirSubstitutorsByName(this, name, checkBases);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<Pair<PsiMethod, PsiSubstitutor>> getAllMethodsAndTheirSubstitutors() {
|
||||
return PsiClassImplUtil.getAllWithSubstitutorsByMap(this, PsiClassImplUtil.MemberType.METHOD);
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.Collection;
|
||||
@@ -85,11 +86,13 @@ public class ClsTypeParameterImpl extends ClsRepositoryPsiElement<PsiTypeParamet
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<Pair<PsiMethod, PsiSubstitutor>> findMethodsAndTheirSubstitutorsByName(@NotNull String name, boolean checkBases) {
|
||||
return PsiClassImplUtil.findMethodsAndTheirSubstitutorsByName(this, name, checkBases);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<Pair<PsiMethod, PsiSubstitutor>> getAllMethodsAndTheirSubstitutors() {
|
||||
return PsiClassImplUtil.getAllWithSubstitutorsByMap(this, PsiClassImplUtil.MemberType.METHOD);
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@@ -206,11 +207,13 @@ public abstract class AbstractLightClass extends LightElement implements PsiClas
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<Pair<PsiMethod, PsiSubstitutor>> findMethodsAndTheirSubstitutorsByName(@NonNls @NotNull String name, boolean checkBases) {
|
||||
return PsiClassImplUtil.findMethodsAndTheirSubstitutorsByName(this, name, checkBases);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<Pair<PsiMethod, PsiSubstitutor>> getAllMethodsAndTheirSubstitutors() {
|
||||
return PsiClassImplUtil.getAllWithSubstitutorsByMap(this, PsiClassImplUtil.MemberType.METHOD);
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@@ -152,11 +153,13 @@ public abstract class LightPsiClassBase extends LightElement implements PsiClass
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<Pair<PsiMethod, PsiSubstitutor>> findMethodsAndTheirSubstitutorsByName(@NonNls @NotNull String name, boolean checkBases) {
|
||||
return PsiClassImplUtil.findMethodsAndTheirSubstitutorsByName(this, name, checkBases);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<Pair<PsiMethod, PsiSubstitutor>> getAllMethodsAndTheirSubstitutors() {
|
||||
return PsiClassImplUtil.getAllWithSubstitutorsByMap(this, PsiClassImplUtil.MemberType.METHOD);
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.*;
|
||||
@@ -361,11 +362,13 @@ public class PsiClassImpl extends JavaStubPsiElement<PsiClassStub<?>> implements
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<Pair<PsiMethod, PsiSubstitutor>> findMethodsAndTheirSubstitutorsByName(@NotNull String name, boolean checkBases) {
|
||||
return PsiClassImplUtil.findMethodsAndTheirSubstitutorsByName(this, name, checkBases);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<Pair<PsiMethod, PsiSubstitutor>> getAllMethodsAndTheirSubstitutors() {
|
||||
return PsiClassImplUtil.getAllWithSubstitutorsByMap(this, PsiClassImplUtil.MemberType.METHOD);
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.Arrays;
|
||||
@@ -172,11 +173,13 @@ public class PsiImplicitClassImpl extends JavaStubPsiElement<PsiClassStub<?>> im
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<Pair<PsiMethod, PsiSubstitutor>> findMethodsAndTheirSubstitutorsByName(@NotNull String name, boolean checkBases) {
|
||||
return PsiClassImplUtil.findMethodsAndTheirSubstitutorsByName(this, name, checkBases);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<Pair<PsiMethod, PsiSubstitutor>> getAllMethodsAndTheirSubstitutors() {
|
||||
return PsiClassImplUtil.getAllWithSubstitutorsByMap(this, PsiClassImplUtil.MemberType.METHOD);
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@@ -179,11 +180,13 @@ public class PsiJShellRootClassImpl extends ASTWrapperPsiElement implements PsiJ
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<Pair<PsiMethod, PsiSubstitutor>> findMethodsAndTheirSubstitutorsByName(@NotNull String name, boolean checkBases) {
|
||||
return PsiClassImplUtil.findMethodsAndTheirSubstitutorsByName(this, name, checkBases);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<Pair<PsiMethod, PsiSubstitutor>> getAllMethodsAndTheirSubstitutors() {
|
||||
return PsiClassImplUtil.getAllWithSubstitutorsByMap(this, PsiClassImplUtil.MemberType.METHOD);
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.intellij.util.SmartList;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@@ -67,6 +68,7 @@ public class PsiCatchSectionImpl extends CompositePsiElement implements PsiCatch
|
||||
);
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
private List<PsiType> computePreciseCatchTypes(final @Nullable PsiParameter parameter) {
|
||||
if (parameter == null) {
|
||||
return ContainerUtil.emptyList();
|
||||
|
||||
+3
@@ -21,6 +21,7 @@ import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.Collection;
|
||||
@@ -86,11 +87,13 @@ public class PsiTypeParameterImpl extends JavaStubPsiElement<PsiTypeParameterStu
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<Pair<PsiMethod, PsiSubstitutor>> findMethodsAndTheirSubstitutorsByName(@NotNull String name, boolean checkBases) {
|
||||
return PsiClassImplUtil.findMethodsAndTheirSubstitutorsByName(this, name, checkBases);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<Pair<PsiMethod, PsiSubstitutor>> getAllMethodsAndTheirSubstitutors() {
|
||||
return PsiClassImplUtil.getAllWithSubstitutorsByMap(this, PsiClassImplUtil.MemberType.METHOD);
|
||||
}
|
||||
|
||||
+2
@@ -18,6 +18,7 @@ import com.intellij.psi.PsiMember;
|
||||
import com.intellij.psi.SyntaxTraverser;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -28,6 +29,7 @@ public class JavaLambdaNodeProvider implements FileStructureNodeProvider<JavaLam
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public List<JavaLambdaTreeElement> provideNodes(@NotNull TreeElement node) {
|
||||
if (!(node instanceof PsiTreeElementBase)) {
|
||||
return Collections.emptyList();
|
||||
|
||||
@@ -27,6 +27,7 @@ package org.jetbrains.lang.manifest.psi;
|
||||
import com.intellij.psi.PsiNamedElement;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -51,5 +52,6 @@ public interface Header extends PsiNamedElement {
|
||||
* Returns a list of all header value elements.
|
||||
*/
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
List<HeaderValue> getHeaderValues();
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ package org.jetbrains.lang.manifest.psi;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -38,6 +39,7 @@ public interface ManifestFile extends PsiFile {
|
||||
* Returns all sections of the file.
|
||||
*/
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
List<Section> getSections();
|
||||
|
||||
/**
|
||||
@@ -50,6 +52,7 @@ public interface ManifestFile extends PsiFile {
|
||||
* Returns all headers from the main section in this file.
|
||||
*/
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
List<Header> getHeaders();
|
||||
|
||||
/**
|
||||
|
||||
@@ -32,6 +32,7 @@ import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
import org.jetbrains.lang.manifest.psi.*;
|
||||
|
||||
import java.util.List;
|
||||
@@ -72,6 +73,7 @@ public class HeaderImpl extends ASTWrapperPsiElement implements Header {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public List<HeaderValue> getHeaderValues() {
|
||||
return PsiTreeUtil.getChildrenOfTypeAsList(this, HeaderValue.class);
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ import com.intellij.psi.FileViewProvider;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
import org.jetbrains.lang.manifest.ManifestFileType;
|
||||
import org.jetbrains.lang.manifest.ManifestLanguage;
|
||||
import org.jetbrains.lang.manifest.psi.Header;
|
||||
@@ -54,6 +55,7 @@ public class ManifestFileImpl extends PsiFileBase implements ManifestFile {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public List<Section> getSections() {
|
||||
return PsiTreeUtil.getChildrenOfTypeAsList(this, Section.class);
|
||||
}
|
||||
@@ -66,6 +68,7 @@ public class ManifestFileImpl extends PsiFileBase implements ManifestFile {
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public List<Header> getHeaders() {
|
||||
return PsiTreeUtil.getChildrenOfTypeAsList(getFirstChild(), Header.class);
|
||||
}
|
||||
|
||||
@@ -214,6 +214,7 @@ public abstract class DaemonAnalyzerTestCase extends JavaCodeInsightTestCase {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
protected Collection<HighlightInfo> doDoTest(boolean checkWarnings, boolean checkInfos) {
|
||||
return doDoTest(checkWarnings, checkInfos, false);
|
||||
}
|
||||
@@ -282,16 +283,19 @@ public abstract class DaemonAnalyzerTestCase extends JavaCodeInsightTestCase {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
protected final List<HighlightInfo> highlightErrors() {
|
||||
return doHighlighting(HighlightSeverity.ERROR);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
protected final List<HighlightInfo> doHighlighting(@NotNull HighlightSeverity minSeverity) {
|
||||
return filter(doHighlighting(), minSeverity);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
protected final List<HighlightInfo> doHighlighting() {
|
||||
PsiDocumentManager.getInstance(myProject).commitAllDocuments();
|
||||
|
||||
|
||||
+4
@@ -23,6 +23,7 @@ import it.unimi.dsi.fastutil.ints.IntList;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@@ -120,11 +121,13 @@ public abstract class LightDaemonAnalyzerTestCase extends LightJavaCodeInsightTe
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
protected List<HighlightInfo> highlightErrors() {
|
||||
return doHighlighting(HighlightSeverity.ERROR);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
protected List<HighlightInfo> doHighlighting() {
|
||||
PsiDocumentManager.getInstance(getProject()).commitAllDocuments();
|
||||
|
||||
@@ -150,6 +153,7 @@ public abstract class LightDaemonAnalyzerTestCase extends LightJavaCodeInsightTe
|
||||
return annotatedWith(DaemonAnalyzerTestCase.CanChangeDocumentDuringHighlighting.class);
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
protected List<HighlightInfo> doHighlighting(HighlightSeverity minSeverity) {
|
||||
return DaemonAnalyzerTestCase.filter(doHighlighting(), minSeverity);
|
||||
}
|
||||
|
||||
+5
@@ -28,6 +28,7 @@ import com.intellij.util.ui.UIUtil;
|
||||
import one.util.streamex.StreamEx;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.io.File;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
@@ -315,12 +316,14 @@ public abstract class LightQuickFixTestCase extends LightDaemonAnalyzerTestCase
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public List<HighlightInfo> doHighlighting() {
|
||||
return LightQuickFixTestCase.this.doHighlighting();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public List<IntentionAction> getAvailableActions() {
|
||||
return LightQuickFixTestCase.this.getAvailableActions();
|
||||
}
|
||||
@@ -347,12 +350,14 @@ public abstract class LightQuickFixTestCase extends LightDaemonAnalyzerTestCase
|
||||
};
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
protected List<IntentionAction> getAvailableActions() {
|
||||
doHighlighting();
|
||||
return getAvailableActions(getEditor(), getFile());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
public static List<IntentionAction> getAvailableActions(@NotNull Editor editor, @NotNull PsiFile file) {
|
||||
return CodeInsightTestFixtureImpl.getAvailableIntentions(editor, file);
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -57,9 +58,11 @@ public interface QuickFixTestCase {
|
||||
void checkPreviewAndInvoke(@NotNull IntentionAction action, @NotNull String previewFilePath);
|
||||
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
List<HighlightInfo> doHighlighting();
|
||||
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
List<IntentionAction> getAvailableActions();
|
||||
|
||||
void bringRealEditorBack();
|
||||
|
||||
@@ -31,6 +31,7 @@ public class MockPsiClassType extends MockPsiReferenceType implements ClassType
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public List<InterfaceType> allInterfaces() {
|
||||
return interfaces();
|
||||
}
|
||||
|
||||
+2
@@ -6,11 +6,13 @@ import com.intellij.psi.controlFlow.*;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
final class TypeConversionRuleUtil {
|
||||
@Unmodifiable
|
||||
static List<PsiVariable> getVariablesToMakeFinal(@NotNull PsiExpression expression) {
|
||||
final ControlFlow controlFlow;
|
||||
try {
|
||||
|
||||
+2
@@ -4,6 +4,7 @@ package com.intellij.codeInsight.intention;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -49,6 +50,7 @@ public interface CustomizableIntentionActionDelegate extends IntentionActionDele
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
default @NotNull List<RangeToHighlight> getRangesToHighlight(@NotNull Editor editor, @NotNull PsiFile file) {
|
||||
IntentionAction action = IntentionActionDelegate.unwrap(getDelegate());
|
||||
if (action instanceof CustomizableIntentionAction) {
|
||||
|
||||
@@ -92,5 +92,6 @@ public interface Lookup {
|
||||
|
||||
boolean isSelectionTouched();
|
||||
|
||||
@Unmodifiable
|
||||
List<String> getAdvertisements();
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.intellij.openapi.util.ClassConditionKey;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
@@ -42,6 +43,7 @@ public abstract class LookupElementDecorator<T extends LookupElement> extends Lo
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public Set<String> getAllLookupStrings() {
|
||||
return myDelegate.getAllLookupStrings();
|
||||
}
|
||||
|
||||
@@ -198,6 +198,7 @@ public abstract class InspectionProfileEntry implements BatchSuppressableTool, O
|
||||
return alternativeId != null && !alternativeId.equals(toolId) && suppressor.isSuppressedFor(element, alternativeId);
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
public static @NotNull Collection<InspectionSuppressor> getSuppressors(@NotNull PsiElement element) {
|
||||
PsiFile file = element.getContainingFile();
|
||||
if (file == null) {
|
||||
|
||||
@@ -9,6 +9,7 @@ import org.intellij.lang.annotations.Language;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@@ -214,6 +215,7 @@ public abstract class LocalInspectionTool extends InspectionProfileEntry impleme
|
||||
public void inspectionFinished(@NotNull LocalInspectionToolSession session, @NotNull ProblemsHolder problemsHolder) {
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
public @NotNull List<ProblemDescriptor> processFile(@NotNull PsiFile file, @NotNull InspectionManager manager) {
|
||||
return manager.defaultProcessFile(this, file);
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.TestOnly;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -236,6 +237,7 @@ public final class QuickFixWrapper implements IntentionAction, PriorityAction, C
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<@NotNull RangeToHighlight> getRangesToHighlight(@NotNull Editor editor, @NotNull PsiFile file) {
|
||||
return myFix.getRangesToHighlight(file.getProject(), myDescriptor);
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ package com.intellij.openapi.vfs.newvfs;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
@@ -34,6 +35,7 @@ public interface FileSystemInterface {
|
||||
* Returns all virtual files under which the given path is known in the VFS, starting with virtual file for the passed path.
|
||||
* Please note, that it is guaranteed to find all aliases only if path is canonical.
|
||||
*/
|
||||
@Unmodifiable
|
||||
default @NotNull Iterable<@NotNull VirtualFile> findCachedFilesForPath(@NotNull String path) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
+2
@@ -10,6 +10,7 @@ import com.intellij.util.ProcessingContext;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.IdentityHashMap;
|
||||
import java.util.List;
|
||||
@@ -64,6 +65,7 @@ public class CachingComparingClassifier extends ComparingClassifier<LookupElemen
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<Pair<LookupElement, Object>> getSortingWeights(@NotNull Iterable<? extends LookupElement> items, @NotNull ProcessingContext context) {
|
||||
checkPrefixChanged(context);
|
||||
return super.getSortingWeights(items, context);
|
||||
|
||||
+2
@@ -60,10 +60,12 @@ public final class DfaControlTransferValue extends DfaValue {
|
||||
return indices.toIntArray();
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
public @NotNull List<DfaInstructionState> dispatch(@NotNull DfaMemoryState state, @NotNull DataFlowInterpreter interpreter) {
|
||||
return dispatch(state, interpreter, target, traps);
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
public static @NotNull List<DfaInstructionState> dispatch(@NotNull DfaMemoryState state,
|
||||
@NotNull DataFlowInterpreter interpreter,
|
||||
@NotNull TransferTarget target,
|
||||
|
||||
@@ -63,6 +63,7 @@ public abstract class PerFileMappingsBase<T> implements PersistentStateComponent
|
||||
protected @Nullable Project getProject() { return myProject; }
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull Map<VirtualFile, T> getMappings() {
|
||||
synchronized (myMappings) {
|
||||
ensureStateLoaded();
|
||||
|
||||
@@ -5,6 +5,7 @@ package com.intellij.lang;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@@ -14,6 +15,7 @@ import java.util.Map;
|
||||
public interface PerFileMappingsEx<T> extends PerFileMappings<T> {
|
||||
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
Map<VirtualFile, T> getMappings();
|
||||
|
||||
void setMappings(@NotNull Map<VirtualFile, T> mappings);
|
||||
|
||||
+1
@@ -65,6 +65,7 @@ public abstract class FileReferenceHelper {
|
||||
*
|
||||
* @return roots, which could be used as the start resolution context.
|
||||
*/
|
||||
@Unmodifiable
|
||||
public @NotNull Collection<PsiFileSystemItem> getRoots(@NotNull Module module, @NotNull VirtualFile hostFile) {
|
||||
return getRoots(module);
|
||||
}
|
||||
|
||||
+3
@@ -400,6 +400,7 @@ public class FileReferenceSet implements FileReferenceSetParameters {
|
||||
/**
|
||||
* Finds file target contexts, locations where users can create a file. Includes only local file directory items.
|
||||
*/
|
||||
@Unmodifiable
|
||||
public Collection<FileTargetContext> getTargetContexts() {
|
||||
PsiFile file = getContainingFile();
|
||||
if (file == null) return emptyList();
|
||||
@@ -462,6 +463,7 @@ public class FileReferenceSet implements FileReferenceSetParameters {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
private @NotNull Collection<FileTargetContext> getTargetContextByFile(@NotNull PsiFile file) {
|
||||
boolean absolutePathReference = isAbsolutePathReference();
|
||||
|
||||
@@ -589,6 +591,7 @@ public class FileReferenceSet implements FileReferenceSetParameters {
|
||||
return new ArrayList<>(result);
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
protected @NotNull Collection<PsiFileSystemItem> toFileSystemItems(VirtualFile... files) {
|
||||
return toFileSystemItems(Arrays.asList(files));
|
||||
}
|
||||
|
||||
+1
@@ -289,6 +289,7 @@ class DocumentWindowImpl extends UserDataHolderBase implements Disposable, Docum
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull Collection<@NotNull StringOperation> prepareReplaceString(int startOffset, int endOffset, @NotNull CharSequence s) {
|
||||
if (isOneLine()) {
|
||||
s = StringUtil.replace(s.toString(), "\n", "");
|
||||
|
||||
+2
-4
@@ -30,10 +30,7 @@ import com.intellij.util.ObjectUtils;
|
||||
import com.intellij.util.Processor;
|
||||
import com.intellij.util.SmartList;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.TestOnly;
|
||||
import org.jetbrains.annotations.*;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -367,6 +364,7 @@ public final class InjectedLanguageManagerImpl extends InjectedLanguageManager i
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull List<DocumentWindow> getCachedInjectedDocumentsInRange(@NotNull PsiFile hostPsiFile, @NotNull TextRange range) {
|
||||
return InjectedLanguageUtilBase.getCachedInjectedDocumentsInRange(hostPsiFile, range);
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.util.text.StringOperation;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
@@ -53,5 +54,6 @@ public interface DocumentWindow extends Document {
|
||||
* <p>
|
||||
* This method doesn't modify the host document.
|
||||
*/
|
||||
@Unmodifiable
|
||||
@NotNull Collection<@NotNull StringOperation> prepareReplaceString(int startOffset, int endOffset, @NotNull CharSequence s);
|
||||
}
|
||||
|
||||
@@ -13,10 +13,7 @@ import com.intellij.psi.FileViewProvider;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiLanguageInjectionHost;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.TestOnly;
|
||||
import org.jetbrains.annotations.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -92,6 +89,7 @@ public abstract class InjectedLanguageManager {
|
||||
|
||||
public abstract PsiFile getTopLevelFile(@NotNull PsiElement element);
|
||||
|
||||
@Unmodifiable
|
||||
public abstract @NotNull List<DocumentWindow> getCachedInjectedDocumentsInRange(@NotNull PsiFile hostPsiFile, @NotNull TextRange range);
|
||||
|
||||
public abstract void enumerate(@NotNull PsiElement host, @NotNull PsiLanguageInjectionHost.InjectedPsiVisitor visitor);
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.util.ArrayUtilRt;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.Arrays;
|
||||
@@ -66,6 +67,7 @@ public class DelegatingGlobalSearchScope extends GlobalSearchScope {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull Collection<UnloadedModuleDescription> getUnloadedModulesBelongingToScope() {
|
||||
return getDelegate().getUnloadedModulesBelongingToScope();
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
@@ -41,6 +42,7 @@ class GlobalAndLocalUnionScope extends GlobalSearchScope {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull Collection<UnloadedModuleDescription> getUnloadedModulesBelongingToScope() {
|
||||
return myMyGlobalScope.getUnloadedModulesBelongingToScope();
|
||||
}
|
||||
|
||||
@@ -72,6 +72,7 @@ public abstract class GlobalSearchScope extends SearchScope implements ProjectAw
|
||||
* Returns descriptions of unloaded modules whose content might be included in this scope if they had been loaded. Actually, search in
|
||||
* unloaded modules isn't performed, so this method is used to determine whether a warning about possible missing results should be shown.
|
||||
*/
|
||||
@Unmodifiable
|
||||
public @NotNull Collection<UnloadedModuleDescription> getUnloadedModulesBelongingToScope() {
|
||||
return Collections.emptySet();
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
@@ -75,6 +76,7 @@ final class IntersectionScope extends GlobalSearchScope implements VirtualFileEn
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull Collection<UnloadedModuleDescription> getUnloadedModulesBelongingToScope() {
|
||||
return ContainerUtil.intersection(myScope1.getUnloadedModulesBelongingToScope(), myScope2.getUnloadedModulesBelongingToScope());
|
||||
}
|
||||
|
||||
@@ -888,6 +888,7 @@ public class PsiTreeUtil {
|
||||
|
||||
@SafeVarargs
|
||||
@Contract(pure = true)
|
||||
@Unmodifiable
|
||||
public static @NotNull <T extends PsiElement> Collection<T> collectElementsOfType(@Nullable PsiElement element,
|
||||
@NotNull Class<T> @NotNull ... classes) {
|
||||
return findChildrenOfAnyType(element, false, classes);
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.intellij.util.containers.JBIterable;
|
||||
import com.intellij.util.io.URLUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.*;
|
||||
@@ -148,6 +149,7 @@ public final class PathsList {
|
||||
/**
|
||||
* @return {@link VirtualFile}s on local file system (returns jars as files).
|
||||
*/
|
||||
@Unmodifiable
|
||||
public List<VirtualFile> getVirtualFiles() {
|
||||
return JBIterable.from(getPathList()).filterMap(PATH_TO_LOCAL_VFILE).toList();
|
||||
}
|
||||
@@ -155,6 +157,7 @@ public final class PathsList {
|
||||
/**
|
||||
* @return The same as {@link #getVirtualFiles()} but returns jars as {@code JarFileSystem} roots.
|
||||
*/
|
||||
@Unmodifiable
|
||||
public List<VirtualFile> getRootDirs() {
|
||||
return JBIterable.from(getPathList()).filterMap(PATH_TO_DIR).toList();
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.intellij.openapi.progress.ProgressIndicator;
|
||||
import com.intellij.util.Chunk;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@@ -17,6 +18,7 @@ public abstract class GraphAlgorithms {
|
||||
return ApplicationManager.getApplication().getService(GraphAlgorithms.class);
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
public abstract <Node> @NotNull Collection<Node> findNodesWhichBelongToAnyPathBetweenTwoNodes(
|
||||
@NotNull Graph<Node> graph,
|
||||
@NotNull Node start,
|
||||
|
||||
@@ -34,6 +34,7 @@ public class ObjectStubTree<T extends Stub> {
|
||||
return myRoot;
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
public @NotNull List<T> getPlainList() {
|
||||
return myPlainList;
|
||||
}
|
||||
@@ -59,6 +60,7 @@ public class ObjectStubTree<T extends Stub> {
|
||||
return sink.getResult();
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
protected @NotNull List<T> enumerateStubs(@NotNull Stub root) {
|
||||
List<T> result = new ArrayList<>();
|
||||
//noinspection rawtypes,unchecked
|
||||
|
||||
@@ -24,6 +24,7 @@ public class StubTree extends ObjectStubTree<StubElement<?>> {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
protected @NotNull List<StubElement<?>> enumerateStubs(@NotNull Stub root) {
|
||||
return ((StubBase<?>)root).myStubList.finalizeLoadingStage().toPlainList();
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.intellij.util.graph.*;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.Unmodifiable;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.Consumer;
|
||||
@@ -16,6 +17,7 @@ import java.util.function.Consumer;
|
||||
public final class GraphAlgorithmsImpl extends GraphAlgorithms {
|
||||
|
||||
@Override
|
||||
@Unmodifiable
|
||||
public @NotNull <Node> Collection<Node> findNodesWhichBelongToAnyPathBetweenTwoNodes(
|
||||
@NotNull Graph<Node> graph,
|
||||
@NotNull Node start,
|
||||
|
||||
@@ -75,6 +75,7 @@ public final class DvcsUtil {
|
||||
};
|
||||
|
||||
@NotNull
|
||||
@Unmodifiable
|
||||
public static List<VirtualFile> sortVirtualFilesByPresentation(@NotNull Collection<? extends VirtualFile> virtualFiles) {
|
||||
return ContainerUtil.sorted(virtualFiles, VIRTUAL_FILE_PRESENTATION_COMPARATOR);
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@ public abstract class AbstractTreeNode<T> extends PresentableNodeDescriptor<Abst
|
||||
myNodeWrapper = setInternalValue(value);
|
||||
}
|
||||
|
||||
@Unmodifiable
|
||||
public abstract @NotNull Collection<? extends AbstractTreeNode<?>> getChildren();
|
||||
|
||||
protected boolean hasProblemFileBeneath() {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user