Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Issue 11878043: Start adding support for mixin application syntax. We now parse the typedef variant of mixin applic… (Closed)

Created:
7 years, 11 months ago by kasperl
Modified:
7 years, 11 months ago
Reviewers:
ahe
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Start adding support for mixin application syntax. We now parse the typedef variant of mixin applications like: typedef C = S with M; but the construct is still unhandled. R=ahe@google.com BUG= Committed: https://code.google.com/p/dart/source/detail?r=17129

Patch Set 1 #

Total comments: 9

Patch Set 2 : Fix token positions. #

Total comments: 1

Patch Set 3 : Add tests and fix broken parsing. #

Total comments: 3

Patch Set 4 : Simplify parser again. #

Patch Set 5 : Fix broken language test. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+212 lines, -82 lines) Patch
M sdk/lib/_internal/compiler/implementation/dart_backend/utils.dart View 1 2 1 chunk +10 lines, -0 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/scanner/keyword.dart View 1 chunk +1 line, -0 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/scanner/listener.dart View 1 2 5 chunks +48 lines, -0 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/scanner/parser.dart View 1 2 3 3 chunks +40 lines, -8 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/tree/nodes.dart View 1 2 5 chunks +56 lines, -5 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/tree/prettyprint.dart View 1 2 2 chunks +8 lines, -0 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/tree/unparser.dart View 1 2 1 chunk +21 lines, -0 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/typechecker.dart View 1 2 1 chunk +8 lines, -0 lines 0 comments Download
M tests/compiler/dart2js/unparser_test.dart View 1 2 2 chunks +18 lines, -0 lines 0 comments Download
M tests/language/language.status View 1 2 3 4 1 chunk +0 lines, -3 lines 0 comments Download
M tests/language/naming_test.dart View 1 2 3 4 5 chunks +2 lines, -66 lines 0 comments Download

Messages

Total messages: 14 (0 generated)
kasperl
7 years, 11 months ago (2013-01-15 13:50:10 UTC) #1
ahe
I think you need to add a test case. Otherwise, I really like this change. ...
7 years, 11 months ago (2013-01-15 15:35:04 UTC) #2
kasperl
Thanks for the review, Peter! I'll add an unparser test tomorrow morning and let you ...
7 years, 11 months ago (2013-01-15 15:58:18 UTC) #3
ahe
https://codereview.chromium.org/11878043/diff/1/sdk/lib/_internal/compiler/implementation/tree/nodes.dart File sdk/lib/_internal/compiler/implementation/tree/nodes.dart (right): https://codereview.chromium.org/11878043/diff/1/sdk/lib/_internal/compiler/implementation/tree/nodes.dart#newcode262 sdk/lib/_internal/compiler/implementation/tree/nodes.dart:262: Token getEndToken() => endToken; On 2013/01/15 15:58:18, kasperl wrote: ...
7 years, 11 months ago (2013-01-15 16:03:39 UTC) #4
kasperl
https://codereview.chromium.org/11878043/diff/1/sdk/lib/_internal/compiler/implementation/tree/nodes.dart File sdk/lib/_internal/compiler/implementation/tree/nodes.dart (right): https://codereview.chromium.org/11878043/diff/1/sdk/lib/_internal/compiler/implementation/tree/nodes.dart#newcode262 sdk/lib/_internal/compiler/implementation/tree/nodes.dart:262: Token getEndToken() => endToken; On 2013/01/15 16:03:40, ahe wrote: ...
7 years, 11 months ago (2013-01-16 07:00:03 UTC) #5
kasperl
On 2013/01/15 15:35:04, ahe wrote: > I think you need to add a test case. ...
7 years, 11 months ago (2013-01-16 07:14:43 UTC) #6
ahe
On 2013/01/16 07:14:43, kasperl wrote: > In it's current state, this is hard to test ...
7 years, 11 months ago (2013-01-16 07:42:20 UTC) #7
kasperl
On 2013/01/16 07:42:20, ahe wrote: > On 2013/01/16 07:14:43, kasperl wrote: > > In it's ...
7 years, 11 months ago (2013-01-16 08:14:19 UTC) #8
ahe
https://codereview.chromium.org/11878043/diff/9001/sdk/lib/_internal/compiler/implementation/scanner/listener.dart File sdk/lib/_internal/compiler/implementation/scanner/listener.dart (right): https://codereview.chromium.org/11878043/diff/9001/sdk/lib/_internal/compiler/implementation/scanner/listener.dart#newcode836 sdk/lib/_internal/compiler/implementation/scanner/listener.dart:836: recoverableError('unsupported mixin application in typedef', You can (and should) ...
7 years, 11 months ago (2013-01-16 08:18:03 UTC) #9
kasperl
Thanks for the hint about node listener. I've added a few tests and fixed a ...
7 years, 11 months ago (2013-01-16 09:27:06 UTC) #10
kasperl
PTAL.
7 years, 11 months ago (2013-01-16 09:29:24 UTC) #11
ahe
LGTM! https://codereview.chromium.org/11878043/diff/15001/sdk/lib/_internal/compiler/implementation/scanner/parser.dart File sdk/lib/_internal/compiler/implementation/scanner/parser.dart (right): https://codereview.chromium.org/11878043/diff/15001/sdk/lib/_internal/compiler/implementation/scanner/parser.dart#newcode268 sdk/lib/_internal/compiler/implementation/scanner/parser.dart:268: bool isFunctionTypeAlias = true; Try using peekAfterType. https://codereview.chromium.org/11878043/diff/15001/sdk/lib/_internal/compiler/implementation/scanner/parser.dart#newcode269 ...
7 years, 11 months ago (2013-01-16 09:37:57 UTC) #12
kasperl
On 2013/01/16 09:37:57, ahe wrote: > LGTM! > > https://codereview.chromium.org/11878043/diff/15001/sdk/lib/_internal/compiler/implementation/scanner/parser.dart > File sdk/lib/_internal/compiler/implementation/scanner/parser.dart (right): > ...
7 years, 11 months ago (2013-01-16 09:44:31 UTC) #13
ahe
7 years, 11 months ago (2013-01-16 09:57:10 UTC) #14
LGTM!

Powered by Google App Engine
This is Rietveld 408576698