From 0ab01048d5c3bed1f3e8e1d00a33d8d597fc449e Mon Sep 17 00:00:00 2001 From: Richo Healey Date: Thu, 20 Nov 2014 16:31:56 -0800 Subject: [PATCH] lldb: refactor print_vec_slice_val Be more idiomatic and rely less on fiddly construction of output --- src/etc/lldb_rust_formatters.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/etc/lldb_rust_formatters.py b/src/etc/lldb_rust_formatters.py index 01a6f1c6328e..dba9ca6153f2 100644 --- a/src/etc/lldb_rust_formatters.py +++ b/src/etc/lldb_rust_formatters.py @@ -43,8 +43,6 @@ def print_struct_val(val, internal_dict): return print_struct_val_starting_from(0, val, internal_dict) def print_vec_slice_val(val, internal_dict): - output = "&[" - length = val.GetChildAtIndex(1).GetValueAsUnsigned() data_ptr_val = val.GetChildAtIndex(0) @@ -56,16 +54,12 @@ def print_vec_slice_val(val, internal_dict): start_address = data_ptr_val.GetValueAsUnsigned() - for i in range(length): + def render_element(i): address = start_address + i * element_type_size - element_val = val.CreateValueFromAddress( val.GetName() + ("[%s]" % i), address, element_type ) - output += print_val(element_val, internal_dict) + element_val = val.CreateValueFromAddress( val.GetName() + ("[%s]" % i), address, element_type) + return print_val(element_val, internal_dict) - if i != length - 1: - output += ", " - - output += "]" - return output + return "&[%s]" % (', '.join([render_element(i) for i in range(length)])) def print_struct_val_starting_from(field_start_index, val, internal_dict): '''