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;
+        }
     }
 
 }