# HG changeset patch # User Paul Boddie # Date 1481562017 -3600 # Node ID e11d55280718a1773403bb52bcf6a67a38250881 # Parent f42e303e5dc521469fbef4c6ef14b1629aec49cd Fixed operation encoding for attribute access tests. diff -r f42e303e5dc5 -r e11d55280718 deducer.py --- a/deducer.py Mon Dec 12 17:05:59 2016 +0100 +++ b/deducer.py Mon Dec 12 18:00:17 2016 +0100 @@ -617,7 +617,7 @@ if provider != '__builtins__.object': all_accessor_kinds = set(get_kinds(all_accessor_types)) if len(all_accessor_kinds) == 1: - test_type = ("test", "specific", first(all_accessor_kinds)) + test_type = ("test", "specific", test_label_for_kind(first(all_accessor_kinds))) else: test_type = ("test", "specific", "object") self.reference_test_types[location] = test_type @@ -628,7 +628,7 @@ if provider != '__builtins__.object': all_accessor_kinds = set(get_kinds(all_accessor_general_types)) if len(all_accessor_kinds) == 1: - test_type = ("test", "common", first(all_accessor_kinds)) + test_type = ("test", "common", test_label_for_kind(first(all_accessor_kinds))) else: test_type = ("test", "common", "object") self.reference_test_types[location] = test_type diff -r f42e303e5dc5 -r e11d55280718 encoders.py --- a/encoders.py Mon Dec 12 17:05:59 2016 +0100 +++ b/encoders.py Mon Dec 12 18:00:17 2016 +0100 @@ -174,6 +174,10 @@ "__test_common_instance", "__test_common_object", "__test_common_type", ) +type_ops = ( + "__test_specific_instance", "__test_specific_object", "__test_specific_type", + ) + static_ops = ( "__load_static", ) @@ -229,6 +233,11 @@ a[1] = encode_symbol("pos", arg) a.insert(2, encode_symbol("code", arg)) + # Obtain addresses of type arguments. + + elif op in type_ops: + a[1] = "&%s" % a[1] + # Obtain addresses of static objects. elif op in static_ops: