PY-34617 Remove if stubs

GitOrigin-RevId: 13f49394e92daca80af9c82ac9ac1a439a6ae1f5
This commit is contained in:
Petr
2024-07-28 18:05:47 +02:00
committed by intellij-monorepo-bot
parent 6efb57a0f7
commit a3608ebd22
47 changed files with 264 additions and 538 deletions

View File

@@ -2,10 +2,7 @@
package com.jetbrains.python.ast;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiComment;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiNameIdentifierOwner;
import com.intellij.psi.TokenType;
import com.intellij.psi.*;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.util.ArrayFactory;
import com.intellij.util.ArrayUtil;
@@ -14,9 +11,9 @@ import com.jetbrains.python.PyElementTypes;
import com.jetbrains.python.PyNames;
import com.jetbrains.python.PyTokenTypes;
import com.jetbrains.python.PythonDialectsTokenSetProvider;
import com.jetbrains.python.ast.impl.PyUtilCore;
import com.jetbrains.python.ast.controlFlow.AstScopeOwner;
import com.jetbrains.python.ast.docstring.DocStringUtilCore;
import com.jetbrains.python.ast.impl.PyUtilCore;
import com.jetbrains.python.psi.LanguageLevel;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
@@ -234,7 +231,7 @@ public interface PyAstFunction extends PsiNameIdentifierOwner, PyAstCompoundStat
@Override
@Nullable
default PyAstClass getContainingClass() {
final PsiElement parent = PsiTreeUtil.getParentOfType(this, AstScopeOwner.class);
final PsiElement parent = PsiTreeUtil.getParentOfType(this, StubBasedPsiElement.class);
if (parent instanceof PyAstClass) {
return (PyAstClass)parent;
}

View File

@@ -26,6 +26,7 @@ import java.util.regex.Pattern;
/**
* Assorted utility methods for Python code insight.
*
* These methods don't depend on the Python runtime.
*
* @see PyPsiUtilsCore for utilities used in Python PSI API
@@ -98,13 +99,11 @@ public final class PyUtilCore {
public static boolean isTopLevel(@NotNull PsiElement element) {
if (element instanceof StubBasedPsiElement) {
final StubElement<?> stub = ((StubBasedPsiElement<?>)element).getStub();
final StubElement stub = ((StubBasedPsiElement<?>)element).getStub();
if (stub != null) {
for (StubElement<?> parentStub = stub.getParentStub(); parentStub != null; parentStub = parentStub.getParentStub()) {
PsiElement psi = parentStub.getPsi();
if (!(psi instanceof PyAstIfPart || psi instanceof PyAstElsePart)) {
return psi instanceof PsiFile;
}
final StubElement parentStub = stub.getParentStub();
if (parentStub != null) {
return parentStub.getPsi() instanceof PsiFile;
}
}
}