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

Issue 1293953006: Refactor qualified send sets. (Closed)

Created:
5 years, 4 months ago by Johnni Winther
Modified:
5 years, 3 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: 7
Unified diffs Side-by-side diffs Delta from patch set Stats (+229 lines, -410 lines) Patch
M pkg/compiler/lib/src/elements/elements.dart View 2 chunks +1 line, -7 lines 4 comments Download
M pkg/compiler/lib/src/resolution/members.dart View 11 chunks +172 lines, -319 lines 3 comments Download
M pkg/compiler/lib/src/ssa/builder.dart View 1 chunk +3 lines, -1 line 0 comments Download
M pkg/compiler/lib/src/typechecker.dart View 1 chunk +4 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/universe/universe.dart View 1 chunk +0 lines, -5 lines 0 comments Download
M tests/compiler/dart2js/semantic_visitor_test_send_data.dart View 20 chunks +49 lines, -38 lines 0 comments Download
M tests/language/language_dart2js.status View 1 chunk +0 lines, -40 lines 0 comments Download

Messages

Total messages: 12 (2 generated)
Johnni Winther
Main changes in members.dart; the rest are mainly side effects.
5 years, 4 months ago (2015-08-20 13:44:28 UTC) #2
floitsch
LGTM. https://codereview.chromium.org/1293953006/diff/1/pkg/compiler/lib/src/resolution/members.dart File pkg/compiler/lib/src/resolution/members.dart (right): https://codereview.chromium.org/1293953006/diff/1/pkg/compiler/lib/src/resolution/members.dart#newcode2440 pkg/compiler/lib/src/resolution/members.dart:2440: if (text == 'this') { That feels like ...
5 years, 4 months ago (2015-08-20 16:28:35 UTC) #3
Johnni Winther
https://codereview.chromium.org/1293953006/diff/1/pkg/compiler/lib/src/resolution/members.dart File pkg/compiler/lib/src/resolution/members.dart (right): https://codereview.chromium.org/1293953006/diff/1/pkg/compiler/lib/src/resolution/members.dart#newcode2440 pkg/compiler/lib/src/resolution/members.dart:2440: if (text == 'this') { On 2015/08/20 16:28:34, floitsch ...
5 years, 4 months ago (2015-08-21 07:17:36 UTC) #4
Johnni Winther
Committed patchset #1 (id:1) manually as 9ce4da5e1a3f9d06f617d40a1d642c0397f2ec11 (presubmit successful).
5 years, 4 months ago (2015-08-21 07:34:55 UTC) #5
floitsch
https://codereview.chromium.org/1293953006/diff/1/pkg/compiler/lib/src/resolution/members.dart File pkg/compiler/lib/src/resolution/members.dart (right): https://codereview.chromium.org/1293953006/diff/1/pkg/compiler/lib/src/resolution/members.dart#newcode2440 pkg/compiler/lib/src/resolution/members.dart:2440: if (text == 'this') { On 2015/08/21 07:17:36, Johnni ...
5 years, 4 months ago (2015-08-21 09:27:50 UTC) #6
Siggi Cherem (dart-lang)
lgtm Thanks Johnni! Just to confirm, I saw that you were about to delete computeSendStructure ...
5 years, 4 months ago (2015-08-24 21:25:17 UTC) #8
Johnni Winther
On 2015/08/24 21:25:17, Siggi Cherem (dart-lang) wrote: > lgtm Thanks Johnni! > > > Just ...
5 years, 4 months ago (2015-08-25 07:25:52 UTC) #9
Johnni Winther
https://codereview.chromium.org/1293953006/diff/1/pkg/compiler/lib/src/elements/elements.dart File pkg/compiler/lib/src/elements/elements.dart (right): https://codereview.chromium.org/1293953006/diff/1/pkg/compiler/lib/src/elements/elements.dart#newcode524 pkg/compiler/lib/src/elements/elements.dart:524: (send.isConditional && !element.isStatic); On 2015/08/24 21:25:17, Siggi Cherem (dart-lang) ...
5 years, 4 months ago (2015-08-25 07:25:58 UTC) #10
Siggi Cherem (dart-lang)
https://codereview.chromium.org/1293953006/diff/1/pkg/compiler/lib/src/elements/elements.dart File pkg/compiler/lib/src/elements/elements.dart (right): https://codereview.chromium.org/1293953006/diff/1/pkg/compiler/lib/src/elements/elements.dart#newcode524 pkg/compiler/lib/src/elements/elements.dart:524: (send.isConditional && !element.isStatic); On 2015/08/25 07:25:58, Johnni Winther wrote: ...
5 years, 4 months ago (2015-08-25 15:48:07 UTC) #11
Johnni Winther
5 years, 3 months ago (2015-08-26 07:18:36 UTC) #12
Message was sent while issue was closed.
https://codereview.chromium.org/1293953006/diff/1/pkg/compiler/lib/src/elemen...
File pkg/compiler/lib/src/elements/elements.dart (right):

https://codereview.chromium.org/1293953006/diff/1/pkg/compiler/lib/src/elemen...
pkg/compiler/lib/src/elements/elements.dart:524: (send.isConditional &&
!element.isStatic);
On 2015/08/25 15:48:06, Siggi Cherem (dart-lang) wrote:
> On 2015/08/25 07:25:58, Johnni Winther wrote:
> > On 2015/08/24 21:25:17, Siggi Cherem (dart-lang) wrote:
> > > I think it should be fine to delete this whole line, if !element.isStatic,
> one
> > > of the other two conditions will be true already.
> > 
> > This makes C?.foo _not_ an instance-send.
> 
> I'm probably missing something - isInstanceMethod and isInstanceField are
always
> false when element.isStatic. So it seems to me that this condition is
equivalent
> to:
> 
>   return isInstanceMethod(element) || isInstnaceField(element);
> 
> (when I added `send.isConditional` it only added it because C?.foo used to be
an
> instance-send, now that this is no longer true, I thought we wouldn't need the
> special case for send.isConditional altogether)

Ahh. I didn't go into the cases of isInstanceMethod and isInstanceField. In any
case, methods like this should be removed and replaced by predicates on elements
if necessary. Not only is the reasoning often unclear, the implementation is
also based on a closed world of elements.

Powered by Google App Engine
This is Rietveld 408576698