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

Issue 1531393002: Stop using RESOLVED_UNIT_x for other libraries. (Closed)

Created:
5 years ago by scheglov
Modified:
5 years ago
Reviewers:
Brian Wilkerson
CC:
reviews_dartlang.org, Leaf
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Stop using RESOLVED_UNIT_x for other libraries. This makes analysis of a command line Hello World application about 20% faster. Even before summaries :-) R=brianwilkerson@google.com BUG= Committed: https://github.com/dart-lang/sdk/commit/e1455ce920218a0d3194f98443c315b906022426

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+3 lines, -16 lines) Patch
M pkg/analysis_server/lib/src/analysis_server.dart View 1 chunk +1 line, -1 line 0 comments Download
M pkg/analysis_server/lib/src/services/correction/fix_internal.dart View 1 chunk +1 line, -1 line 0 comments Download
M pkg/analyzer/lib/src/task/dart.dart View 4 chunks +1 line, -7 lines 0 comments Download
M pkg/analyzer/test/src/context/context_test.dart View 1 chunk +0 lines, -2 lines 0 comments Download
M pkg/analyzer/tool/task_dependency_graph/tasks.dot View 3 chunks +0 lines, -5 lines 0 comments Download

Messages

Total messages: 9 (2 generated)
scheglov
5 years ago (2015-12-17 21:15:26 UTC) #1
Brian Wilkerson
LGTM
5 years ago (2015-12-17 21:31:18 UTC) #3
scheglov
Committed patchset #1 (id:1) manually as e1455ce920218a0d3194f98443c315b906022426 (presubmit successful).
5 years ago (2015-12-17 21:57:25 UTC) #5
eernst
On 2015/12/17 21:57:25, scheglov wrote: > Committed patchset #1 (id:1) manually as > e1455ce920218a0d3194f98443c315b906022426 (presubmit ...
5 years ago (2015-12-21 15:48:34 UTC) #6
eernst
FYI: We just published version 0.5.1 of reflectable which insists on version 0.27.1 of the ...
5 years ago (2015-12-22 15:43:41 UTC) #7
Brian Wilkerson
Could you send us instructions on how to reproduce the issue? Most of us are ...
5 years ago (2015-12-22 16:32:11 UTC) #8
eernst
5 years ago (2015-12-23 09:28:23 UTC) #9
Message was sent while issue was closed.
On 2015/12/22 16:32:11, Brian Wilkerson wrote:
> Could you send us instructions on how to reproduce the issue? Most of us are
out
> until January, but we should look into this as soon as we're back.

Here's a scenario that reliably demonstrates the situation on my desktop. It may
not be lightweight (it requires fetching all of reflectable and running a test
script that takes a while), but it will show the problem. So here we go:

  # Setup, assuming that the current directory can be used as a scratch space.
  git clone https://github.com/dart-lang/reflectable
  cd reflectable
  git checkout v0.5.1
  mv reflectable/pubspec.{yaml,save}
  cat reflectable/pubspec.save | sed -e 's/analyzer: 0\.27\.1.*/analyzer:
^0.27.1/' >reflectable/pubspec.yaml
  rm -f reflectable/pubspec.save
  cd test_reflectable/tool
  
  # Run (with 'test_reflectable/tool' in the package as the current directory).
  make g b

That `make` will do `pub get` and `pub build ..`. The symptom which shows that
it is failing is that the transformation prints 'Ignoring entry point .. that
does not include the class `Reflectable`', for every test case.

This happens because an `evaluationResult` for a constant returns null, which
is taken to mean that we haven't found the right class `Reflectable`. When a
program does not include that class there is no need to continue: It should not
be modified at all by the reflectable transformer, so we bail out and go to the
next entry point.

Powered by Google App Engine
This is Rietveld 408576698