diff java/src/java/util/TreeSet.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/TreeSet.d	Wed Mar 18 12:10:17 2009 +0100
+++ b/java/src/java/util/TreeSet.d	Thu Mar 19 20:38:55 2009 +0100
@@ -6,15 +6,25 @@
 import java.util.Collection;
 import java.util.Iterator;
 
-static import tango.util.container.SortedMap;
+version(Tango){
+    static import tango.util.container.SortedMap;
+} else { // Phobos
+}
 
 class TreeSet : AbstractSet, SortedSet {
 
-    alias tango.util.container.SortedMap.SortedMap!(Object,int) SetType;
-    private SetType set;
+    version(Tango){
+        alias tango.util.container.SortedMap.SortedMap!(Object,int) 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__ );
@@ -27,39 +37,73 @@
     }
 
     public bool    add(Object o){
-        return set.add(o, 0);
+        version(Tango){
+            return set.add(o, 0);
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return false;
+        }
     }
     public bool    add(String o){
-        return add(stringcast(o));
+        version(Tango){
+            return add(stringcast(o));
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return false;
+        }
     }
     public bool    addAll(Collection c){
-        foreach( o; c ){
-            add(o);
+        version(Tango){
+            foreach( o; c ){
+                add(o);
+            }
+            return true;
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return false;
         }
-        return true;
     }
     public void   clear(){
-        set.clear();
+        version(Tango){
+            set.clear();
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+        }
     }
     public bool    contains(Object o){
-        return set.containsKey(o);
+        version(Tango){
+            return set.containsKey(o);
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return false;
+        }
     }
     public bool     contains(String o){
-        return contains(stringcast(o));
+        version(Tango){
+            return contains(stringcast(o));
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return false;
+        }
     }
     public bool    containsAll(Collection c){
-        foreach( o; c ){
-            if( !contains(o) ){
-                return false;
+        version(Tango){
+            foreach( o; c ){
+                if( !contains(o) ){
+                    return false;
+                }
             }
+            return true;
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return false;
         }
-        return true;
     }
     public Comparator     comparator(){
         implMissing( __FILE__, __LINE__ );
         return null;
     }
-    public override int    opEquals(Object o){
+    public override equals_t    opEquals(Object o){
         implMissing( __FILE__, __LINE__ );
         return 0;
     }
@@ -76,7 +120,12 @@
         return null;
     }
     public bool    isEmpty(){
-        return set.isEmpty();
+        version(Tango){
+            return set.isEmpty();
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return false;
+        }
     }
     public Iterator   iterator(){
         implMissing( __FILE__, __LINE__ );
@@ -87,10 +136,16 @@
         return null;
     }
     public bool    remove(Object o){
+        implMissing( __FILE__, __LINE__ );
         return false;
     }
     public bool remove(String key){
-        return remove(stringcast(key));
+        version(Tango){
+            return remove(stringcast(key));
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return false;
+        }
     }
     public bool    removeAll(Collection c){
         implMissing( __FILE__, __LINE__ );
@@ -101,7 +156,12 @@
         return false;
     }
     public int    size(){
-        return set.size();
+        version(Tango){
+            return set.size();
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return 0;
+        }
     }
     public SortedSet      subSet(Object fromElement, Object toElement){
         implMissing( __FILE__, __LINE__ );
@@ -127,10 +187,15 @@
 
     // only for D
     public int opApply (int delegate(ref Object value) dg){
-        int localDg( ref Object key, ref int value ){
-            return dg( key );
+        version(Tango){
+            int localDg( ref Object key, ref int value ){
+                return dg( key );
+            }
+            return set.opApply(&localDg);
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return 0;
         }
-        return set.opApply(&localDg);
     }
 }