summaryrefslogtreecommitdiff
path: root/python/src/com/jetbrains/python/psi/impl/PyElementGeneratorImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'python/src/com/jetbrains/python/psi/impl/PyElementGeneratorImpl.java')
-rw-r--r--python/src/com/jetbrains/python/psi/impl/PyElementGeneratorImpl.java24
1 files changed, 18 insertions, 6 deletions
diff --git a/python/src/com/jetbrains/python/psi/impl/PyElementGeneratorImpl.java b/python/src/com/jetbrains/python/psi/impl/PyElementGeneratorImpl.java
index bb0e29f800a7..6356a1f92a0d 100644
--- a/python/src/com/jetbrains/python/psi/impl/PyElementGeneratorImpl.java
+++ b/python/src/com/jetbrains/python/psi/impl/PyElementGeneratorImpl.java
@@ -20,6 +20,7 @@ import com.google.common.collect.Queues;
import com.intellij.lang.ASTNode;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Pair;
+import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
@@ -285,12 +286,6 @@ public class PyElementGeneratorImpl extends PyElementGenerator {
throw new IllegalArgumentException("Invalid call expression text " + functionName);
}
- public PyImportStatement createImportStatementFromText(final LanguageLevel languageLevel,
- final String text) {
- final PsiFile dummyFile = createDummyFile(languageLevel, text);
- return (PyImportStatement)dummyFile.getFirstChild();
- }
-
@Override
public PyImportElement createImportElement(final LanguageLevel languageLevel, String name) {
return createFromText(languageLevel, PyImportElement.class, "from foo import " + name, new int[]{0, 6});
@@ -427,6 +422,23 @@ public class PyElementGeneratorImpl extends PyElementGenerator {
return createFromText(LanguageLevel.getDefault(), PsiWhiteSpace.class, " \n\n ");
}
+ @NotNull
+ @Override
+ public PyFromImportStatement createFromImportStatement(@NotNull LanguageLevel languageLevel, @NotNull String qualifier,
+ @NotNull String name, @Nullable String alias) {
+ final String asClause = StringUtil.isNotEmpty(alias) ? " as " + alias : "";
+ final String statement = "from " + qualifier + " import " + name + asClause;
+ return createFromText(languageLevel, PyFromImportStatement.class, statement);
+ }
+
+ @NotNull
+ @Override
+ public PyImportStatement createImportStatement(@NotNull LanguageLevel languageLevel, @NotNull String name, @Nullable String alias) {
+ final String asClause = StringUtil.isNotEmpty(alias) ? " as " + alias : "";
+ final String statement = "import " + name + asClause;
+ return createFromText(languageLevel, PyImportStatement.class, statement);
+ }
+
private static class CommasOnly extends NotNullPredicate<LeafPsiElement> {
@Override
protected boolean applyNotNull(@NotNull final LeafPsiElement input) {