def merge_dicts(n): if n: o = OrderedDict() o[5] = 10 else: o = OrderedDict() o[2] = 20 o[3] = 30 return o[3]
def delitem(n): o = OrderedDict() o[2] = 3 o[3] = 4 del o[n] vals = o.values() return vals[0] * 10 + len(vals)
def pop_keyerror(n): o = OrderedDict() o[3] = 4 try: return o.pop(n) except KeyError: return 500
def iteritems(n): o = OrderedDict() o[0] = 10 o[2] = 15 o[3] = 12 r = [] for k, v in o.iteritems(): r.append((k, v)) p = r[n] return p[0] * 100 + p[1]
def get_set_object(n): x = Simple(n) o = OrderedDict() o[x] = x return o[x].x
def simple_get_set(): o = OrderedDict() o["a"] = 2 return o["a"]
def create(): OrderedDict() return 0
def keys(n): o = OrderedDict() o[4] = 1 o[5] = 2 o[4] = 2 return o.keys()[n]
def contains(n): o = OrderedDict() o[4] = 5 return n in o
def iteritems_next_method(n): o = OrderedDict() o[n] = 5 it = o.iteritems() return it.next()[1]
def get(n): o = OrderedDict() o[4] = 3 return o.get(n, 123)
def keys_object(n): o = OrderedDict() o[Simple(1)] = None o[Simple(2)] = None o[Simple(3)] = None return o.keys()[n].x
def values(n): o = OrderedDict() o[4] = 1 o[5] = 2 o[4] = 3 return o.values()[n]
def len(n): o = OrderedDict() for i in xrange(n): o[i] = i return len(o)
def pop(n): o = OrderedDict() o[1] = 12 o[2] = 3 return (o.pop(n) * 10) + len(o)
def custom_eq_hash(n): o = OrderedDict(Simple.eq, Simple.hash) o[Simple(n)] = 23 return o[Simple(n)]
def pop_default(n, d): o = OrderedDict() o[1] = 12 o[2] = 3 return (o.pop(n, d) * 10) + len(o)
def __init__(self, space): W_Object.__init__(self, space) self.contents = OrderedDict(space.eq_w, space.hash_w)
def grow(n): o = OrderedDict() for i in xrange(n): o[i] = -20 return o[3]