minor fixes after IDEA-CR-7938 pycharm/144.4032
authorLiana Bakradze <liana.bakradze@jetbrains.com>
Fri, 22 Jan 2016 09:38:52 +0000 (12:38 +0300)
committerliana.bakradze <liana.bakradze@jetbrains.com>
Thu, 11 Feb 2016 20:37:35 +0000 (23:37 +0300)
(cherry picked from commit 24c58e3)

python/src/com/jetbrains/python/codeInsight/postfix/PyExpressionAsConditionSurrounder.java
python/src/com/jetbrains/python/codeInsight/postfix/PyPostfixUtils.java

index 37b2c488f968273645b0c4c2b80a40204c2a2332..d6d9517cee5bdd1600fe8c40cd39680696a8d6a5 100644 (file)
@@ -41,7 +41,7 @@ public abstract class PyExpressionAsConditionSurrounder extends PyExpressionSurr
     throws IncorrectOperationException {
     TextRange currentCaretPosition = TextRange.from(editor.getCaretModel().getOffset(), 0);
     PyStatement statement = PyElementGenerator.getInstance(project).
-      createFromText(LanguageLevel.getDefault(), PyStatement.class, getTextToGenerate());
+      createFromText(LanguageLevel.forElement(expression), PyStatement.class, getTextToGenerate());
     final PyExpression condition = getCondition(statement);
     if (condition == null) {
       return currentCaretPosition;
@@ -56,6 +56,9 @@ public abstract class PyExpressionAsConditionSurrounder extends PyExpressionSurr
     }
     PyStatementList statementList = statementListContainer.getStatementList();
     PyStatement[] statements = statementList.getStatements();
+    if (statements.length == 0) {
+      return currentCaretPosition;
+    }
     final TextRange range = statements[0].getTextRange();
     editor.getDocument().deleteString(range.getStartOffset(), range.getEndOffset());
     return TextRange.from(range.getStartOffset(), 0);
index 3ded51893d761c0089901d8dbf77d88fa6aca09a..e954b4073af007df1e0347d1ecfa53972d2e312f 100644 (file)
@@ -87,8 +87,8 @@ public class PyPostfixUtils {
       @Override
       protected List<PsiElement> getNonFilteredExpressions(@NotNull PsiElement context, @NotNull Document document, int offset) {
         PyExpressionStatement exprStatement = PsiTreeUtil.getNonStrictParentOfType(context, PyExpressionStatement.class);
-        PyExpression statement = exprStatement != null ? PsiTreeUtil.getChildOfType(exprStatement, PyExpression.class) : null;
-        return ContainerUtil.<PsiElement>createMaybeSingletonList((statement));
+        PyExpression expression = exprStatement != null ? PsiTreeUtil.getChildOfType(exprStatement, PyExpression.class) : null;
+        return ContainerUtil.<PsiElement>createMaybeSingletonList(expression);
       }
     };
   }