Commit Graph

56224 Commits

Author SHA1 Message Date
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
Konstantin Shcheglov ea1d1d7621 Support for extracting methods with parameters.
R=brianwilkerson@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/1250
Change-Id: I906e14feba246a7704fbbcdaa358730be5916a47
Reviewed-on: https://dart-review.googlesource.com/47945
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-03-23 00:26:45 +00:00
Brian Wilkerson be867d5fa4 Update analyzer_plugin to be Dart 2 safe
Change-Id: I0fb4f7274deb92c47518594a1bbcfc39dca5aeff
Reviewed-on: https://dart-review.googlesource.com/47942
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-03-23 00:19:45 +00:00
Sigmund Cherem b66971a45d Fix config specific imports to dart.io and dart.mirrors in dart2js
This uses the environment_overrides section that I'm adding to the libraries
specification files.

Change-Id: I95c175533f21320dd44eab9988afe2644ed0c9d3
Reviewed-on: https://dart-review.googlesource.com/47406
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-03-23 00:02:54 +00:00
Sigmund Cherem 81d1f20943 Copy libraries.json to the generated SDK
Change-Id: Iea4636d150dcf6023c9b5cc59646f10e518bfc04
Reviewed-on: https://dart-review.googlesource.com/48025
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-03-22 23:07:55 +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
Sigmund Cherem 898260a998 Split dependency on dart:html from dart:js
This change is needed to be able to introduce a new platform "dart2js_server"
that represents compiling to dart2js for non-browser targets (like nodejs). Some
users (like Dart Sass) depend on this feature.

The old front-end made this work by using "--categories=all", this change should
make it possible to compile with "--categories=Server".

Change-Id: I41bf25ab19016154206c419a48884bdc4afbd444
Reviewed-on: https://dart-review.googlesource.com/47700
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-03-22 22:15:05 +00:00
Sigmund Cherem ef919c5eb3 fix commit queue: update nSM test expectation on ddc too.
TBR=sjindel@google.com

Change-Id: Ia6cf344d1071b5c70979605df45f7c21974ad7b7
Reviewed-on: https://dart-review.googlesource.com/48022
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-22 21:51:00 +00:00
Samir Jindel d014fce4de Update dartkp NSM expectations.
Change-Id: I28cc42a05b25e25184cf4fda1742c016179ac9ef
Reviewed-on: https://dart-review.googlesource.com/47962
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-03-22 20:26:43 +00:00
Konstantin Shcheglov 6bd38cc912 Analysis Server API for 'Extract Widget' refactoring.
R=brianwilkerson@google.com

Change-Id: Ie6b7c349d304785ab6829770ebd3504c0affe8df
Reviewed-on: https://dart-review.googlesource.com/47943
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-03-22 20:25:29 +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
Samir Jindel 790b7b98fb [kernel] Update more NSM expectations.
Change-Id: I016098763f40b4d5286264a6de9241e3fb11a30d
Reviewed-on: https://dart-review.googlesource.com/47961
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-22 19:54:59 +00:00
Konstantin Shcheglov 696be0ae46 Initial support for extracting methods.
No support for method arguments and multiple invocations yet.

R=brianwilkerson@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/1250
Change-Id: I11b817676e254b2a456d97d60d2ab45893a65e68
Reviewed-on: https://dart-review.googlesource.com/47940
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-03-22 19:51:58 +00:00
Samir Jindel 8d669c9d4e [kernel] Update NSM-forwarding test expectations.
Change-Id: Ib212a109a8115e2e387526f61c07840be5c35b76
Reviewed-on: https://dart-review.googlesource.com/47960
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-22 19:49:09 +00:00
Ben Konyi edf039d510 [ VM / Dart 2 ] Made StackMapGC test strong-mode clean. Fixes part of 32190.
Change-Id: I09d519a950c1e3c825c89a1f5e22292cedc6c14a
Reviewed-on: https://dart-review.googlesource.com/47941
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2018-03-22 19:36:04 +00:00
Ryan Macnak 77239ee1db [fuchsia] Replace use of deprecated fdio_get_vmo with fdio_get_vmo_clone.
Change-Id: I8961ed49c6e9269c3cb8699037717d7007e630a8
Reviewed-on: https://dart-review.googlesource.com/47905
Reviewed-by: Zach Anderson <zra@google.com>
2018-03-22 19:26:08 +00:00
Samir Jindel 95e9e890a9 [kernel/vm] Implement NSM-forwarding in the VM.
Change-Id: I43ce98235a7fdb43f99f433ef8dd10a6ed08fbbb
Reviewed-on: https://dart-review.googlesource.com/47621
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-03-22 19:14:04 +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
Janice Collins cd03f35a0b Prepare for analyzer 0.31.2-alpha.1, front_end 0.1.0-alpha.11, and kernel 0.3.0-alpha.11.
This CL looks a little weird because a previous CL,
https://dart-review.googlesource.com/46126 partially updated
the yaml files but the packages were never published.

