diff java/src/java/util/LinkedList.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/LinkedList.d	Wed Mar 18 12:10:17 2009 +0100
+++ b/java/src/java/util/LinkedList.d	Thu Mar 19 20:38:55 2009 +0100
@@ -6,26 +6,45 @@
 import java.util.ListIterator;
 import java.util.Collection;
 
-static import tango.util.container.CircularList;
+version(Tango){
+    static import tango.util.container.CircularList;
+} else { // Phobos
+}
 
 class LinkedList : List {
-    alias tango.util.container.CircularList.CircularList!(Object) ListType;
-    private ListType list;
+    version(Tango){
+        alias tango.util.container.CircularList.CircularList!(Object) ListType;
+        private ListType list;
+    } else { // Phobos
+    }
 
     this(){
-        list = new ListType();
+        version(Tango){
+            list = new ListType();
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+        }
     }
     this( Collection c ){
         this();
         addAll(c);
     }
     void   add(int index, Object element){
-        list.addAt(index,element);
-        return true;
+        version(Tango){
+            list.addAt(index,element);
+            return true;
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+        }
     }
     bool    add(Object o){
-        list.add(o);
-        return true;
+        version(Tango){
+            list.add(o);
+            return true;
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return false;
+        }
     }
     public bool    add(String o){
         return add(stringcast(o));
@@ -43,51 +62,79 @@
         return false;
     }
     void   addFirst(Object o){
-        list.prepend( o );
+        version(Tango){
+            list.prepend( o );
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+        }
     }
     void   addLast(Object o){
-        list.append( o );
+        version(Tango){
+            list.append( o );
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+        }
     }
-//     void   addElement(Object obj){
-//         implMissing( __FILE__, __LINE__ );
-//     }
+    //     void   addElement(Object obj){
+    //         implMissing( __FILE__, __LINE__ );
+    //     }
     int    capacity(){
         implMissing( __FILE__, __LINE__ );
         return 0;
     }
     void   clear(){
-        list.clear();
+        version(Tango){
+            list.clear();
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return false;
+        }
     }
     Object     clone(){
         implMissing( __FILE__, __LINE__ );
         return null;
     }
     bool    contains(Object elem){
-        return list.contains(elem);
+        version(Tango){
+            return list.contains(elem);
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return false;
+        }
     }
     bool    contains(String elem){
         return contains(stringcast(elem));
     }
     bool    containsAll(Collection c){
-        foreach(o; c){
-            if( !list.contains(o)) return false;
+        version(Tango){
+            foreach(o; c){
+                if( !list.contains(o)) return false;
+            }
+            return true;
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return false;
         }
-        return true;
     }
     void   copyInto(Object[] anArray){
         implMissing( __FILE__, __LINE__ );
     }
     Object     elementAt(int index){
-        return list.get(index);
+        version(Tango){
+            return list.get(index);
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return null;
+        }
     }
-//     Enumeration    elements(){
-//         implMissing( __FILE__, __LINE__ );
-//         return null;
-//     }
+    //     Enumeration    elements(){
+    //         implMissing( __FILE__, __LINE__ );
+    //         return null;
+    //     }
     void   ensureCapacity(int minCapacity){
         implMissing( __FILE__, __LINE__ );
     }
-    int opEquals(Object o){
+    equals_t opEquals(Object o){
         implMissing( __FILE__, __LINE__ );
         return false;
     }
@@ -96,13 +143,28 @@
         return null;
     }
     Object     get(int index){
-        return list.get(index);
+        version(Tango){
+            return list.get(index);
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return null;
+        }
     }
     Object     getFirst(){
-        return list.get(0);
+        version(Tango){
+            return list.get(0);
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return null;
+        }
     }
     Object     getLast(){
-        return list.get(list.size()-1);
+        version(Tango){
+            return list.get(list.size()-1);
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return null;
+        }
     }
     hash_t    toHash(){
         implMissing( __FILE__, __LINE__ );
@@ -120,7 +182,12 @@
         implMissing( __FILE__, __LINE__ );
     }
     bool    isEmpty(){
-        return list.isEmpty();
+        version(Tango){
+            return list.isEmpty();
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return false;
+        }
     }
     Iterator   iterator(){
         implMissing( __FILE__, __LINE__ );
@@ -151,17 +218,27 @@
         return null;
     }
     bool    remove(Object o){
-        return list.remove(o,false) !is 0;
+        version(Tango){
+            return list.remove(o,false) !is 0;
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return false;
+        }
     }
     public bool remove(String key){
         return remove(stringcast(key));
     }
     bool    removeAll(Collection c){
-        bool res = false;
-        foreach( o; c){
-            res |= list.remove(o,false) !is 0;
+        version(Tango){
+            bool res = false;
+            foreach( o; c){
+                res |= list.remove(o,false) !is 0;
+            }
+            return res;
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return false;
         }
-        return res;
     }
     void   removeAllElements(){
         implMissing( __FILE__, __LINE__ );
@@ -199,19 +276,34 @@
         implMissing( __FILE__, __LINE__ );
     }
     int    size(){
-        return list.size();
+        version(Tango){
+            return list.size();
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return 0;
+        }
     }
     List   subList(int fromIndex, int toIndex){
         implMissing( __FILE__, __LINE__ );
         return null;
     }
     Object[]   toArray(){
-        if( list.size() is 0 ) return null; // workaround tango ticket 1237
-        return list.toArray();
+        version(Tango){
+            if( list.size() is 0 ) return null; // workaround tango ticket 1237
+            return list.toArray();
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return null;
+        }
     }
     Object[]   toArray(Object[] a){
-        if( list.size() is 0 ) return a[0 .. 0]; // workaround tango ticket 1237
-        return list.toArray( a );
+        version(Tango){
+            if( list.size() is 0 ) return a[0 .. 0]; // workaround tango ticket 1237
+            return list.toArray( a );
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+            return null;
+        }
     }
     String     toString(){
         implMissing( __FILE__, __LINE__ );