Commit Graph

106 Commits

Author SHA1 Message Date
johnniwinther@google.com ef93dd9da1 Added support for exports and re-exports.
BUG=5429
TESTS=language/export_test, language/export_cyclic_test

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13478 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-10 15:08:18 +00:00
jwren@google.com 0a6a39048c Fix to dartbug.com/5170, explictly static library variables now get an appropriate error message.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13460 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-10 09:22:17 +00:00
lrn@google.com 174f264557 First stab at parsing redirecting constructors.
Review URL: https://codereview.chromium.org//10957060

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13410 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-09 12:18:52 +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
ahe@google.com 29749a1350 Fix warnings in dart2js.
Review URL: https://codereview.chromium.org//11088003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13353 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-08 13:38:10 +00:00
johnniwinther@google.com 7e831ffacc Minor fixes in dart2js.
Review URL: https://codereview.chromium.org//11030048

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13283 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-05 11:16:13 +00:00
ahe@google.com 39ebf56002 Parse/unparse library combinators.
Review URL: https://codereview.chromium.org//11027023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13238 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-04 16:01:41 +00:00
antonm@google.com b46868e5e7 Support new import syntax.
It doesn't migrate all the tests to new syntax though.

R=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13162 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-03 08:48:31 +00:00
antonm@google.com 2126e179b4 Fit into 80 limit.
TBR=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13122 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-02 15:27:48 +00:00
antonm@google.com fc4b422db6 Do not put renaming logic into Unparser.
Move it into EmitterUnparser instead to separate both clearly.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13121 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-02 15:25:59 +00:00
antonm@google.com 710b6f20b4 Properly unparse sequences like x + +1 and x - -1.
R=smok@google.com
BUG=5600

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13119 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-02 14:57:28 +00:00
karlklose@google.com 1f6c58ce6c Added TODO.
Review URL: https://codereview.chromium.org//11033016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13117 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-02 14:48:50 +00:00
ahe@google.com d93dbfae18 Unparse new library syntax.
Review URL: https://codereview.chromium.org//11033003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13103 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-02 08:24:12 +00:00
ahe@google.com b707078a99 Remove AbstractVisitor.
Review URL: https://codereview.chromium.org//10982089

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13052 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-01 08:57:48 +00:00
johnniwinther@google.com 88fe3fe3c5 Use static final empty Modifier instead of null.
Review URL: https://codereview.chromium.org//10996062

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13050 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-01 07:01:07 +00:00
lrn@google.com 37197c2553 Stop using the Hashable interface.
All objects have a hashCode method, so there is no need for a Hashable
interface.
The interface itself is retained for at least two weeks, to give time for
code to remove uses of it.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12955 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 13:07:54 +00:00
johnniwinther@google.com 608c199175 Stub implementation of patch invariants for the patch refactoring.
This is the first part of the patch refactoring which implements
a stub version of the invariants needed for the new patch implementation.

See the library comment in lib/compiler/patch_parser.dart for a detailed
description of the new patch system, the terminology and the invariants.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12687 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-21 09:31:08 +00:00
ahe@google.com fcc9f5f0ff Parse new library syntax.
Committed: https://code.google.com/p/dart/source/detail?r=12386
But reverted in: https://code.google.com/p/dart/source/detail?r=12387

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12686 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-21 09:08:12 +00:00
antonm@google.com 079b52d5d2 Force a space after empty list literal.
We can be more clever about it later like verifying next token.  And there is
a chance that will be correct Dart too.

R=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12636 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-20 13:39:02 +00:00
ahe@google.com 8b7b049559 Revert "Parse new library syntax."
This reverts r12386.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12387 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-14 14:35:47 +00:00
ahe@google.com 4f66bc9539 Parse new library syntax.
Review URL: https://chromiumcodereview.appspot.com//10911298

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12386 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-14 14:13:10 +00:00
lrn@google.com 47a6ab63b1 Change interfaces to abstract classes in dart2js compiler.
There are still a few interfaces left. They use the 'default implementation'
feature that can't be replaced until we implement const constructor forwarding.

