Commit Graph

127 Commits

Author SHA1 Message Date
Jacob Richman 4360e99d18 Revert "Fix observatory tests broken by running dartfmt."
This reverts commit b1f7e6d94673b098c93c187fe3efc45c15f27edc.

BUG=

Committed: https://github.com/dart-lang/sdk/commit/62be0eacfbb36bdc92a05c7c35bb4506621b6a3a
Review-Url: https://codereview.chromium.org/2767533002 .
2017-03-21 10:07:26 -07:00
Jacob Richman 62be0eacfb Revert "Fix observatory tests broken by running dartfmt."
This reverts commit b1f7e6d94673b098c93c187fe3efc45c15f27edc.

BUG=

Review-Url: https://codereview.chromium.org/2767533002 .
2017-03-20 22:19:22 -07:00
Jacob Richman 88f8aacd5f Re-apply rolled back CL to apply dartfmt to runtime.
Fix observatory tests broken by running dartfmt due to line and column changes.
Temporarily reverted formatting for evaluate_activation_test.dart as dartfmt doesn't yet handle multitests.

BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2759973004 .
2017-03-20 21:44:59 -07:00
Ryan Macnak ea4744a06f Revert "Run dartfmt on all files under runtime."
This reverts commit 15f393f189.

The change caused many service test failures due to changed line numbers.

TBR=jacobr@google.com

Review-Url: https://codereview.chromium.org/2762583003 .
2017-03-20 13:42:55 -07:00
Jacob Richman 15f393f189 Run dartfmt on all files under runtime.
I've omitted files where the formatter output is significantly uglier
than the original code and I'll send those files in a separate CL
with options for how to make the code look reasonable while still
taking advantage of the formatter.

BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2751423005 .
2017-03-20 13:13:50 -07:00
Lasse R.H. Nielsen d26132d119 Move methods from internal.Lists that are not used, or only used once.
Remove the class (actually move it to the VM-only dart:_internal patch, because the VM code depends on recognizing the Lists.copy method).

R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2685783009 .
2017-02-17 12:25:26 +01:00
fschneider@google.com a49870e721 VM: Remove use of IterableMixinWorkaround from _List, _ImmutableList and _GrowableList.
_List, _ImmutableList and _GrowableList now extend ListBase which uses ListMixin.

Note that typed data lists are still using IterableMixinWorkaround for now.
They will be changed in a separate CL since it involves a few more changes
to the VM.

BUG=dartbug.com/13647
R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42061 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-02 10:38:51 +00:00
vegorov@google.com a1e2035eda Improve List.sublist and List.toList for large lists.
- Merge array allocation and List._copyFromObjectArray to provide memmove fast path;

- In optimizer given v2 = CreateArray(v0, v1) fold v2.length load to v1;

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39831 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 20:36:01 +00:00
lrn@google.com 6484ca2694 Don't always call _copyFromObjectArray.
The call is a runtime call, not internalized as I expected.
Only use it for large array slices.

R=srdjan@google.com, vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39803 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 12:39:31 +00:00
ajohnsen@google.com 07714fb40f Manually inline fixed-size list's forEach, to make it possible for the VM to optimize.
BUG=https://code.google.com/p/dart/issues/detail?id=20715
R=iposva@google.com, lrn@google.com, vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39657 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-28 15:10:18 +00:00
lrn@google.com 7947f84054 Optimize List.toList/.sublist and List.from on lists.
R=fschneider@google.com, srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39579 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-27 08:00:48 +00:00
lrn@google.com 729de01f79 Make IterableMixinWorkaround using classes return correctly typed Iterables.
BUG= http://dartbug.com/13646
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38372 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-18 08:08:16 +00:00
srdjan@google.com 97021b5861 Add class id constants fields to dart:_internal class 'ClassID'. Use the fields in the library (more uses to come).
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37628 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-23 22:41:59 +00:00
srdjan@google.com d44423b766 Add VM internal Dart class 'ClassID' used to manage class-ids of known classes. Next CL: add constant fields corresponding to each class id (smiCid, oneByteStringCid, etc).
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37567 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-20 20:56:55 +00:00
lrn@google.com 1ec6c5c1db Revert "Add "last" setter to List."
After discussion, we decided not to change the List interface for something that is just a convenience.

