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

Issue 2447903002: Extract _ReferencedUris information from UnlinkedUnit. (Closed)

Created:
4 years, 1 month ago by scheglov
Modified:
4 years, 1 month ago
CC:
reviews_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Extract _ReferencedUris information from UnlinkedUnit. I considered removing it altogether, but reading unlinked bundles costs something. So, we might consider caching this graph information. OTOH, I agree that we might want to delay adding caching until we solve the extra invalidation problem in _verifyUnlinkedSignatureOfChangedFiles. TBR R=brianwilkerson@google.com, paulberry@google.com BUG= Committed: https://github.com/dart-lang/sdk/commit/581e6bc6e1395c0c7d0b630a243db7e224d78d99

Patch Set 1 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+33 lines, -84 lines) Patch
M pkg/analyzer/lib/src/dart/analysis/driver.dart View 5 chunks +33 lines, -84 lines 2 comments Download

Messages

Total messages: 7 (1 generated)
scheglov
4 years, 1 month ago (2016-10-24 21:05:34 UTC) #1
scheglov
Committed patchset #1 (id:1) manually as 581e6bc6e1395c0c7d0b630a243db7e224d78d99 (presubmit successful).
4 years, 1 month ago (2016-10-24 21:05:50 UTC) #3
Brian Wilkerson
lgtm
4 years, 1 month ago (2016-10-26 07:21:31 UTC) #4
Paul Berry
lgtm https://codereview.chromium.org/2447903002/diff/1/pkg/analyzer/lib/src/dart/analysis/driver.dart File pkg/analyzer/lib/src/dart/analysis/driver.dart (right): https://codereview.chromium.org/2447903002/diff/1/pkg/analyzer/lib/src/dart/analysis/driver.dart#newcode585 pkg/analyzer/lib/src/dart/analysis/driver.dart:585: * TODO(scheglov) I see that adding a local ...
4 years, 1 month ago (2016-10-31 15:56:56 UTC) #5
scheglov
https://codereview.chromium.org/2447903002/diff/1/pkg/analyzer/lib/src/dart/analysis/driver.dart File pkg/analyzer/lib/src/dart/analysis/driver.dart (right): https://codereview.chromium.org/2447903002/diff/1/pkg/analyzer/lib/src/dart/analysis/driver.dart#newcode585 pkg/analyzer/lib/src/dart/analysis/driver.dart:585: * TODO(scheglov) I see that adding a local var ...
4 years, 1 month ago (2016-10-31 16:03:16 UTC) #6
Paul Berry
4 years, 1 month ago (2016-10-31 21:46:37 UTC) #7
Message was sent while issue was closed.
On 2016/10/31 16:03:16, scheglov wrote:
>
https://codereview.chromium.org/2447903002/diff/1/pkg/analyzer/lib/src/dart/a...
> File pkg/analyzer/lib/src/dart/analysis/driver.dart (right):
> 
>
https://codereview.chromium.org/2447903002/diff/1/pkg/analyzer/lib/src/dart/a...
> pkg/analyzer/lib/src/dart/analysis/driver.dart:585: * TODO(scheglov) I see
that
> adding a local var changes (full) API signature.
> On 2016/10/31 15:56:56, Paul Berry wrote:
> > Do you have a repro for this?  If you'd rather spend your time on other
> things,
> > I'd be glad to investigate--feel free to file a bug in the issue tracker.
> > 
> > Note that I fixed some bugs which would cause this in
> > 84ec7f01c060ee0a5e423c58a11707a4e3a60045 and
> > 105f568452fa562207ce6fbc557bb7638024cc69.  Perhaps there are still some
> > outstanding problems :(
> 
> Adding a local variable per se is not a problem.
> But I suspect that are two, possibly related problems with API signatures.
> 
> 1. They are order sensitive, i.e. "class A{} class B {}" and "class B {} class
A
> {}" are different.

Ok, this is a known issue and IMHO not worth worrying about.  (We could sort the
declarations but the references would still be out of order; sorting them too
would be a lot of work, and I think we'd be better off working on other
incrementality ideas that are more general).

> 
> 2. When you add a variable that is that first one referencing a type, the type
> is added to UnlinkedUnit.references, and so changes the signature. Or if you
> reorder local variables, these type references are also reordered, and the
> signature changes.

Aha, I hadn't thought of this case.  I've filed a ticket at
https://github.com/dart-lang/sdk/issues/27708 to track it, and assigned it to
myself.

Powered by Google App Engine
This is Rietveld 408576698