Commit Graph

67 Commits

Author SHA1 Message Date
lrn@google.com 2a7fb1c733 Added expand method to iterables.
Review URL: https://codereview.chromium.org//12188011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18123 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-05 09:48:05 +00:00
lrn@google.com 0d91963a1c Added MappedListIterable/Iterator to implement map() on Lists.
Review URL: https://codereview.chromium.org//12094103

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18036 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-04 09:30:36 +00:00
lrn@google.com 9b23dff467 Reapply "Rename mappedBy to map."
This reverts commit r17907.

TBR.

Review URL: https://codereview.chromium.org//12090093

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17918 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-31 15:12:56 +00:00
floitsch@google.com b1a118d5ce Revert "Rename mappedBy to map."
This reverts commit 17899.

Review URL: https://codereview.chromium.org//12087103

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17907 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-31 14:02:27 +00:00
lrn@google.com 0dc2f4b1ba Rename mappedBy to map.
Retain a deprecated mappedBy for now.
Change return type of mappedBy, skip and take on List to Iterable.

BUG= http://dartbug.com/8063
BUG= http://dartbug.com/8064
BUG= http://dartbug.com/6739
BUG= http://dartbug.com/7982

Review URL: https://codereview.chromium.org//12086062

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17899 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-31 12:37:13 +00:00
lrn@google.com 16795f22d1 Add List.reversed to give a reverse fixed-length view of a list.
Review URL: https://codereview.chromium.org//11896013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17402 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-22 14:56:45 +00:00
floitsch@google.com 0108e97dc6 Move sort to collection-dev and remove coreSort.
Review URL: https://codereview.chromium.org//11960005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17296 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-18 17:21:16 +00:00
lrn@google.com 0e934a631e Add methods to Collection.
Methods are:
- void add(E)
- void addAll(Iterable<E>)
- void remove(Object)
- void removeAll(Iterable)
- void retainAll(Iterable)
- void removeMatching(bool test(E))
- void retainMatching(bool test(E))

They have been implemented for List and Set only.

Default implementations of removeX methods in Collections assume an efficient
remove method, which Lists won't have.

Review URL: https://codereview.chromium.org//11931034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17257 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-18 10:13:51 +00:00
floitsch@google.com 6dcfe3ca41 Create IterableMixinWorkaround and move most of the Collections methods there.
Committed: https://code.google.com/p/dart/source/detail?r=17207
Reverted: https://code.google.com/p/dart/source/detail?r=17210

Review URL: https://codereview.chromium.org//11971016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17213 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-17 14:36:40 +00:00
floitsch@google.com 7ca573ae90 Revert "Create IterableMixinWorkaround and move most of the Collections methods there."
This reverts commit 17207.

Review URL: https://codereview.chromium.org//11956039

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17210 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-17 14:19:47 +00:00
floitsch@google.com e0459f6d6e Create IterableMixinWorkaround and move most of the Collections methods there.
Review URL: https://codereview.chromium.org//11971016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17207 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-17 14:01:52 +00:00
floitsch@google.com d95bad9312 Let list-classes call Collections.joinList (which avoids allocating an iterator).
Review URL: https://codereview.chromium.org//11906002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17118 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-16 08:29:11 +00:00
floitsch@google.com 4a7dfd2da3 Big merge from experimental to bleeding edge.
Review URL: https://codereview.chromium.org//11783009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16687 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-07 11:23:16 +00:00
regis@google.com 849585ef7c Implement Function.apply in vm (issue 5670).
Fix a closure parameter count check bug (unveiled by an apply test).
Review URL: https://codereview.chromium.org//11564029

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16175 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-14 19:04:01 +00:00
lrn@google.com 04769f543c Change List.sort to not have a default parameter value.
The list implementations in the system now default to
Comparable.compare if the compare argument is null.

BUG=http://code.google.com/p/dart/issues/detail?id=7148

Review URL: https://codereview.chromium.org//11269004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15771 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-06 08:55:22 +00:00
floitsch@google.com f6fa33d28b Add List.first.
BUG=http://dartbug.com/1790

Committed: https://code.google.com/p/dart/source/detail?r=15036

