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

Issue 40863002: Handle metadata with type literals or qualified identifiers. (Closed)

Created:
7 years, 1 month ago by rmacnak
Modified:
7 years, 1 month ago
Reviewers:
gbracha, hausner
CC:
reviews_dartlang.org, vm-dev_dartlang.org, kasperl
Visibility:
Public.

Description

Handle metadata with qualified identifiers. BUG=http://dartbug.com/11857 BUG=http://dartbug.com/14652 R=gbracha@google.com, hausner@google.com Committed: https://code.google.com/p/dart/source/detail?r=29720

Patch Set 1 #

Total comments: 2

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Total comments: 5

Patch Set 5 : simplify #

Total comments: 3

Patch Set 6 : forbid tearoffs #

Patch Set 7 : impl #

Total comments: 5

Patch Set 8 : refactor, better errors #

Patch Set 9 : #

Patch Set 10 : #

Patch Set 11 : rebase #

Patch Set 12 : rebase #

Patch Set 13 : remove bad test #

Patch Set 14 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+236 lines, -52 lines) Patch
M runtime/vm/parser.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +38 lines, -1 line 0 comments Download
M tests/language/language.status View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -4 lines 0 comments Download
M tests/language/language_analyzer2.status View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -2 lines 0 comments Download
D tests/language/metadata_syntax_test.dart View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -42 lines 0 comments Download
M tests/lib/lib.status View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +7 lines, -0 lines 0 comments Download
A + tests/lib/mirrors/metadata_allowed_values_import.dart View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -3 lines 0 comments Download
A tests/lib/mirrors/metadata_allowed_values_test.dart View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +187 lines, -0 lines 0 comments Download

Messages

Total messages: 25 (0 generated)
rmacnak
This crashes when encountering bad metadata; it should produce a compile-time error. Strangely, it tries ...
7 years, 1 month ago (2013-10-24 18:45:02 UTC) #1
hausner
See comment below. https://codereview.chromium.org/40863002/diff/1/runtime/vm/parser.cc File runtime/vm/parser.cc (right): https://codereview.chromium.org/40863002/diff/1/runtime/vm/parser.cc#newcode904 runtime/vm/parser.cc:904: expr = ParseSelectors(expr, false); You can't ...
7 years, 1 month ago (2013-10-24 18:54:05 UTC) #2
rmacnak
Working but duplicates ~100 lines of parser code. +Gilad re test https://codereview.chromium.org/40863002/diff/130001/runtime/vm/parser.cc File runtime/vm/parser.cc (right): ...
7 years, 1 month ago (2013-10-24 21:33:56 UTC) #3
gbracha
test lgtm
7 years, 1 month ago (2013-10-24 22:28:34 UTC) #4
hausner
I think this can be simplified a lot. https://codereview.chromium.org/40863002/diff/130001/runtime/vm/parser.cc File runtime/vm/parser.cc (right): https://codereview.chromium.org/40863002/diff/130001/runtime/vm/parser.cc#newcode8433 runtime/vm/parser.cc:8433: AstNode* ...
7 years, 1 month ago (2013-10-24 23:19:47 UTC) #5
rmacnak
Added test cases rejecting type parameters. Renamed function to ParseMemberSelection. Removed case handling member invocation. ...
7 years, 1 month ago (2013-10-25 18:29:10 UTC) #6
hausner
As discussed in person, I think the only cases that are valid are: C L.C ...
7 years, 1 month ago (2013-10-25 20:24:25 UTC) #7
rmacnak
https://codereview.chromium.org/40863002/diff/220001/tests/lib/mirrors/metadata_allowed_values_test.dart File tests/lib/mirrors/metadata_allowed_values_test.dart (right): https://codereview.chromium.org/40863002/diff/220001/tests/lib/mirrors/metadata_allowed_values_test.dart#newcode103 tests/lib/mirrors/metadata_allowed_values_test.dart:103: @topLevelTearOff Gilad, is this permitted? The spec does allow ...
7 years, 1 month ago (2013-10-25 20:37:55 UTC) #8
gbracha
On 2013/10/25 20:37:55, Ryan Macnak wrote: > https://codereview.chromium.org/40863002/diff/220001/tests/lib/mirrors/metadata_allowed_values_test.dart > File tests/lib/mirrors/metadata_allowed_values_test.dart (right): > > https://codereview.chromium.org/40863002/diff/220001/tests/lib/mirrors/metadata_allowed_values_test.dart#newcode103 ...
7 years, 1 month ago (2013-10-26 18:05:59 UTC) #9
gbracha
Test changes lgtm.
7 years, 1 month ago (2013-10-26 18:07:42 UTC) #10
hausner
Gilad, why is referencing a top-level function permitted? The spec contains this sentence in the ...
7 years, 1 month ago (2013-10-28 15:37:02 UTC) #11
rmacnak
On 2013/10/28 15:37:02, hausner wrote: > Gilad, why is referencing a top-level function permitted? The ...
7 years, 1 month ago (2013-10-28 20:52:53 UTC) #12
rmacnak
Updated implementation. https://codereview.chromium.org/40863002/diff/390001/runtime/vm/parser.cc File runtime/vm/parser.cc (right): https://codereview.chromium.org/40863002/diff/390001/runtime/vm/parser.cc#newcode899 runtime/vm/parser.cc:899: ErrorMsg(expr_pos, "class expected"); Is this the appropriate ...
7 years, 1 month ago (2013-10-28 22:06:34 UTC) #13
hausner
One more iteration and I think we'll be good. See comments below. https://codereview.chromium.org/40863002/diff/390001/runtime/vm/parser.cc File runtime/vm/parser.cc ...
7 years, 1 month ago (2013-10-28 23:06:01 UTC) #14
rmacnak
Refactored so we only check for primary + class once. Better error messages.
7 years, 1 month ago (2013-10-28 23:55:07 UTC) #15
gbracha
tests lgtm
7 years, 1 month ago (2013-10-29 02:29:04 UTC) #16
rmacnak
Updated per latest changes that forbid type literals.
7 years, 1 month ago (2013-10-31 19:54:10 UTC) #17
gbracha
tests lgtm
7 years, 1 month ago (2013-10-31 19:58:09 UTC) #18
rmacnak
On 2013/10/31 19:58:09, gbracha wrote: > tests lgtm Also remove tests/language/metadata_syntax_test.dart, which did not force ...
7 years, 1 month ago (2013-10-31 20:12:59 UTC) #19
gbracha
On 2013/10/31 20:12:59, Ryan Macnak wrote: > On 2013/10/31 19:58:09, gbracha wrote: > > tests ...
7 years, 1 month ago (2013-10-31 20:15:25 UTC) #20
hausner
Parser not updated yet?
7 years, 1 month ago (2013-10-31 22:38:41 UTC) #21
rmacnak
It is. (But I notice the error message still suggests type literals are supported.)
7 years, 1 month ago (2013-10-31 22:40:38 UTC) #22
rmacnak
Fixed error message
7 years, 1 month ago (2013-10-31 22:45:15 UTC) #23
hausner
Parser change LGTM.
7 years, 1 month ago (2013-10-31 23:18:16 UTC) #24
rmacnak
7 years, 1 month ago (2013-11-01 01:19:42 UTC) #25
Message was sent while issue was closed.
Committed patchset #14 manually as r29720 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698