Commit Graph

2004 Commits

Author SHA1 Message Date
Paul Berry 46734c96f9 Create forwarding stubs properly for getters, setters, and fields.
Change-Id: Ife2be67a29d46957e56ff34faab83c15f9f8579b
Reviewed-on: https://dart-review.googlesource.com/9062
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-09-27 22:29:02 +00:00
Paul Berry c13eb60426 Implement logic for creating forwarding stubs and propagating covariance annotations.
This logic isn't hooked up yet; it's just unit tested.

Change-Id: Iacaf4fbc7c31be68c4c38cea60eca080c2aa1637
Reviewed-on: https://dart-review.googlesource.com/8734
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-09-27 17:57:34 +00:00
Konstantin Shcheglov 7f33f78026 Issue 30875. Don't damage _redirecting# when adding kernels to DillLoader.
R=ahe@google.com, paulberry@google.com, sigmund@google.com

Bug: https://github.com/dart-lang/sdk/issues/30875
Change-Id: Iede037673458131a357050ab61eb9930b70d372b
Reviewed-on: https://dart-review.googlesource.com/8381
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-09-26 20:41:14 +00:00
Paul Berry 1916dc75e6 Move command_line.dart and most of compile_platform.dart into lib/
This should make it possible to run compile_platform_test.dart inside
google3, where package layout conventions are more strictly enforced
(files in test/ cannot import files in tool/).

Change-Id: I2299e0340b0edfc1a684a635de8cf87ecb9f241f
Reviewed-on: https://dart-review.googlesource.com/8701
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-09-26 17:34:01 +00:00
Paul Berry 9b45cc7e4d Implement ForwardingNodes.resolve().
This method figures out which method a given forwarding node resolves
to, accounting properly for the fact that when there is multiple
inheritance, the inherited method is the one with the most specific
type.

Change-Id: Ia412e2d195dd697e35c1c08480b51f2a6bd1cac5
Reviewed-on: https://dart-review.googlesource.com/8360
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-09-26 16:48:11 +00:00
Paul Berry 13d155cc9c Change messages_test to use package_root to find messages.yaml
This allows the test to pass in situations where it is not run from
the root of the SDK directory.

Change-Id: I855ec4529af6f18db41964f6976232358e94c920
Reviewed-on: https://dart-review.googlesource.com/8680
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-09-26 16:41:21 +00:00
Paul Berry 95552a890e Verify consistency between InterfaceResolver and ClassHierarchy.
One of the roles of InterfaceResolver will be to determine when
ClassHierarchy's technique for finding an inherited member would
produce the wrong result, and adding a forwarding stub when that
happens.  Since ClassHierarchy's technique for finding an inherited
member is to just pick the first member it finds, we need to make sure
InterfaceResolver visits superclasses in the same order, so it will
know which member ClassHierarchy would pick.

This CL adds tests to make sure both classes visit members in the same
order, by testing that:

- methods in mixins take precedence over those from superclasses.

- methods in superclasses take precedence over those from interfaces.

- methods in interfaces are considered in the order in which the
  interfaces are named.

Also, I discovered that it was unnecessary for InterfaceResolver to
visit mixins, since ClassHierarchy has already merged methods from
mixins into the list of members it considers to be "declared in" the
class.

Change-Id: If0ca03824887c87e0ae2090532c75cf6c5ad3161
Reviewed-on: https://dart-review.googlesource.com/8322
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-09-25 22:06:49 +00:00
Paul Berry d9ca760992 Start writing the infrastructure for creating forwarding stubs.
This CL adds the ability to create a list of "forwarding nodes" for a
source class.  A forwarding node is a data structure that will later
be resolved to either an explicitly declared member in the class or a
superclass, or to a forwarding stub.  The idea is that we will create
the forwarding nodes at the time of outline building, and later,
during type inference, we will resolve each forwarding node as it is
encountered.

The reason we need to defer resolution of the forwarding nodes until
inference is because we may need to use the results of type inference
to determine which member a given forwarding node resolves to.  For
example:

num f() => 1;
class A {
  final x = 1; // Inferred type: int
}
class B {
  final x = f(); // Inferred type: num
}
abstract class C implements A, B {}

We cannot determine at the time of building the outline for C whether
it inherits its x from A or B, because we need the results of type
inference to determine which of the two x's has a more specific type.