Review URL: https://codereview.chromium.org//11316059

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15040 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-16 21:58:01 +00:00
floitsch@google.com 7382cc8756 Revert "Add List.first."
This reverts commit r15036.

Review URL: https://codereview.chromium.org//11299048

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15038 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-16 21:33:49 +00:00
floitsch@google.com 7f5ac55b45 Add List.first.
BUG=http://dartbug.com/1790

Review URL: https://codereview.chromium.org//11316059

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15036 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-16 21:15:02 +00:00
ajohnsen@google.com 970cc5ba68 Move JSSyntaxRegExp to core as a private member. This removes the last refrences to dart:coreimpl.
After this cleanup, RegExp no longer have a const constructor. Use 'new
RegExp(...)' from now on.

BUG=

Review URL: https://codereview.chromium.org//11365196

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14838 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-13 10:41:37 +00:00
floitsch@google.com 8e6f238f86 a === b -> identical(a, b)
Replace === null with == null.

BUG=http://dartbug.com/6380

Review URL: https://codereview.chromium.org//11361190

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14794 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-12 17:19:58 +00:00
lrn@google.com b8b5632148 Convert NoMoreElementsException and EmptyQueueException to StateError.
Review URL: https://codereview.chromium.org//11269045

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14122 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-26 08:28:33 +00:00
floitsch@google.com 3300f91153 Make first and last getters.
Review URL: https://codereview.chromium.org//11273041

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14082 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-25 15:19:31 +00:00
floitsch@google.com 09f6d09d88 Make isEmpty a getter.
Review URL: https://codereview.chromium.org//11238035

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14022 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-24 15:04:32 +00:00
floitsch@google.com 0e47b363ae Make hasNext a getter instead of a method.
Review URL: https://codereview.chromium.org//11230011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14015 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-24 13:05:11 +00:00
lrn@google.com a083c1a108 Removed IllegalAccessException and UnsupportedOperationException.
Both were converted to StateError.

Review URL: https://codereview.chromium.org//11235054

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14012 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-24 12:36:10 +00:00
ajohnsen@google.com 7983141903 Move DualPivotQuicksort from coreimpl to core as _Sort.
I've added a tempoary coreSort method in core, to coreimpl and other
uses, until the move is done.

BUG=

Review URL: https://codereview.chromium.org//11239004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13993 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-24 07:17:18 +00:00
lrn@google.com 9f32f0674a Add "contains" method to Collection.
This versions does not implement "contains" on DOM lists.

Review URL: https://codereview.chromium.org//11195039

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13806 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-19 06:58:19 +00:00
lrn@google.com ae9664a9cc Revert "Add "contains" method to Collection."
Review URL: https://codereview.chromium.org//11186045

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13769 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-18 10:55:02 +00:00
lrn@google.com c3c2ae61c6 Add "contains" method to Collection.
Also added a Sequence interface to capture things with a length and
integer indexing. List and String implement that interface, and
there is a base skeleton class for collections that are Sequences.

BUG=1030

Review URL: https://codereview.chromium.org//11169004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13766 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-18 08:48:11 +00:00
lrn@google.com cd5be325f8 Make argument of List.sort optional with default Comparable.compare.
BUG=1235

Review URL: https://codereview.chromium.org//11144016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13718 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-17 07:39:12 +00:00
ager@google.com abee5139e5 Reapply change to hide VM-only List implementation classes.
The performance issue was that I had not updated the method
recognizer.

BUG=

Review URL: https://codereview.chromium.org//10990083

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13003 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-28 11:08:38 +00:00
ager@google.com fe66a0af1a Revert hiding of VM-only coreimpl list implementation types. While I
investigate performance regression (even after fixing constructors
in the intrinsifier).

R=iposva@google.com,srdjan@google.com,fschneider@google.com
BUG=

Review URL: https://codereview.chromium.org//11000025

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12963 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 14:07:56 +00:00
ager@google.com 8e6a2c8345 Hide VM-only coreimpl List implementation types. These should not be
exposed as visible parts of coreimpl.

