Commit Graph

41 Commits

Author SHA1 Message Date
johnniwinther@google.com 1f1ecff14d Handle @proxy classes in type checker.
BUG=http://dartbug.com/15049
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31011 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-10 09:34:25 +00:00
sra@google.com c4993e4b62 Reapply "This change makes it easier to put type parameters on JavaScript Arrays."
Updates recursive_import_test

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30380 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-18 22:06:48 +00:00
johnniwinther@google.com 776bd8ef05 Call asyncEnd only on success.
BUG=
R=ahe@google.com, kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27465 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-13 07:36:02 +00:00
ngeoffray@google.com 72e13620a7 Turn a Dart String + String into a JavaScript String + String.
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27281 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-09 09:37:08 +00:00
johnniwinther@google.com 3d22a350b3 First pass at asynchronous input loading in dart2js.
R=ahe@google.com, johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27028 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-03 08:04:38 +00:00
ngeoffray@google.com 64b784b17c Fix unit test to add required classes.
Review URL: https://codereview.chromium.org//23620009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26854 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-29 11:06:13 +00:00
kevmoo@j832.com 178afc3105 because Kasper cares
R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26286 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-16 18:04:48 +00:00
ngeoffray@google.com 6d7b2a169e Rewrite how we handle synthesized constructors in the compiler. This was motivated by issue https://code.google.com/p/dart/issues/detail?id=11822.
This change:
- Removes the need to create synthesized nodes for the default constructor.

- Treats the default constructor and forwarding constructors in mixins uniformaly: they both are synthesized constructors that call a super constructor.

- Makes the compiler aware that some elements may not have nodes, and acts accordingly. Before, the default constructor had a synthesized node, so the compiler was happy with it. And the forwarding constructors were handled specially to just skip to a non-synthesized constructor. The latter behavior was the cause of issue 11822, and type inference problems.

- Makes the resolver implement what is specified in the specification for forwarding constructors: we create one synthesized constructor per generative constructor of the super class.

- Implements forwarding constructor in named (aka typedef) mixin applications. See builder.dart, and mixin_typedef_constructor_test.dart

- Implements const classes in the presence of mixins: tests/language/const_constructor_mixin_test.dart.

- Fixes type inference in the presence of forwarding constructors: tests/language/inference_mixin_field_test.dart.

R=ahe@google.com, karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25148 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-18 15:51:40 +00:00
ngeoffray@google.com 1f791bdd69 Move array and string related HType from const to a field in the backend.
R=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23900 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-12 10:20:30 +00:00
ngeoffray@google.com 91297abbfa Re-apply "Implement operator== and hashCode for bound closures.". The emitter should not try to share a bound closure class between an intercepted method and a non-intercepted method because the call has different calling conventions: the intercepted version pass an extra argument, which is the actual receiver.
R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23387 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-30 08:27:28 +00:00
ngeoffray@google.com 76f4ae07ba Revert r23380, some browser tests fail.
Review URL: https://codereview.chromium.org//15987007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23383 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-30 07:05:38 +00:00
ngeoffray@google.com 6ed50f8a6b Implement operator== and hashCode for bound closures.
R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23380 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-30 06:48:38 +00:00
sgjesse@google.com 9d6a64e81b Merge the dart:uri library into dart:core and update the Uri class
This merges the dart:uri library into dart:core removing the dart:uri library. Besides moving the library the Url class has been changed.

* Removed existing Uri constructor as it was equivalent with Uri.parse
* Remamed constructor Uri.fromComponents to Uri
* Moved toplevel function encodeUriComponent to static method Uri.encodeComponent
* Moved toplevel function decodeUriComponent to static method Uri.decodeComponent
* Moved toplevel function encodeUri to static method Uri.encodeFull
* Moved toplevel function decodeUri to static method Uri.decodeFull
* Rename domain to host
* Added static methods Uri.encodeQueryComponent and Uri.decodeQueryComponent
* Added support for path generation and splitting
* Added support for query generation and splitting
* Added some level of normalization

