Mercurial > hg > graal-jvmci-8
diff src/share/vm/libadt/vectset.cpp @ 4051:f350490a45fd
7105611: Set::print() is broken
Summary: Reimplemented class VSetI_ to restore Set::print().
Reviewed-by: never
author | kvn |
---|---|
date | Thu, 27 Oct 2011 18:20:50 -0700 |
parents | 3763ca6579b7 |
children | d2a62e0f25eb |
line wrap: on
line diff
--- a/src/share/vm/libadt/vectset.cpp Thu Oct 27 14:40:25 2011 -0700 +++ b/src/share/vm/libadt/vectset.cpp Thu Oct 27 18:20:50 2011 -0700 @@ -350,6 +350,21 @@ return (int)_xor; } +//------------------------------iterate---------------------------------------- +// Used by Set::print(). +class VSetI_ : public SetI_ { + VectorSetI vsi; +public: + VSetI_( const VectorSet *vset, uint &elem ) : vsi(vset) { elem = vsi.elem; } + + uint next(void) { ++vsi; return vsi.elem; } + int test(void) { return vsi.test(); } +}; + +SetI_ *VectorSet::iterate(uint &elem) const { + return new(ResourceObj::C_HEAP) VSetI_(this, elem); +} + //============================================================================= //------------------------------next------------------------------------------- // Find and return the next element of a vector set, or return garbage and