Review URL: https://codereview.chromium.org//10990055

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12952 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 12:37:30 +00:00
lrn@google.com a1faa6f135 Change IllegalArgumentException to ArgumentError.
Review URL: https://codereview.chromium.org//10989013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12841 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-25 12:27:52 +00:00
lrn@google.com eeeab5f0ad Add list.removeAt method.
Review URL: https://codereview.chromium.org//10970009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12627 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-20 10:50:00 +00:00
kasperl@google.com 023546faf8 Remove more () from getters.
This makes it possible to run all standard tests except co19
without ever using a getter that's defined with ().

R=iposva@google.com,hausner@google.com
BUG=

Review URL: https://chromiumcodereview.appspot.com//10928051

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12028 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-07 12:56:21 +00:00
srdjan@google.com 7f400ac01e Some code cleanups in arrays, fix rangeCheck (issue 2899).
Review URL: https://chromiumcodereview.appspot.com//10905010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11572 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-30 00:47:24 +00:00
whesse@google.com 4789857341 Remove List.copyFrom from VM and from tests. It was removed from the List interface in r941.
BUG=dart:1953

Review URL: https://chromiumcodereview.appspot.com//10898003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11437 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-28 12:06:45 +00:00
ajohnsen@google.com 660f03288e Unify list.
I've added a TODO that we'll have to address asap. This patch will
currently limit the checks being performed with List.from(other).

BUG=

Review URL: https://chromiumcodereview.appspot.com//10878077

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11384 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-27 14:06:03 +00:00
ajohnsen@google.com 8f50fb32fd Reapply 'Add reduce to Collection.'
Implemented JS array's reduce and fix a template error that made snapshotting crash.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10832060


Review URL: https://chromiumcodereview.appspot.com//10827293

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10557 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 09:19:53 +00:00
ajohnsen@google.com db92954d53 Revert "Add reduce to Collection."
This reverts commit 9921e32dd33d6d6482d5fed9e85d68c180f670dd.

BUG=

Review URL: https://chromiumcodereview.appspot.com//10826264

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10551 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 06:47:27 +00:00
ajohnsen@google.com ff34c5464e Add reduce to Collection.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//10832060

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10548 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 05:57:55 +00:00
srdjan@google.com e74f5a721b Implement more intrinisification for x64 (not as inlined code but as header of the target).
Review URL: https://chromiumcodereview.appspot.com//10701147

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9573 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-11 22:37:41 +00:00
srdjan@google.com 00ae8f2985 Fix issue 1741: add map to immutable list.
Review URL: https://chromiumcodereview.appspot.com//9456017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4548 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-23 19:23:41 +00:00
jjb@google.com a2f2769ec3 Wrote functions to convert collections and maps to strings and invoked
these functions from the toString methods of all built-in Collection
and Map implementations. Wrote smoke tests and basher tests.
Review URL: https://chromiumcodereview.appspot.com//9431015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4421 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-22 02:28:01 +00:00
kasperl@google.com c34ec0121c Revert "Wrote functions to convert collections and maps to strings and invoked"
This reverts r4345.

R=jjb@google.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com//9416053

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4347 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-17 06:36:06 +00:00
jjb@google.com b4db1d6cc0 Wrote functions to convert collections and maps to strings and invoked
these functions from the toString methods of all built-in Collection
and Map implementations. Wrote smoke tests and basher tests.

BUG=4466785
Review URL: https://chromiumcodereview.appspot.com//9320028

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@4345 260f80e4-7a28-3924-810f-c04153c831b5
2012-02-17 01:34:00 +00:00
gbracha@google.com d3bcc88674 Added method map to Collection interface and all its implementations (except classes generated from IDL for the DOM).
Review URL: http://codereview.chromium.org//9114021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3223 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-12 01:25:01 +00:00
srdjan@google.com c91cb11962 Implement toString for ImmutableArray and GrowableObjectArray (Issue 952)
Review URL: http://codereview.chromium.org//9027026

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2795 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-23 00:12:11 +00:00
regis@google.com 4e76761dd5 Rename type parameter to comply with upcoming corelib changes.
Update error message in class finalizer.
Review URL: http://codereview.chromium.org//8933014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2398 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-13 21:19:36 +00:00