Commit graph

61069 commits

Author SHA1 Message Date
Danny Tuppeny c76fa45178 Add an analysis server diagnostics page for LSP capabilities and completions
Change-Id: I97fff735dddf24da4da4769309198f82fba66578
Reviewed-on: https://dart-review.googlesource.com/c/88964
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-01-10 15:15:40 +00:00
Danny Tuppeny 4a80990758 Implement LSP textDocument/documentHighlight
Change-Id: Iaa63791192e274a7ef8f2f4095e2984b27d95e05
Reviewed-on: https://dart-review.googlesource.com/c/88962
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-01-10 15:02:11 +00:00
Danny Tuppeny 44449e29d2 Add a custom toJson snippet for LSP ResponseMessage for null handling
This adds some custom code for serialising ResponseMessage to ensure that only one of result or error are ever specified, as required by JSON RPC.

Change-Id: I2736b83755553a906264b1e5251d1a535dc289fb
Reviewed-on: https://dart-review.googlesource.com/c/88953
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-01-10 14:46:30 +00:00
Danny Tuppeny 7e0d65706f Include null in allowed types for any and prefer null to omitting values if allowed
Without this, some requests that don't return values (like shutdown) would omit the `result` field from the response and this wasn't strictly correct (and caused an issue in testing with the VIM plugin).

Change-Id: Id961135d326b997aea69e29d9d2a4a2c310fa60c
Reviewed-on: https://dart-review.googlesource.com/c/88839
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-10 14:46:30 +00:00
Dmitry Stefantsov 59b252fa0a [kernel] Add text serializer/deserializer for VariableGet
Change-Id: I884190dffbca5eb5181f21bc12972b375e31de65
Reviewed-on: https://dart-review.googlesource.com/c/88724
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2019-01-10 14:20:01 +00:00
Alexander Thomas 0bb0072f5f [infra] Add vm-kernel-precomp-android builder to the test matrix
Change-Id: Id80e9ef4ce94eb2e79ad215d401f7ee8a3c37cc3
Reviewed-on: https://dart-review.googlesource.com/c/88958
Reviewed-by: William Hesse <whesse@google.com>
2019-01-10 13:07:37 +00:00
Kevin Moore d908743de1 update_homebrew: initial cleanup
Before fixing https://github.com/dart-lang/homebrew-dart/issues/58

Change-Id: Id09065c9a732d0eb4268f2667ff1bfea635d0922
Reviewed-on: https://dart-review.googlesource.com/c/88900
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
Auto-Submit: Kevin Moore <kevmoo@google.com>
2019-01-10 13:05:58 +00:00
Jens Johansen e0ede8791f Fasta: Set fileEndOffset on Fields
Bug: #34742
Change-Id: Ia20acd0f30cbc64db875e756e1be7e053b9abf9b
Reviewed-on: https://dart-review.googlesource.com/c/88951
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-01-10 11:39:57 +00:00
Stevie Strickland fe079b31b0 [tools] Fix list of possible arguments for -a in --help.
Make sure the architectures listed by --help for the -a command
line option reflect all currently available architectures + 'all'.

Change-Id: I2759c7c7e846d38fce5afde1854bfd2db0dd8b70
Reviewed-on: https://dart-review.googlesource.com/c/88821
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Stevie Strickland <sstrickl@google.com>
2019-01-10 10:46:14 +00:00
Jens Johansen 705701951a Small cleanup in incremental compiler
Change-Id: I4ea16c95e6406b7bea73669d159c83c4c23b9802
Reviewed-on: https://dart-review.googlesource.com/c/88700
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2019-01-10 10:14:11 +00:00
Jens Johansen 05673b80fc Suggest uploading dill file when failing to initialize from dill
Change-Id: I5cbc9ef08581206035b6af3a4fa71d1b6b0bca98
Reviewed-on: https://dart-review.googlesource.com/c/88572
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2019-01-10 09:41:21 +00:00
Samir Jindel 457a7355f5 [vm] Use Util::Abs instead of std::abs.
Change-Id: I2872038ac21e5fb3a0dbe539ebe45b11ad233486
Reviewed-on: https://dart-review.googlesource.com/c/88944
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
Auto-Submit: Samir Jindel <sjindel@google.com>
2019-01-10 09:23:05 +00:00
Samir Jindel 89d3276703 Revert regexp_kill_test which is flaky on all platforms.
Change-Id: I87a70e787ff205f68dd13f51d2c0005b065f379e
Reviewed-on: https://dart-review.googlesource.com/c/88830
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2019-01-10 08:21:29 +00:00
Johnni Winther d00f1e7e8e Introduce kernel based impact builder
This is a step towards computing impact modularly without the need for a K-model.

