New in this update:
```
git log --oneline --no-decorate 9f00679ef47bc79cadc18e143720ade6c06c0100..980fc947db32bca6ae7d07fbb4ad0fcdba0050ec
980fc947 Add support for global activating package from a custom pub URL (#2041)
605cafb1 "features" is not a completely implemented or documented – hide flags (#2045)
73b66cd3 Merge pull request #2035 from sigurdm/logout_command
2b03587d dartfmt again
ea805dfb Fix help-expectation
6f759c1f gitfmt
90079421 deps: move package_resolver to a dev dependency
297f017a enable and fix a number of lints
f70ee39b Update to latest dependencies, require dart 2.1, fix lints
3446fb0d Add logout command
283471e7 Merge pull request #2016 from RedBrogdon/changelog
4c00f413 Update/add www.dartlang.org URLs (#2021)
f7b147f9 Correcting nerfed changelog test.
b9308223 Edited warning messages, addressed review issues.
9e9c8ed7 Fixed race conditions in test case. (#2020)
ec972168 Removed references to gitsubmodules (#2019)
ac8ad792 Copyright dates.
f9d35d34 Formatted via dartfmt.
a3351369 Adding ChangelogValidator to the list of validators.
a826b121 Adds changelog validator and its tests.
2233e3d5 Update the required pkg:http (#1996)
75d8453a Update all of the obvious dependencies
d07dafa5 Fix unnecessary `this` lints
43a91d12 Update to latest build_runner (#1966)
b3a2cfb7 Add check for a scheme on PUB_HOSTED_URL (#1972)
6626bda3 Update tests for SDK constraint validation (#1968)
```
Change-Id: Ib7c5ec86e5a6d67094b8e70a32ff41efe571c074
Reviewed-on: https://dart-review.googlesource.com/c/94380
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
The large application is from an internal customer.
Change-Id: I670180a85ca402a34f99493d05de0124f8f89701
Reviewed-on: https://dart-review.googlesource.com/c/94296
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
This CL is using an approach that does not rely on program
transformations (based on the idea in CL 50221 from Lasse).
I have taken the approach to make `constant list literal`, `constant
object expression` the higher level concepts, and define the notion of
a `constant context` in terms of the syntax (so it requires an actual
`\CONST{}` or a switch case in the enclosing syntax).
Doing this work, I encountered the section about postfix expressions,
and (like several times before), I noted that there was no
specification of the static analysis at all. So I cleaned up that
section, at the time where I needed to edit it already, because of
the new `constructorInvocation` syntax.
If that is helpful, I could split this CL into a pure "implicit
creation" CL and another "fix up postfix expressions" CL.
Change-Id: I669ce942f698ca2fbb47ea60c58f4f05304ae66d
Reviewed-on: https://dart-review.googlesource.com/c/93432
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Change-Id: I671d949d8a8c6f9c17ef022fd389dcde1769bf6f
Reviewed-on: https://dart-review.googlesource.com/c/94289
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
Change-Id: Ifd75fb445b2b8a02c61a555435a9c6656727241e
Reviewed-on: https://dart-review.googlesource.com/c/94226
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
This fixes a mistake where enum classes were resolved to their base types (string, num) before being output in canParse methods of their containing class. This meant for "restricted" enum types (those that should not allow any value), canParse would incorrectly return true for out-of-bound values as long as they were the correct type.
Change-Id: I44e37a60b49287cf7202d5a578ee9c08cf898078
Reviewed-on: https://dart-review.googlesource.com/c/94280
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
This (hopefully) unblocks the Dart SDK roll into Flutter.
Change-Id: I5616fb2ace879f3a0c4532706d472f2cb488267d
Reviewed-on: https://dart-review.googlesource.com/c/94347
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
Rationale:
Make sure open range is closed when skipping
special cids. This bug was probably undetected
for a while, since only kByteBufferCid is adjacent
to kNullCid.
https://github.com/flutter/flutter/issues/28260
Change-Id: Ic22c83aeb26c3130132dc901004a0ad818246dbc
Reviewed-on: https://dart-review.googlesource.com/c/93926
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Helps to reveal more struction in the dominator tree that is normally lost from cross links added by call sites, allocation sites, inlining, etc.
Change-Id: Ib59350f9926324e6c53333388709ce4964c3f88b
Reviewed-on: https://dart-review.googlesource.com/c/94300
Reviewed-by: Aart Bik <ajcbik@google.com>
We only provide fixes/refactors/assists to clients that support returning literal CodeActions (not just Commands). CodeActions allow us to return a WorkspaceEdit directly without having to encode the action into a command/argument set that is tround-tripped to the client. Supporting CodeActions on the client is relatively straight forward (since it just removes a round-trip and applies the edit directly).
Change-Id: I7f5a8c22e66ac23bcde6d5782bc2eaa6aeb283da
Reviewed-on: https://dart-review.googlesource.com/c/94221
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
When the server fails to start up (writing to stderr) the tests currently would just hang waiting for responses to messages. This will just throw the message as an exception, failing the test with a more useful message, for example:
```
00:07 +0 -1: ServerTest | test_exit_afterShutdown [E]
Analysis Server wrote to stderr:
file:///Users/dantup/Dev/Google/dart-sdk/sdk/third_party/pkg/linter/lib/src/analyzer.dart:106:27: Error: The method 'registerDefault' isn't defined for the class 'Registry'.
- 'Registry' is from 'package:analyzer/src/lint/registry.dart' ('file:///Users/dantup/Dev/Google/dart-sdk/sdk/pkg/analyzer/lib/src/lint/registry.dart').
Try correcting the name to the name of an existing method, or defining a method named 'registerDefault'.
Registry.ruleRegistry.registerDefault(lint);
^^^^^^^^^^^^^^^
```
Change-Id: If64b68b17a0d379f8879891f0346704d4ad360e8
Remove unused imports
Change-Id: I745499f7b038c81320c127410967d939c7756e51
Reviewed-on: https://dart-review.googlesource.com/c/94222
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
Otherwise we'll need to increase the timeout to account for server startup (which will mask if the exit really is taking a longer time than it should).
Change-Id: I5c770efa62dc2a66946fd7a6c07665d3f1b80ee4
Reviewed-on: https://dart-review.googlesource.com/c/94260
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
Previously we assumed enum classes could only be the values specified in the spec, but this was not correct - newer clients may know about values that we did not know about at the time we shipped(/last regenerated).
This makes the default for an enum class to support any class (avoiding deserialisation failures when new clients send newer values), and opts-out for those where the spec is explicit that the value set is fixed.
Also opened https://github.com/Microsoft/language-server-protocol/issues/686 for clarification that these "fixed set" values are explicitly intended to never be extended, or whether this is accidental.
Change-Id: I6243fc91c14ec0fa5622d3f6f29bf77cadf7da64
Reviewed-on: https://dart-review.googlesource.com/c/94220
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
Having a block as body instead of a list of expressions simplifies
code handling block expressions. Since it is always a block, it can
be left untagged in the serialized representation so the serialized
representation is not changed with this change.
Change-Id: I3c34f663041ff8cb4a530c2d6a148343e59c68fe
Reviewed-on: https://dart-review.googlesource.com/c/94223
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Auto-Submit: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Change-Id: I1bcebc66cbf4d3cb749fdc4cec382d936d4107ca
Reviewed-on: https://dart-review.googlesource.com/c/94212
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
This tests we can spawn the diagnostic server on-demand. The test was previously marked failing because it needed to be a real inrtegration test.
Change-Id: I52638682d7fb1807584601f7ff933f30b1bd6d70
Reviewed-on: https://dart-review.googlesource.com/c/93949
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
This adds a new server state "shutting down" which rejects requests. The LSP spec says clients should send the shutdown notification, then the exit notification. If an exit notification is received without a shutdown, then the exit code is set to 1.
Change-Id: I50aa186d699a646ee1422f5b3ddaae4bc089b632
Reviewed-on: https://dart-review.googlesource.com/c/93952
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
Change-Id: I558c7c6d69b0ac026abf32775bdf7c25aae401be
Reviewed-on: https://dart-review.googlesource.com/c/94205
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
The step "find latest build" moved inside a nested step, so the path to its output log changed.
Change-Id: Iedbadc6abe4cdd35356253efe6a1df7b3ae4fc05
Reviewed-on: https://dart-review.googlesource.com/c/94180
Auto-Submit: William Hesse <whesse@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
This change fixes null checks in case of missing CodeSourceMap,
which happens when --dwarf_stack_traces is used.
Issue: https://github.com/dart-lang/sdk/issues/35851
Change-Id: I7d79533cc42c988618e2efe988f530d169d9aec1
Reviewed-on: https://dart-review.googlesource.com/c/93989
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
See #35908.
Change-Id: Icbbb28920447362407e53c45b816474d1ab9e280
Reviewed-on: https://dart-review.googlesource.com/c/94021
Commit-Queue: Paul Berry <paulberry@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
* no longer narrow by selector use, only narrow by type and non-null
* check for narrow nesting
* add non-null in a couple known places
One large apps, I compared the type-masks in dump-info and all differences were improvements with non-null. We weren't doing any narrowing based on the possible targets of a selector.
Change-Id: I270f360f70fbe3171d09ccd71d10517be9140194
Reviewed-on: https://dart-review.googlesource.com/c/90340
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
This is a reland of 027b76ecbf
Original change's description:
> Eliminate singleton/static access to the constant system and expose its
> functionality at the top level.
>
> Use sites have been updated to import the library with a prefix.
>
> Change-Id: I0f5e4e47bec089d2d0dc2fcd50caccfd98947cf5
> Reviewed-on: https://dart-review.googlesource.com/c/93842
> Reviewed-by: Sigmund Cherem <sigmund@google.com>
> Reviewed-by: Johnni Winther <johnniwinther@google.com>
Change-Id: Ib04a9d48c8dca51020258313256e0fb0df330d9b
Reviewed-on: https://dart-review.googlesource.com/c/94107
Reviewed-by: Sigmund Cherem <sigmund@google.com>
This is a reland of cf51eb2fba
Original change's description:
> Merge the JavaScript constant system into the base constant system and
> flatten the inheritance hierarchy.
>
> dart2js only needs one constant system at most.
>
> Change-Id: I72e446652ea44298677e986b06e63152e381353b
> Reviewed-on: https://dart-review.googlesource.com/c/93880
> Reviewed-by: Sigmund Cherem <sigmund@google.com>
> Reviewed-by: Johnni Winther <johnniwinther@google.com>
Change-Id: I83960035a7b0989397f9646f2f834ec468aa4908
Reviewed-on: https://dart-review.googlesource.com/c/94106
Reviewed-by: Sigmund Cherem <sigmund@google.com>
This is a reland of 1702b986c8
Original change's description:
> Move the JavaScript constant system into constants/constant_system.dart
> in preparation to merge it with the base constant system and flatten the
> constant system hierarchy.
>
> Change-Id: I6ef27b210515140d4516336fea015f74c8a0cd6a
> Reviewed-on: https://dart-review.googlesource.com/c/93840
> Reviewed-by: Sigmund Cherem <sigmund@google.com>
> Reviewed-by: Johnni Winther <johnniwinther@google.com>
Change-Id: I20ef9755886a6b54135aa7169c9d7de08e8cbe93
Reviewed-on: https://dart-review.googlesource.com/c/94105
Reviewed-by: Sigmund Cherem <sigmund@google.com>
This is a reland of 5af8de8954
Original change's description:
> Remove the Dart constant system and move all required classes into the
> JavaScript constant system.
>
> Change-Id: I2a31ea743270459284c42b615b0dffd1c7aa2584
> Reviewed-on: https://dart-review.googlesource.com/c/93746
> Reviewed-by: Sigmund Cherem <sigmund@google.com>
> Reviewed-by: Johnni Winther <johnniwinther@google.com>
Change-Id: I8c8399e94dd80c1f543a54454efc9cf59ef6ac7b
Reviewed-on: https://dart-review.googlesource.com/c/94104
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Did a couple of sweeps to discover which parts of the code will be "safe" to remove when we commit to the change (but this is incomplete).
Note: these changes don't contain some backend const checks.
experimental flag: constant-update-2018
Change-Id: Ibe1e0bc530db21dac1d678f02610cc0070340776
Reviewed-on: https://dart-review.googlesource.com/c/93720
Commit-Queue: Mark Zhou <markzipan@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>