libstdc++: Format Python code according to PEP8
These files were filtered through autopep8 to reformat them more conventionally. libstdc++-v3/ChangeLog: * python/libstdcxx/v6/printers.py: Reformat. * python/libstdcxx/v6/xmethods.py: Likewise.
This commit is contained in:
parent
af6d089b4d
commit
e08559271b
2 changed files with 446 additions and 263 deletions
File diff suppressed because it is too large
Load diff
|
@ -21,12 +21,15 @@ import re
|
|||
|
||||
matcher_name_prefix = 'libstdc++::'
|
||||
|
||||
|
||||
def get_bool_type():
|
||||
return gdb.lookup_type('bool')
|
||||
|
||||
|
||||
def get_std_size_type():
|
||||
return gdb.lookup_type('std::size_t')
|
||||
|
||||
|
||||
class LibStdCxxXMethod(gdb.xmethod.XMethod):
|
||||
def __init__(self, name, worker_class):
|
||||
gdb.xmethod.XMethod.__init__(self, name)
|
||||
|
@ -34,6 +37,7 @@ class LibStdCxxXMethod(gdb.xmethod.XMethod):
|
|||
|
||||
# Xmethods for std::array
|
||||
|
||||
|
||||
class ArrayWorkerBase(gdb.xmethod.XMethodWorker):
|
||||
def __init__(self, val_type, size):
|
||||
self._val_type = val_type
|
||||
|
@ -43,6 +47,7 @@ class ArrayWorkerBase(gdb.xmethod.XMethodWorker):
|
|||
nullptr = gdb.parse_and_eval('(void *) 0')
|
||||
return nullptr.cast(self._val_type.pointer()).dereference()
|
||||
|
||||
|
||||
class ArraySizeWorker(ArrayWorkerBase):
|
||||
def __init__(self, val_type, size):
|
||||
ArrayWorkerBase.__init__(self, val_type, size)
|
||||
|
@ -56,6 +61,7 @@ class ArraySizeWorker(ArrayWorkerBase):
|
|||
def __call__(self, obj):
|
||||
return self._size
|
||||
|
||||
|
||||
class ArrayEmptyWorker(ArrayWorkerBase):
|
||||
def __init__(self, val_type, size):
|
||||
ArrayWorkerBase.__init__(self, val_type, size)
|
||||
|
@ -69,6 +75,7 @@ class ArrayEmptyWorker(ArrayWorkerBase):
|
|||
def __call__(self, obj):
|
||||
return (int(self._size) == 0)
|
||||
|
||||
|
||||
class ArrayFrontWorker(ArrayWorkerBase):
|
||||
def __init__(self, val_type, size):
|
||||
ArrayWorkerBase.__init__(self, val_type, size)
|
||||
|
@ -85,6 +92,7 @@ class ArrayFrontWorker(ArrayWorkerBase):
|
|||
else:
|
||||
return self.null_value()
|
||||
|
||||
|
||||
class ArrayBackWorker(ArrayWorkerBase):
|
||||
def __init__(self, val_type, size):
|
||||
ArrayWorkerBase.__init__(self, val_type, size)
|
||||
|
@ -101,6 +109,7 @@ class ArrayBackWorker(ArrayWorkerBase):
|
|||
else:
|
||||
return self.null_value()
|
||||
|
||||
|
||||
class ArrayAtWorker(ArrayWorkerBase):
|
||||
def __init__(self, val_type, size):
|
||||
ArrayWorkerBase.__init__(self, val_type, size)
|
||||
|
@ -117,6 +126,7 @@ class ArrayAtWorker(ArrayWorkerBase):
|
|||
((int(index), self._size)))
|
||||
return obj['_M_elems'][index]
|
||||
|
||||
|
||||
class ArraySubscriptWorker(ArrayWorkerBase):
|
||||
def __init__(self, val_type, size):
|
||||
ArrayWorkerBase.__init__(self, val_type, size)
|
||||
|
@ -133,6 +143,7 @@ class ArraySubscriptWorker(ArrayWorkerBase):
|
|||
else:
|
||||
return self.null_value()
|
||||
|
||||
|
||||
class ArrayMethodsMatcher(gdb.xmethod.XMethodMatcher):
|
||||
def __init__(self):
|
||||
gdb.xmethod.XMethodMatcher.__init__(self,
|
||||
|
@ -162,6 +173,7 @@ class ArrayMethodsMatcher(gdb.xmethod.XMethodMatcher):
|
|||
|
||||
# Xmethods for std::deque
|
||||
|
||||
|
||||
class DequeWorkerBase(gdb.xmethod.XMethodWorker):
|
||||
def __init__(self, val_type):
|
||||
self._val_type = val_type
|
||||
|
@ -179,6 +191,7 @@ class DequeWorkerBase(gdb.xmethod.XMethodWorker):
|
|||
index_node = first_node + int(idx) // self._bufsize
|
||||
return index_node[0][idx % self._bufsize]
|
||||
|
||||
|
||||
class DequeEmptyWorker(DequeWorkerBase):
|
||||
def get_arg_types(self):
|
||||
return None
|
||||
|
@ -190,6 +203,7 @@ class DequeEmptyWorker(DequeWorkerBase):
|
|||
return (obj['_M_impl']['_M_start']['_M_cur'] ==
|
||||
obj['_M_impl']['_M_finish']['_M_cur'])
|
||||
|
||||
|
||||
class DequeSizeWorker(DequeWorkerBase):
|
||||
def get_arg_types(self):
|
||||
return None
|
||||
|
@ -200,6 +214,7 @@ class DequeSizeWorker(DequeWorkerBase):
|
|||
def __call__(self, obj):
|
||||
return self.size(obj)
|
||||
|
||||
|
||||
class DequeFrontWorker(DequeWorkerBase):
|
||||
def get_arg_types(self):
|
||||
return None
|
||||
|
@ -210,6 +225,7 @@ class DequeFrontWorker(DequeWorkerBase):
|
|||
def __call__(self, obj):
|
||||
return obj['_M_impl']['_M_start']['_M_cur'][0]
|
||||
|
||||
|
||||
class DequeBackWorker(DequeWorkerBase):
|
||||
def get_arg_types(self):
|
||||
return None
|
||||
|
@ -219,12 +235,13 @@ class DequeBackWorker(DequeWorkerBase):
|
|||
|
||||
def __call__(self, obj):
|
||||
if (obj['_M_impl']['_M_finish']['_M_cur'] ==
|
||||
obj['_M_impl']['_M_finish']['_M_first']):
|
||||
obj['_M_impl']['_M_finish']['_M_first']):
|
||||
prev_node = obj['_M_impl']['_M_finish']['_M_node'] - 1
|
||||
return prev_node[0][self._bufsize - 1]
|
||||
else:
|
||||
return obj['_M_impl']['_M_finish']['_M_cur'][-1]
|
||||
|
||||
|
||||
class DequeSubscriptWorker(DequeWorkerBase):
|
||||
def get_arg_types(self):
|
||||
return get_std_size_type()
|
||||
|
@ -235,6 +252,7 @@ class DequeSubscriptWorker(DequeWorkerBase):
|
|||
def __call__(self, obj, subscript):
|
||||
return self.index(obj, subscript)
|
||||
|
||||
|
||||
class DequeAtWorker(DequeWorkerBase):
|
||||
def get_arg_types(self):
|
||||
return get_std_size_type()
|
||||
|
@ -248,7 +266,8 @@ class DequeAtWorker(DequeWorkerBase):
|
|||
raise IndexError('Deque index "%d" should not be >= %d.' %
|
||||
(int(index), deque_size))
|
||||
else:
|
||||
return self.index(obj, index)
|
||||
return self.index(obj, index)
|
||||
|
||||
|
||||
class DequeMethodsMatcher(gdb.xmethod.XMethodMatcher):
|
||||
def __init__(self):
|
||||
|
@ -274,6 +293,7 @@ class DequeMethodsMatcher(gdb.xmethod.XMethodMatcher):
|
|||
|
||||
# Xmethods for std::forward_list
|
||||
|
||||
|
||||
class ForwardListWorkerBase(gdb.xmethod.XMethodMatcher):
|
||||
def __init__(self, val_type, node_type):
|
||||
self._val_type = val_type
|
||||
|
@ -282,6 +302,7 @@ class ForwardListWorkerBase(gdb.xmethod.XMethodMatcher):
|
|||
def get_arg_types(self):
|
||||
return None
|
||||
|
||||
|
||||
class ForwardListEmptyWorker(ForwardListWorkerBase):
|
||||
def get_result_type(self, obj):
|
||||
return get_bool_type()
|
||||
|
@ -289,6 +310,7 @@ class ForwardListEmptyWorker(ForwardListWorkerBase):
|
|||
def __call__(self, obj):
|
||||
return obj['_M_impl']['_M_head']['_M_next'] == 0
|
||||
|
||||
|
||||
class ForwardListFrontWorker(ForwardListWorkerBase):
|
||||
def get_result_type(self, obj):
|
||||
return self._val_type
|
||||
|
@ -298,6 +320,7 @@ class ForwardListFrontWorker(ForwardListWorkerBase):
|
|||
val_address = node['_M_storage']['_M_storage'].address
|
||||
return val_address.cast(self._val_type.pointer()).dereference()
|
||||
|
||||
|
||||
class ForwardListMethodsMatcher(gdb.xmethod.XMethodMatcher):
|
||||
def __init__(self):
|
||||
matcher_name = matcher_name_prefix + 'forward_list'
|
||||
|
@ -320,6 +343,7 @@ class ForwardListMethodsMatcher(gdb.xmethod.XMethodMatcher):
|
|||
|
||||
# Xmethods for std::list
|
||||
|
||||
|
||||
class ListWorkerBase(gdb.xmethod.XMethodWorker):
|
||||
def __init__(self, val_type, node_type):
|
||||
self._val_type = val_type
|
||||
|
@ -337,6 +361,7 @@ class ListWorkerBase(gdb.xmethod.XMethodWorker):
|
|||
addr = node['_M_storage'].address
|
||||
return addr.cast(self._val_type.pointer()).dereference()
|
||||
|
||||
|
||||
class ListEmptyWorker(ListWorkerBase):
|
||||
def get_result_type(self, obj):
|
||||
return get_bool_type()
|
||||
|
@ -348,6 +373,7 @@ class ListEmptyWorker(ListWorkerBase):
|
|||
else:
|
||||
return False
|
||||
|
||||
|
||||
class ListSizeWorker(ListWorkerBase):
|
||||
def get_result_type(self, obj):
|
||||
return get_std_size_type()
|
||||
|
@ -361,6 +387,7 @@ class ListSizeWorker(ListWorkerBase):
|
|||
size += 1
|
||||
return size
|
||||
|
||||
|
||||
class ListFrontWorker(ListWorkerBase):
|
||||
def get_result_type(self, obj):
|
||||
return self._val_type
|
||||
|
@ -369,6 +396,7 @@ class ListFrontWorker(ListWorkerBase):
|
|||
node = obj['_M_impl']['_M_node']['_M_next'].cast(self._node_type)
|
||||
return self.get_value_from_node(node)
|
||||
|
||||
|
||||
class ListBackWorker(ListWorkerBase):
|
||||
def get_result_type(self, obj):
|
||||
return self._val_type
|
||||
|
@ -377,6 +405,7 @@ class ListBackWorker(ListWorkerBase):
|
|||
prev_node = obj['_M_impl']['_M_node']['_M_prev'].cast(self._node_type)
|
||||
return self.get_value_from_node(prev_node)
|
||||
|
||||
|
||||
class ListMethodsMatcher(gdb.xmethod.XMethodMatcher):
|
||||
def __init__(self):
|
||||
gdb.xmethod.XMethodMatcher.__init__(self,
|
||||
|
@ -401,6 +430,7 @@ class ListMethodsMatcher(gdb.xmethod.XMethodMatcher):
|
|||
|
||||
# Xmethods for std::vector
|
||||
|
||||
|
||||
class VectorWorkerBase(gdb.xmethod.XMethodWorker):
|
||||
def __init__(self, val_type):
|
||||
self._val_type = val_type
|
||||
|
@ -425,6 +455,7 @@ class VectorWorkerBase(gdb.xmethod.XMethodWorker):
|
|||
else:
|
||||
return obj['_M_impl']['_M_start'][index]
|
||||
|
||||
|
||||
class VectorEmptyWorker(VectorWorkerBase):
|
||||
def get_arg_types(self):
|
||||
return None
|
||||
|
@ -435,6 +466,7 @@ class VectorEmptyWorker(VectorWorkerBase):
|
|||
def __call__(self, obj):
|
||||
return int(self.size(obj)) == 0
|
||||
|
||||
|
||||
class VectorSizeWorker(VectorWorkerBase):
|
||||
def get_arg_types(self):
|
||||
return None
|
||||
|
@ -445,6 +477,7 @@ class VectorSizeWorker(VectorWorkerBase):
|
|||
def __call__(self, obj):
|
||||
return self.size(obj)
|
||||
|
||||
|
||||
class VectorFrontWorker(VectorWorkerBase):
|
||||
def get_arg_types(self):
|
||||
return None
|
||||
|
@ -455,6 +488,7 @@ class VectorFrontWorker(VectorWorkerBase):
|
|||
def __call__(self, obj):
|
||||
return self.get(obj, 0)
|
||||
|
||||
|
||||
class VectorBackWorker(VectorWorkerBase):
|
||||
def get_arg_types(self):
|
||||
return None
|
||||
|
@ -465,6 +499,7 @@ class VectorBackWorker(VectorWorkerBase):
|
|||
def __call__(self, obj):
|
||||
return self.get(obj, int(self.size(obj)) - 1)
|
||||
|
||||
|
||||
class VectorAtWorker(VectorWorkerBase):
|
||||
def get_arg_types(self):
|
||||
return get_std_size_type()
|
||||
|
@ -479,6 +514,7 @@ class VectorAtWorker(VectorWorkerBase):
|
|||
((int(index), size)))
|
||||
return self.get(obj, int(index))
|
||||
|
||||
|
||||
class VectorSubscriptWorker(VectorWorkerBase):
|
||||
def get_arg_types(self):
|
||||
return get_std_size_type()
|
||||
|
@ -489,6 +525,7 @@ class VectorSubscriptWorker(VectorWorkerBase):
|
|||
def __call__(self, obj, subscript):
|
||||
return self.get(obj, int(subscript))
|
||||
|
||||
|
||||
class VectorMethodsMatcher(gdb.xmethod.XMethodMatcher):
|
||||
def __init__(self):
|
||||
gdb.xmethod.XMethodMatcher.__init__(self,
|
||||
|
@ -514,6 +551,7 @@ class VectorMethodsMatcher(gdb.xmethod.XMethodMatcher):
|
|||
|
||||
# Xmethods for associative containers
|
||||
|
||||
|
||||
class AssociativeContainerWorkerBase(gdb.xmethod.XMethodWorker):
|
||||
def __init__(self, unordered):
|
||||
self._unordered = unordered
|
||||
|
@ -527,6 +565,7 @@ class AssociativeContainerWorkerBase(gdb.xmethod.XMethodWorker):
|
|||
def get_arg_types(self):
|
||||
return None
|
||||
|
||||
|
||||
class AssociativeContainerEmptyWorker(AssociativeContainerWorkerBase):
|
||||
def get_result_type(self, obj):
|
||||
return get_bool_type()
|
||||
|
@ -534,6 +573,7 @@ class AssociativeContainerEmptyWorker(AssociativeContainerWorkerBase):
|
|||
def __call__(self, obj):
|
||||
return int(self.node_count(obj)) == 0
|
||||
|
||||
|
||||
class AssociativeContainerSizeWorker(AssociativeContainerWorkerBase):
|
||||
def get_result_type(self, obj):
|
||||
return get_std_size_type()
|
||||
|
@ -541,6 +581,7 @@ class AssociativeContainerSizeWorker(AssociativeContainerWorkerBase):
|
|||
def __call__(self, obj):
|
||||
return self.node_count(obj)
|
||||
|
||||
|
||||
class AssociativeContainerMethodsMatcher(gdb.xmethod.XMethodMatcher):
|
||||
def __init__(self, name):
|
||||
gdb.xmethod.XMethodMatcher.__init__(self,
|
||||
|
@ -564,6 +605,7 @@ class AssociativeContainerMethodsMatcher(gdb.xmethod.XMethodMatcher):
|
|||
|
||||
# Xmethods for std::unique_ptr
|
||||
|
||||
|
||||
class UniquePtrGetWorker(gdb.xmethod.XMethodWorker):
|
||||
"Implements std::unique_ptr<T>::get() and std::unique_ptr<T>::operator->()"
|
||||
|
||||
|
@ -593,7 +635,7 @@ class UniquePtrGetWorker(gdb.xmethod.XMethodWorker):
|
|||
tuple_member = obj['_M_t']
|
||||
else:
|
||||
return None
|
||||
tuple_impl_type = tuple_member.type.fields()[0].type # _Tuple_impl
|
||||
tuple_impl_type = tuple_member.type.fields()[0].type # _Tuple_impl
|
||||
tuple_head_type = tuple_impl_type.fields()[1].type # _Head_base
|
||||
head_field = tuple_head_type.fields()[0]
|
||||
if head_field.name == '_M_head_impl':
|
||||
|
@ -603,6 +645,7 @@ class UniquePtrGetWorker(gdb.xmethod.XMethodWorker):
|
|||
else:
|
||||
return None
|
||||
|
||||
|
||||
class UniquePtrDerefWorker(UniquePtrGetWorker):
|
||||
"Implements std::unique_ptr<T>::operator*()"
|
||||
|
||||
|
@ -619,6 +662,7 @@ class UniquePtrDerefWorker(UniquePtrGetWorker):
|
|||
def __call__(self, obj):
|
||||
return UniquePtrGetWorker.__call__(self, obj).dereference()
|
||||
|
||||
|
||||
class UniquePtrSubscriptWorker(UniquePtrGetWorker):
|
||||
"Implements std::unique_ptr<T>::operator[](size_t)"
|
||||
|
||||
|
@ -638,6 +682,7 @@ class UniquePtrSubscriptWorker(UniquePtrGetWorker):
|
|||
def __call__(self, obj, index):
|
||||
return UniquePtrGetWorker.__call__(self, obj)[index]
|
||||
|
||||
|
||||
class UniquePtrMethodsMatcher(gdb.xmethod.XMethodMatcher):
|
||||
def __init__(self):
|
||||
gdb.xmethod.XMethodMatcher.__init__(self,
|
||||
|
@ -663,6 +708,7 @@ class UniquePtrMethodsMatcher(gdb.xmethod.XMethodMatcher):
|
|||
|
||||
# Xmethods for std::shared_ptr
|
||||
|
||||
|
||||
class SharedPtrGetWorker(gdb.xmethod.XMethodWorker):
|
||||
"Implements std::shared_ptr<T>::get() and std::shared_ptr<T>::operator->()"
|
||||
|
||||
|
@ -686,6 +732,7 @@ class SharedPtrGetWorker(gdb.xmethod.XMethodWorker):
|
|||
def __call__(self, obj):
|
||||
return obj['_M_ptr']
|
||||
|
||||
|
||||
class SharedPtrDerefWorker(SharedPtrGetWorker):
|
||||
"Implements std::shared_ptr<T>::operator*()"
|
||||
|
||||
|
@ -702,6 +749,7 @@ class SharedPtrDerefWorker(SharedPtrGetWorker):
|
|||
def __call__(self, obj):
|
||||
return SharedPtrGetWorker.__call__(self, obj).dereference()
|
||||
|
||||
|
||||
class SharedPtrSubscriptWorker(SharedPtrGetWorker):
|
||||
"Implements std::shared_ptr<T>::operator[](size_t)"
|
||||
|
||||
|
@ -726,6 +774,7 @@ class SharedPtrSubscriptWorker(SharedPtrGetWorker):
|
|||
(self._elem_type, int(index), int(m.group(1))))
|
||||
return SharedPtrGetWorker.__call__(self, obj)[index]
|
||||
|
||||
|
||||
class SharedPtrUseCountWorker(gdb.xmethod.XMethodWorker):
|
||||
"Implements std::shared_ptr<T>::use_count()"
|
||||
|
||||
|
@ -745,6 +794,7 @@ class SharedPtrUseCountWorker(gdb.xmethod.XMethodWorker):
|
|||
refcounts = obj['_M_refcount']['_M_pi']
|
||||
return refcounts['_M_use_count'] if refcounts else 0
|
||||
|
||||
|
||||
class SharedPtrUniqueWorker(SharedPtrUseCountWorker):
|
||||
"Implements std::shared_ptr<T>::unique()"
|
||||
|
||||
|
@ -757,6 +807,7 @@ class SharedPtrUniqueWorker(SharedPtrUseCountWorker):
|
|||
def __call__(self, obj):
|
||||
return SharedPtrUseCountWorker.__call__(self, obj) == 1
|
||||
|
||||
|
||||
class SharedPtrMethodsMatcher(gdb.xmethod.XMethodMatcher):
|
||||
def __init__(self):
|
||||
gdb.xmethod.XMethodMatcher.__init__(self,
|
||||
|
@ -782,6 +833,7 @@ class SharedPtrMethodsMatcher(gdb.xmethod.XMethodMatcher):
|
|||
return worker
|
||||
return None
|
||||
|
||||
|
||||
def register_libstdcxx_xmethods(locus):
|
||||
gdb.xmethod.register_xmethod_matcher(locus, ArrayMethodsMatcher())
|
||||
gdb.xmethod.register_xmethod_matcher(locus, ForwardListMethodsMatcher())
|
||||
|
|
Loading…
Add table
Reference in a new issue