Also revert "Mark pkgbuild/pkg/collection as failing when using repository packages"

R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37307 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-13 09:40:22 +00:00
lrn@google.com f528beb9f2 Add "last" setter to List.
This allows assigning directly as `list.last = value` instead of
having to use the longer `list[list.length - 1] = value`.
It's just an abbreviation, like `list.last` is for reading.

If you use a List as a stack (which is a perfectly good use of it),
modifying the last element like this is a natural operation.

R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37255 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-12 08:11:22 +00:00
lrn@google.com 989709f3a8 Reinstall previous behavior for Set and Queue toString.
A previous change made these omit elements to keep the toString length down.
That could break code that expects the original behavior.

This still avoids using IterableMixinWorkaround.

Add static toString methods on ListBase, SetBase, IterableBase so that users can
get the same behavior as our toString methods, and with the same cycle detection
safety.

Unify all collection toString methods in two methods:
- IterableBase.iterableToShortString
- IterableBase.iterableToFullString

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36616 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-26 06:08:20 +00:00
lrn@google.com f449a85d1e Unify error messages for iterables and lists.
Add factory methods that generate the errors thrown for unmodifiable lists,
non-growable lists and iterations with the wrong number of elements.

R=iposva@google.com, sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35733 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-05 09:26:56 +00:00
iposva@google.com f3906bde8b Fix http://dartbug.com/16308
- Replace "non-extendable array" with "fixed-length list" when throwing
  UnsupportedError.
- Reword the error messages where needed.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32733 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-17 23:54:58 +00:00
srdjan@google.com e16402e56e Fix 16099: Invocation's positionalArguments contains an immutable array.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31845 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-15 19:14:45 +00:00
ngeoffray@google.com 2015e5f204 Fix an old TODO.
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31253 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 10:40:53 +00:00
iposva@google.com db2ce149b4 - Undo broken manual commit due to repeated gcl failures.
Review URL: https://codereview.chromium.org/27777003/



git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28835 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-17 23:11:50 +00:00
iposva@google.com 210198bc24 - Fix status files for main(args) in Dartium.
Review URL: https://codereview.chromium.org/27731004



git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28834 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-17 23:07:43 +00:00
lrn@google.com 171c6d7741 Optimize some collection operations.
Extracted from EfficientLength CL.

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28509 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-11 11:39:57 +00:00
lrn@google.com e3713a08d4 Make List.shuffle take an optional Random object to use.
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28305 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-07 12:07:30 +00:00
lrn@google.com 55a8a72ca6 Add List.shuffle().
Will add tests too.

R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28206 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-03 11:09:01 +00:00
iposva@google.com e7e2e4bf03 - Rename arrays to lists:
_ObjectArray -> _List
  _GrowableObjectArray -> _GrowableList
  _ImmutableArray -> _ImmutableList

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28189 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-03 00:15:14 +00:00
zarah@google.com 93bcd6baf7 Move toString() to collection classes.
R=floitsch@google.com

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24913 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-11 12:59:12 +00:00
zarah@google.com a0c76e6d43 Revert "Move toString() to collection classes."
This reverts commit 24836

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24837 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-09 09:36:47 +00:00
zarah@google.com 8ed47ae514 Move toString() to collection classes.
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24836 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-09 08:35:54 +00:00
floitsch@google.com 48b1656690 Allow Object when doing lookups.
According to our typing rules a Set<Apple> is a Set<Fruit>. However, before this change, we couldn't use it as a Set<Fruit>:

===
bool foo(Set<Fruit> fruits) {
  // Would yield a type-error since we actually got a Set<Apple>.
  return fruits.contains(new Banana());
}

foo(new Set<Apple>());
===

