fix UnboundLocalError and TypeError within Array lookups, not a very good solution, but for now it doesn't puke errors

This commit is contained in:
David Halter
2013-07-23 02:32:33 +02:00
parent 52c8340d72
commit bb8e864f8e
2 changed files with 12 additions and 2 deletions

View File

@@ -814,7 +814,10 @@ class Array(use_metaclass(cache.CachedMetaClass, pr.Base)):
if isinstance(index, Instance) \
and str(index.name) in ['int', 'str'] \
and len(index.var_args) == 1:
with common.ignored(KeyError, IndexError):
# TODO this is just very hackish and a lot of use cases are
# being ignored
with common.ignored(KeyError, IndexError,
UnboundLocalError, TypeError):
return self.get_exact_index_types(index.var_args[0])
result = list(self._follow_values(self._array.values))

View File

@@ -11,6 +11,8 @@
[1,""][2]
#? int() str()
[1,""][20]
#? int() str()
[1,""][str(hello)]
a = list()
#? list()
@@ -215,6 +217,11 @@ def y(a):
#?
y(**d)
# problem with more complicated casts
dic = {str(key): ''}
#? str()
dic['']
# -----------------
# with variable as index
# -----------------