Commit Graph

4770 Commits

Author SHA1 Message Date
Dan Rubel edb6e776f1 Update parseFields to use typeInfo
... and remove typeContinuation from top level parsing,
class member parsing, and ModifierRecoveryContext2

Change-Id: I2a9653e42c180a050316205fdf320c61c30ae47c
Reviewed-on: https://dart-review.googlesource.com/49562
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-04-05 14:49:46 +00:00
Aske Simon Christensen 20ea3f5d69 Pass a list of context messages in onProblem callback.
Change-Id: I518e229eba261a999f43ab7ccd8cb3cfc8aae7b1
Reviewed-on: https://dart-review.googlesource.com/44541
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-04-05 13:29:16 +00:00
Aske Simon Christensen bbb281ff3b Error reporting functions take a list of context messages.
Change-Id: I8f48944d3c25099827c820d2b7f49ab44c60abd2
Reviewed-on: https://dart-review.googlesource.com/44462
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-04-05 13:29:16 +00:00
Aske Simon Christensen 83ef97f873 Wrap a formatted message with line and column in a FormattedMessage.
Change-Id: I9df1bc7ee839d6310e3670d99e813fe969fe1cb4
Reviewed-on: https://dart-review.googlesource.com/44430
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-04-05 13:29:16 +00:00
Jens Johansen b2d7749643 Fix issue with missing sources
Before this CL, if initializing from a dill file, and then,
at a subsequent call to computeDelta asks for the full Component,
the sources from the originally loaded libraries was missing.
This also meant that some fileUris were missing.

This can basically break Flutter.

This CL introduces tests that catch this, fixes the issue and bumps the
kernel version to force recompilation in Flutter.

Change-Id: I9f62962db017cec232855377835103ffc324820b
Reviewed-on: https://dart-review.googlesource.com/49642
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-04-05 13:23:07 +00:00
Dan Rubel c502578096 Replace skipTypeReferenceOpt with computeType
... and also address comment in
https://dart-review.googlesource.com/c/sdk/+/49340

Change-Id: Ie9bcea39bd2b9c0199c92647b2a5ae0240276c1e
Reviewed-on: https://dart-review.googlesource.com/49561
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-04-05 09:56:16 +00:00
Siva Annamalai 2676c132cb Revert "Cleanup in incremental compiler"
This reverts commit 5367304ba5.

Reason for revert: Please see issue 32776
https://github.com/dart-lang/sdk/issues/32776

Original change's description:
> Cleanup in incremental compiler
> 
> This CL addresses comments from previous CLs, renaming variables and
> handles change package versions.
> 
> Change-Id: I83cf4a33bffe82ec137a32710cd6e8ff7f25ec8b
> Reviewed-on: https://dart-review.googlesource.com/49161
> Reviewed-by: Peter von der Ahé <ahe@google.com>
> Commit-Queue: Jens Johansen <jensj@google.com>

TBR=ahe@google.com,jensj@google.com

Change-Id: I29a7d5cbd842fd2dddf0373c4e7d0e2ff55da31a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/49626
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2018-04-05 05:07:37 +00:00
Peter von der Ahé 47f09a619e Redesign LibraryPart
Before, the part-URI was serialized as a file-URI and conflated with
source location information. The part-URI is the URI in the following
declaration in a Dart source file:

   part "URI";

This is different from what we normally call a file-URI. A file URI
is used to point to the source location of the part declaration, not
the URI in the part declaration.

Furthermore, the field was serialized using writeUriReference which
only works for URIs that are in the uriToSource map on a Component.
Although this might seem like a safe optimization, it doesn't work
if the uriToSource map is omitted or if a part declaration refers to
a missing file.

Finally, due to the confusing use of fileUri, LibraryPart was
mistakenly implementing FileUriNode and annotations were stripped
of source locations if the source for the part were omitted from
uriToSource.

The partUri field is now an unresolved string that can be resolved
against either the parent library's import- or file-URI to obtain
either version as needed.

