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

Issue 2018523002: Use correct type on evaluated literal symbols. (Closed)

Created:
4 years, 7 months ago by Johnni Winther
Modified:
4 years, 6 months ago
CC:
reviews_dartlang.org
Base URL:
https://github.com/dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Patch Set 1 #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+15 lines, -3 lines) Patch
M pkg/compiler/lib/src/js_backend/constant_system_javascript.dart View 1 chunk +4 lines, -3 lines 4 comments Download
M tests/compiler/dart2js/serialization/test_data.dart View 1 chunk +11 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (2 generated)
Johnni Winther
4 years, 7 months ago (2016-05-26 14:21:55 UTC) #2
Siggi Cherem (dart-lang)
lgtm, with questions... https://codereview.chromium.org/2018523002/diff/1/pkg/compiler/lib/src/js_backend/constant_system_javascript.dart File pkg/compiler/lib/src/js_backend/constant_system_javascript.dart (right): https://codereview.chromium.org/2018523002/diff/1/pkg/compiler/lib/src/js_backend/constant_system_javascript.dart#newcode354 pkg/compiler/lib/src/js_backend/constant_system_javascript.dart:354: InterfaceType type = symbolClass.rawType; shouldn't symbolClass.rawType ...
4 years, 7 months ago (2016-05-26 19:52:15 UTC) #3
Johnni Winther
https://codereview.chromium.org/2018523002/diff/1/pkg/compiler/lib/src/js_backend/constant_system_javascript.dart File pkg/compiler/lib/src/js_backend/constant_system_javascript.dart (right): https://codereview.chromium.org/2018523002/diff/1/pkg/compiler/lib/src/js_backend/constant_system_javascript.dart#newcode354 pkg/compiler/lib/src/js_backend/constant_system_javascript.dart:354: InterfaceType type = symbolClass.rawType; On 2016/05/26 19:52:15, Siggi Cherem ...
4 years, 6 months ago (2016-05-27 08:51:24 UTC) #4
Johnni Winther
Committed patchset #1 (id:1) manually as 91616103aa6149255aa78af0b28d22c381803c1e (presubmit successful).
4 years, 6 months ago (2016-05-27 09:05:09 UTC) #6
Siggi Cherem (dart-lang)
https://codereview.chromium.org/2018523002/diff/1/pkg/compiler/lib/src/js_backend/constant_system_javascript.dart File pkg/compiler/lib/src/js_backend/constant_system_javascript.dart (right): https://codereview.chromium.org/2018523002/diff/1/pkg/compiler/lib/src/js_backend/constant_system_javascript.dart#newcode354 pkg/compiler/lib/src/js_backend/constant_system_javascript.dart:354: InterfaceType type = symbolClass.rawType; On 2016/05/27 08:51:24, Johnni Winther ...
4 years, 6 months ago (2016-05-27 17:27:09 UTC) #7
Johnni Winther
4 years, 6 months ago (2016-05-30 07:58:24 UTC) #8
Message was sent while issue was closed.
https://codereview.chromium.org/2018523002/diff/1/pkg/compiler/lib/src/js_bac...
File pkg/compiler/lib/src/js_backend/constant_system_javascript.dart (right):

https://codereview.chromium.org/2018523002/diff/1/pkg/compiler/lib/src/js_bac...
pkg/compiler/lib/src/js_backend/constant_system_javascript.dart:354:
InterfaceType type = symbolClass.rawType;
On 2016/05/27 17:27:08, Siggi Cherem (dart-lang) wrote:
> On 2016/05/27 08:51:24, Johnni Winther wrote:
> > On 2016/05/26 19:52:15, Siggi Cherem (dart-lang) wrote:
> > > shouldn't symbolClass.rawType and coreTypes.symbolType be the same?
> > > 
> > > I guess symbolType comes from the unpatched Symbol, and symbolClass would
be
> > > Symbol.implementation? Should we anyways have an invariant in our system
> that
> > > the type returned by a class element and it's implementation is the same
> > > (cls.rawType == cls.implementation.rawType)?
> > 
> > It's worse. `coreTypes.symbolType` is the one defined in dart:core. The
> > `backend.helpers.symbolImplementationClass` is defined in dart:_internal. We
> > have
> > 
> > In dart:core :
> > 
> > class Symbol {
> >   external const factory Symbol(String name);
> > }
> > 
> > in core_patch.dart :
> > 
> > import 'dart:_internal' as internal;
> > 
> > @patch
> > class Symbol {
> >   @patch
> >   const factory Symbol(String name) = internal.Symbol;
> > }
> > 
> > and in dart:_internal :
> > 
> > import 'dart:core' as core;
> > 
> > class Symbol implements core.Symbol {
> >   final String name;
> > 
> >   const Symbol(String name);
> > }
> 
> yikes - should we change the patch file to directly contain the implementation
> instead?

I think we want to share the implementation between dart2js and VM (and
Dartino?). Don't know why; I guess Peter knows.

Powered by Google App Engine
This is Rietveld 408576698