removed pr.String and pr.Number in favor of the more general pr.Literal

This commit is contained in:
Dave Halter
2014-01-13 16:45:59 +01:00
parent 717c4315df
commit cdd356ff9b
3 changed files with 8 additions and 18 deletions

View File

@@ -92,14 +92,14 @@ class Array(use_metaclass(CachedMetaClass, pr.Base)):
if len(key_expression_list) != 1: # cannot deal with complex strings
continue
key = key_expression_list[0]
if isinstance(key, pr.String):
str_key = key.value
if isinstance(key, pr.Literal):
key = key.value
elif isinstance(key, pr.Name):
str_key = str(key)
key = str(key)
else:
continue
if mixed_index == str_key:
if mixed_index == key:
index = i
break
if index is None:

View File

@@ -1069,9 +1069,7 @@ class Statement(Simple):
is_literal = token_type in [tokenize.STRING, tokenize.NUMBER]
if isinstance(tok, Name) or is_literal:
cls = Call
if is_literal:
cls = String if token_type == tokenize.STRING else Number
cls = Literal if is_literal else Call
call = cls(self._sub_module, tok, start_pos, end_pos, self)
if is_chain:
@@ -1243,14 +1241,6 @@ class Literal(StatementElement):
return "<%s: %s>" % (type(self).__name__, s)
class String(Literal):
pass
class Number(Literal):
pass
class Array(StatementElement):
"""
Describes the different python types for an array, but also empty