Change-Id: I255cb4eeaf89928292ab32a2f6be9ead6cc8cee1
Reviewed-on: https://dart-review.googlesource.com/49500
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2018-04-04 16:08:57 +00:00
Dmitry Stefantsov 4bcf8ad411 [fasta] Handle static get in ConstnessEvaluator
Bug: http://dartbug.com/32737
Change-Id: I8e2199f114c4533212930bcd8e6e4c713a4f62f9
Reviewed-on: https://dart-review.googlesource.com/49140
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-04-04 16:02:17 +00:00
Dmitry Stefantsov b879d4df14 [fasta] Fix insertion of noSuchMethod forwarders for private members
Bug: http://dartbug.com/32757
Change-Id: If8c57614e939b4277101403aea35dbe424f30fa3
Reviewed-on: https://dart-review.googlesource.com/49460
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2018-04-04 15:14:44 +00:00
Dan Rubel d0ad78db24 Improve recovery when "set" found in function body
Change-Id: I11cab70a526fb52b61be9ff91ad94b6fd23044e2
Reviewed-on: https://dart-review.googlesource.com/49340
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-04-04 14:43:23 +00:00
Jens Johansen 5367304ba5 Cleanup in incremental compiler
This CL addresses comments from previous CLs, renaming variables and
handles change package versions.

Change-Id: I83cf4a33bffe82ec137a32710cd6e8ff7f25ec8b
Reviewed-on: https://dart-review.googlesource.com/49161
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-04-04 13:11:43 +00:00
Dmitry Stefantsov b793c8a387 [fasta] Require explicit handling of all expression kinds in ConstnessEvaluator
Change-Id: I619f4e9e7d606232034d82645e02049b53cb94d5
Reviewed-on: https://dart-review.googlesource.com/49122
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-04-04 11:09:02 +00:00
Sigmund Cherem e5d20a7749 Add type to loadLibrary tearoff
Fixes https://github.com/dart-lang/sdk/issues/32604

Change-Id: If068cdf66b87f9665586c9ad7a39cb8392db9ae6
Reviewed-on: https://dart-review.googlesource.com/49042
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-04-03 21:53:29 +00:00
Dan Rubel bec3801a02 Improve recovery when mixin app missing "with" clause
Change-Id: I81849a973f1033f271b39de851c6335cae63377f
Reviewed-on: https://dart-review.googlesource.com/49241
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-04-03 20:45:19 +00:00
Dan Rubel ca7edd065c Improve invalid function body recovery
* Improve error message for use of "return" instead of "=>"
* Improve recovery given extraneous "return" after "=>"

Change-Id: I0e421ece1128f98b883b6c9110f1a5eaaced3d78
Reviewed-on: https://dart-review.googlesource.com/49180
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-04-03 17:31:39 +00:00
Jens Johansen 38fae026b4 Allow to output full component via computeDelta
This is the second attempt at this change.
The original try was committed as f9c7a4a22d.
The revert of that was committed as 2f68e82526.

This CL allows users of the incremental compiler to ask for a computeDelta
call to include the full Component in the output,
basically turning the incremental compiler into a batch compiler.

This CL furthermore changes the frontend_server (in pkg/vm) to use this
functionality.

This change - used in flutter - takes the time it takes to run
`flutter test` in `packages/flutter` from ~8 minutes 30 seconds to
~2 minutes 30 seconds (on my machine).

Fixes #32663.

Change-Id: I073e77b3596b33a24cabcfbcedf97bb0be7aa450
Reviewed-on: https://dart-review.googlesource.com/49125
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-04-03 12:59:48 +00:00
Dan Rubel 1daa81339f Improve fasta parser enum declaration recovery
In addition to improving recovery when an enum declaration is missing
a body, this CL also fixes ensureBlock to report an error on the
correct token and cleans up some more analyzer tests.

Change-Id: I96e9f8380b8d92082d94fcc9fa4b8cfe113fa238
Reviewed-on: https://dart-review.googlesource.com/48980
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-04-02 17:55:14 +00:00
Konstantin Shcheglov feceb2c59e Restore ErrorCode default constructor, rename the one with named parameters to 'temporary'.
R=brianwilkerson@google.com

