removed duplicated python keywords container from dict literal to constructor intention

This commit is contained in:
Ekaterina Tuzova
2011-03-01 15:46:50 +03:00
parent 3c039a1d9a
commit 44828b4e79
@@ -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<String> KEYWORDS = new HashSet<String>();
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) ;