R=ajohnsen@google.com, blois@google.com, lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24326 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 12:45:10 +00:00
floitsch@google.com 5d058bb0eb Adding isNotEmpty property to collection and string.
BUG= http://dartbug.com/3074
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23294 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-28 17:30:37 +00:00
srdjan@google.com 7797d39362 Added Object._cid getter, optimized it. Added to (some) classes a static final _clCid. Use those to test for exact type in VM's libraries.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22695 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-14 18:16:44 +00:00
lrn@google.com e0e13fe852 Fix missing concurrency check in [].forEach.
Also fix a bad range check for List.setRange.

Added more tests.

BUG=http://dartbug.com/10045

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21935 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-24 09:34:17 +00:00
lrn@google.com 554a845e4f Make List.remove return boolean.
Remove Queue implementations' remove methods, which are not in the
interface.
Added more tests for list operations.
Fixed bugs and omissions found by tests.

http://dartbug.com/10042
http://dartbug.com/10112

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21867 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-23 11:13:17 +00:00
floitsch@google.com 1049521aaa Add setAll, insertAll, replaceRange and fillRange.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21471 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 16:25:21 +00:00
floitsch@google.com 759a366cea Remove insertRange.
Review URL: https://codereview.chromium.org//13956006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21464 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 15:20:16 +00:00
floitsch@google.com 9bfc844930 Refactor removeRange.
Review URL: https://codereview.chromium.org//13872007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21462 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 15:10:23 +00:00
floitsch@google.com bebe3ac2cd Refactor List.setRange function.
Review URL: https://codereview.chromium.org//13863012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21452 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 13:52:29 +00:00
ajohnsen@google.com 044f0d02eb Remove Collection, Collections and clean up List/Set/Queue implementations of retain/remove.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21338 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-12 09:34:52 +00:00
floitsch@google.com aecbeabcac Implement getRange (returning an Iterable).
Review URL: https://codereview.chromium.org//14065011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21281 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-11 14:14:29 +00:00
lrn@google.com f41508d33b Added new version of reduce.
Removed min/max and uses of min/max.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21258 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-11 08:32:31 +00:00
floitsch@google.com 62358bf5e2 Make default argument to Iterable.join be "".
Review URL: https://codereview.chromium.org//13945009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21193 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-10 11:28:32 +00:00
lrn@google.com f8efe5b278 Fix typo in type parameter.
Review URL: https://codereview.chromium.org//14037002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21185 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-10 08:14:40 +00:00
lrn@google.com 6160e59850 Moving ListBase, FixedLengthListMixin and UmodifiableListMixin to collection.
Users can now create lists easily by extending these classes, just
as they can create iterables by extending Iterable.

Reduce the dependency of IterableMixinWorkaround outside of core/collection
implementations. I plan to move IterableMixinWorkaround to _collection-dev
before M4.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21147 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-09 12:11:05 +00:00
floitsch@google.com bef8ebb5f6 Add Iterable.fold (and Stream.fold) which replace reduce.
For now this is just a copy. In a next step we will change the behavior of
`reduce`.

BUG= http://dartbug.com/9536

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20978 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-05 16:12:40 +00:00
lrn@google.com 3b13f62170 Remove addLast from List.
The List.addLast method has been deprecated for quite a while.
A recent change removed it from the interface, but left the
implementation in place (which caused some errors from the analyzer).
This removes it completely.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20857 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-03 12:52:19 +00:00
lrn@google.com 844cd39fad Change getRange to sublist. Make getRange deprecated.
This changes the exception behavior of getRange. It used to accept
a length of zero, no matter what start value. Now the start value
must be a valid list index.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20064 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-15 09:15:39 +00:00
floitsch@google.com 76d507cb6f Add List.insert.
BUG= http://dartbug.com/5375

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20037 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-14 17:38:14 +00:00
floitsch@google.com 65718c56df Rename XMatching to XWhere.
For example firstMatching -> firstWhere.

BUG= http://dartbug.com/8664
BUG= http://dartbug.com/8337

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19880 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-12 17:34:49 +00:00