Mercurial > projects > dwt2
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__ ); |