Commit Graph

80 Commits

Author SHA1 Message Date
karlklose@google.com 5ac1789d6c Fix dart2dart and dart2js build.
TBR=antonm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11051 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 14:36:38 +00:00
karlklose@google.com aeafe0fdda Add erroneous elements for function types and use them to allow unresolvable constructors to be handled in the backend.
This is the first step towards runtime error handling of unresolvable constructors, library prefixes and constructor names in new-expressions.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11042 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 13:40:07 +00:00
kasperl@google.com 34ec097692 Get rid of the name in HInvokeDynamic (just use the selector instead).
This fixes issue 2620.

R=ngeoffray@google.com,karlklose@google.com
BUG=http://dartbug.com/2620

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11030 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 10:56:02 +00:00
karlklose@google.com 16a2cbd760 Fix some type warnings.
Review URL: https://chromiumcodereview.appspot.com//10824350

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11028 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 10:38:00 +00:00
ahe@google.com 19851497ff Support new getter syntax.
Review URL: https://chromiumcodereview.appspot.com//10831332

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10956 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-20 13:26:38 +00:00
ahe@google.com bda1a6981d Produce error when duplicate field initializers are found
Committing on behalf of Alexander Aprelev <aprelev@gmail.com>.

BUG=http://dartbug.com/1035

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10947 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-20 12:40:03 +00:00
kasperl@google.com 65a3704df5 Fix issue 4562 by giving a proper error message rather than crashing.
R=karlklose@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10883 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-17 11:32:22 +00:00
johnniwinther@google.com ac5a4808d8 Skeleton typedef type implementation
Review URL: https://chromiumcodereview.appspot.com//10832136

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10880 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-17 11:15:44 +00:00
karlklose@google.com 9c75cd73a3 Remove cached constructor elements from the resolver. They are already stored in the resolution world.
Review URL: https://chromiumcodereview.appspot.com//10834358

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10871 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-17 08:12:29 +00:00
regis@google.com d9b0276a4c Require two type arguments for map literals (issue 4522).
Spec has been changed back.
VM temporarily accepts a single type argument and emits a warning.
Update tests, dart2js source, dartdoc, etc...
Disable failing co19 tests (issue 175 filed).
Review URL: https://chromiumcodereview.appspot.com//10854191

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10861 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-16 20:44:32 +00:00
kasperl@google.com 80152788e8 Make sure to register +/- when we're using ++/--.
R=antonm@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10812 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-16 13:19:08 +00:00
kasperl@google.com 3b87631a1c Make selector registration in the resolver and code generator more explicit.
Get rid of registerFieldClosureInvocations() in the enqueuer by explicit
registering the closure call selectors when we may be calling a getter in
the resolver and the code generator.

R=floitsch@google.com,ahe@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10805 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-16 11:52:44 +00:00
ahe@google.com d47c99d041 Support for new catch syntax in dart2js
Committing on behalft of: Alexander Aprelev <aprelev@gmail.com>

BUG=3758

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10704 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-15 09:51:18 +00:00
kasperl@google.com e8268dd78a Add name and library to selectors.
This is the first step towards improving the Selector as an
abstraction used by the resolver, builder, and enqueur. The
intent is to have the resolver construct selectors that can
be used for method lookup, tree shaking, and for simplifying
the logic we use to build the correct SSA instructions for
sends (some of which are quite complex).

Next step is to get rid of more of the adhoc selector building
that's done outside of the resolver and clean up how we resolve
sends. After that, I'll start removing the need for passing
around both a name and a selector in a lot of places.

R=ahe@google.com,sgjesse@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10637 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-14 12:21:51 +00:00
antonm@google.com 4886a84240 Support resolution of indexed operators.
Review URL: https://chromiumcodereview.appspot.com//10823293

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10634 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-14 11:41:08 +00:00
ajohnsen@google.com 404f888f83 Refactor Library/CompilationUnit and how we define local Scope.
This also collapses members and constructors of a class into the same
map.

BUG=

Original URL: https://chromiumcodereview.appspot.com//10832203

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10632 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-14 11:35:17 +00:00
ahe@google.com dbfb312dea Abort earlier on compilation errors
Review URL: https://chromiumcodereview.appspot.com//10823290

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10595 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 18:27:06 +00:00
antonm@google.com 5e1f40fd45 Register toString dynamic invocation in the presence of string interpolation.
This reapplies lgtmed commit.

TBR=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10594 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 18:21:03 +00:00
ahe@google.com 26f63f029a Ensure supertypes are loaded safely.
Review URL: https://chromiumcodereview.appspot.com//10855125

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10586 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 16:42:41 +00:00
antonm@google.com 24203b09a2 Revert "Register toString dynamic invocation in the presence of string interpolation."
This reverts commit e3bc84ade08c6c9acedfd1ad7e1f159832e0b4a1.

