comparison base/src/java/util/LinkedList.d @ 120:536e43f63c81

Comprehensive update for Win32/Linux32 dmd-2.053/dmd-1.068+Tango-r5661 ===D2=== * added [Try]Immutable/Const/Shared templates to work with differenses in D1/D2 instead of version statements used these templates to work with strict type storage rules of dmd-2.053 * com.ibm.icu now also compilable with D2, but not tested yet * small fixes Snippet288 - shared data is in TLS ===Phobos=== * fixed critical bugs in Phobos implemention completely incorrect segfault prone fromStringz (Linux's port ruthless killer) terrible, incorrect StringBuffer realization (StyledText killer) * fixed small bugs as well Snippet72 - misprint in the snippet * implemented missed functionality for Phobos ByteArrayOutputStream implemented (image loading available) formatting correctly works for all DWT's cases As a result, folowing snippets now works with Phobos (Snippet### - what is fixed): Snippet24, 42, 111, 115, 130, 235, 276 - bad string formatting Snippet48, 282 - crash on image loading Snippet163, 189, 211, 213, 217, 218, 222 - crash on copy/cut in StyledText Snippet244 - hang-up ===Tango=== * few changes for the latest Tango trunc-r5661 * few small performance improvments ===General=== * implMissing-s for only one version changed to implMissingInTango/InPhobos * incorrect calls to Format in toString-s fixed * fixed loading \uXXXX characters in ResourceBundle * added good UTF-8 support for StyledText, TextLayout (Win32) and friends UTF functions revised and tested. It is now in java.nonstandard.*Utf modules StyledText and TextLayout (Win32) modules revised for UTF-8 support * removed small diferences in most identical files in *.swt.* folders *.swt.internal.image, *.swt.events and *.swt.custom are identical in Win32/Linux32 now 179 of 576 (~31%) files in *.swt.* folders are fully identical * Win32: snippets now have right subsystem, pretty icons and native system style controls * small fixes in snippets Snippet44 - it's not Snippet44 Snippet212 - functions work with different images and offsets arrays Win32: Snippet282 - crash on close if the button has an image Snippet293 - setGrayed is commented and others Win32: As a result, folowing snippets now works Snippet68 - color doesn't change Snippet163, 189, 211, 213, 217, 218, 222 - UTF-8 issues (see above) Snippet193 - no tabel headers
author Denis Shelomovskij <verylonglogin.reg@gmail.com>
date Sat, 09 Jul 2011 15:50:20 +0300
parents 9f4c18c268b2
children
comparison
equal deleted inserted replaced
119:d00e8db0a568 120:536e43f63c81
20 20
21 this(){ 21 this(){
22 version(Tango){ 22 version(Tango){
23 list = new ListType(); 23 list = new ListType();
24 } else { // Phobos 24 } else { // Phobos
25 implMissing( __FILE__, __LINE__ ); 25 implMissingInPhobos();
26 } 26 }
27 } 27 }
28 this( Collection c ){ 28 this( Collection c ){
29 this(); 29 this();
30 addAll(c); 30 addAll(c);
31 } 31 }
32 void add(int index, Object element){ 32 void add(int index, Object element){
33 version(Tango){ 33 version(Tango){
34 list.addAt(index,element); 34 list.addAt(index,element);
35 } else { // Phobos 35 } else { // Phobos
36 implMissing( __FILE__, __LINE__ ); 36 implMissingInPhobos();
37 } 37 }
38 } 38 }
39 bool add(Object o){ 39 bool add(Object o){
40 version(Tango){ 40 version(Tango){
41 list.add(o); 41 list.add(o);
42 return true; 42 return true;
43 } else { // Phobos 43 } else { // Phobos
44 implMissing( __FILE__, __LINE__ ); 44 implMissingInPhobos();
45 return false; 45 return false;
46 } 46 }
47 } 47 }
48 public bool add(String o){ 48 public bool add(String o){
49 return add(stringcast(o)); 49 return add(stringcast(o));
62 } 62 }
63 void addFirst(Object o){ 63 void addFirst(Object o){
64 version(Tango){ 64 version(Tango){
65 list.prepend( o ); 65 list.prepend( o );
66 } else { // Phobos 66 } else { // Phobos
67 implMissing( __FILE__, __LINE__ ); 67 implMissingInPhobos();
68 } 68 }
69 } 69 }
70 void addLast(Object o){ 70 void addLast(Object o){
71 version(Tango){ 71 version(Tango){
72 list.append( o ); 72 list.append( o );
73 } else { // Phobos 73 } else { // Phobos
74 implMissing( __FILE__, __LINE__ ); 74 implMissingInPhobos();
75 } 75 }
76 } 76 }
77 // void addElement(Object obj){ 77 // void addElement(Object obj){
78 // implMissing( __FILE__, __LINE__ ); 78 // implMissing( __FILE__, __LINE__ );
79 // } 79 // }
83 } 83 }
84 void clear(){ 84 void clear(){
85 version(Tango){ 85 version(Tango){
86 list.clear(); 86 list.clear();
87 } else { // Phobos 87 } else { // Phobos
88 implMissing( __FILE__, __LINE__ ); 88 implMissingInPhobos();
89 } 89 }
90 } 90 }
91 Object clone(){ 91 Object clone(){
92 implMissing( __FILE__, __LINE__ ); 92 implMissing( __FILE__, __LINE__ );
93 return null; 93 return null;
94 } 94 }
95 bool contains(Object elem){ 95 bool contains(Object elem){
96 version(Tango){ 96 version(Tango){
97 return list.contains(elem); 97 return list.contains(elem);
98 } else { // Phobos 98 } else { // Phobos
99 implMissing( __FILE__, __LINE__ ); 99 implMissingInPhobos();
100 return false; 100 return false;
101 } 101 }
102 } 102 }
103 bool contains(String elem){ 103 bool contains(String elem){
104 return contains(stringcast(elem)); 104 return contains(stringcast(elem));
108 foreach(o; c){ 108 foreach(o; c){
109 if( !list.contains(o)) return false; 109 if( !list.contains(o)) return false;
110 } 110 }
111 return true; 111 return true;
112 } else { // Phobos 112 } else { // Phobos
113 implMissing( __FILE__, __LINE__ ); 113 implMissingInPhobos();
114 return false; 114 return false;
115 } 115 }
116 } 116 }
117 void copyInto(Object[] anArray){ 117 void copyInto(Object[] anArray){
118 implMissing( __FILE__, __LINE__ ); 118 implMissing( __FILE__, __LINE__ );
119 } 119 }
120 Object elementAt(int index){ 120 Object elementAt(int index){
121 version(Tango){ 121 version(Tango){
122 return list.get(index); 122 return list.get(index);
123 } else { // Phobos 123 } else { // Phobos
124 implMissing( __FILE__, __LINE__ ); 124 implMissingInPhobos();
125 return null; 125 return null;
126 } 126 }
127 } 127 }
128 // Enumeration elements(){ 128 // Enumeration elements(){
129 // implMissing( __FILE__, __LINE__ ); 129 // implMissing( __FILE__, __LINE__ );
142 } 142 }
143 Object get(int index){ 143 Object get(int index){
144 version(Tango){ 144 version(Tango){
145 return list.get(index); 145 return list.get(index);
146 } else { // Phobos 146 } else { // Phobos
147 implMissing( __FILE__, __LINE__ ); 147 implMissingInPhobos();
148 return null; 148 return null;
149 } 149 }
150 } 150 }
151 Object getFirst(){ 151 Object getFirst(){
152 version(Tango){ 152 version(Tango){
153 return list.get(0); 153 return list.get(0);
154 } else { // Phobos 154 } else { // Phobos
155 implMissing( __FILE__, __LINE__ ); 155 implMissingInPhobos();
156 return null; 156 return null;
157 } 157 }
158 } 158 }
159 Object getLast(){ 159 Object getLast(){
160 version(Tango){ 160 version(Tango){
161 return list.get(list.size()-1); 161 return list.get(list.size()-1);
162 } else { // Phobos 162 } else { // Phobos
163 implMissing( __FILE__, __LINE__ ); 163 implMissingInPhobos();
164 return null; 164 return null;
165 } 165 }
166 } 166 }
167 hash_t toHash(){ 167 hash_t toHash(){
168 implMissing( __FILE__, __LINE__ ); 168 implMissing( __FILE__, __LINE__ );
181 } 181 }
182 bool isEmpty(){ 182 bool isEmpty(){
183 version(Tango){ 183 version(Tango){
184 return list.isEmpty(); 184 return list.isEmpty();
185 } else { // Phobos 185 } else { // Phobos
186 implMissing( __FILE__, __LINE__ ); 186 implMissingInPhobos();
187 return false; 187 return false;
188 } 188 }
189 } 189 }
190 Iterator iterator(){ 190 Iterator iterator(){
191 implMissing( __FILE__, __LINE__ ); 191 implMissing( __FILE__, __LINE__ );
217 } 217 }
218 bool remove(Object o){ 218 bool remove(Object o){
219 version(Tango){ 219 version(Tango){
220 return list.remove(o,false) !is 0; 220 return list.remove(o,false) !is 0;
221 } else { // Phobos 221 } else { // Phobos
222 implMissing( __FILE__, __LINE__ ); 222 implMissingInPhobos();
223 return false; 223 return false;
224 } 224 }
225 } 225 }
226 public bool remove(String key){ 226 public bool remove(String key){
227 return remove(stringcast(key)); 227 return remove(stringcast(key));
232 foreach( o; c){ 232 foreach( o; c){
233 res |= list.remove(o,false) !is 0; 233 res |= list.remove(o,false) !is 0;
234 } 234 }
235 return res; 235 return res;
236 } else { // Phobos 236 } else { // Phobos
237 implMissing( __FILE__, __LINE__ ); 237 implMissingInPhobos();
238 return false; 238 return false;
239 } 239 }
240 } 240 }
241 void removeAllElements(){ 241 void removeAllElements(){
242 implMissing( __FILE__, __LINE__ ); 242 implMissing( __FILE__, __LINE__ );
275 } 275 }
276 int size(){ 276 int size(){
277 version(Tango){ 277 version(Tango){
278 return list.size(); 278 return list.size();
279 } else { // Phobos 279 } else { // Phobos
280 implMissing( __FILE__, __LINE__ ); 280 implMissingInPhobos();
281 return 0; 281 return 0;
282 } 282 }
283 } 283 }
284 List subList(int fromIndex, int toIndex){ 284 List subList(int fromIndex, int toIndex){
285 implMissing( __FILE__, __LINE__ ); 285 implMissing( __FILE__, __LINE__ );
287 } 287 }
288 Object[] toArray(){ 288 Object[] toArray(){
289 version(Tango){ 289 version(Tango){
290 return list.toArray(); 290 return list.toArray();
291 } else { // Phobos 291 } else { // Phobos
292 implMissing( __FILE__, __LINE__ ); 292 implMissingInPhobos();
293 return null; 293 return null;
294 } 294 }
295 } 295 }
296 Object[] toArray(Object[] a){ 296 Object[] toArray(Object[] a){
297 version(Tango){ 297 version(Tango){
298 return list.toArray( a ); 298 return list.toArray( a );
299 } else { // Phobos 299 } else { // Phobos
300 implMissing( __FILE__, __LINE__ ); 300 implMissingInPhobos();
301 return null; 301 return null;
302 } 302 }
303 } 303 }
304 String[] toArray(String[] a){ 304 String[] toArray(String[] a){
305 version(Tango){ 305 version(Tango){
311 foreach( o; list ){ 311 foreach( o; list ){
312 res[idx] = stringcast(o); 312 res[idx] = stringcast(o);
313 } 313 }
314 return res; 314 return res;
315 } else { // Phobos 315 } else { // Phobos
316 implMissing( __FILE__, __LINE__ ); 316 implMissingInPhobos();
317 return null; 317 return null;
318 } 318 }
319 } 319 }
320 String toString(){ 320 String toString(){
321 implMissing( __FILE__, __LINE__ ); 321 implMissing( __FILE__, __LINE__ );