Commit Graph

36 Commits

Author SHA1 Message Date
smok@google.com 3fa18d1a27 Fix unparsing of variable definitions.
Example affecting method with method args:
foo(f(arg)){}

would unparse to:
foo(var f(arg)){}

Also correctly unparse variable definition modifiers.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9550 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-11 14:00:34 +00:00
lrn@google.com 9010ea745c Add "external" prefix to methods and constructors.
This is expected to be added to the language specification, for allowing the specification of methods with externally bound implementations.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9456 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-09 06:37:51 +00:00
smok@google.com 7b3401dd48 Fix const unparse. Example:
foo([var a = const[]]) {}
used to unparse to:
foo([var a = []]) {}

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9439 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-06 12:57:27 +00:00
smok@google.com 4c9d8416cf Some enhancements of PrettyPrinter for NodeList, LiteralList.
Review URL: https://chromiumcodereview.appspot.com//10701090

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9437 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-06 11:51:44 +00:00
smok@google.com 90424cecb1 Fix unparsing of prefix increments.
http://code.google.com/p/dart/issues/detail?id=3909

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9393 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-04 10:31:33 +00:00
johnniwinther@google.com 3fd74bb898 Various token issues fixed in the compiler
Review URL: https://chromiumcodereview.appspot.com//10697003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9199 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-28 13:33:26 +00:00
johnniwinther@google.com 37a58c918e Token.slowCharLength used in SourceSpan.
Assertion changed to handle empty tokens.
getBeginToken() bugs fixed.
getLibraryOrScriptName() added to LibraryElement.
Optional uri argument added to spanFromNode.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9166 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-27 13:54:39 +00:00
johnniwinther@google.com d23b5d707d Token.slowCharLength used in SourceSpan.
Assertion changed to handle empty tokens.
getBeginToken() bugs fixed.
getLibraryOrScriptName() added to LibraryElement.
Optional uri argument added to spanFromNode.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9160 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-27 12:39:41 +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
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
antonm@google.com c5da3327ca Add null check.
R=ahe@google.com,smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8936 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 19:33:03 +00:00
antonm@google.com b2c9f8e853 Add a test for operator[] unparse.
Review URL: https://chromiumcodereview.appspot.com//10583016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8860 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-19 18:09:51 +00:00
antonm@google.com 8dfcfaa11d Better PrettyPrinter output for Return nodes, display tokens and expression.
Review URL: https://chromiumcodereview.appspot.com//10546174

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8774 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 10:13:16 +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
smok@google.com a426ea512c PrettyPrinter: add an ability to prefix node fields, so instead of:
<NodeList>
we will see:
<statements:NodeList>

(of course if that NodeList is statements for some function expression for example).

nextPrefix

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8690 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-14 21:17:25 +00:00
antonm@google.com 280d4b2f8b Fix unparse for empty initializer or conditionStatement.
R=ahe@google.com,smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8665 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-14 15:37:55 +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
smok@google.com 9d38888d91 Remove printDebugInfo from Unparser
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8478 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-09 10:54:41 +00:00
smok@google.com 4e9e66ed71 New Prettyprinter class that converts Node-tree to string.
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8436 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 12:17:21 +00:00
ngeoffray@google.com 5e9caaa372 Only generate assert in checked mode.
Review URL: https://chromiumcodereview.appspot.com//10540052

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8430 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-08 10:21:22 +00:00
smok@google.com f1b603d68f Fix unparsing "for in" constructs.
Source:
main() {
for (var a in b) {
}
}

Bad unparse result:
main(){for (var ainb) {}}

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8399 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-07 15:18:16 +00:00
smok@google.com 06160454bc Fix unparsing else/elseif constructs.
Source:
main() {
  if (false) {
  } else a=5;
}

Bad unparse result (note "elseif"):
main(){if(false){}elsea=5;}

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8398 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-07 15:11:41 +00:00
antonm@google.com 85002174e2 Support proper unparse of is and is!.
R=ahe@google.com,smok@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8193 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-01 13:48:54 +00:00
smok@google.com 1d281052f8 fix for:
1) "list[0] = 1" unparses to "list[] = 0 1";
2) "a = list[0]" unparses to "a = list[][0]";

BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8142 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 07:23:21 +00:00
lrn@google.com 7cdd8a8c82 Make a single labeled statement hold all its labels.
Previously a single labeled statement only held one label, and nested labeled
statements was used for multiple labels.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7602 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-14 11:02:56 +00:00
lrn@google.com 4fab863b7c Accept more labels per switch case.
This matches the new, disambiguated switch syntax.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7601 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-14 10:36:43 +00:00
lrn@google.com 8a73514c3d Add a "Label" Node around an Identifier that is being used as a label.
This is in preparation for rewriting switch to match the "new" switch grammar.
I need to make a block information structure for switch statements, and I don't
want to do that on an obsolete structure.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7485 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-10 12:23:45 +00:00
kasperl@google.com 192bc8795e Minor fixes to remove some warnings.
R=ngeoffray@google.com
BUG=
TEST=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6624 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-17 11:26:25 +00:00
lrn@google.com 8531ffaa1e Fix type warnings and a few other warnings, and probably even an error.
Mostly warnings introduced by cascade implementation.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6621 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-17 09:33:16 +00:00
floitsch@google.com 07024492b5 Many type fixes.
Review URL: https://chromiumcodereview.appspot.com//10001008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6576 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-16 13:58:20 +00:00
lrn@google.com 5b430d34c5 Implement cascaded calls.
Review URL: https://chromiumcodereview.appspot.com//9958009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6570 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-16 12:42:25 +00:00
floitsch@google.com f6a66f3878 Allow all different string-literals in map literals.
Before spec. v0.8 only const strings were allowed.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6521 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-13 13:39:43 +00:00
lrn@google.com 5163f80703 Generate prettier loops.
Add structure information to HLoopInformation, and use it to generate prettier
loops when the condition can be generated as an expression.
If it can't, it still falls back to the while(true){if(!cond) break;} pattern.
Only handle for/while/for-in, not do-while yet.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6023 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-30 08:59:40 +00:00
floitsch@google.com 918a9681dd Correctly handle constness for list and map literals inside bodies.
Also parse const keyword for maps.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5944 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-28 18:16:39 +00:00
ahe@google.com dc099c4a00 Move frog/leg to lib/compiler/implementation.
Review URL: https://chromiumcodereview.appspot.com//9873021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5926 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-28 08:54:01 +00:00