Note that some refactoring of ClassHierarchy was necessary in order to
allow the front end to maintain member lists in the same order used
internally by ClassHierarchy.  This will let us avoid unnecessary
redundant sorting of methods.

Change-Id: Iee754957e0ad3b16c4b60608e17a4a7b0006dfb4
Reviewed-on: https://dart-review.googlesource.com/7851
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-09-25 20:59:49 +00:00
Dan Rubel bc5531fd1c remove native clause processing from parser listeners
* Finish updating the fasta parser to handle native clauses
* Remove outdated native clause processing from listeners

Change-Id: I2797145d6aff07da2ee4e008d5e1f233f30813a2
Reviewed-on: https://dart-review.googlesource.com/7900
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-09-25 15:48:49 +00:00
Kevin Millikin 785ae4a9e0 [Kernel] when transferring libraries, keep their canonical names
Before: ownership of some or all of the libraries from one Kernel
program (P1) would be transferred to another program (P2).  All the
canonical names in P1 would be unbound from their references and the
canonical names would eventually be recreated for the libraries that
were transferred.

After: when ownership of a library is transferred, the ownership of
the canonical name subtree rooted at the library's name is also
transferred.  This allows the 1:1 relationship between Canonicalname
and Reference to be maintained which will enable lazy deserialization
of procedure bodies (because the mapping from CanonicalNames to
References in the corresponding link table will be persistent).
Change-Id: I98f975d6ba5804f975c30528a484756b39f09d2a
Reviewed-on: https://dart-review.googlesource.com/7549
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2017-09-22 08:19:27 +00:00
Paul Berry d04154084b Minor changes to subpackage_relationships_test.dart
- We now favor Platform.packageConfig (if non-null) for finding the
  .packages file.

- We allow .dart files to be symbolic links.

These changes allow the test to work inside google3.

Change-Id: I58939a1c89ee326d98fb9ab5ab56c5d9881c6823
Reviewed-on: https://dart-review.googlesource.com/7584
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-09-21 17:59:23 +00:00
Paul Berry 291b83b345 Move reload.dart to test directory.
This will allow us to run hot_reload_e2e_test.dart internally.

Change-Id: Ia44b086683ea629a0af15addd652543daa1700ce
Reviewed-on: https://dart-review.googlesource.com/7450
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-09-21 13:43:02 +00:00
Paul Berry 45521d17c4 Change main functions in test files to take optional args.
This will allow these tests to be run inside google3, where the test
framework calls main with no arguments.

Change-Id: I139a9b100fe3a1eb3003933ec9fef4298706ff5d
Reviewed-on: https://dart-review.googlesource.com/7342
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-09-20 21:07:27 +00:00
Paul Berry a8afd3ab16 Remove reified_dart.dart, batch_consistency.dart, and dartk.dart.
These files all have to do with the old "dartk" front end, which is no
longer used.

Change-Id: I67041bf0a3a8a9213153123d9f79ac1632cc4d24
Reviewed-on: https://dart-review.googlesource.com/7101
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-09-20 15:33:16 +00:00
Dan Rubel 9c1d97bb9c update parser to use token.isModifier
Change-Id: Iee07cbde6c45b621bb13d1774c1d9f4bd97268ea
Reviewed-on: https://dart-review.googlesource.com/6840
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-09-19 20:27:03 +00:00
danrubel dc5378d3bd Update front_end messages_test
Update the test to report any messages
that have analyzerCode without a dart2jsCode

