From c443410d79df2a10fc989bc1c420e8eff0f20332 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Fri, 23 Sep 2022 10:47:37 +0200 Subject: [PATCH] Django: Extract Django/Jinja2 commons GitOrigin-RevId: 3f6bb7b7cd80cbf6007e1930d4d018e1b1cff44a --- .../images/IntellijIconClassGeneratorConfig.kt | 4 ++++ .../intellij.python.community.plugin.java.iml | 1 + .../intellij.python.community.core.impl.iml | 8 ++++++-- .../src/com/jetbrains/extensions/ModuleExt.kt | 0 .../com/jetbrains/extensions/QualifiedNameExt.kt | 4 ++-- .../com/jetbrains/extensions/RegExpPatternExt.kt | 0 .../extensions/python/PyCallExpressionExt.kt | 0 .../src/com/jetbrains/python/PySyntheticType.java | 0 .../src/com/jetbrains/python/PythonStringUtil.java | 3 +-- .../codeInsight/PyElementListCellRenderer.java | 0 python/python-psi-api/intellij.python.psi.iml | 1 + .../com/jetbrains/python/psi/PsiReferenceEx.java | 0 .../python/psi/PyStringLiteralCoreUtil.java | 13 +++++++++++++ python/python-psi-impl/intellij.python.psi.impl.iml | 1 - .../src/com/jetbrains/python/BaseReference.java | 0 .../python/PyUserInitiatedResolvableReference.java | 0 .../jetbrains/python/psi/PyStringLiteralUtil.java | 13 ------------- .../impl/PyStringLiteralExpressionManipulator.java | 3 +-- python/testSrc/intellij.python.community.tests.iml | 1 + 19 files changed, 30 insertions(+), 22 deletions(-) rename python/{ => python-core-impl}/src/com/jetbrains/extensions/ModuleExt.kt (100%) rename python/{ => python-core-impl}/src/com/jetbrains/extensions/QualifiedNameExt.kt (97%) rename python/{ => python-core-impl}/src/com/jetbrains/extensions/RegExpPatternExt.kt (100%) rename python/{ => python-core-impl}/src/com/jetbrains/extensions/python/PyCallExpressionExt.kt (100%) rename python/{ => python-core-impl}/src/com/jetbrains/python/PySyntheticType.java (100%) rename python/{ => python-core-impl}/src/com/jetbrains/python/PythonStringUtil.java (97%) rename python/{ => python-core-impl}/src/com/jetbrains/python/codeInsight/PyElementListCellRenderer.java (100%) rename python/{openapi => python-psi-api}/src/com/jetbrains/python/psi/PsiReferenceEx.java (100%) rename python/{python-core-impl => python-psi-api}/src/com/jetbrains/python/psi/PyStringLiteralCoreUtil.java (91%) rename python/{python-core-impl => python-psi-impl}/src/com/jetbrains/python/BaseReference.java (100%) rename python/{python-core-impl => python-psi-impl}/src/com/jetbrains/python/PyUserInitiatedResolvableReference.java (100%) diff --git a/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/IntellijIconClassGeneratorConfig.kt b/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/IntellijIconClassGeneratorConfig.kt index 9adeefb9c830..579eeeb235a1 100644 --- a/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/IntellijIconClassGeneratorConfig.kt +++ b/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/IntellijIconClassGeneratorConfig.kt @@ -69,6 +69,10 @@ class IntellijIconClassGeneratorConfig : IconsClasses() { "intellij.grazie.core" -> IntellijIconClassGeneratorModuleConfig(className = "GrazieIcons", packageName = "com.intellij.grazie.icons") "intellij.sh.core" -> IntellijIconClassGeneratorModuleConfig(className = "ShIcons", packageName = "com.intellij.sh") + "intellij.python.django.core" -> IntellijIconClassGeneratorModuleConfig( + className = "DjangoIcons", + packageName = "com.jetbrains.django" + ) else -> super.getConfigForModule(moduleName) } } diff --git a/python/pluginJava/intellij.python.community.plugin.java.iml b/python/pluginJava/intellij.python.community.plugin.java.iml index 81c7135ed863..935de45a1e76 100644 --- a/python/pluginJava/intellij.python.community.plugin.java.iml +++ b/python/pluginJava/intellij.python.community.plugin.java.iml @@ -20,5 +20,6 @@ + \ No newline at end of file diff --git a/python/python-core-impl/intellij.python.community.core.impl.iml b/python/python-core-impl/intellij.python.community.core.impl.iml index e7f25b0652d7..86038efa0d13 100644 --- a/python/python-core-impl/intellij.python.community.core.impl.iml +++ b/python/python-core-impl/intellij.python.community.core.impl.iml @@ -7,8 +7,12 @@ - - + + + + + + \ No newline at end of file diff --git a/python/src/com/jetbrains/extensions/ModuleExt.kt b/python/python-core-impl/src/com/jetbrains/extensions/ModuleExt.kt similarity index 100% rename from python/src/com/jetbrains/extensions/ModuleExt.kt rename to python/python-core-impl/src/com/jetbrains/extensions/ModuleExt.kt diff --git a/python/src/com/jetbrains/extensions/QualifiedNameExt.kt b/python/python-core-impl/src/com/jetbrains/extensions/QualifiedNameExt.kt similarity index 97% rename from python/src/com/jetbrains/extensions/QualifiedNameExt.kt rename to python/python-core-impl/src/com/jetbrains/extensions/QualifiedNameExt.kt index c891a414d87f..70859fe81f70 100644 --- a/python/src/com/jetbrains/extensions/QualifiedNameExt.kt +++ b/python/python-core-impl/src/com/jetbrains/extensions/QualifiedNameExt.kt @@ -33,7 +33,7 @@ import com.jetbrains.python.psi.PyFile import com.jetbrains.python.psi.resolve.* import com.jetbrains.python.psi.stubs.PyModuleNameIndex import com.jetbrains.python.psi.types.TypeEvalContext -import com.jetbrains.python.sdk.PythonSdkType +import com.jetbrains.python.sdk.PySdkUtil import java.util.* @@ -124,7 +124,7 @@ fun QualifiedName.getElementAndResolvableName(context: QNameResolveContext, stop var psiDirectory: PsiDirectory? = null var resolveContext = context.contextAnchor.qualifiedNameResolveContext?.copyWithMembers() ?: return null - if (PythonSdkType.getLanguageLevelForSdk(context.sdk).isPy3K || context.allowInaccurateResult) { + if (PySdkUtil.getLanguageLevelForSdk(context.sdk).isPy3K || context.allowInaccurateResult) { resolveContext = resolveContext.copyWithPlainDirectories() } diff --git a/python/src/com/jetbrains/extensions/RegExpPatternExt.kt b/python/python-core-impl/src/com/jetbrains/extensions/RegExpPatternExt.kt similarity index 100% rename from python/src/com/jetbrains/extensions/RegExpPatternExt.kt rename to python/python-core-impl/src/com/jetbrains/extensions/RegExpPatternExt.kt diff --git a/python/src/com/jetbrains/extensions/python/PyCallExpressionExt.kt b/python/python-core-impl/src/com/jetbrains/extensions/python/PyCallExpressionExt.kt similarity index 100% rename from python/src/com/jetbrains/extensions/python/PyCallExpressionExt.kt rename to python/python-core-impl/src/com/jetbrains/extensions/python/PyCallExpressionExt.kt diff --git a/python/src/com/jetbrains/python/PySyntheticType.java b/python/python-core-impl/src/com/jetbrains/python/PySyntheticType.java similarity index 100% rename from python/src/com/jetbrains/python/PySyntheticType.java rename to python/python-core-impl/src/com/jetbrains/python/PySyntheticType.java diff --git a/python/src/com/jetbrains/python/PythonStringUtil.java b/python/python-core-impl/src/com/jetbrains/python/PythonStringUtil.java similarity index 97% rename from python/src/com/jetbrains/python/PythonStringUtil.java rename to python/python-core-impl/src/com/jetbrains/python/PythonStringUtil.java index 9245f9bb0662..f881edf372cc 100644 --- a/python/src/com/jetbrains/python/PythonStringUtil.java +++ b/python/python-core-impl/src/com/jetbrains/python/PythonStringUtil.java @@ -9,7 +9,6 @@ import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.util.QualifiedName; import com.intellij.util.PathUtil; import com.jetbrains.python.psi.PyStringLiteralCoreUtil; -import com.jetbrains.python.psi.PyStringLiteralUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -106,7 +105,7 @@ public final class PythonStringUtil { public static String replaceLastSuffix(String s, String separator, String newElementName) { Pair quotes = null; - if (PyStringLiteralUtil.isQuoted(s)) { + if (PyStringLiteralCoreUtil.isQuoted(s)) { quotes = PyStringLiteralCoreUtil.getQuotes(s); s = PyStringLiteralCoreUtil.stripQuotesAroundValue(s); } diff --git a/python/src/com/jetbrains/python/codeInsight/PyElementListCellRenderer.java b/python/python-core-impl/src/com/jetbrains/python/codeInsight/PyElementListCellRenderer.java similarity index 100% rename from python/src/com/jetbrains/python/codeInsight/PyElementListCellRenderer.java rename to python/python-core-impl/src/com/jetbrains/python/codeInsight/PyElementListCellRenderer.java diff --git a/python/python-psi-api/intellij.python.psi.iml b/python/python-psi-api/intellij.python.psi.iml index 362d4685e75c..1b58324c9c9e 100644 --- a/python/python-psi-api/intellij.python.psi.iml +++ b/python/python-psi-api/intellij.python.psi.iml @@ -12,5 +12,6 @@ + \ No newline at end of file diff --git a/python/openapi/src/com/jetbrains/python/psi/PsiReferenceEx.java b/python/python-psi-api/src/com/jetbrains/python/psi/PsiReferenceEx.java similarity index 100% rename from python/openapi/src/com/jetbrains/python/psi/PsiReferenceEx.java rename to python/python-psi-api/src/com/jetbrains/python/psi/PsiReferenceEx.java diff --git a/python/python-core-impl/src/com/jetbrains/python/psi/PyStringLiteralCoreUtil.java b/python/python-psi-api/src/com/jetbrains/python/psi/PyStringLiteralCoreUtil.java similarity index 91% rename from python/python-core-impl/src/com/jetbrains/python/psi/PyStringLiteralCoreUtil.java rename to python/python-psi-api/src/com/jetbrains/python/psi/PyStringLiteralCoreUtil.java index ffe6027a8a9b..1dfc68da9f73 100644 --- a/python/python-core-impl/src/com/jetbrains/python/psi/PyStringLiteralCoreUtil.java +++ b/python/python-psi-api/src/com/jetbrains/python/psi/PyStringLiteralCoreUtil.java @@ -100,4 +100,17 @@ public class PyStringLiteralCoreUtil { return text.substring(quotes.first.length(), text.length() - quotes.second.length()); } + + /** + * Handles unicode and raw strings + * + * @return false if no quotes found, true otherwise + * sdfs -> false + * ur'x' -> true + * "string" -> true + */ + + public static boolean isQuoted(@Nullable String text) { + return text != null && getQuotes(text) != null; + } } diff --git a/python/python-psi-impl/intellij.python.psi.impl.iml b/python/python-psi-impl/intellij.python.psi.impl.iml index c6f5beeec1cb..1f04ddd411c8 100644 --- a/python/python-psi-impl/intellij.python.psi.impl.iml +++ b/python/python-psi-impl/intellij.python.psi.impl.iml @@ -33,6 +33,5 @@ - \ No newline at end of file diff --git a/python/python-core-impl/src/com/jetbrains/python/BaseReference.java b/python/python-psi-impl/src/com/jetbrains/python/BaseReference.java similarity index 100% rename from python/python-core-impl/src/com/jetbrains/python/BaseReference.java rename to python/python-psi-impl/src/com/jetbrains/python/BaseReference.java diff --git a/python/python-core-impl/src/com/jetbrains/python/PyUserInitiatedResolvableReference.java b/python/python-psi-impl/src/com/jetbrains/python/PyUserInitiatedResolvableReference.java similarity index 100% rename from python/python-core-impl/src/com/jetbrains/python/PyUserInitiatedResolvableReference.java rename to python/python-psi-impl/src/com/jetbrains/python/PyUserInitiatedResolvableReference.java diff --git a/python/python-psi-impl/src/com/jetbrains/python/psi/PyStringLiteralUtil.java b/python/python-psi-impl/src/com/jetbrains/python/psi/PyStringLiteralUtil.java index 4b3896b27bff..8642224504f2 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/psi/PyStringLiteralUtil.java +++ b/python/python-psi-impl/src/com/jetbrains/python/psi/PyStringLiteralUtil.java @@ -68,19 +68,6 @@ public final class PyStringLiteralUtil extends PyStringLiteralCoreUtil { PyTokenTypes.FSTRING_START == lexer.getTokenType(); } - /** - * Handles unicode and raw strings - * - * @return false if no quotes found, true otherwise - * sdfs -> false - * ur'x' -> true - * "string" -> true - */ - - public static boolean isQuoted(@Nullable String text) { - return text != null && getQuotes(text) != null; - } - /** * Returns the range of the string literal text between the opening quote and the closing one. * If the closing quote is either missing or mismatched, this range spans until the end of the literal. diff --git a/python/python-psi-impl/src/com/jetbrains/python/psi/impl/PyStringLiteralExpressionManipulator.java b/python/python-psi-impl/src/com/jetbrains/python/psi/impl/PyStringLiteralExpressionManipulator.java index 64df389a1320..e90a56612ecf 100644 --- a/python/python-psi-impl/src/com/jetbrains/python/psi/impl/PyStringLiteralExpressionManipulator.java +++ b/python/python-psi-impl/src/com/jetbrains/python/psi/impl/PyStringLiteralExpressionManipulator.java @@ -22,7 +22,6 @@ import com.intellij.util.IncorrectOperationException; import com.jetbrains.python.psi.PyElementGenerator; import com.jetbrains.python.psi.PyStringLiteralCoreUtil; import com.jetbrains.python.psi.PyStringLiteralExpression; -import com.jetbrains.python.psi.PyStringLiteralUtil; import org.jetbrains.annotations.NotNull; public class PyStringLiteralExpressionManipulator extends AbstractElementManipulator { @@ -57,7 +56,7 @@ public class PyStringLiteralExpressionManipulator extends AbstractElementManipul String newContent) { final String newText = range.replace(prevText, newContent); - if (PyStringLiteralUtil.isQuoted(newText)) { + if (PyStringLiteralCoreUtil.isQuoted(newText)) { return newText; } diff --git a/python/testSrc/intellij.python.community.tests.iml b/python/testSrc/intellij.python.community.tests.iml index cad65fdad395..c928de493acb 100644 --- a/python/testSrc/intellij.python.community.tests.iml +++ b/python/testSrc/intellij.python.community.tests.iml @@ -48,5 +48,6 @@ + \ No newline at end of file