mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PY-76463: Mark methods that read lock
GitOrigin-RevId: b5972205bad54e947cd59fc379b3c7a561098989
This commit is contained in:
committed by
intellij-monorepo-bot
parent
7be3764ad8
commit
f1f77c0af7
@@ -8,6 +8,7 @@ import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.util.concurrency.annotations.RequiresReadLock;
|
||||
import com.jetbrains.python.packaging.requirement.PyRequirementRelation;
|
||||
import com.jetbrains.python.packaging.requirement.PyRequirementVersionSpec;
|
||||
import one.util.streamex.StreamEx;
|
||||
@@ -194,6 +195,8 @@ public final class PyRequirementParser {
|
||||
return fromText(text, null, new HashSet<>());
|
||||
}
|
||||
|
||||
@RequiresReadLock(generateAssertion = false)
|
||||
|
||||
public static @NotNull List<PyRequirement> fromFile(@NotNull VirtualFile file) {
|
||||
return fromText(loadText(file), file, new HashSet<>());
|
||||
}
|
||||
@@ -221,6 +224,8 @@ public final class PyRequirementParser {
|
||||
return null;
|
||||
}
|
||||
|
||||
@RequiresReadLock(generateAssertion = false)
|
||||
|
||||
private static @Nullable PyRequirement parseVcsProjectUrl(@NotNull String line) {
|
||||
final Matcher vcsMatcher = VCS_PROJECT_URL.matcher(line);
|
||||
if (vcsMatcher.matches()) {
|
||||
@@ -259,8 +264,12 @@ public final class PyRequirementParser {
|
||||
return null;
|
||||
}
|
||||
|
||||
@RequiresReadLock(generateAssertion = false)
|
||||
|
||||
@ApiStatus.Internal
|
||||
public static @NotNull List<PyRequirement> fromText(@NotNull String text, @Nullable VirtualFile containingFile, @NotNull Set<VirtualFile> visitedFiles) {
|
||||
public static @NotNull List<PyRequirement> fromText(@NotNull String text,
|
||||
@Nullable VirtualFile containingFile,
|
||||
@NotNull Set<VirtualFile> visitedFiles) {
|
||||
if (containingFile != null) {
|
||||
visitedFiles.add(containingFile);
|
||||
}
|
||||
@@ -273,6 +282,7 @@ public final class PyRequirementParser {
|
||||
.toList();
|
||||
}
|
||||
|
||||
@RequiresReadLock(generateAssertion = false)
|
||||
private static @NotNull String loadText(@NotNull VirtualFile file) {
|
||||
final Document document = FileDocumentManager.getInstance().getDocument(file);
|
||||
|
||||
@@ -312,6 +322,8 @@ public final class PyRequirementParser {
|
||||
return Pair.create(normalizeVcsOrArchiveNameParts(nameParts), normalizeVcsOrArchiveVersionParts(versionParts));
|
||||
}
|
||||
|
||||
@RequiresReadLock(generateAssertion = false)
|
||||
|
||||
private static @NotNull PyRequirement createVcsOrArchiveRequirement(@NotNull Pair<String, String> nameAndVersion,
|
||||
@NotNull List<String> installOptions,
|
||||
@Nullable String extras) {
|
||||
@@ -399,6 +411,8 @@ public final class PyRequirementParser {
|
||||
return result;
|
||||
}
|
||||
|
||||
@RequiresReadLock(generateAssertion = false)
|
||||
|
||||
private static @NotNull List<PyRequirement> parseLine(@NotNull String line,
|
||||
@Nullable VirtualFile containingFile,
|
||||
@NotNull Set<VirtualFile> visitedFiles) {
|
||||
@@ -533,6 +547,8 @@ public final class PyRequirementParser {
|
||||
return null;
|
||||
}
|
||||
|
||||
@RequiresReadLock(generateAssertion = false)
|
||||
|
||||
private static @NotNull List<PyRequirement> parseRecursiveLine(@NotNull String line,
|
||||
@Nullable VirtualFile containingFile,
|
||||
@NotNull Set<VirtualFile> visitedFiles,
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.intellij.openapi.roots.OrderRootType;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VfsUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.util.concurrency.annotations.RequiresReadLock;
|
||||
import com.intellij.util.net.HttpConfigurable;
|
||||
import com.jetbrains.python.PyPsiPackageUtil;
|
||||
import com.jetbrains.python.PySdkBundle;
|
||||
@@ -167,6 +168,7 @@ public abstract class PyPackageManagerImplBase extends PyPackageManager {
|
||||
return dependents;
|
||||
}
|
||||
|
||||
@RequiresReadLock(generateAssertion = false)
|
||||
protected static @NotNull LanguageLevel getOrRequestLanguageLevelForSdk(@NotNull Sdk sdk) throws ExecutionException {
|
||||
if (sdk instanceof PyDetectedSdk) {
|
||||
final PythonSdkFlavor flavor = PythonSdkFlavor.getFlavor(sdk);
|
||||
|
||||
@@ -33,6 +33,7 @@ import com.intellij.psi.PsiManager;
|
||||
import com.intellij.psi.ResolveResult;
|
||||
import com.intellij.serviceContainer.AlreadyDisposedException;
|
||||
import com.intellij.util.ObjectUtils;
|
||||
import com.intellij.util.concurrency.annotations.RequiresReadLock;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.jetbrains.python.PyBundle;
|
||||
import com.jetbrains.python.PyNames;
|
||||
@@ -419,6 +420,7 @@ public final class PyPackageUtil {
|
||||
PyPsiPackageUtil.findPackage(packages, PIP) != null;
|
||||
}
|
||||
|
||||
@RequiresReadLock(generateAssertion = false)
|
||||
public static @Nullable List<PyRequirement> getRequirementsFromTxt(@NotNull Module module) {
|
||||
final VirtualFile requirementsTxt = findRequirementsTxt(module);
|
||||
if (requirementsTxt != null) {
|
||||
|
||||
Reference in New Issue
Block a user