Commit Graph

35 Commits

Author SHA1 Message Date
Sam Rawlins b22cd05c51 Reland fix for #28233: add hint for missing returns to function expressions
The bulk of this change is actually correcting missing returns in the Dart SDK.

Bug: https://github.com/dart-lang/sdk/issues/28233
Change-Id: I52bcbc6c6f4a129d3fc22003f4448a7c3d4487ad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100301
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-05-22 18:12:30 +00:00
Peter von der Ahé 6b29680b12 Enable collection of type checks for benchmarking
Change-Id: Iea59fcac1e56e3335f08c2a8dd7accc2b883547a
Reviewed-on: https://dart-review.googlesource.com/c/93946
Reviewed-by: Jens Johansen <jensj@google.com>
2019-02-22 13:01:09 +00:00
Kevin Millikin 87f309463a Stop using asynchronous async in Fasta
Change all the places that still used old-style asynchronous async in
Fasta.  These were mostly in testing.

Change-Id: I102209aa54c7c6e658b9d6ec98167af62bf12f3e
Reviewed-on: https://dart-review.googlesource.com/c/87074
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2018-12-14 08:17:35 +00:00
Kevin Millikin a8493e1b50 Flip the default value of the Kernel syncAsync flag
In Kernel's TargetFlags, this flag still defaulted to false.  Flip the
default to true and update all client code in the SDK.  The
expectation is that many of the places that now pass false explicitly
really just want the default, but that will be verified separately and
then the flag will be removed.

Change-Id: I2a38eb53f280f21f59bb1d2e88c42516f827fd39
Reviewed-on: https://dart-review.googlesource.com/c/85448
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2018-12-12 14:23:54 +00:00
Jens Johansen c2bd36e94d Add --omit_platform as option to fasta.
Change-Id: I9f8b7b89a0440bbff8b466ed2e4f2af73c72c023
Reviewed-on: https://dart-review.googlesource.com/c/84428
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-11-30 07:48:15 +00:00
Jens Johansen 1ec63ec7d5 Only one source of truth for uriToSource
Previously we had several places where different uriToSource was used.
This was both weird and led to errors when something refering to
some state was used to look up in another state.
This CL makes it so we only have one source of truth.

To not include sdk sources when serializing a component that only mixes
something from the sdk in, (or extends it or...), the serialization is
changed slightly to keep track of which uris come from actual
implementation. Before the sdk sources was explicitly removed in the
incremental compiler, but we want to limit those kinds of things,
which is why we're doing it differently here.

Fixes #35215.

Bug: 35215
Change-Id: Iaa5618fcb0ea42b13aba7720f34a87a85144e047
Reviewed-on: https://dart-review.googlesource.com/c/85175
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-11-28 10:57:01 +00:00
Peter von der Ahé 244e6c7ffc Infer package URIs
Closes https://github.com/dart-lang/sdk/issues/33076

Change-Id: I73db84eadaf3ba723c2f1323f9b883077a4df9df
Reviewed-on: https://dart-review.googlesource.com/c/78246
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2018-10-11 17:41:50 +00:00
Alexander Markov 5deb1c6e81 [vm] Remove strong mode and sync-async flags from pkg/vm
Change-Id: Icd2920274ca4c402b38e5774bb408d6b5e529169
Reviewed-on: https://dart-review.googlesource.com/c/79082
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-10-10 20:11:35 +00:00
Peter von der Ahé 8c872e0e3a Remove TargetFlags.strongMode
Change-Id: Ibf8661e5444d16666c54f1d81c626893b000521a
Reviewed-on: https://dart-review.googlesource.com/c/78986
Commit-Queue: Jens Johansen <jensj@google.com>
Auto-Submit: Peter von der Ahé <ahe@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2018-10-10 12:11:41 +00:00
Peter von der Ahé ee97806084 Replace strongMode with legacyMode in CompilerOptions
Also, remove --strong and --strong-mode flags (use --legacy-mode
flag to enable legacy mode).

Change-Id: I577ab5f755a2bee88f0f4d63915a6e852e792f06
Reviewed-on: https://dart-review.googlesource.com/c/79000
Commit-Queue: Jens Johansen <jensj@google.com>
Auto-Submit: Peter von der Ahé <ahe@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2018-10-10 12:04:26 +00:00
Peter von der Ahé 6fe272314d Tweak parameters of ProcessedOptions
Change-Id: Id7aa47d9119da3ab21a1130253b4735c160a2459
Reviewed-on: https://dart-review.googlesource.com/74740
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-09-19 08:13:45 +00:00
Alexander Markov 4e959af53d [vm/kernel/bytecode] Generate bytecode for platform when building SDK in --bytecode mode
Change-Id: Ib82765fa80a83d1434124e3fba9181a789a83932
Reviewed-on: https://dart-review.googlesource.com/69380
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-08-16 18:01:17 +00:00
Peter von der Ahé 1d46b4728c Handle non-regular files in _IoFileSystemEntity.exists.
Also call validateOptions.

Fixes https://github.com/dart-lang/sdk/issues/33842

