diff --git a/python/src/com/jetbrains/python/codeInsight/intentions/PyDictLiteralFormToConstructorIntention.java b/python/src/com/jetbrains/python/codeInsight/intentions/PyDictLiteralFormToConstructorIntention.java index e32388fc47c2..e82409e28cb4 100644 --- a/python/src/com/jetbrains/python/codeInsight/intentions/PyDictLiteralFormToConstructorIntention.java +++ b/python/src/com/jetbrains/python/codeInsight/intentions/PyDictLiteralFormToConstructorIntention.java @@ -6,13 +6,11 @@ import com.intellij.openapi.project.Project; import com.intellij.psi.PsiFile; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.util.IncorrectOperationException; -import com.intellij.util.containers.HashSet; import com.jetbrains.python.PyBundle; +import com.jetbrains.python.PyNames; import com.jetbrains.python.psi.*; import org.jetbrains.annotations.NotNull; -import java.util.Set; - /** * User: catherine * @@ -23,45 +21,6 @@ import java.util.Set; * {a: 3, b: 5} -> no transformation */ public class PyDictLiteralFormToConstructorIntention extends BaseIntentionAction { - static Set KEYWORDS = new HashSet(); - static { - KEYWORDS.add("class"); - KEYWORDS.add("as"); - KEYWORDS.add("assert"); - KEYWORDS.add("and"); - KEYWORDS.add("break"); - KEYWORDS.add("continue"); - KEYWORDS.add("def"); - KEYWORDS.add("del"); - KEYWORDS.add("else"); - KEYWORDS.add("if"); - KEYWORDS.add("elif"); - KEYWORDS.add("except"); - KEYWORDS.add("exec"); - KEYWORDS.add("finally"); - KEYWORDS.add("for"); - KEYWORDS.add("from"); - KEYWORDS.add("global"); - KEYWORDS.add("import"); - KEYWORDS.add("in"); - KEYWORDS.add("is"); - KEYWORDS.add("lambda"); - KEYWORDS.add("not"); - KEYWORDS.add("or"); - KEYWORDS.add("pass"); - KEYWORDS.add("print"); - KEYWORDS.add("raise"); - KEYWORDS.add("return"); - KEYWORDS.add("try"); - KEYWORDS.add("with"); - KEYWORDS.add("while"); - KEYWORDS.add("yield"); - KEYWORDS.add("None"); - KEYWORDS.add("True"); - KEYWORDS.add("False"); - - } - @NotNull public String getFamilyName() { return PyBundle.message("INTN.convert.dict.literal.to.dict.constructor"); @@ -85,7 +44,7 @@ public class PyDictLiteralFormToConstructorIntention extends BaseIntentionAction PyExpression key = element.getKey(); if (! (key instanceof PyStringLiteralExpression)) return false; String str = ((PyStringLiteralExpression)key).getStringValue(); - if (KEYWORDS.contains(str)) return false; + if (PyNames.isReserved(str)) return false; if(str.length() == 0 || Character.isDigit(str.charAt(0))) return false; try { Integer.parseInt(str) ;