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

Issue 2034473002: Delay 'supertype' for ClassElementImpl and EnumElementImpl. (Closed)

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

Description

Delay 'supertype' for ClassElementImpl and EnumElementImpl. This requires "unbanning" AnalysisContext.typeProvider access during analysis to make 'supertype' lazy. We can make it lazy for summaries by using ResynthesizerContext, but for non-summary case there is no other way. R=brianwilkerson@google.com, paulberry@google.com BUG= Committed: https://github.com/dart-lang/sdk/commit/18d296261a155d9dc70b963e5bf9558f173d7d6b

Patch Set 1 #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+24 lines, -31 lines) Patch
M pkg/analyzer/lib/src/context/context.dart View 1 chunk +0 lines, -4 lines 3 comments Download
M pkg/analyzer/lib/src/dart/element/element.dart View 3 chunks +24 lines, -1 line 0 comments Download
M pkg/analyzer/lib/src/generated/resolver.dart View 1 chunk +0 lines, -1 line 0 comments Download
M pkg/analyzer/lib/src/generated/testing/element_factory.dart View 1 chunk +0 lines, -1 line 0 comments Download
M pkg/analyzer/lib/src/summary/resynthesize.dart View 5 chunks +0 lines, -24 lines 0 comments Download

Messages

Total messages: 6 (1 generated)
scheglov
4 years, 6 months ago (2016-06-01 22:05:29 UTC) #1
Brian Wilkerson
Other than the one question, lgtm. https://codereview.chromium.org/2034473002/diff/1/pkg/analyzer/lib/src/context/context.dart File pkg/analyzer/lib/src/context/context.dart (left): https://codereview.chromium.org/2034473002/diff/1/pkg/analyzer/lib/src/context/context.dart#oldcode471 pkg/analyzer/lib/src/context/context.dart:471: assert(!driver.isTaskRunning); Instead of ...
4 years, 6 months ago (2016-06-01 22:23:29 UTC) #2
Paul Berry
lgtm https://codereview.chromium.org/2034473002/diff/1/pkg/analyzer/lib/src/context/context.dart File pkg/analyzer/lib/src/context/context.dart (left): https://codereview.chromium.org/2034473002/diff/1/pkg/analyzer/lib/src/context/context.dart#oldcode471 pkg/analyzer/lib/src/context/context.dart:471: assert(!driver.isTaskRunning); On 2016/06/01 22:23:28, Brian Wilkerson wrote: > ...
4 years, 6 months ago (2016-06-01 22:25:55 UTC) #3
scheglov
Committed patchset #1 (id:1) manually as 18d296261a155d9dc70b963e5bf9558f173d7d6b (presubmit successful).
4 years, 6 months ago (2016-06-02 00:20:13 UTC) #5
scheglov
4 years, 6 months ago (2016-06-02 00:20:40 UTC) #6
Message was sent while issue was closed.
https://codereview.chromium.org/2034473002/diff/1/pkg/analyzer/lib/src/contex...
File pkg/analyzer/lib/src/context/context.dart (left):

https://codereview.chromium.org/2034473002/diff/1/pkg/analyzer/lib/src/contex...
pkg/analyzer/lib/src/context/context.dart:471: assert(!driver.isTaskRunning);
On 2016/06/01 22:23:28, Brian Wilkerson wrote:
> Instead of removing this completely, would it work to move it after the null
> check on line 472, and then ensure that any tasks that might be asking for the
> supertype require the type provider?

That's a great idea.
Thank you!
Done.

Powered by Google App Engine
This is Rietveld 408576698