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

Issue 236313012: Don't hide interceptors in mirrors. (Closed)

Created:
6 years, 8 months ago by floitsch
Modified:
6 years, 7 months ago
Reviewers:
karlklose
CC:
reviews_dartlang.org, ahe
Visibility:
Public.

Description

Don't hide interceptors in mirrors. The special code for mirrors was brittle and was the reason for several bugs. BUG= http://dartbug.com/18076 BUG= http://dartbug.com/15405 BUG= http://dartbug.com/14025 BUG= http://dartbug.com/13842 BUG= http://dartbug.com/16804 BUG= http://dartbug.com/15555 R=karlklose@google.com Committed: https://code.google.com/p/dart/source/detail?r=35586

Patch Set 1 #

Patch Set 2 : Expose interceptors. #

Patch Set 3 : Rebase. Make tests work... #

Patch Set 4 : Minor cleanups. #

Total comments: 8

Patch Set 5 : Address comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+232 lines, -227 lines) Patch
M pkg/pkg.status View 1 2 3 4 2 chunks +0 lines, -2 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/js_backend/backend.dart View 1 2 3 4 4 chunks +5 lines, -11 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/js_backend/namer.dart View 1 2 3 4 1 chunk +1 line, -32 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/js_backend/native_emitter.dart View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M sdk/lib/_internal/compiler/implementation/js_backend/runtime_types.dart View 1 2 3 4 4 chunks +3 lines, -14 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/js_emitter/class_builder.dart View 2 chunks +0 lines, -4 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/js_emitter/class_emitter.dart View 1 2 3 4 6 chunks +4 lines, -14 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart View 1 2 3 4 4 chunks +46 lines, -14 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/js_emitter/type_test_emitter.dart View 1 2 3 4 5 chunks +6 lines, -12 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/ssa/builder.dart View 1 2 1 chunk +1 line, -2 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/ssa/codegen.dart View 1 2 3 4 1 chunk +1 line, -2 lines 0 comments Download
M sdk/lib/_internal/compiler/implementation/ssa/ssa_tracer.dart View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M sdk/lib/_internal/lib/interceptors.dart View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
M sdk/lib/_internal/lib/js_helper.dart View 1 2 3 4 4 chunks +11 lines, -40 lines 0 comments Download
M sdk/lib/_internal/lib/js_mirrors.dart View 1 2 15 chunks +30 lines, -39 lines 0 comments Download
M sdk/lib/_internal/lib/js_names.dart View 1 1 chunk +7 lines, -0 lines 0 comments Download
M sdk/lib/_internal/lib/js_number.dart View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M sdk/lib/_internal/lib/js_rti.dart View 1 3 chunks +8 lines, -4 lines 0 comments Download
M tests/compiler/dart2js/mirrors_used_test.dart View 1 2 1 chunk +12 lines, -0 lines 0 comments Download
M tests/compiler/dart2js/mock_compiler.dart View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M tests/compiler/dart2js/value_range_test.dart View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
M tests/compiler/dart2js_extra/reflect_native_types_test.dart View 1 1 chunk +3 lines, -4 lines 0 comments Download
M tests/lib/lib.status View 1 2 3 4 4 chunks +0 lines, -7 lines 0 comments Download
M tests/lib/mirrors/intercepted_class_test.dart View 1 2 chunks +6 lines, -2 lines 0 comments Download
M tests/lib/mirrors/intercepted_object_test.dart View 1 1 chunk +23 lines, -9 lines 0 comments Download
M tests/lib/mirrors/mirrors_test.dart View 1 1 chunk +7 lines, -1 line 0 comments Download
M tests/lib/mirrors/null_test.dart View 1 chunk +2 lines, -2 lines 0 comments Download
M tests/lib/mirrors/parameter_test.dart View 2 chunks +2 lines, -2 lines 0 comments Download
A + tests/lib/mirrors/runtime_type_test.dart View 1 2 1 chunk +5 lines, -7 lines 0 comments Download
A tests/lib/mirrors/superclass2_test.dart View 1 1 chunk +28 lines, -0 lines 0 comments Download
M tests/utils/dummy_compiler_test.dart View 1 2 2 chunks +5 lines, -1 line 0 comments Download

Messages

Total messages: 4 (0 generated)
floitsch
6 years, 8 months ago (2014-04-25 18:58:59 UTC) #1
karlklose
LGTM. https://codereview.chromium.org/236313012/diff/60001/sdk/lib/_internal/compiler/implementation/js_backend/runtime_types.dart File sdk/lib/_internal/compiler/implementation/js_backend/runtime_types.dart (right): https://codereview.chromium.org/236313012/diff/60001/sdk/lib/_internal/compiler/implementation/js_backend/runtime_types.dart#newcode816 sdk/lib/_internal/compiler/implementation/js_backend/runtime_types.dart:816: if (inFunctionType) classes.add(type.element); Please use a block. https://codereview.chromium.org/236313012/diff/60001/sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart ...
6 years, 7 months ago (2014-04-28 14:04:25 UTC) #2
floitsch
Committed patchset #5 manually as r35586 (presubmit successful).
6 years, 7 months ago (2014-04-30 18:21:39 UTC) #3
floitsch
6 years, 7 months ago (2014-04-30 19:04:38 UTC) #4
Message was sent while issue was closed.
https://codereview.chromium.org/236313012/diff/60001/sdk/lib/_internal/compil...
File sdk/lib/_internal/compiler/implementation/js_backend/runtime_types.dart
(right):

https://codereview.chromium.org/236313012/diff/60001/sdk/lib/_internal/compil...
sdk/lib/_internal/compiler/implementation/js_backend/runtime_types.dart:816: if
(inFunctionType) classes.add(type.element);
On 2014/04/28 14:04:25, karlklose wrote:
> Please use a block.

Done.

https://codereview.chromium.org/236313012/diff/60001/sdk/lib/_internal/compil...
File sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart
(right):

https://codereview.chromium.org/236313012/diff/60001/sdk/lib/_internal/compil...
sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart:425:

On 2014/04/28 14:04:25, karlklose wrote:
> Delete line?

Done.

https://codereview.chromium.org/236313012/diff/60001/sdk/lib/_internal/compil...
File sdk/lib/_internal/compiler/implementation/js_emitter/type_test_emitter.dart
(right):

https://codereview.chromium.org/236313012/diff/60001/sdk/lib/_internal/compil...
sdk/lib/_internal/compiler/implementation/js_emitter/type_test_emitter.dart:346:
// not need a class definition as we use the interceptor classes instead.
On 2014/04/28 14:04:25, karlklose wrote:
> Update or remove comment.
> 
> If you remove it, rewrite as
> 
>   rti.getRequiredArgumentClasses(backend)
>      .forEach(addClassWithSuperclasses)

Done.

https://codereview.chromium.org/236313012/diff/60001/sdk/lib/_internal/lib/js...
File sdk/lib/_internal/lib/js_helper.dart (right):

https://codereview.chromium.org/236313012/diff/60001/sdk/lib/_internal/lib/js...
sdk/lib/_internal/lib/js_helper.dart:1082: return JS('bool', '#== #',
mangledName, type._typeName);
On 2014/04/28 14:04:25, karlklose wrote:
> Missing space before ==.

Done.

Powered by Google App Engine
This is Rietveld 408576698