Bug: dartbug.com/32509
Change-Id: I2ab19b6165fcd9d748defb6eeeb5efff2925df6c
Reviewed-on: https://dart-review.googlesource.com/47904
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Janice Collins <jcollins@google.com>
2018-03-22 18:25:54 +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
Konstantin Shcheglov 1caf7b7ecd Revert "Create new AnalysisSession instance on changes."
This reverts commit 8eb9f3db80.

New sessions, and corresponding InconsistentAnalysisException, cause
breakages in dartwing and pageloader3.

I plan restoring this in a week from now.

R=brianwilkerson@google.com

Change-Id: I88cbb0b6a50138fabed6798aa844c29f0e2a7b24
Reviewed-on: https://dart-review.googlesource.com/47901
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-03-22 17:58:19 +00:00
Konstantin Shcheglov c90ca298ed Provide a message for InconsistentAnalysisException.
R=brianwilkerson@google.com

Change-Id: I1498c70c1c9d7cd43760ca2c620a3fb819a0c823
Reviewed-on: https://dart-review.googlesource.com/47903
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-03-22 17:54:59 +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
Brian Wilkerson 26c06cdd82 Clean up Dart 2 type issues related to YAML support
Change-Id: Ic29054afca9773286aa899eecede287f7ecbca9a
Reviewed-on: https://dart-review.googlesource.com/47680
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-03-22 17:06:40 +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
Brian Wilkerson 014bd821e6 Retry when fixes cannot be computed because of an inconsistent session (issue 32635)
Change-Id: I47df681dd16faa509d20440d90af0f35b158c299
Reviewed-on: https://dart-review.googlesource.com/47900
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-03-22 16:41:17 +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
Brian Wilkerson dc5a8b2e91 Improve the fix to add an explicit cast
Change-Id: I748bd56265ea3072a3b7ed49fa77f6a9e91c3093
Reviewed-on: https://dart-review.googlesource.com/47242
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-03-22 15:27:27 +00:00
Dmitry Stefantsov c7cdb72f32 Move CloneWithoutBody to Kernel API
Change-Id: I21be996293af74bbaf96913d6f345cef28975a4c
Reviewed-on: https://dart-review.googlesource.com/47840
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2018-03-22 14:25:52 +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
Terry Lucas 17a778c9cb Changed AudioScheduledSourceNode.start to start2.
Fixes https://github.com/dart-lang/sdk/issues/32624

TBR=kevmoo@google.com

Change-Id: Ied9494a4b9695ae08ff2ef63c43759ea7951e9fa
Reviewed-on: https://dart-review.googlesource.com/47760
Reviewed-by: Terry Lucas <terry@google.com>
Commit-Queue: Terry Lucas <terry@google.com>
2018-03-22 13:18:37 +00:00
Samir Jindel ae9b76dba6 [kernel] Add flag for NSM-forwarding stubs.
Change-Id: Ib99103142643d98c02e30943184e2a75f0a1eeef
Reviewed-on: https://dart-review.googlesource.com/47620
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2018-03-22 11:53:27 +00:00
Vyacheslav Egorov 691bb9b299 [vm/compiler] Add a comment about MakeTemporary limitation.
You can't use it in a way that would require Phi in the SSA form
because SSA construction does not support generating phi-functions
for the expression stack.