Change-Id: If0577d0e3da0abdef83f0f46f979014b69f76202
Reviewed-on: https://dart-review.googlesource.com/49020
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-04-02 17:38:45 +00:00
Dan Rubel 374058aa79 Improve fasta parser try/catch error messages and recovery
Change-Id: I6e591fa5d03c73aa6f3e8060f2ca310f68be9a78
Reviewed-on: https://dart-review.googlesource.com/48709
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-04-01 02:14:52 +00:00
Dmitry Stefantsov 59d859645e [fasta] Do new/const insertion in simple cases
Bug: http://dartbug.com/32553
Change-Id: I58e201ffd5019a5a65c0ac188aaab363225b5296
Reviewed-on: https://dart-review.googlesource.com/48481
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-03-30 18:35:05 +00:00
Konstantin Shcheglov ad9afa1656 Add the isUnresolvedIdentifier flag for ErrorCode.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/32124
Change-Id: I8d69113d29cb20f0426924a1ea049f9daa53d803
Reviewed-on: https://dart-review.googlesource.com/48780
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-03-29 20:48:28 +00:00
Konstantin Shcheglov 14806df576 Make correction parameter optional named in ErrorCode and subclasses.
This is a preparatory step before adding a flag that signals
that the error code represents an unresolved identifier situation.

R=brianwilkerson@google.com

Change-Id: Ic3b30e2efae7ee0c12a40d1cc2bd48c14185d926
Reviewed-on: https://dart-review.googlesource.com/48763
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-03-29 19:59:13 +00:00
Dan Rubel f858e5d539 Replace Token.previous usage in BodyBuilder
Change-Id: If96a87086724e05756ab237a2afdec6782bfca3c
Reviewed-on: https://dart-review.googlesource.com/48660
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-03-28 22:58:19 +00:00
Dmitry Stefantsov c3872eedf8 [fasta] Generate noSuchMethod forwarders for abstract setters
Change-Id: Ic5bcb318c156a5e8716ced8ba9d2826f73c84a4d
Reviewed-on: https://dart-review.googlesource.com/48425
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2018-03-27 13:25:35 +00:00
Dmitry Stefantsov 174fe69a62 [fasta] Move condition checks for some build steps inside the steps
Change-Id: I18f1561fcacc06937ae5719486a8dd524b1d16e7
Reviewed-on: https://dart-review.googlesource.com/48140
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-03-26 09:09:35 +00:00
Dan Rubel e260a01272 Replace skipTypeReferenceOpt with computeType part 1
This CL modifies class member parsing to replace one use of skipTypeReferenceOpt
and parseType with a more efficient call to computeType. In addition, it updates
computeType to detect when a builtIn is used as a type and improves recovery
of invalid operator declarations.

Change-Id: Idbe96584ef3c2e72faf91037668421bb0f1055d0
Reviewed-on: https://dart-review.googlesource.com/48221
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-03-25 20:03:34 +00:00
Siva Annamalai 2f68e82526 Revert "Allow to output full component via computeDelta"
This reverts commit f9c7a4a22d.

Reason for revert: This CL breaks the restart functionality in Flutter, when we restart we end up with an empty app.dill file (60 bytes).

Original change's description:
> Allow to output full component via computeDelta
> 
> This CL allows users of the incremental compiler to ask for a computeDelta
> call to include the full Component in the output,
> basically turning the incremental compiler into a batch compiler.
> 
> This CL furthermore changes the frontend_server (in pkg/vm) to use this
> functionality.
> 
> This change - used in flutter - takes the time it takes to run
> `flutter test` in `packages/flutter` from ~8 minutes 30 seconds to
> ~2 minutes 30 seconds (on my machine).
> 
> Change-Id: Ia185d28da1f97b0be5dad8814cd01a8f13482724
> Reviewed-on: https://dart-review.googlesource.com/47020
> Commit-Queue: Jens Johansen <jensj@google.com>
> Reviewed-by: Peter von der Ahé <ahe@google.com>
> Reviewed-by: Vyacheslav Egorov <vegorov@google.com>

TBR=ahe@google.com,vegorov@google.com,jensj@google.com

