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

Issue 1543313002: Delay TypeProvider.objectType access until after dart:core resynthesizing. (Closed)

Created:
4 years, 12 months ago by scheglov
Modified:
4 years, 11 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 TypeProvider.objectType access until after dart:core resynthesizing. This way we solve a chicken-and-egg problem with TypeProvider. Fix for referencing elements from non-first part. Fix for TODO to update implicit fields for a getter/setter pair. The type List has it, so I have to fix it to use for SDK summaries. Add SummaryTypeProvider to use with SDK summaries. It is initialized in two steps: first dart:core, then dart:async libraries. resynthesizer = new SummaryResynthesizer(context, typeProvider, _getPrelinkedSummary, _getUnlinkedSummary, context.sourceFactory); _buildCoreLibrary(); _buildAsyncLibrary(); void _buildCoreLibrary() { LibraryElement library = resynthesizer.getLibraryElement('dart:core'); typeProvider.initializeCore(library); } void _buildAsyncLibrary() { LibraryElement library = resynthesizer.getLibraryElement('dart:async'); typeProvider.initializeAsync(library); } R=paulberry@google.com, brianwilkerson@google.com BUG= Committed: https://github.com/dart-lang/sdk/commit/4b1048f80b04a0101f34ffbe8a311723fcf47d66

Patch Set 1 #

Total comments: 4

Patch Set 2 : Tweaks for review comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+302 lines, -16 lines) Patch
M pkg/analyzer/lib/src/summary/resynthesize.dart View 1 10 chunks +39 lines, -16 lines 0 comments Download
A pkg/analyzer/lib/src/summary/summary_sdk.dart View 1 1 chunk +247 lines, -0 lines 0 comments Download
M pkg/analyzer/test/src/summary/resynthesize_test.dart View 3 chunks +16 lines, -0 lines 0 comments Download

Messages

Total messages: 6 (1 generated)
scheglov
4 years, 12 months ago (2015-12-24 03:06:16 UTC) #1
Paul Berry
lgtm https://codereview.chromium.org/1543313002/diff/1/pkg/analyzer/lib/src/summary/resynthesize.dart File pkg/analyzer/lib/src/summary/resynthesize.dart (right): https://codereview.chromium.org/1543313002/diff/1/pkg/analyzer/lib/src/summary/resynthesize.dart#newcode231 pkg/analyzer/lib/src/summary/resynthesize.dart:231: List<ClassElementImpl> delayedObjectSubclasses = <ClassElementImpl>[]; Please add a doc ...
4 years, 12 months ago (2015-12-24 03:31:09 UTC) #2
scheglov
https://codereview.chromium.org/1543313002/diff/1/pkg/analyzer/lib/src/summary/resynthesize.dart File pkg/analyzer/lib/src/summary/resynthesize.dart (right): https://codereview.chromium.org/1543313002/diff/1/pkg/analyzer/lib/src/summary/resynthesize.dart#newcode231 pkg/analyzer/lib/src/summary/resynthesize.dart:231: List<ClassElementImpl> delayedObjectSubclasses = <ClassElementImpl>[]; On 2015/12/24 03:31:09, Paul Berry ...
4 years, 12 months ago (2015-12-24 03:36:06 UTC) #3
scheglov
Committed patchset #2 (id:20001) manually as 4b1048f80b04a0101f34ffbe8a311723fcf47d66 (presubmit successful).
4 years, 12 months ago (2015-12-24 22:48:09 UTC) #5
Brian Wilkerson
4 years, 11 months ago (2015-12-27 16:42:44 UTC) #6
Message was sent while issue was closed.
LGTM

Powered by Google App Engine
This is Rietveld 408576698