diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2016-12-14 16:07:29 +0000 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2016-12-14 16:07:29 +0000 |
commit | d33c00e1ceb82fa46561ee076b9cb40ad44dc0dc (patch) | |
tree | c923fb7a40da6938459bdbe00266f38ccce2a7e9 /libstdc++-v3/python | |
parent | 3c760f4a79c221408122b3f265a8039b04ce697e (diff) | |
download | gcc-d33c00e1ceb82fa46561ee076b9cb40ad44dc0dc.zip gcc-d33c00e1ceb82fa46561ee076b9cb40ad44dc0dc.tar.gz gcc-d33c00e1ceb82fa46561ee076b9cb40ad44dc0dc.tar.bz2 |
Make printers use singular noun for a single element
* python/libstdcxx/v6/printers.py (num_elements): New function.
(StdMapPrinter.to_string, StdSetPrinter.to_string)
(StdDequePrinter.to_string, Tr1UnorderedSetPrinter.to_string)
(Tr1UnorderedMapPrinter.to_string): Use num_elements.
* testsuite/libstdc++-prettyprinters/cxx11.cc: Adjust expected results
to use singular noun when there is only one element.
* testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
* testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
* testsuite/libstdc++-prettyprinters/tr1.cc: Likewise.
From-SVN: r243652
Diffstat (limited to 'libstdc++-v3/python')
-rw-r--r-- | libstdc++-v3/python/libstdcxx/v6/printers.py | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/libstdc++-v3/python/libstdcxx/v6/printers.py b/libstdc++-v3/python/libstdcxx/v6/printers.py index 8ac4a37..3a111d7 100644 --- a/libstdc++-v3/python/libstdcxx/v6/printers.py +++ b/libstdc++-v3/python/libstdcxx/v6/printers.py @@ -508,6 +508,10 @@ class StdDebugIteratorPrinter: itype = self.val.type.template_argument(0) return self.val.cast(itype) +def num_elements(num): + """Return either "1 element" or "N elements" depending on the argument.""" + return '1 element' if num == 1 else '%d elements' % num + class StdMapPrinter: "Print a std::map or std::multimap" @@ -539,8 +543,8 @@ class StdMapPrinter: self.val = val def to_string (self): - return '%s with %d elements' % (self.typename, - len (RbtreeIterator (self.val))) + return '%s with %s' % (self.typename, + num_elements(len(RbtreeIterator (self.val)))) def children (self): rep_type = find_type(self.val.type, '_Rep_type') @@ -579,8 +583,8 @@ class StdSetPrinter: self.val = val def to_string (self): - return '%s with %d elements' % (self.typename, - len (RbtreeIterator (self.val))) + return '%s with %s' % (self.typename, + num_elements(len(RbtreeIterator (self.val)))) def children (self): rep_type = find_type(self.val.type, '_Rep_type') @@ -681,7 +685,7 @@ class StdDequePrinter: size = self.buffer_size * delta_n + delta_s + delta_e - return '%s with %d elements' % (self.typename, long (size)) + return '%s with %s' % (self.typename, num_elements(long(size))) def children(self): start = self.val['_M_impl']['_M_start'] @@ -795,7 +799,8 @@ class Tr1UnorderedSetPrinter: return self.val['_M_h'] def to_string (self): - return '%s with %d elements' % (self.typename, self.hashtable()['_M_element_count']) + count = self.hashtable()['_M_element_count'] + return '%s with %s' % (self.typename, num_elements(count)) @staticmethod def format_count (i): @@ -820,7 +825,8 @@ class Tr1UnorderedMapPrinter: return self.val['_M_h'] def to_string (self): - return '%s with %d elements' % (self.typename, self.hashtable()['_M_element_count']) + count = self.hashtable()['_M_element_count'] + return '%s with %s' % (self.typename, num_elements(count)) @staticmethod def flatten (list): |