R=floitsch@google.com, lrn@google.com, nweiz@google.com, scheglov@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23266 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-28 13:35:01 +00:00
johnniwinther@google.com b8fac0a378 Add StackTrace to mock corelib.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23223 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-27 13:13:24 +00:00
floitsch@google.com 968ebcff5a Make Completers asynchronous.
BUG= http://dartbug.com/9990
R=ajohnsen@google.com, lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22417 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-06 15:15:15 +00:00
kasperl@google.com a58131df79 Allow using native JS []= on typed data lists.
R=ngeoffray@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21938 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-24 11:04:18 +00:00
kasperl@google.com 22406c8a18 Optimize length access on all JSIndexable things.
R=ngeoffray@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21918 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-24 05:36:34 +00:00
floitsch@google.com 5431a5af54 Remove AsyncError with Expando.
Review URL: https://codereview.chromium.org//14251006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21498 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 18:58:32 +00:00
floitsch@google.com 8fd6d0aafd Remove Expect from core library.
Committed: https://code.google.com/p/dart/source/detail?r=19755
Reverted: http://code.google.com/p/dart/source/detail?r=19756

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20996 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-05 19:43:16 +00:00
ngeoffray@google.com 2671148800 Update another dummy corelib.
Review URL: https://codereview.chromium.org//12606008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20309 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-21 10:01:43 +00:00
floitsch@google.com 5dc8107c53 Revert "Remove Expect from core library."
This reverts commit 19755.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19756 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-09 03:19:07 +00:00
floitsch@google.com 12dbd2fd70 Remove Expect from core library.
Review URL: https://codereview.chromium.org//12212016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19755 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-09 02:40:37 +00:00
ahe@google.com e6d4c9925c Revert "Don't output tons of messages on apidoc." and "Fix bot breaks."
This reverts r19662 and r19666.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19694 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-08 13:55:39 +00:00
amouravski@google.com e9105a35a5 Fix bot breaks.
A warning changed to an info, but I forgot to update the test that tests that.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19666 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-08 00:31:29 +00:00
kasperl@google.com f7098d4354 Continue the crazy hacking on the recursive_import_test and give
it a proper interceptors library.

This is a mess. People that use the compiler API shouldn't have
to know about providing the source code for our builtin libraries.

R=ngeoffray@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19207 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-28 08:48:15 +00:00
ngeoffray@google.com da51aac292 Add a type kind to TypedSelector. A typed selector can either be
- EXACT: it knows the exact type of the receiver (e.g. new Map()).
- SUBCLASS: the type is in the subclass hierarchy (e.g. 'this')
- INTERFACE: any type that implements the receiver type is a target.
Review URL: https://codereview.chromium.org//12207081

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18311 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-11 16:42:27 +00:00
johnniwinther@google.com 6e8302f735 Make dummy_compiler_test and recursive_import_test work.
Review URL: https://codereview.chromium.org//12041043

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17450 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-23 12:45:17 +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
ngeoffray@google.com 7db6e9d3e0 Re-apply "Clean up the patch file for the isolate library by introducing a new buitlin library: isolate_helper.dart". This time load eagerly isolate_helper so that the native handler can see it.
Review URL: https://codereview.chromium.org//11640021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16500 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-26 17:15:02 +00:00
johnniwinther@google.com 07e6f0d876 Handle (missing) trailing slash in dartdoc
Review URL: https://codereview.chromium.org//11369092

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14561 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-06 11:54:40 +00:00
karlklose@google.com 323d8f6a9c Support class and typedef literals as expressions.
For a class C, the expression 'C' returns the canonicalized instance of Type for this class. If C has type variables, they are instantiated with 'dynamic'.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14515 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-05 09:29:51 +00:00
dgrove@google.com 41722ed557 Address two tests that were missed when tree was restructured.
Review URL: https://codereview.chromium.org//11361065

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14476 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-02 15:27:55 +00:00
dgrove@google.com 7897a78551 Changes outside pkg/ and lib/ for directory refactoring
Review URL: https://codereview.chromium.org//11358024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14475 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-02 15:18:11 +00:00
gram@google.com 981c4b11df Restructure pkg/unittest and pkg/webdriver to follow the pub conventions.
This means all imports of unittest in our test code had to change to include 'lib' in the path.
While doing that change I changed the library/imports to the new syntax in the affected files.
Review URL: https://codereview.chromium.org//11301046

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14443 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-01 23:09:47 +00:00
lrn@google.com a8720a6d9c Change signature of noSuchMethod to take an InvocationMirror.
Requires VM and dart2js/dart2dart changes to work.

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

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14324 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-31 10:32:54 +00:00
lrn@google.com 895d155ab1 Revert "Change signature of noSuchMethod to take an InvocationMirror."
TBR=ager@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14260 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-30 10:47:42 +00:00
lrn@google.com 4a24ddc1d4 Change signature of noSuchMethod to take an InvocationMirror.
Requires VM and dart2js/dart2dart changes to work.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14254 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-30 10:04:12 +00:00
lrn@google.com 778b0dc5e5 Revert "Change signature of noSuchMethod to take an InvocationMirror."
TBR=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14199 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-29 14:07:10 +00:00
lrn@google.com 0bcd2f4f7b Change signature of noSuchMethod to take an InvocationMirror.
Requires VM and dart2js/dart2dart changes to work.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14198 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-29 13:34:58 +00:00
polux@google.com be7d9025b5 Fix utils/recursive_import_test.
Review URL: https://codereview.chromium.org//11195040

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13775 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-18 11:40:13 +00:00
ahe@google.com 8214500336 Implement part-of directive.
Review URL: https://codereview.chromium.org//11092003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13398 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-09 07:49:48 +00:00