OSDN Git Service

* python/libstdcxx/v6/printers.py (StdMapPrinter.__init__): Don't
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 15 Jun 2009 20:54:22 +0000 (20:54 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 15 Jun 2009 20:54:22 +0000 (20:54 +0000)
set self.iter.
(StdMapPrinter.to_string): Make a new iterator.
(StdMapPrinter.children): Likewise.
(StdSetPrinter.__init__): Don't set self.iter.
(StdSetPrinter.to_string): Make a new iterator.
(StdSetPrinter.children): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148506 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/python/libstdcxx/v6/printers.py

index 4173c75..2ca72ea 100644 (file)
@@ -1,3 +1,13 @@
+2009-06-15  Tom Tromey  <tromey@redhat.com>
+
+       * python/libstdcxx/v6/printers.py (StdMapPrinter.__init__): Don't
+       set self.iter.
+       (StdMapPrinter.to_string): Make a new iterator.
+       (StdMapPrinter.children): Likewise.
+       (StdSetPrinter.__init__): Don't set self.iter.
+       (StdSetPrinter.to_string): Make a new iterator.
+       (StdSetPrinter.children): Likewise.
+
 2009-06-11  Paolo Carlini  <paolo.carlini@oracle.com>
 
        * include/bits/random.tcc
index 4dddd8f..e2bb231 100644 (file)
@@ -277,17 +277,17 @@ class StdMapPrinter:
     def __init__ (self, typename, val):
         self.typename = typename
         self.val = val
-        self.iter = RbtreeIterator (val)
 
     def to_string (self):
-        return '%s with %d elements' % (self.typename, len (self.iter))
+        return '%s with %d elements' % (self.typename,
+                                        len (RbtreeIterator (self.val)))
 
     def children (self):
         keytype = self.val.type.template_argument(0).const()
         valuetype = self.val.type.template_argument(1)
         nodetype = gdb.lookup_type('std::_Rb_tree_node< std::pair< %s, %s > >' % (keytype, valuetype))
         nodetype = nodetype.pointer()
-        return self._iter (self.iter, nodetype)
+        return self._iter (RbtreeIterator (self.val), nodetype)
 
     def display_hint (self):
         return 'map'
@@ -317,15 +317,15 @@ class StdSetPrinter:
     def __init__ (self, typename, val):
         self.typename = typename
         self.val = val
-        self.iter = RbtreeIterator (val)
 
     def to_string (self):
-        return '%s with %d elements' % (self.typename, len (self.iter))
+        return '%s with %d elements' % (self.typename,
+                                        len (RbtreeIterator (self.val)))
 
     def children (self):
         keytype = self.val.type.template_argument(0)
         nodetype = gdb.lookup_type('std::_Rb_tree_node< %s >' % keytype).pointer()
-        return self._iter (self.iter, nodetype)
+        return self._iter (RbtreeIterator (self.val), nodetype)
 
 class StdBitsetPrinter:
     "Print a std::bitset"