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

Issue 23190003: ClassMirror.mixin (Closed)

Created:
7 years, 4 months ago by rmacnak
Modified:
7 years, 3 months ago
Reviewers:
regis, ahe, siva
CC:
reviews_dartlang.org, Michael Lippautz (Google)
Visibility:
Public.

Description

More reflection of mixin applications in the VM. *Provide ClassMirror.mixin *Hide extra class on the inheritance chain introduced in mixin typedefs *Give mixin applications a simpleName that matches the source language syntax *Update mixin_test to distinguish between members and constructors *Update mixin_test for the mixin application naming scheme BUG=http://dartbug.com/12464 R=ahe@google.com, asiva@google.com Committed: https://code.google.com/p/dart/source/detail?r=26824

Patch Set 1 : #

Total comments: 17

Patch Set 2 : rebase #

Total comments: 2

Patch Set 3 : #

Patch Set 4 : backout of fixing the real hierarchy, have the mirrors lie instead #

Patch Set 5 : split test to maintain coverage #

Total comments: 1

Patch Set 6 : rebase #

Total comments: 10

Patch Set 7 : address comments #

Patch Set 8 : rebase and tweak comment #

Patch Set 9 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+154 lines, -66 lines) Patch
M runtime/lib/mirrors.cc View 1 2 3 4 5 6 7 3 chunks +17 lines, -3 lines 0 comments Download
M runtime/lib/mirrors_impl.dart View 1 2 3 4 5 6 7 8 chunks +73 lines, -15 lines 0 comments Download
M runtime/vm/bootstrap_natives.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/object.h View 1 2 3 4 5 6 7 8 3 chunks +7 lines, -0 lines 0 comments Download
M runtime/vm/object.cc View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download
M runtime/vm/parser.cc View 1 2 3 4 5 6 7 8 3 chunks +7 lines, -2 lines 0 comments Download
M sdk/lib/mirrors/mirrors.dart View 1 2 3 4 5 6 7 1 chunk +5 lines, -1 line 0 comments Download
M tests/lib/lib.status View 1 2 3 4 5 6 7 2 chunks +2 lines, -1 line 0 comments Download
A + tests/lib/mirrors/mixin_dart2js_test.dart View 1 2 3 4 0 chunks +-1 lines, --1 lines 0 comments Download
M tests/lib/mirrors/mixin_test.dart View 17 chunks +38 lines, -45 lines 0 comments Download

Messages

Total messages: 14 (0 generated)
rmacnak
Regis, Currently, a typedef mixin application introduces an extra class in the inheritance chain. For ...
7 years, 4 months ago (2013-08-15 22:29:06 UTC) #1
regis
Just preliminary comments. I need to think about this. You are changing quite a few ...
7 years, 4 months ago (2013-08-15 22:51:48 UTC) #2
ahe
Everything outside runtime LGTM, as long as you remember to keep dart2js covered. https://codereview.chromium.org/23190003/diff/15001/tests/language/mixin_type_parameters_errors_test.dart File ...
7 years, 4 months ago (2013-08-15 22:56:58 UTC) #3
rmacnak
On 2013/08/15 22:51:48, regis wrote: > Just preliminary comments. > I need to think about ...
7 years, 4 months ago (2013-08-16 01:29:29 UTC) #4
regis
On 2013/08/16 01:29:29, Ryan Macnak wrote: > On 2013/08/15 22:51:48, regis wrote: > > Just ...
7 years, 4 months ago (2013-08-16 01:37:33 UTC) #5
regis
Ryan, Here are a few more comments. Astonishingly, returning immediately from ClassFinalizer::CloneTypeParameters in case the ...
7 years, 4 months ago (2013-08-20 18:56:37 UTC) #6
rmacnak
Updated per comments. I think something more needs to be done for mixin application typedefs, ...
7 years, 4 months ago (2013-08-21 01:51:00 UTC) #7
regis
On 2013/08/21 01:51:00, Ryan Macnak wrote: > Updated per comments. > > I think something ...
7 years, 4 months ago (2013-08-21 16:46:43 UTC) #8
regis
On 2013/08/21 16:46:43, regis wrote: > On 2013/08/21 01:51:00, Ryan Macnak wrote: > > Updated ...
7 years, 4 months ago (2013-08-21 20:25:29 UTC) #9
rmacnak
Backed-out of removing the extra class introduced on mixin typedefs; having the mirrors lie instead. ...
7 years, 4 months ago (2013-08-21 23:24:16 UTC) #10
siva
https://codereview.chromium.org/23190003/diff/56001/runtime/lib/mirrors.cc File runtime/lib/mirrors.cc (right): https://codereview.chromium.org/23190003/diff/56001/runtime/lib/mirrors.cc#newcode213 runtime/lib/mirrors.cc:213: if (Type::Handle(cls.mixin()).IsNull() || cls.is_mixin_typedef()) { if ((cls.mixin() == Type::null()) ...
7 years, 3 months ago (2013-08-26 04:30:26 UTC) #11
rmacnak
https://codereview.chromium.org/23190003/diff/56001/runtime/lib/mirrors.cc File runtime/lib/mirrors.cc (right): https://codereview.chromium.org/23190003/diff/56001/runtime/lib/mirrors.cc#newcode213 runtime/lib/mirrors.cc:213: if (Type::Handle(cls.mixin()).IsNull() || cls.is_mixin_typedef()) { On 2013/08/26 04:30:27, siva ...
7 years, 3 months ago (2013-08-26 18:24:37 UTC) #12
siva
lgtm
7 years, 3 months ago (2013-08-27 00:23:13 UTC) #13
rmacnak
7 years, 3 months ago (2013-08-28 22:56:00 UTC) #14
Message was sent while issue was closed.
Committed patchset #9 manually as r26824 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698