Commit Graph

90 Commits

Author SHA1 Message Date
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
smok@google.com 7807c22f01 Fix dart2js tests, unparser initializer with closure.
TBR=antonm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10434 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-09 08:27:08 +00:00
smok@google.com e636d1cafd A visitor that builds a map from node to "Usage".
A renamer just renames "usages" according to its type.
This allows us to split various send-guessing logic and renaming.
No scopes yet.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10433 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-09 07:49:11 +00:00
antonm@google.com d084d02749 First take on support of library private names.
R=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10367 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-08 08:05:45 +00:00
rnystrom@google.com 0bc9b19740 Rename BadNumberFormatException -> FormatException.
Review URL: https://chromiumcodereview.appspot.com//10850034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10354 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-07 20:56:59 +00:00
antonm@google.com d26512406d Properly parse operator declarations without return type.
Formerly, 'operator' token was parsed as a return type, fix it.
Emit a space if operator name is 'negative' as otherwise it's
unparsed as 'operatornegative'.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10283 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-06 11:36:11 +00:00
antonm@google.com 833a6c0cd3 Improve renaming of constructors and factories.
Unfortunately, this implementation is not bug free, see comments
for detailed discussion.

R=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10232 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-03 13:56:30 +00:00
smok@google.com e842adc7ae Get back recording 'implements' and 'extends' keyword on NodeList
as suggested by Peter in https://chromiumcodereview.appspot.com/10786028/

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10214 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-03 08:03:16 +00:00
antonm@google.com d39132ea71 Fix interpolation unparse.
Formerly, string interpolation parts were put into a node list with null
delimiter, which was converted to single space string.  That lead to extra
space when unparsing interpolation: '$a $b' -> '$a  $b'.

Make empty string delimiter explicit and do not augument it with an additional
space.

R=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10073 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-31 17:43:50 +00:00
antonm@google.com 6065dd688b Properly unparse as operator.
It requires spaces like 'is' does.

R=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10055 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-31 12:46:56 +00:00
antonm@google.com 37254909d3 Better cascade support.
R=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10053 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-31 12:15:11 +00:00
smok@google.com ec4e5592a6 Refactor prettyprinter, keep track of currently opened nodes,
output begin and end token for all nodes.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10049 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-31 10:09:07 +00:00
antonm@google.com 50ef55d111 Support cascade receivers.
R=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10048 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-31 09:39:26 +00:00
antonm@google.com beb0a3c380 Support signed constants.
R=smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10039 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-31 08:01:18 +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
smok@google.com 99a7fc3910 Enhance ClassNode prettyprint
TBR=antonm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9702 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-17 13:47:42 +00:00
smok@google.com 93fc339aa3 Enhance prettyprint for TypeAnnotation
Review URL: https://chromiumcodereview.appspot.com//10792013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9659 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-16 10:36:24 +00:00