about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorRicho Healey <richo@psych0tik.net>2014-11-20 16:31:56 -0800
committerRicho Healey <richo@psych0tik.net>2014-11-20 16:31:56 -0800
commit0ab01048d5c3bed1f3e8e1d00a33d8d597fc449e (patch)
tree349d6942e6f34eb4208970ceb1072ed61e838189 /src
parent125677e3f0e24fe753a8f24d2eead9057858b88e (diff)
downloadrust-0ab01048d5c3bed1f3e8e1d00a33d8d597fc449e.tar.gz
rust-0ab01048d5c3bed1f3e8e1d00a33d8d597fc449e.zip
lldb: refactor print_vec_slice_val
Be more idiomatic and rely less on fiddly construction of output
Diffstat (limited to 'src')
-rw-r--r--src/etc/lldb_rust_formatters.py14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/etc/lldb_rust_formatters.py b/src/etc/lldb_rust_formatters.py
index 01a6f1c6328..dba9ca6153f 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)
-
-    if i != length - 1:
-      output += ", "
+    element_val = val.CreateValueFromAddress( val.GetName() + ("[%s]" % i), address, element_type)
+    return print_val(element_val, internal_dict)
 
-  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):
   '''