Mercurial > projects > dwt2
diff java/src/java/util/HashSet.d @ 21:9b96950f2c3c
the 'java' tree compiles on both D1-Tango and D2-Phobos
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Thu, 19 Mar 2009 20:38:55 +0100 |
parents | eb8ff453285d |
children |
line wrap: on
line diff
--- a/java/src/java/util/HashSet.d Wed Mar 18 12:10:17 2009 +0100 +++ b/java/src/java/util/HashSet.d Thu Mar 19 20:38:55 2009 +0100 @@ -5,14 +5,24 @@ import java.util.Collection; import java.util.Iterator; -static import tango.util.container.HashSet; +version(Tango){ + static import tango.util.container.HashSet; +} else { // Phobos +} class HashSet : Set { - alias tango.util.container.HashSet.HashSet!(Object) SetType; - private SetType set; + version(Tango){ + alias tango.util.container.HashSet.HashSet!(Object) SetType; + private SetType set; + } else { // Phobos + } public this(){ - set = new SetType(); + version(Tango){ + set = new SetType(); + } else { // Phobos + implMissing( __FILE__, __LINE__ ); + } } public this(Collection c){ implMissing( __FILE__, __LINE__ ); @@ -24,7 +34,12 @@ implMissing( __FILE__, __LINE__ ); } public bool add(Object o){ - return set.add(o); + version(Tango){ + return set.add(o); + } else { // Phobos + implMissing( __FILE__, __LINE__ ); + return false; + } } public bool add(String o){ return add(stringcast(o)); @@ -34,10 +49,19 @@ return false; } public void clear(){ - set.clear(); + version(Tango){ + set.clear(); + } else { // Phobos + implMissing( __FILE__, __LINE__ ); + } } public bool contains(Object o){ - return set.contains(o); + version(Tango){ + return set.contains(o); + } else { // Phobos + implMissing( __FILE__, __LINE__ ); + return false; + } } public bool contains(String o){ return contains(stringcast(o)); @@ -46,7 +70,7 @@ implMissing( __FILE__, __LINE__ ); return false; } - public override int opEquals(Object o){ + public override equals_t opEquals(Object o){ implMissing( __FILE__, __LINE__ ); return 0; } @@ -55,29 +79,47 @@ return 0; } public bool isEmpty(){ - return set.isEmpty(); - } - class LocalIterator : Iterator { - SetType.Iterator iter; - Object nextElem; - this( SetType.Iterator iter){ - this.iter = iter; - } - public bool hasNext(){ - return iter.next(nextElem); - } - public Object next(){ - return nextElem; - } - public void remove(){ - iter.remove(); + version(Tango){ + return set.isEmpty(); + } else { // Phobos + implMissing( __FILE__, __LINE__ ); + return false; } } + version(Tango){ + class LocalIterator : Iterator { + SetType.Iterator iter; + Object nextElem; + this( SetType.Iterator iter){ + this.iter = iter; + } + public bool hasNext(){ + return iter.next(nextElem); + } + public Object next(){ + return nextElem; + } + public void remove(){ + iter.remove(); + } + } + } else { // Phobos + } public Iterator iterator(){ - return new LocalIterator(set.iterator()); + version(Tango){ + return new LocalIterator(set.iterator()); + } else { // Phobos + implMissing( __FILE__, __LINE__ ); + return null; + } } public bool remove(Object o){ - return set.remove(o); + version(Tango){ + return set.remove(o); + } else { // Phobos + implMissing( __FILE__, __LINE__ ); + return false; + } } public bool remove(String key){ return remove(stringcast(key)); @@ -91,17 +133,27 @@ return false; } public int size(){ - return set.size(); + version(Tango){ + return set.size(); + } else { // Phobos + implMissing( __FILE__, __LINE__ ); + return 0; + } } public Object[] toArray(){ - Object[] res; - res.length = size(); - int idx = 0; - foreach( o; set ){ - res[idx] = o; - idx++; + version(Tango){ + Object[] res; + res.length = size(); + int idx = 0; + foreach( o; set ){ + res[idx] = o; + idx++; + } + return res; + } else { // Phobos + implMissing( __FILE__, __LINE__ ); + return null; } - return res; } public Object[] toArray(Object[] a){ implMissing( __FILE__, __LINE__ ); @@ -114,7 +166,12 @@ // only for D public int opApply (int delegate(ref Object value) dg){ - return set.opApply(dg); + version(Tango){ + return set.opApply(dg); + } else { // Phobos + implMissing( __FILE__, __LINE__ ); + return 0; + } } }