Change-Id: Ie94ff7bc73b409acc99abe58b74502541ae5218f
Reviewed-on: https://dart-review.googlesource.com/c/88824
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-01-10 08:15:37 +00:00
Konstantin Shcheglov 0109e39ca4 Report INVALID_ASSIGNMENT for prefix/postfix increment decrement when the result is not assignable to the operand.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I83a732c039c1c83599c068a1944c5dd1040c3fd5
Reviewed-on: https://dart-review.googlesource.com/c/88880
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-10 05:51:15 +00:00
Peter von der Ahé e7495724b9 Remove TypeEnvironment.hierarchy
Change-Id: Ia32e2c0beb504e38f8dcb9bae33f4ee9f0e7daca
Reviewed-on: https://dart-review.googlesource.com/c/88825
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2019-01-10 05:21:24 +00:00
Peter von der Ahé 8e5ad9b3bd Prepare the VM for removing TypeEnvironment.hierarchy
Validating the class hierarchy requires subtype tests. Previously,
Fasta has worked around this by computing the hierarchy twice, as
well as visiting the hierarchy several times. In order to improve
performance of modular compilation, we're working on changing this.

To enable creating a TypeEnvironment without a hierarchy, we're
removing the field from the API.

Change-Id: I7c9f88d5c6495aaa8223eaeff7d2dfd5669e9e95
Reviewed-on: https://dart-review.googlesource.com/c/88823
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-01-10 05:21:24 +00:00
Peter von der Ahé 7ac495e02a Prepare DDC for removing TypeEnvironment.hierarchy
Validating the class hierarchy requires subtype tests. Previously,
Fasta has worked around this by computing the hierarchy twice, as
well as visiting the hierarchy several times. In order to improve
performance of modular compilation, we're working on changing this.

To enable creating a TypeEnvironment without a hierarchy, we're
removing the field from the API.

Change-Id: If1aa10598012e53455b92a63ebae12dbae316fc7
Reviewed-on: https://dart-review.googlesource.com/c/88822
Reviewed-by: Jenny Messerly <jmesserly@google.com>
2019-01-10 05:21:24 +00:00
Mike Fairhurst ca9ea997bd Fix old treatment of {}, enable set literals tests
Change-Id: Iec319cb735a3747e64561f3865cce2f08fb2be0f
Reviewed-on: https://dart-review.googlesource.com/c/88601
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-01-10 01:38:34 +00:00
William Hesse 7e3f4516b8 Allow crashes on fasta compiler co19_2 tests of Constant-update2018. Needed to turn ci bot green.
Change-Id: I23cc564c01af0620a96c72cec72fdb512d81febc
Reviewed-on: https://dart-review.googlesource.com/c/88921
Reviewed-by: William Hesse <whesse@google.com>
2019-01-10 01:17:42 +00:00
William Hesse 3c9e2cf8c9 Update front-end compiler status for co19_2 tests
Change-Id: I2b7aa2b4d1ccc8000e7c15bcd9df0fcef6ed6890
Reviewed-on: https://dart-review.googlesource.com/c/88920
Reviewed-by: William Hesse <whesse@google.com>
2019-01-10 01:07:08 +00:00
Ryan Macnak 8da53e3120 [vm] Add Dart_SaveTypeFeedback and Dart_LoadTypeFeedback.
Change-Id: I8c20271b20638972b28299f0488e7f3dd37f8797
Reviewed-on: https://dart-review.googlesource.com/c/88604
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2019-01-10 01:04:11 +00:00
Matthew Dempsky 9f2e614e98 [fuchsia] Just use dlopen like on other OSes
SEC-42

Change-Id: I8c0781614e6cd711424df7a3f69f2efacc9bf31b
Reviewed-on: https://dart-review.googlesource.com/c/87162
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Auto-Submit: Matthew Dempsky <mdempsky@google.com>
2019-01-10 00:10:10 +00:00
Stephen Adams 651d19cdaa Ignore --fast-startup flag, assume true
Change-Id: I7a41160bf7f5bb403177b19613de2889e0fa2b44
Reviewed-on: https://dart-review.googlesource.com/c/87424
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-01-09 21:22:57 +00:00
Brian Wilkerson aeb7fccd5b Fix plugin start up to work with OverlayResourceProvider
Change-Id: I9444f6787b9a549f112b997a6173abf12e6b110a
Reviewed-on: https://dart-review.googlesource.com/c/88860
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-01-09 20:10:31 +00:00
Samir Jindel 0b0704c7c4 [vm] Use std::abs instead of regular abs().
This fixes the 3H build.