Change-Id: I57a029412cbdd796ecfd3cdbd0ec68e0dbca2356
Reviewed-on: https://dart-review.googlesource.com/47740
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-03-22 10:04:33 +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
Peter von der Ahé b4206bb92c Remove dartk
Change-Id: Iac6cea06fd5ec6b37ded21943f59013c94d0d16f
Reviewed-on: https://dart-review.googlesource.com/47440
Reviewed-by: Jens Johansen <jensj@google.com>
2018-03-22 08:58:59 +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 2e366e8c9a [fasta] Refactor incremental_load_from_dill_test
Split into 2:
- One with a "smoke-test" of dart2js.
- One with several small examples that has caused problems in the past.

The latter of the two is now based on package:testing and the test-cases
are saved as yaml files.

Change-Id: I8b588e9b42edc73f58a07292a1226e37cc458d89
Reviewed-on: https://dart-review.googlesource.com/45505
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
Jens Johansen 83c0a75564 [fasta] Add failing test to incremental compiler test suite
This CL adds a test, where compiling without initializing from a dill
file and compiling with initializing from a dill file produces different
results in non-strong mode.

In the test the result is either
`method foo(tes2::B<dynamic> cls) → void {}`
or
`method foo(tes2::B<core::String> cls) → void {}`

Change-Id: I6fed33ba92c933c3cd17e292e2ade348357c3689
Reviewed-on: https://dart-review.googlesource.com/45500
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-03-22 08:20:56 +00:00
Ben Konyi 3a81263fee [ VM / Dart 2] Split DartAPI_PropagateError into DartAPI_PropagateError and DartAPI_PropagateCompileError since the compile time error from the missing semicolon prevented the code from being executed in Dart 2.
Change-Id: Iee9344e9246ce07a04cc99b57df31aff14f30458
Reviewed-on: https://dart-review.googlesource.com/47301
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2018-03-22 05:17:56 +00:00
Kevin Moore 4905a2da7c Fix pub issues links from bde48c67ec
Change-Id: Id28c8d57c9cede6780e3f83ad4a05e32dfcb3e33
Reviewed-on: https://dart-review.googlesource.com/47722
Reviewed-by: Kevin Moore <kevmoo@google.com>
2018-03-22 01:12:12 +00:00
Kevin Moore bde48c67ec Update pub dependency
Closes https://github.com/dart-lang/sdk/issues/32622

Change-Id: I5677acf9f069d4786544dfa6b3cd2a05af77e7b2
Reviewed-on: https://dart-review.googlesource.com/47682
Reviewed-by: Natalie Weizenbaum <nweiz@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
2018-03-22 00:54:36 +00:00
Kevin Moore 95089a2eeb cleanup CHANGELOG for -dev.39 and -dev.40
Change-Id: Id9c52edb419fdbf3dfdbfdc34e5df1759c4a84a6
Reviewed-on: https://dart-review.googlesource.com/47681
Reviewed-by: William Hesse <whesse@google.com>
2018-03-22 00:12:10 +00:00
Ben Konyi 068be3b656 [ VM / Dart 2 ] Fixed issue where TokenPosition::kNoSource was being registered as the position of native methods. Fixes DartAPI_CurrentStackTraceInfo
Change-Id: Ieae720357d1830c277f3e182f07afdfaa7a94e91
Reviewed-on: https://dart-review.googlesource.com/47665
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2018-03-22 00:05:56 +00:00
Konstantin Shcheglov 5430010395 Use writeFieldDeclaration() and writeFunctionDeclaration() to write extracted widget.
R=brianwilkerson@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/1250
Change-Id: Ib0fad02ab4bae6681182101a15600096615f0e98
Reviewed-on: https://dart-review.googlesource.com/47663
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-03-21 22:58:44 +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
Sigmund Cherem 36d4fd37a7 Mark test as flaky
TBR=efortuna@google.com

Change-Id: I21cb2604991f779166603b24ea221fc54226dfeb
Reviewed-on: https://dart-review.googlesource.com/47664
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-03-21 21:53:06 +00:00