Change-Id: Icdbc5c71c25e7820d133388a8917ee373dbb611b
Reviewed-on: https://dart-review.googlesource.com/6280
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-17 14:52:42 +00:00
Sigmund Cherem b09e403e5c Fix command to update expectations
Change-Id: I0c9ec26c1b94779e1b31c045f82864ccce6d0266
Reviewed-on: https://dart-review.googlesource.com/6164
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2017-09-15 17:47:49 +00:00
Konstantin Shcheglov 2ffe920fd0 Don't use absolute path for the test in expectations.
Sorry for spamming.
I messed it up again :-(

R=ahe@google.com, paulberry@google.com, sigmund@google.com

Bug:
Change-Id: Id9167724b7e711ee006b395284a09bfb25e5b4c9
Reviewed-on: https://dart-review.googlesource.com/5892
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-14 20:01:03 +00:00
Konstantin Shcheglov bee9cc3c42 Revert "Don't use absolute path for the test in expectations."
This reverts commit 047cd9265d.

Reason for revert: Unintentional changes.

Original change's description:
> Don't use absolute path for the test in expectations.
> 
> R=​ahe@google.com, paulberry@google.com, sigmund@google.com
> 
> Bug:
> Change-Id: I5fae0b9c26c9d1766bfe3e53b00d1be3d49aad81
> Reviewed-on: https://dart-review.googlesource.com/5888
> Reviewed-by: Sigmund Cherem <sigmund@google.com>

TBR=paulberry@google.com,ahe@google.com,scheglov@google.com,sigmund@google.com

Change-Id: I1115f49d4a6c66ed8db40b29dc3a4d83b8075c51
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/5900
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-09-14 19:57:08 +00:00
Konstantin Shcheglov 047cd9265d Don't use absolute path for the test in expectations.
R=ahe@google.com, paulberry@google.com, sigmund@google.com

Bug:
Change-Id: I5fae0b9c26c9d1766bfe3e53b00d1be3d49aad81
Reviewed-on: https://dart-review.googlesource.com/5888
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-09-14 19:53:09 +00:00
Konstantin Shcheglov 84ef57d722 Rename .shaker/.outline to .shaker.expect/.outline.expect and update the message.
R=ahe@google.com, paulberry@google.com, sigmund@google.com

Bug:
Change-Id: I958e7e4a593d5dac2fe0ff6a14852c5587b49672
Reviewed-on: https://dart-review.googlesource.com/5884
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-14 18:17:34 +00:00
Paul Berry 70f2969b6c Create a uniform mechanism for finding the 'pkg' directory when running tests.
Several tests need to access source files in the 'pkg' directory, and
they use various mechanisms for finding it.  This CL changes
everything to use the same mechanism.

Change-Id: I146a6d72ec05a20cf07451a83eada9fb8e71a966
Reviewed-on: https://dart-review.googlesource.com/5484
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-09-13 20:05:40 +00:00
Sigmund Cherem 2d6a6b300f Allow custom URI schemes in hot-reload unit test and internally in IKG and
hybrid file system.

Fixes #30673

Change-Id: Ib35a790ca4890ee6e212d2e8cfa4f572784d7f3d
Reviewed-on: https://dart-review.googlesource.com/5294
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-09-12 20:44:13 +00:00
Dan Rubel 4153aa220a test messages.yaml - first cut
This is a first cut at a new test for messages.yaml.
The long term goal is for this test to:
- Assert each error code maps to analyzer error code.
- Assert each error code has at least one example.
- Analyze each associated example
    to assert that the error code is generated.

Carried forward from https://codereview.chromium.org/3010843002/

Change-Id: I24dea5556896011287ac81036641b547d1107a5a
Reviewed-on: https://dart-review.googlesource.com/5285
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-12 18:39:00 +00:00
Konstantin Shcheglov e1d47bd889 Serialize trimmed outlines without damaging Program.
R=ahe@google.com, paulberry@google.com, sigmund@google.com

Bug:
Change-Id: I19b6debeb629b83af071e6a0d4f97b46096d83f5
Reviewed-on: https://dart-review.googlesource.com/5141
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-12 17:23:20 +00:00
Paul Berry b20e05ccc6 Simplify logic for computing semiSafe annotations.
Rather than track precisely which types can be passed to each method
parameter through all of the interfaces it implements, and mark them
as semiSafe when they don't match the declared parameter type, it is
simpler to simply make semiSafe an "inherited" version of semiTyped.
The simpler analysis is slightly conservative--it will unnecessarily
mark parameters as semiSafe in a few circumstances, but those
circumstances seem like they will be rare enough that they don't
justify doing extra work.

This allows us to get rid of the extra field additionalIncomingTypes
(which we would otherwise have had to store in the kernel
representation).

In the process, reworked the logic for deciding whether to mark a
parameter as semiSafe or semiTyped so that it uses a type visitor
rather than by substituting and then doing a subtype check; this
should be significantly faster.

Note that in order for semiSafe to be "inherited" in all the right
circumstances, we need to mark it on abstract methods as well as
concrete ones; this is a departure from analyzer behavior, so I've
added a hack to front_end_runtime_check_test to ensure that it
generates the expected annotations.

Change-Id: I53d3718d8fb1979ac8551fe02734ddaf3d6708b8
Reviewed-on: https://dart-review.googlesource.com/5044
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-09-11 21:57:14 +00:00
Konstantin Shcheglov 5cf4b0f27a Fill Program.uriToSource for libraries in delta.
R=ahe@google.com, paulberry@google.com, sigmund@google.com

Bug:
Change-Id: I13f5e94f5857a9baaa52764907c2d7fbf2a4e4c7
Reviewed-on: https://dart-review.googlesource.com/4140
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-09-07 21:18:12 +00:00
Konstantin Shcheglov 1b4239d2e4 Export ByteStore and its implementations from front_end.
R=ahe@google.com, paulberry@google.com, sigmund@google.com

Bug:
Change-Id: Ie2e3413a7f143e270cec2bd3ae4564ad7cc315b1
Reviewed-on: https://dart-review.googlesource.com/3840
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-07 19:23:21 +00:00
Konstantin Shcheglov a0b5dda332 Test that we store FunctionType.typedefReference in partial kernels.
The problem seems to be fixed in https://dart-review.googlesource.com/c/sdk/+/2880
so, there are no actual code changes.

R=ahe@google.com, kmillikin@google.com, paulberry@google.com, sigmund@google.com

Bug:
Change-Id: Ic7743aedc443a164762a87ff6af0d455a9137b8e
Reviewed-on: https://dart-review.googlesource.com/3720
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-09-07 01:43:15 +00:00
Brian Wilkerson 7cf0a22f43 Make covariant be a modifier in front_end
Change-Id: I66f8823207f6231b8318b8ac0530f1c51f9b702d
Reviewed-on: https://dart-review.googlesource.com/3282
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-09-05 16:25:06 +00:00
Paul Berry d9de63eb81 Disable supermixin support in front end and kernel.
Supermixin support is not currently planned for the initial release of
Dart 2.0, so it seems unwise for front end and kernel to enable it.

Kernel didn't actually contain any usages of supermixin support; front
end contained one usage in a test.

Change-Id: I2b225f8d6c5f0ea32cb60d7636e043c89439548c
Reviewed-on: https://dart-review.googlesource.com/3020
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-09-04 18:50:17 +00:00
Dan Rubel 813d4eddf8 gracefully recover from extraneous top level modifiers
When the user includes extraneous modifiers preceeding top level
directives and declarations, the fasta parser now report an error
and skips the modifier.

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/3007943002 .
2017-09-01 18:55:02 -04:00
Peter von der Ahé b460a25459 Store actual Reference(s) for additional exports.
R=johnniwinther@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/3009953003 .
2017-09-01 16:30:43 +02:00
Peter von der Ahé 24ec5691d0 Don't re-export hidden members.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/3004123002 .
2017-08-31 16:45:18 +02:00
Peter von der Ahé f0277b32e8 Revert "Store actual Reference(s) for additional exports."
This reverts commit 234c4a7f49.

Revert "Fix for ScopeBuilder[] - look into setters too."

This reverts commit 7924f4c42f.

Revert "Don't include BuiltinTypeBuilder(s) into additional exports."

This reverts commit e28aac09c4.

The reason for reverting is that the two follow-up commits aren't correct.

R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/3004973002 .
2017-08-31 16:13:50 +02:00
Konstantin Shcheglov 37b301e21a Restructure outline shaker tests.
1. Instead of using a single lib/lib.dart, use a couple of small shared
   libraries, and special libraries for each case we want to test.

2. Give tests meaningful structured names, with "source_*" tests
   testing that we take into account referenced *from* somewhere.
   And "target_*" tests for testing that we include referenced entities.
   And "transitive_*" tests for including complete transitive closure
   of referenced entities.

We don't yet include full transitive closure, this CL is just for
tests and results produced at the moment. Implementation and test
fixes will follow.

We also don't yet take exports into account.

R=ahe@google.com, paulberry@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/3011663002 .
2017-08-30 13:33:27 -07:00
Konstantin Shcheglov 288b203b6c Stop building export scopes in KernelDriver.
Fasta already store exports scopes into Kernel.
It was added some time ago and improved recently.
https://github.com/dart-lang/sdk/commit/234c4a7f493e1fc3dafc393472e39163ac2ad783

R=ahe@google.com, paulberry@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/3004913002 .
2017-08-30 10:38:17 -07:00
Konstantin Shcheglov 234c4a7f49 Store actual Reference(s) for additional exports.
We need this to be able to tree shake outline.
https://github.com/dart-lang/sdk/issues/30448#issuecomment-325434406

R=ahe@google.com, kmillikin@google.com, paulberry@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/3008763002 .
2017-08-30 09:56:21 -07:00
Konstantin Shcheglov 5d07433bb1 Mark types of Constructor parameters and preserve referenced typedefs.
R=ahe@google.com, paulberry@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/3009803002 .
2017-08-29 16:52:51 -07:00
Devon Carew 98370444fc Add a missing import to compile_platform_test.dart.
BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/3008813002 .
2017-08-29 13:22:02 -07:00
Sigmund Cherem 1a2870f798 Remove check for scheme in source-loader.
Context: this prevents us from using other schemes in unit tests, and causes
issues when processign a URI with no scheme, that happens to be supported by the
underlying file-system (e.g. PhysicalFileSystem will make it a `file:*` URI if
no scheme was present).

This is necessary to fix dartbug.com/30141

R=ahe@google.com

Committed: https://github.com/dart-lang/sdk/commit/d9ae60e14fdec52bda977ed114f6ad70dc2f0bc4
Review-Url: https://codereview.chromium.org/3006483002 .
2017-08-29 11:35:15 -07:00
Peter von der Ahé 48503c8720 Don't export unnamed mixins.
Fixes https://github.com/dart-lang/sdk/issues/30553

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/3004703002 .
2017-08-29 16:33:33 +02:00
Peter von der Ahé 37d3c369d8 Start trying to compile platform from unpatched sources.
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/3009503002 .
2017-08-29 16:09:24 +02:00
Peter von der Ahé a5bcf58b06 Move tools to tool folder.
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/3003743002 .
2017-08-29 14:30:51 +02:00
Peter von der Ahé c89fb50056 Fix issues from CL 3009573002.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/3003993002 .
2017-08-28 13:51:52 +02:00
Konstantin Shcheglov a751b971a2 Remember direct dependencies in LibraryCycle.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/3009683002 .
2017-08-26 14:50:37 -07:00
Dan Rubel 07a00fc258 remove old fasta missing exponent recovery
As of https://codereview.chromium.org/3002493003
fasta recovers from a missing exponent by
first issuing an error and then appending '0' to the number
so that 347e becomes 347e0

This CL removes the old error recovery that appends NaN
to the token stream as it is no longer needed.

Fix https://github.com/dart-lang/sdk/issues/30508

R=scheglov@google.com

Review-Url: https://codereview.chromium.org/3004573002 .
2017-08-25 08:57:24 -04:00
Konstantin Shcheglov 6d5a29004c Generalize LRU Cache to any objects.
It turned out that caching just bytes does not allow us to realize full
benefits of caching PackageBundle(s). We want to keep partially
decoded values like sub-objects and strings for maximum performance.

R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2998363002 .
2017-08-24 11:07:07 -07:00
Sigmund Cherem f539785e03 Load extraRequiredLibraries from the target passed in the options
This makes the behavior match what fasta does.

Long term I agree we don't want these implicit imports. I sent an email to
brainstorm a solution for that.

This change will address one of the issues reported in http://dartbug.com/30491

R=scheglov@google.com

Review-Url: https://codereview.chromium.org/3007503002 .
2017-08-23 20:11:53 -07:00
Siva Annamalai cfac48179b 1. Figure out the modified libraries from the specifeid kernel file during
reload instead of computing it based on the source modification information.

2. Fix for failure in Unit test case https://github.com/dart-lang/sdk/issues/30322

3. Fix crash in test that was being skipped in https://github.com/dart-lang/sdk/issues/30109 and turn that test on.

This CL is work towards completing issue https://github.com/dart-lang/sdk/issues/28051

R=aam@google.com

Review-Url: https://codereview.chromium.org/2998983002 .
2017-08-18 13:42:19 -07:00