Change-Id: I5ff39f9d78319413f4bbb7800e24bf27ab4ada9c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/48240
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2018-03-23 21:20:30 +00:00
Sigmund Cherem 34bb60bbc5 Library specification format: replace 'environment_overrides' with 'supported'.
Change-Id: Ic8172f4574a35ac31910ac0d5934c0d63db40a23
Reviewed-on: https://dart-review.googlesource.com/48060
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-03-23 18:28:59 +00:00
Dan Rubel 6180f12ccf Update parsing as/is expressions to use computeType
This introduces a new TypeInfo.ensureType method which recovers
when a type is required but there is no type.

Change-Id: Ie9080864f814329bc7a7dcdf73440fd184e9e0f8
Reviewed-on: https://dart-review.googlesource.com/47944
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-03-23 17:58:59 +00:00
Dan Rubel 20b9b541ae Improve recovery when parsing type arguments
Change-Id: I4eea9a7ddff809a7cf0c3ea430f408449228514f
Reviewed-on: https://dart-review.googlesource.com/48024
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-03-23 15:05:00 +00:00
Dan Rubel 721e29e552 Cleanup statement parsing and tests
Change-Id: I107ce5f3b6ebac123198b9a3a471f0a52cdcf1e3
Reviewed-on: https://dart-review.googlesource.com/48020
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-03-23 14:54:39 +00:00
Jens Johansen f9c7a4a22d Allow to output full component via computeDelta
This CL allows users of the incremental compiler to ask for a computeDelta
call to include the full Component in the output,
basically turning the incremental compiler into a batch compiler.

This CL furthermore changes the frontend_server (in pkg/vm) to use this
functionality.

This change - used in flutter - takes the time it takes to run
`flutter test` in `packages/flutter` from ~8 minutes 30 seconds to
~2 minutes 30 seconds (on my machine).

Change-Id: Ia185d28da1f97b0be5dad8814cd01a8f13482724
Reviewed-on: https://dart-review.googlesource.com/47020
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-03-23 12:07:56 +00:00
Paul Berry 1ac627a026 Set the file offset for Let node in implicit tearoff of call
Fixes #32629.

Change-Id: I96e12aa2c575853868846ce438b786172ec8faa5
Reviewed-on: https://dart-review.googlesource.com/48080
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-03-23 11:50:56 +00:00
Peter von der Ahé e21b54159f Tests incremental compilation of parts in packages.
Change-Id: Ic432bc255df1fe356f281779132a92391e3a0c6c
Reviewed-on: https://dart-review.googlesource.com/48100
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-03-23 09:30:25 +00:00
Alexander Markov af1436931b [CFE] Fix for insertion of duplicate NSM forwarders
Change-Id: I4e7d5708f134a06b9b3a4dfa7066a8de36268624
Reviewed-on: https://dart-review.googlesource.com/48023
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-03-22 22:39:59 +00:00
Alexander Markov 48644d5f6a [CFE] Fix crash when trying to add NSM forwarder for a field
Change-Id: Icbd1271285d6c8c714c2e4de5f531d4357c04c13
Reviewed-on: https://dart-review.googlesource.com/48021
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-03-22 22:15:48 +00:00
Dan Rubel 123e59c189 Improve for loop recovery
Change-Id: Ibc116156fb7e3a4d8cd2ba90e369f2d8f3cb04d1
Reviewed-on: https://dart-review.googlesource.com/47906
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-03-22 19:56:14 +00:00
Dan Rubel 7450e2ad60 Fix parsing of invalid interpolation in string literal
Change-Id: I7151cee5f97a5a43314885326e4806a0314af544
Reviewed-on: https://dart-review.googlesource.com/47582
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-03-22 18:50:13 +00:00
Ryan Macnak 38b0825a55 [kernel] Add target for Flutter on Fuchsia.
Change-Id: I7ab8e989e1e2038565e1d04a1c8f8ce880328ed8
Reviewed-on: https://dart-review.googlesource.com/47500
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2018-03-22 18:21:09 +00:00
Sigmund Cherem 2fd9969c96 extend unstable API to pass in the location of the libraries-specification
For now I'm just passing null, in a future CL I will pass a valid library
specification uri. This is needed in order to provide a library specification
that fasta will use to determine the result of a config-specific import.

