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

Issue 1828543009: First steps toward generating fully linked summaries from ASTs. (Closed)

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

Description

First steps toward generating fully linked summaries from ASTs. This CL adds a summary "linker", which wil be capable of taking the output of the prelinker and adding the information that potentially requires traversing transitive dependencies (propagated and inferred types, and constant constructor cycles). When this is finished we should be able to generate summaries straight from ASTs without building a full element model in the interim. The basic technique is to build a miniature element model, on demand, which is discarded when linking is finished. Since the miniature element model is only for a single purpose, it can be much more compact than the full element model. Since it is thrown away after linking, it can avoid the expensive dependency tracking that would be necessary in order to keep the data structure up to date when there are code changes. So far I've built the basic infrastructure and started implementing constant constructor cycle detection. Areas that still need to be filled out are indicated by TODO comments. Since the linker only has access to the UnlinkedUnit objects (not the ASTs), it will be necessary to add a small amount of information to to the UnlinkedUnits to record the information needed by type inference. I'm hoping that it will be possible to adapt the existing UnlinkedConst data structure for this purpose. R=scheglov@google.com Committed: https://github.com/dart-lang/sdk/commit/6455b3e5911c7c5b13afe1585a4055948e6bca2d

Patch Set 1 #

Total comments: 8
Unified diffs Side-by-side diffs Delta from patch set Stats (+1522 lines, -65 lines) Patch
A pkg/analyzer/lib/src/summary/link.dart View 1 chunk +1330 lines, -0 lines 8 comments Download
M pkg/analyzer/lib/src/summary/prelink.dart View 1 chunk +0 lines, -3 lines 0 comments Download
M pkg/analyzer/test/src/summary/prelinker_test.dart View 1 chunk +2 lines, -1 line 0 comments Download
M pkg/analyzer/test/src/summary/summarize_ast_test.dart View 6 chunks +145 lines, -27 lines 0 comments Download
M pkg/analyzer/test/src/summary/summary_common.dart View 2 chunks +45 lines, -34 lines 0 comments Download

Messages

Total messages: 6 (2 generated)
Paul Berry
4 years, 9 months ago (2016-03-25 17:50:34 UTC) #2
scheglov
LGTM https://codereview.chromium.org/1828543009/diff/1/pkg/analyzer/lib/src/summary/link.dart File pkg/analyzer/lib/src/summary/link.dart (right): https://codereview.chromium.org/1828543009/diff/1/pkg/analyzer/lib/src/summary/link.dart#newcode115 pkg/analyzer/lib/src/summary/link.dart:115: * Type of the callback used by [link[ ...
4 years, 9 months ago (2016-03-25 18:30:27 UTC) #3
Paul Berry
https://codereview.chromium.org/1828543009/diff/1/pkg/analyzer/lib/src/summary/link.dart File pkg/analyzer/lib/src/summary/link.dart (right): https://codereview.chromium.org/1828543009/diff/1/pkg/analyzer/lib/src/summary/link.dart#newcode115 pkg/analyzer/lib/src/summary/link.dart:115: * Type of the callback used by [link[ and ...
4 years, 8 months ago (2016-03-28 16:02:10 UTC) #4
Paul Berry
4 years, 8 months ago (2016-03-28 16:02:26 UTC) #6
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
6455b3e5911c7c5b13afe1585a4055948e6bca2d (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698