Change-Id: Iea5256cfb40b58c81967e676414c52e004a08847
Reviewed-on: https://dart-review.googlesource.com/c/88842
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
Auto-Submit: Samir Jindel <sjindel@google.com>
2019-01-09 17:44:34 +00:00
Danny Tuppeny 36b5fe0c7a Track how many analysis server requests had latency info
This makes the latency numbers more accurate if they're not available for all requests and also doesn't show them if no requests had latency info (rather than showing average of 0ms).

Change-Id: I6db5543a782025a8133077b33f1228cce952b387
Reviewed-on: https://dart-review.googlesource.com/c/88802
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-09 17:41:49 +00:00
William Hesse cb966bdce7 Unify parsing of co19 test options and regular test options.
Keeps comment that many test options should not be used in co19 tests.

Change-Id: Iacdc6a8d240d8fd5d6ac87fc5a16ff38978d2040
Reviewed-on: https://dart-review.googlesource.com/c/88704
Reviewed-by: Alexander Thomas <athom@google.com>
2019-01-09 17:05:41 +00:00
Samir Jindel 927b0cb9ed [vm/aot] Support optimization of modulo against a power-of-two.
Improves MD5 performance on ARM32 by 15%, from 1.25s to 1.05s.

Cq-Include-Trybots: luci.dart.try:vm-kernel-optcounter-threshold-linux-release-x64-try, vm-kernel-precomp-linux-debug-x64-try, vm-kernel-precomp-linux-release-simarm-try, vm-kernel-precomp-linux-release-simarm64-try, vm-kernel-precomp-linux-release-x64-try, vm-kernel-precomp-mac-release-simarm64-try, vm-kernel-precomp-win-release-x64-try
Change-Id: Ia7a0614da662a80db051362fff7a4acacbc2455f
Reviewed-on: https://dart-review.googlesource.com/c/88723
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2019-01-09 16:26:35 +00:00
Danny Tuppeny bf13ac85c4 Ensure LSP server clears diagnostics for removed files/analysis roots
Change-Id: I5eaa4141da499c5193253440e6913a0eb92ed533
Reviewed-on: https://dart-review.googlesource.com/c/88836
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-09 16:17:12 +00:00
Danny Tuppeny 54fffe4cca Add support for LSP workspace/didChangeWorkspaceFolders
Change-Id: I55401d0abf65979fcd446b2ba1e8d9b6c09a42fc
Reviewed-on: https://dart-review.googlesource.com/c/88831
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-01-09 16:04:12 +00:00
Danny Tuppeny e7b783ba5d Fix bug with deprecated rootPath + add tests
Change-Id: I53d0a9b9a367839cc4ecf463017463f343947dfc
Reviewed-on: https://dart-review.googlesource.com/c/88826
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-09 16:04:12 +00:00
Danny Tuppeny ad300b904d Improve handling of server-specific analysis diagnostics pages
Change-Id: I0c133860d438ee848203a537eceb520595532a2c
Reviewed-on: https://dart-review.googlesource.com/c/88804
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-09 16:04:12 +00:00
Danny Tuppeny 1d096d8499 Enable the analyzer Diagnostics server for LSP
Change-Id: I3a555c301e8c09b1d8af8f952f9f65102961d3b7
Reviewed-on: https://dart-review.googlesource.com/c/88801
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-09 16:04:12 +00:00
Mouad Debbar 6bb1dcdfa4 Fix wording
The current wording seems to be saying the opposite of what it's supposed to.

Closes #35507
https://github.com/dart-lang/sdk/pull/35507

GitOrigin-RevId: cd1493d8bebf468459b3bd44544a24e18cda24cf
Change-Id: I200327ff152e23b56b11d0d503212926da3fe084
Reviewed-on: https://dart-review.googlesource.com/c/88123
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Michael Thomsen <mit@google.com>
2019-01-09 15:41:31 +00:00
Martin Kustermann e749576caa [VM/Compiler/AOT] Do not populate unused arguments descriptor in bare instructions mode
This saves around 1.5% RX on gallery in dart-aot (profile) mode when using bare instructions.

Issue https://github.com/dart-lang/sdk/issues/33274