Change-Id: I5e6babb0eb11bd1037262ea1260bc67188ef4649
Reviewed-on: https://dart-review.googlesource.com/47405
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-03-22 18:03:04 +00:00
Sigmund Cherem b6944e3165 Make use of environment overrides in fasta's implementation of config specific imports
Note: this CL has a base-cl that extends the library specification format.
Change-Id: Ice999c550baecac5140b6157b0ea3e60d94cd1a6
Reviewed-on: https://dart-review.googlesource.com/47404
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-03-22 17:48:19 +00:00
Dmitry Stefantsov 4989976a81 Add CFE support for noSuchMethod forwarders
Bug: https://github.com/dart-lang/sdk/issues/31424
Change-Id: Iaf3a8d6b090bda667a9a01c2d8413f8d5dd6d5a8
Reviewed-on: https://dart-review.googlesource.com/47780
Reviewed-by: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2018-03-22 16:52:57 +00:00
Dan Rubel 04f5d1b974 Recover from missing while in do/while statement
Change-Id: Ifa63dd07cc2468b6339b29a3afcf6b01058e1866
Reviewed-on: https://dart-review.googlesource.com/47860
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-03-22 15:50:57 +00:00
Jens Johansen 2be1456309 [fasta] Fix not being able to output a program because of erroneousProgram
Fixes stuff like this:

```
compiler message: Unhandled exception:
compiler message: root::file:///tmp/dart_test_listenerDUYBVW/listener.dart is already bound
compiler message: #0      CanonicalName.bindTo (package:kernel/canonical_name.dart:154)
compiler message: #1      LimitedBinaryPrinter.computeCanonicalNames (package:kernel/binary/limited_ast_to_binary.dart:35)
compiler message: #2      BinaryPrinter.writeProgramFile (package:kernel/binary/ast_to_binary.dart:282)
compiler message: #3      FrontendCompiler.compile (package:vm/frontend_server.dart:231)
```

Change-Id: Ic721b18c7ed85430a866e6db06a256903ab864db
Reviewed-on: https://dart-review.googlesource.com/46743
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-03-22 13:35:57 +00:00
Jens Johansen 83bfbcdd96 Incremental compilation: computing class hierarchy for reachable things only
When incrementally compiling, we can have builders for things that aren't
included anymore. Such builders should not introduce errors.

Change-Id: Ia0487d84819028913d54f6b55a2882e620009bd9
Reviewed-on: https://dart-review.googlesource.com/47223
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-03-22 09:08:46 +00:00
Jens Johansen 0dd2a8dbdb Incremental compiler: Only include libraries loaded from dill if used
Prior to this CL, if loading a library from the dill file what ends
up being unused in the new program it would still be included in the
output. This CL introduces a test and fixes the problem.

Change-Id: I60dd9c3b6bdb959e103f0d2a5653d036b6653140
Reviewed-on: https://dart-review.googlesource.com/46983
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-03-22 09:08:46 +00:00
Jens Johansen bb2bf609be Incremental compiler: Deal with disappearing package
Prior to this CL, if incrementally compiling something and the .packages
file changed we could get a crash when trying to translate a package url.
This CL introduces a test and fixes the problem.

Change-Id: Ie1874780df7ade394eecef05835b0d9203f4c2b5
Reviewed-on: https://dart-review.googlesource.com/46982
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-03-22 08:57:36 +00:00
Jens Johansen 4f40e43d7a Incremental compiler: Add test that mixes in something from the sdk
Before this CL, mixing something in that was a part of the sdk would,
when initializing from dill, cause the source of the file from the sdk
that contains the mixed in class to be included in the output.
This CL fixes that.

Change-Id: I041071844f90170ad2abeafca0b7e1596e8aa77b
Reviewed-on: https://dart-review.googlesource.com/45260
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-03-22 08:27:26 +00:00
Sigmund Cherem 1d774b7f77 Add "environment_overrides" section to libraries-specification.
This section will be used later to override whether a configuration specific
condition is supported for a given platform library.

Change-Id: Ia77607060273dbd6e106ae9b14ee626a4f077d45
Reviewed-on: https://dart-review.googlesource.com/47402
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-03-21 22:01:44 +00:00