Change-Id: I7038d93ccbb4a0a2fd1f95817c53bbf30f130477
Reviewed-on: https://dart-review.googlesource.com/65082
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-07-20 14:10:48 +00:00
Peter von der Ahé 0615b031b5 Debug abort without deprecation
Change-Id: Ia55f7c2ff302d5e58aaed110e5eb88cdffc7d1a9
Reviewed-on: https://dart-review.googlesource.com/63120
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-07-02 12:48:54 +00:00
Peter von der Ahé 69fcac56f4 Move compile_platform to entry_points
Change-Id: Ic24710de408d5033b39c0dec471c2effc56f8135
Reviewed-on: https://dart-review.googlesource.com/63104
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-06-29 11:15:20 +00:00
Peter von der Ahé 1e906c3f7e Add no-op entry point for IncrementalCompiler
Change-Id: Ibe1fef376d1576554b85a2debcde2c3b19c21d92
Reviewed-on: https://dart-review.googlesource.com/60425
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-06-15 09:59:54 +00:00
Kevin Millikin dfe6385eb0 Fix a Dart 2 runtime cast failure
We get a List<dynamic> from jsonDecode which cannot be cast to a
List<String>.

Change-Id: Ifd506a2ecdac2996dfe52d4f2e98c83f2cbbf421
Reviewed-on: https://dart-review.googlesource.com/60023
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2018-06-13 21:49:54 +00:00
Peter von der Ahé 6054cb3e1f CompilerContext always expects a Future now
This change is made because we were incorrectly calling
CompilerContext.clear *before* running the main compilation
task which is async.

Change-Id: I7181af33fe733e5bc653fa742b9e06782f4278d0
Reviewed-on: https://dart-review.googlesource.com/58201
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-06-06 09:35:31 +00:00
Sigmund Cherem 9b44fc39c8 Deprecate chaseDependencies option.
The option is not used by any client at this time and removing it simplifies the
next stack of changes I'll be making on how we compose file systems.

I also don't believe we will necessarily add this back as an option, but instead
it might be that clients requriing hermeticity will provide a custom file system
that helps with that.

Change-Id: I401efb042920d234382b6c041b13d40ffae5c908
Reviewed-on: https://dart-review.googlesource.com/56462
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-05-24 04:57:01 +00:00
Peter von der Ahé 43147be3d5 Improve handling and testing of additional targets
Change-Id: Ida6c403976c26331ebd31a3a7b500f9e3e40c487
Reviewed-on: https://dart-review.googlesource.com/54241
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-14 15:16:47 +00:00
Lasse R.H. Nielsen 973a1a0219 Remove uses of upper-case constants in remaining SDK code.
This includes Fasta, tools and observatory, so the checked-in SDK must
have the lower-case constants.

Change-Id: I8380ad041ad058f7d02ae19caccfecd434d13d75
Reviewed-on: https://dart-review.googlesource.com/50201
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-04-16 16:11:57 +00:00
Sigmund Cherem 07d2c9f287 Add server category for dart2js
Change-Id: I077da86aff4420aba1323e98d6cde08ac871f6f1
Reviewed-on: https://dart-review.googlesource.com/47721
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-03-23 00:40:55 +00:00
Peter von der Ahé e5c84938f2 Update names derived from Program
Change-Id: Ifdb072506fef909ccf5ad2e5270b1976ae61e3cc
Reviewed-on: https://dart-review.googlesource.com/31143
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-03-16 09:33:07 +00:00
Peter von der Ahé 4f2bdff90b Rename Program to Component
Change-Id: I1a3cc03fba9783807fa637a9d42fdbad68ee7686
Reviewed-on: https://dart-review.googlesource.com/31040
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-03-15 12:22:23 +00:00
Peter von der Ahé 52b66e17fe Make fasta command line work on Windows
Change-Id: I2c3f5fea5948074c9dee138c387065edbe08b644
Reviewed-on: https://dart-review.googlesource.com/45509
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-03-12 14:00:39 +00:00
Peter von der Ahé 992dbd122f Compile examples in messages.yaml.
Change-Id: I9790de51542547b4236956ed9642e565a036249c
Reviewed-on: https://dart-review.googlesource.com/44544
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-03-01 19:18:08 +00:00
Peter von der Ahé 3e61365696 Add --legacy-mode option.
This is a step towards removing the option --strong-mode because
it's supposed to be on by default.

Change-Id: I25da0038d12e359f9c628beb2f92293295f00185
Reviewed-on: https://dart-review.googlesource.com/39983
Reviewed-by: Jens Johansen <jensj@google.com>
2018-02-15 09:54:20 +00:00
Peter von der Ahé c580897aec Implement Fasta batch compiler to interface with test.dart
Change-Id: Ic946fe771350dcc792df944d4dae13a69b8c6cf1
Reviewed-on: https://dart-review.googlesource.com/36621
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2018-02-09 15:29:49 +00:00
Karl Klose 38c4eff017 Add dart2js target to fasta CLI
Change-Id: I28cbfcebb75f698493cba64d1dfa6484832ed70d
Reviewed-on: https://dart-review.googlesource.com/31300
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2017-12-22 12:13:52 +00:00
Peter von der Ahé 6a9d144dc4 Improve logged progress information
Change-Id: I07d45c0ca69a4dfe5f52f948d26c0d2297ad704a
Reviewed-on: https://dart-review.googlesource.com/27140
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2017-12-07 12:29:25 +00:00
Konstantin Shcheglov 49503ac2cc Start using Kernel metadata support in KernelDriver and Analyzer.
Use it to implement documentation comments for typedef(s).

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

Bug:
Change-Id: I6f67f1c0e6b6f383a96e6bf6eee17f4786bc5f99
Reviewed-on: https://dart-review.googlesource.com/12700
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2017-10-13 17:47:53 +00:00
Peter von der Ahé cefe4d5d65 Move compile_platform_test.dart to tool directory.
This also reverts "Move command_line.dart and most of compile_platform.dart into lib/"

This reverts commit 1916dc75e6.

Change-Id: I2598514c6bb62eec392bd00f20b15aac72b6fa42
Reviewed-on: https://dart-review.googlesource.com/9600
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2017-10-02 16:23:56 +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
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
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