Also removed mockimpl.dart. We don't pretend to support ReceiverPortFactory
(whatever it is) if it is not in the core library.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12252 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-12 10:18:07 +00:00
aprelev@gmail.com 6f95045bda Allow catch part to be optional as in try {} on T [catch (x[,y])] {}
BUG=5016
TEST=co19/Language/03_Overview/03_Overview_A01_t02

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12232 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-12 01:23:58 +00:00
ahe@google.com 50286e535e Improve handling of built-in identifiers.
Review URL: https://chromiumcodereview.appspot.com//10917170

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12132 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-10 17:08:19 +00:00
antonm@google.com 2e4154f7b6 Simplify Unparser.unparseClassWithBody.
R=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11831 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-04 18:01:10 +00:00
antonm@google.com e96e744959 Introduce a helper to emit import script tags.
R=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11825 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-04 15:19:42 +00:00
ngeoffray@google.com 63a2bfbe48 Codegen support for the argument definition test.
Review URL: https://chromiumcodereview.appspot.com//10911062

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11814 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-04 13:22:09 +00:00
karlklose@google.com 5e3a529590 Mark the local for this as used if a constructor call needs type variables.
R=floitsch@google.com
BUG=http://code.google.com/p/dart/issues/detail?id=4829

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11787 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-04 07:41:24 +00:00
antonm@google.com e7f4292fe4 Get rid of duplication of class node unparsing.
R=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11752 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-03 09:53:15 +00:00
antonm@google.com ebd3d550a0 Rework Unparser/unparse StringBuffer management.
R=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11750 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-03 09:28:24 +00:00
smok@google.com 7ed2182d08 Do not emit some unnecessary whitespaces in unparser.
This reduces the size of dart2js minified bundle by 12K (417 -> 405), 3%

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11611 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-30 12:31:08 +00:00
antonm@google.com 58db4ae2f4 Produce better XML, one which cannot be analysed with tools like BaseX.
R=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11604 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-30 11:33:53 +00:00
kasperl@google.com a3c813ae2d Update corelib/ and lib/ to use the new try-catch syntax.
R=ngeoffray@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11504 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-29 09:58:07 +00:00
ahe@google.com 25139ee7e5 Support unary - operator.
Committed: https://code.google.com/p/dart/source/detail?r=11444 (first attempt failed)

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11496 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-29 08:39:02 +00:00
kasperl@google.com 3886bb7ee4 Remove more warnings.
R=ahe@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11489 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-29 05:54:40 +00:00
iposva@google.com 43c364c8e5 - Change "static final" to "static const" in the lib/ directory.
Review URL: https://chromiumcodereview.appspot.com//10880068

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11401 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-27 18:28:29 +00:00
ahe@google.com a22ed2cf6b Support abstract getters without parameters.
Review URL: https://chromiumcodereview.appspot.com//10880040

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11293 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-24 08:26:17 +00:00
ahe@google.com 52d2cb4431 Record literal list type arguments and report errors when there are too many.
Review URL: https://chromiumcodereview.appspot.com//10880026

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11286 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-24 05:09:43 +00:00
johnniwinther@google.com 7c61b110d8 Const variables handled as final
Review URL: https://chromiumcodereview.appspot.com//10879003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11170 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 16:15:15 +00:00
ager@google.com 722c1a3ce6 Deprecate Math object in corelib in favor of dart:math library.
Review URL: https://chromiumcodereview.appspot.com//10829459

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11155 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 14:33:01 +00:00
ahe@google.com 1ada772cc1 Remove most superfluous getter arguments from dart2js.
Review URL: https://chromiumcodereview.appspot.com//10876008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11123 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 06:33:24 +00:00
messick@google.com a46d823c7a Add a field to ClassNode that holds a NodeList of its members.
Modify Unparser to print the class body.
Add (simple) tests to verify the body is being recorded.
Review URL: https://chromiumcodereview.appspot.com//10834374

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11122 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 03:11:41 +00:00
smok@google.com d182624b92 Make ClassNode visit type parameters in visitChildren
Review URL: https://chromiumcodereview.appspot.com//10831406

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11057 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 15:18:28 +00:00
antonm@google.com 593c74ee2a Fix a warning.
TBR=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10852 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-16 18:25:54 +00:00
antonm@google.com e8ec16c681 Support new try/catch syntax.
R=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10721 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-15 12:58:57 +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
smok@google.com 56aeac8cf2 Fix unparse of sendset and add Unparser constructor TODO
Review URL: https://chromiumcodereview.appspot.com//10824280

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10591 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 17:53:45 +00:00
antonm@google.com 894911a4b0 Refactor send and sendset unparsing.
R=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10559 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 10:15:50 +00:00
antonm@google.com bf6a549072 Fix some operator madness (see incr_op_test for more details.)
I am planning to refactor SendSet unparse to reduce code duplication.

R=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10553 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 07:49:25 +00:00
antonm@google.com db0b3f41d4 Remove unused method.
TBR=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10509 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-10 14:53:44 +00:00