R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10585 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 16:36:16 +00:00
antonm@google.com 16f61cb2fe Register toString dynamic invocation in the presence of string interpolation.
Review URL: https://chromiumcodereview.appspot.com//10824276

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10584 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 16:09:35 +00:00
lrn@google.com d134e7d052 Allow patch files to add declarations to the patched library.
Review URL: https://chromiumcodereview.appspot.com//10831262

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10562 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 11:58:48 +00:00
ajohnsen@google.com dd8585d5a2 Revert "Refactor Library/CompilationUnit and how we define local Scope."
This reverts commit 05718e680ca45ac26fcc0d0256fc98419fac1b2e.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10550 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 06:45:24 +00:00
ajohnsen@google.com ccc0ce3101 Refactor Library/CompilationUnit and how we define local Scope.
This also collapses members and constructors of a class into the same
map.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10549 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 06:22:24 +00:00
floitsch@google.com 63bce914b7 Implement call operator.
Committed: https://code.google.com/p/dart/source/detail?r=10495

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10507 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-10 14:19:31 +00:00
floitsch@google.com dafca6eb63 Revert "Implement call operator."
This reverts commit 10495.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10498 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-10 12:37:47 +00:00
floitsch@google.com 0feeece251 Implement call operator.
Review URL: https://chromiumcodereview.appspot.com//10834270

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10495 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-10 12:20:30 +00:00
lrn@google.com 97b4df393f Reduce usage of .enclosingElement to get enclosing class.
Currently code assumes that a member's immediate enclosingElement is
its class element.
If we introduce compilation unit override elements into the enclosing
chain, this will no longer be true.
This CL changes the places that assumes this to use isMember() or
getEnclosingClass(). The assumption is still in place in isMember(),
which will need to be modified when things change.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10438 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-09 12:47:42 +00:00
johnniwinther@google.com 3ce4405ced Revert "Skeleton typedef type implementation"
This reverts revision 10234.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10235 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-03 16:06:19 +00:00
johnniwinther@google.com 21855b3b1a Skeleton typedef type implementation
Review URL: https://chromiumcodereview.appspot.com//10832136

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10234 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-03 15:48:49 +00:00
johnniwinther@google.com c30a4331b8 Move TypeDefinitionVisitor.
Review URL: https://chromiumcodereview.appspot.com//10832131

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10228 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-03 12:43:21 +00:00
johnniwinther@google.com 832a3f46a3 Unify ClassElement and TypedefElement.
Review URL: https://chromiumcodereview.appspot.com//10825177

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10221 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-03 11:10:38 +00:00
johnniwinther@google.com 0cf46c3db1 Refactor scope handling.
Review URL: https://chromiumcodereview.appspot.com//10837095

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10220 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-03 11:08:40 +00:00
smok@google.com 9b291e784c Revert resolving of function return type from
https://chromiumcodereview.appspot.com/10795064/

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10213 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-03 07:56:29 +00:00
smok@google.com 51e85cf70d Revert resolver from https://chromiumcodereview.appspot.com/10824062
and update tests.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10209 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-03 07:02:31 +00:00
smok@google.com ac8d991870 dart2dart
Several fixes for more robust renaming of type annotations and Send-s:
Correct renaming of class interfaces with type arguments, renaming
of global functions, constructor and named constructor calls, static
field accesses.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10003 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-30 05:27:58 +00:00
smok@google.com 9f7a2372ef dart2dart: Introduce Renamer that is used by renaming unparser
to rename identifiers before printing them out. The renamer
renames top-level elements to avoid conflicts.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9847 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-24 12:23:25 +00:00
johnniwinther@google.com 1dda757cf0 Parameters with function types supported + Added features in mirrors implementation
VariableListElement.computeType now handles function types.
Default value and function typed parameters supported in the mirror system.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9756 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-19 13:17:10 +00:00
lrn@google.com 2d58755073 Revert "Allow patch files to add top-level declarations to the patched library."
This reverts r9629.

TBR: floitsch

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9630 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-13 13:59:54 +00:00
lrn@google.com 7621533549 Allow patch files to add top-level declarations to the patched library.
The patch library is loaded normally, and then non-patch methods and classes
are cloned and added to the patched library. To support methods from other
compilation units, all elements now has a scriptOverride field that lets
them report a different script than the one of their enclosing element.
(For top-level elements that's already possible, as that's what #source does,
but for fields inside a class, we can't easily wrap a compilation unit element
around them.)

TBR: floitsch
(to get in before vacation, with reversion rights).

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9629 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-13 13:46:21 +00:00
johnniwinther@google.com fdbabb995e Dartdoc and Apidoc updated to use dart2js through the mirror system.
BUG=3414

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9584 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-12 08:52:19 +00:00
ahe@google.com 7b31e54ab7 Implement override checks.
First attempt committed as: https://code.google.com/p/dart/source/detail?r=9108

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9151 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-27 09:07:36 +00:00
antonm@google.com 38bf8c295b Revert "Implement override checks."
TBR=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9112 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-26 14:36:00 +00:00
lrn@google.com cadba87302 Implement 'as' operator.
This is a quick implementation with room for improvement.
It might work.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9109 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-26 14:23:50 +00:00
ahe@google.com 7f2041bf11 Implement override checks.
Review URL: https://chromiumcodereview.appspot.com//10575033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9108 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-26 12:51:55 +00:00
floitsch@google.com b5acd09f81 Fix most warnings and other minor cleanups.
Review URL: https://chromiumcodereview.appspot.com//10557003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8719 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-15 13:26:35 +00:00
ahe@google.com 84fb6cd409 Remove string constants from Types class.
Review URL: https://chromiumcodereview.appspot.com//10533126

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8660 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-14 14:28:18 +00:00
ahe@google.com f768722f65 Address review comments from https://chromiumcodereview.appspot.com/10542073/
Review URL: https://chromiumcodereview.appspot.com//10537129

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8656 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-14 13:24:07 +00:00
ahe@google.com c85bf3030a Disable assertion that no longer holds.
Review URL: https://chromiumcodereview.appspot.com//10539107

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8545 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 12:47:22 +00:00
ahe@google.com 91e2b7794c Resolution based tree-shaking.
Review URL: https://chromiumcodereview.appspot.com//10542073

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8543 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-12 12:35:34 +00:00