Change-Id: I6b72e5d9ee9e3785d9adb46a7fc542f80a07f8ba
Reviewed-on: https://dart-review.googlesource.com/c/88449
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2019-01-09 14:28:42 +00:00
Peter von der Ahé a1250467fe Move member conflict detection to own method
Change-Id: I73ea21e502b5669c51fb32d0c44474938135e4c5
Reviewed-on: https://dart-review.googlesource.com/c/88716
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-01-09 13:46:25 +00:00
Erik Ernst f4986cc78d Fixed a couple of typos, including LaTeX error
Change-Id: I5a50f7d27dfa9642af7249ae368f7e94c960ddd0
Reviewed-on: https://dart-review.googlesource.com/c/88829
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2019-01-09 13:19:43 +00:00
Lasse R.H. Nielsen 68f77faa96 Specify that extending or implementing Function does nothing.
Change-Id: I0008f74c75da28fbf38a959e2925b72dd1dfd38f
Reviewed-on: https://dart-review.googlesource.com/c/88563
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2019-01-09 12:19:26 +00:00
Aske Simon Christensen 0f1b9439b5 Use 'no-' prefix to disable an experiment.
Change-Id: I597a98802f6900d57ed4583c35b20790738e2f3a
Reviewed-on: https://dart-review.googlesource.com/c/88712
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2019-01-09 11:44:48 +00:00
Peter von der Ahé de85d1661a Implement DillClass.supertype
Change-Id: I58c048a6595a2b65a7f2c239ae2bc1e6d8aab2a4
Reviewed-on: https://dart-review.googlesource.com/c/88715
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2019-01-09 11:33:16 +00:00
Johnni Winther 2bc015b03a Remove dependency on TypeEnvironment.hierarchy
Change-Id: Ibc675aa37bf1d5f90640b41471d094025ae3da86
Reviewed-on: https://dart-review.googlesource.com/c/88805
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Auto-Submit: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2019-01-09 11:21:36 +00:00
Peter von der Ahé 7ba199794d Save transient state
Change-Id: I1c2405b1237b6017a92b789452671938e0c25705
Reviewed-on: https://dart-review.googlesource.com/c/88448
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2019-01-09 10:48:06 +00:00
Peter von der Ahé 2bb2f5e834 Simplify ClassHierarchyBuilder.getNode
Change-Id: I2ca5197f6f69cf92641493ec865ccfe0bc716a15
Reviewed-on: https://dart-review.googlesource.com/c/88324
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-01-09 10:48:06 +00:00
Peter von der Ahé 34afa499a1 Merge interfaces only when necessary
Change-Id: I3d6f709df3e262447150abd84c30ef5a58a7a1d8
Reviewed-on: https://dart-review.googlesource.com/c/88323
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-01-09 10:48:06 +00:00
Peter von der Ahé 1dc920e0d7 Change names to reflect merge isn't used only for superclasses
Change-Id: I06a6fb3272e394ba2c7915f457c4c3ebf7d21d07
Reviewed-on: https://dart-review.googlesource.com/c/87966
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-01-09 10:48:06 +00:00
Peter von der Ahé 50ea6344f5 Use TypeEnvironment.getTypeAsInstanceOf instead of ClassHierarchy
Change-Id: I1682baeb336b8be3cb6c5874715ef8ba730561e0
Reviewed-on: https://dart-review.googlesource.com/c/88803
Commit-Queue: Peter von der Ahé <ahe@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Auto-Submit: Peter von der Ahé <ahe@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2019-01-09 10:08:03 +00:00
Martin Kustermann d21b852b02 Extend bare to have coverage across all AOT configurations
Change-Id: I6a0aa22dbdca9daf85c879defa64859441f35e31
Reviewed-on: https://dart-review.googlesource.com/c/88713
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2019-01-09 09:53:41 +00:00
Kevin Millikin a7b23e1cb5 [Kernel] Add text serializers for some invocations
Add serializers for instance getters, setters, and methods and for
super getters, setters, and methods.  This requires also serializing
Arguments.

Change-Id: I36d36892bf896cd12b48f9e77395c0584daf47f1
Reviewed-on: https://dart-review.googlesource.com/c/88710
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Daniel Hillerström <hillerstrom@google.com>
2019-01-09 09:43:31 +00:00
Peter von der Ahé e7c808f910 Remove unused methods
Change-Id: I782700f972b846ec0d86b671c0c9b097ca73495d
Reviewed-on: https://dart-review.googlesource.com/c/88800
Commit-Queue: Peter von der Ahé <ahe@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Auto-Submit: Peter von der Ahé <ahe@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2019-01-09 09:40:51 +00:00