1.1 --- a/deducer.py Mon Dec 12 17:05:59 2016 +0100
1.2 +++ b/deducer.py Mon Dec 12 18:00:17 2016 +0100
1.3 @@ -617,7 +617,7 @@
1.4 if provider != '__builtins__.object':
1.5 all_accessor_kinds = set(get_kinds(all_accessor_types))
1.6 if len(all_accessor_kinds) == 1:
1.7 - test_type = ("test", "specific", first(all_accessor_kinds))
1.8 + test_type = ("test", "specific", test_label_for_kind(first(all_accessor_kinds)))
1.9 else:
1.10 test_type = ("test", "specific", "object")
1.11 self.reference_test_types[location] = test_type
1.12 @@ -628,7 +628,7 @@
1.13 if provider != '__builtins__.object':
1.14 all_accessor_kinds = set(get_kinds(all_accessor_general_types))
1.15 if len(all_accessor_kinds) == 1:
1.16 - test_type = ("test", "common", first(all_accessor_kinds))
1.17 + test_type = ("test", "common", test_label_for_kind(first(all_accessor_kinds)))
1.18 else:
1.19 test_type = ("test", "common", "object")
1.20 self.reference_test_types[location] = test_type
2.1 --- a/encoders.py Mon Dec 12 17:05:59 2016 +0100
2.2 +++ b/encoders.py Mon Dec 12 18:00:17 2016 +0100
2.3 @@ -174,6 +174,10 @@
2.4 "__test_common_instance", "__test_common_object", "__test_common_type",
2.5 )
2.6
2.7 +type_ops = (
2.8 + "__test_specific_instance", "__test_specific_object", "__test_specific_type",
2.9 + )
2.10 +
2.11 static_ops = (
2.12 "__load_static",
2.13 )
2.14 @@ -229,6 +233,11 @@
2.15 a[1] = encode_symbol("pos", arg)
2.16 a.insert(2, encode_symbol("code", arg))
2.17
2.18 + # Obtain addresses of type arguments.
2.19 +
2.20 + elif op in type_ops:
2.21 + a[1] = "&%s" % a[1]
2.22 +
2.23 # Obtain addresses of static objects.
2.24
2.25 elif op in static_ops: