Commit graph

60627 commits

Author SHA1 Message Date
Paul Berry 4d8e48c339 Fix probot configuration to point to the "needs-info" label.
This should cause issues tagged with "needs-info" to be automatically
closed if the original issue author doesn't respond within 21 days.  I
believe this was Devon's intent in
16e721573c, but due to a typo it had no
effect (the "need-info" label is not used).

After landing this CL I will remove the "need-info" label and update
https://github.com/dart-lang/sdk/wiki/How-the-issue-tracker-works#other-labels
accordingly.

Change-Id: I613d29aca47be6e4c03a90e526b710d3c5dca847
Reviewed-on: https://dart-review.googlesource.com/c/87483
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-12-20 21:26:57 +00:00
Dan Rubel 096e734b05 Replace //@NNBD with @pragma(analyzer:non-nullable*)
Change-Id: I90a8a23601c7939e400ecadd5f14ac0b4caf2e39
Reviewed-on: https://dart-review.googlesource.com/c/87881
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-12-20 21:13:37 +00:00
Dan Rubel a80d93c81f Add global analyzer non-nullable flag
... and plumb that flag through to the AstBuilder.

In addition, remove parser.parseSetLiterals flag in favor of enableSetLiterals
and update callsites

Change-Id: I10dcac0b3df3d0888844e4bf56977c80e03d6334
Reviewed-on: https://dart-review.googlesource.com/c/87880
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-12-20 21:06:17 +00:00
Alexander Markov 6d8d57c967 [vm/kernel] Cleanup use of legacyMode in pkg/vm/test
When default mode of TypeEnvironment was flipped in
https://dart.googlesource.com/sdk/+/e45e33454874d5751fadc0ea15d8141165e24587,
the test was updated to use legacy mode explicitly.

However, the test needs a default mode of TypeEnvironment (whatever it is)
and not legacy mode, so reverting it back to use default.

Change-Id: Iec0c42588cf6a2083d395a8bdc95982aab2b0da1
Reviewed-on: https://dart-review.googlesource.com/c/87900
Commit-Queue: Alexander Aprelev <aam@google.com>
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2018-12-20 20:16:45 +00:00
Johnni Winther 5fdab895a2 Use static types in inferrer
Change-Id: I284ca47dbaab452bd67c688b461fcbbe9a69e751
Reviewed-on: https://dart-review.googlesource.com/c/87402
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-12-20 19:23:52 +00:00
Aart Bik aec0aab155 [vm/compiler] Detect proper induction bounds
Rationale:
Finds general bounds on an induction variable by
looking at loop exits that use strict comparisons.
An intended client is bounds-check-elimination (AOT).


Change-Id: Icfd6481aad9669c15b78630e4322667cfce7c1ef
Reviewed-on: https://dart-review.googlesource.com/c/87485
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-12-20 18:49:30 +00:00
Danny Tuppeny 44a492f351 Send errors to LSP clients that request unsupported encodings
Change-Id: I25e70e92d12cdf1f5d34033264e0f027217d7c10
Reviewed-on: https://dart-review.googlesource.com/c/87780
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-20 18:08:14 +00:00
Peter von der Ahé f01449e082 Add main method to rasta/issue_000035{,a} test cases
Change-Id: Id8e93459937616bd7bd31890f4ce537a14fa0a08
Reviewed-on: https://dart-review.googlesource.com/c/87589
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-12-20 18:06:34 +00:00
Peter von der Ahé bbeee457e3 Add message parameter key for names
Change-Id: I1a01b3cc1bb3c9bc8da502f3b00db4d38fa9ee8b
Reviewed-on: https://dart-review.googlesource.com/c/87587
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-12-20 18:06:34 +00:00
Peter von der Ahé b195d435f3 Remove FieldBuilder.hasTypeInferredFromInitializer
Change-Id: I912dd23c6b61a4cefb5cf1aee6860a8813c1c758
Reviewed-on: https://dart-review.googlesource.com/c/86427
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-12-20 18:06:34 +00:00
Peter von der Ahé e45e334548 Rename strong mode to legacy mode in package:kernel
Change-Id: Ia4a8a9cac7817a8db5771ec82541b556c705f7c8
Reviewed-on: https://dart-review.googlesource.com/c/86353
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-12-20 18:06:34 +00:00
Danny Tuppeny 2b766eef7e Don't try to access refactor result if it may be null due to being cancelled
checkForReset throws if the refactoring has been cancelled while we were `await`ing, however this line of code in between will crash if that's the case. Moving this check up appears to resolve the issue.

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

Change-Id: Ia98daf87062a7084de8810b5fc3783bdf81d7064
Bug: https://github.com/dart-lang/sdk/issues/33578
Reviewed-on: https://dart-review.googlesource.com/c/87842
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-12-20 17:37:38 +00:00
Danny Tuppeny 7280ca87a0 LSP requests must always be responded to, even if optional
Change-Id: Ieb3314028436a566c5fe4c2786c6b9196a03e26a
Reviewed-on: https://dart-review.googlesource.com/c/87800
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-12-20 17:36:58 +00:00
Kevin Millikin 9d77f18784 [Kernel] Serialize logical expressions
Use the operator string as the tag.  This requires us to be able to
serialize a sequence of (two) things.  Homogeneous lists don't give us
static typing so we introduce a pair class.

This requires allocating a pair (serializing a list would require
allocating a list anyway).  When we start generating and optimizing
the combinator applications we expect to eliminate the pair allocation
overhead.

Change-Id: I5a00c6973b9065ac8a91f1a69b52d97554f1e823
Reviewed-on: https://dart-review.googlesource.com/c/87840
Reviewed-by: Daniel Hillerström <hillerstrom@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2018-12-20 15:24:15 +00:00
Sergey G. Grekhov 1172c36c87 [co19] DEPS updated
Change-Id: Ia5d4bade61125f1726dd4be4c2a38de6d545d16f
Reviewed-on: https://dart-review.googlesource.com/c/87560
Reviewed-by: Alexander Thomas <athom@google.com>
2018-12-20 13:56:11 +00:00
Kevin Millikin 091e38afcb [Kernel] Implement more text serialization
Begin serializing expressions.  Fairly quickly you encounter the cyclic
dependency between class Expression and any subclass that contains
nested expressions.  It isn't possible to implement this with immutable
values in Dart.

A quick solution is to break the cycle somewhere.  Here, the cycle is
broken by late initialization of the serializer for Expression.
Serializers are still immutable (either const or with all final fields)
and still singleton instances (by virtue of being static fields).

Change-Id: I9886bcd57041744e0ef9e95f7b901fcb94b5e042
Reviewed-on: https://dart-review.googlesource.com/c/87801
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2018-12-20 13:45:04 +00:00
Erik Ernst 9e48cc7f25 Adjust specification of type tests to include promotion to X & S
Addresses https://github.com/dart-lang/sdk/issues/35314.

Change-Id: I97550187255c5ac896bfea881de85c5e97e9930e
Reviewed-on: https://dart-review.googlesource.com/c/85921
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2018-12-20 13:33:30 +00:00
Kevin Millikin ff44e27c5a Implement text serialization of strings
Use json.encode/json.decode.  This gets some strings wrong but it
should be enough to make more progress.

Testing with hardcoded strings is already getting awkward.

Change-Id: Ie0b168bec611ed93da13fff90f86232bb56c713f
Reviewed-on: https://dart-review.googlesource.com/c/87663
Reviewed-by: Daniel Hillerström <hillerstrom@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2018-12-20 11:12:49 +00:00
Daniel Hillerström cc5c78cfd2 Clean up of static semantics check for redirecting factories.
This CL removes the redundant/specialised implementation of
`isSubtypeOf` whose sole purpose was to enable prettier error messages
as printing of function types weren't particularly pretty. With
@askesc's work on prettier error printing (and being post the Dart 2.1
release) there is no longer a need to have special logic for
redirecting factories.

Change-Id: If9b20f0b304b970da42a495b0ed3e82494d82ed0
Reviewed-on: https://dart-review.googlesource.com/c/82067
Commit-Queue: Daniel Hillerström <hillerstrom@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-12-20 07:23:45 +00:00
Alexander Aprelev 9611f8bd99 [vm] Ensure ReadConstantTable works if no libraries in the kernel file.
This fixes pkg/vm/incremental_compiler_test when it is run in debug mode.

Change-Id: I6445c87175531be569bce72556a38361b2f2d602
Reviewed-on: https://dart-review.googlesource.com/c/87613
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-12-20 02:35:19 +00:00
Dan Rubel 958cad66c6 Refactor parser insertParens callsites
... not to rely on token stream modification during recovery.

Also, rename
* parseRequiredArguments --> ensureArguments
* parseParenthesizedCondition --> ensureParenthesizedCondition

Change-Id: I72181609e6275b5b738a234ded713608861e4691
Reviewed-on: https://dart-review.googlesource.com/c/87626
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-12-20 01:28:18 +00:00
Leaf Petersen a862e8645a Remove docs/language/informal/subtyping.md, which is now in the language repo
Change-Id: I9ccea6c780f2b47a0097e462f8d395aca565b0f4
Reviewed-on: https://dart-review.googlesource.com/c/87703
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-12-20 01:18:57 +00:00
Sam Rawlins f69aabdb62 Move the check for INVALID_SEALED to the BestPracticesVerifier
Change-Id: I974196f7cd1c2b7c24df1d759774faed9f8a2581
Reviewed-on: https://dart-review.googlesource.com/c/87705
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-12-19 23:40:06 +00:00
Sam Rawlins ac506a9d92 Check for @immutable on mixin application. Fixes #35458
Bug: https://github.com/dart-lang/sdk/issues/35458

Change-Id: I884a64784dea370cf7f8df65a6e44d2287178677
Reviewed-on: https://dart-review.googlesource.com/c/87708
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2018-12-19 23:38:16 +00:00
Régis Crelier 9c8d627347 [vm interpreter] Remove intrinsics code as 'Intrinsic' bytecode is not used.
Change-Id: I9590bea15eeacafc32e3f31cfb5a41243556f979
Reviewed-on: https://dart-review.googlesource.com/c/87720
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2018-12-19 23:05:36 +00:00
Zichang Guo 5a0dd76be0 #35222 Return null and Print Error with invalid UTF8 input
Change-Id: Ic186d8139b6466cbace3db51c662ce8951462e89
Reviewed-on: https://dart-review.googlesource.com/c/87460
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2018-12-19 22:04:45 +00:00
Konstantin Shcheglov 2a323d6afe Fix adding implicit casts when the target method is in a superclass.
This fixes the internal failure with DDC and Angular components.

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I3dac518be9f2f6b1b05149a471ca81fe544379ce
Reviewed-on: https://dart-review.googlesource.com/c/87702
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-12-19 21:59:44 +00:00
Régis Crelier a94137136f [vm] Propagate failure to instantiate bogus signature to optimizing compiler.
This is a follow up to change https://dart-review.googlesource.com/c/sdk/+/87500
The regression test is expanded to cover the new case.
Unrelated change: properly recognize TypeRef as function type.

Change-Id: Ibfb4c18825f70433766a1151f087db5fab52a1ca
Reviewed-on: https://dart-review.googlesource.com/c/87704
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2018-12-19 21:47:34 +00:00
Régis Crelier 1a260925ef [vm] Unify CanonicalType and DeclarationType on 'Class' VM class.
CanonicalType is a leftover method/field from the time classes were keeping
track of their own canonical types and is still used for non-generic classes.
DeclarationType is more general and can be used where CanonicalType is used.
The field canonical_type_ is renamed to declaration_type_ and now caches the
DeclarationType.

Change-Id: I585c7bc2d3ae760a4a0e783bc77fb8d8efdbf682
Reviewed-on: https://dart-review.googlesource.com/c/87482
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-12-19 18:46:39 +00:00
Peter von der Ahé de65d6892a Remove legacyMode from type inference
Change-Id: I78a13470e5707c9d26fe1796ad24ba507d93a9e8
Reviewed-on: https://dart-review.googlesource.com/c/86358
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-12-19 17:21:51 +00:00
Peter von der Ahé cbe30dc0d5 Remove Target.disableTypeInference
Change-Id: I440b07258a79796092e14abf816f257d9af40427
Reviewed-on: https://dart-review.googlesource.com/c/86357
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-12-19 17:21:51 +00:00
Peter von der Ahé bf5ae2215b Store token in ImplicitType
Change-Id: I35c9a5b79b41a8c9df1afee6195b2c3ebdc22838
Reviewed-on: https://dart-review.googlesource.com/c/86356
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-12-19 17:21:51 +00:00
Peter von der Ahé a6e37888ee Merge legacy and disable inference modes
Change-Id: I05d402414e63cd70675b39e5a5976a4d97dd9d0d
Reviewed-on: https://dart-review.googlesource.com/c/85956
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-12-19 17:21:51 +00:00
Peter von der Ahé aa57aab82d Update expectations for legacy/statements
Change-Id: I85972635b14422bf2d6ae2cd3ae5f792e116b174
Reviewed-on: https://dart-review.googlesource.com/c/86351
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-12-19 17:21:51 +00:00
Peter von der Ahé 141fd9e426 Disable type inference: override checks
Change-Id: I5dd3500ffe70815a9b693653666dafa152a62e33
Reviewed-on: https://dart-review.googlesource.com/c/86349
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-12-19 17:21:51 +00:00
Aske Simon Christensen 0df70ab15b Special type for signalling missing type arguments on literals
This eliminates most fields on ListLiteralJudgment, SetLiteralJudgment
and MapLiteralJudgment. Only the inferred type remains.

Change-Id: Ie79d2ec1c4f426a55397611f976e2a0746b4dcb1
Reviewed-on: https://dart-review.googlesource.com/c/86766
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-12-19 16:13:34 +00:00
Aske Simon Christensen 1ce14103e8 Remove MapEntryJudgement
Change-Id: I9d80a91c5b15987f81f95936e8b4768385e4ffab
Reviewed-on: https://dart-review.googlesource.com/c/86764
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-12-19 16:13:34 +00:00
Kevin Millikin 612b6884c4 Split the text serializer into libraries
Move the combinators and the reader into their own libraries.

Change-Id: I85042a3f319c0fc945d658dd23a3959c74b7cbca
Reviewed-on: https://dart-review.googlesource.com/c/87660
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2018-12-19 14:24:22 +00:00
Kevin Millikin 4283735fa1 First pieces of Kernel text serialization
Combinator-based serialization of Kernel basic literals.

Change-Id: I6d08c80f47f233b178aa57ee6fc887ac91ed9e9c
Reviewed-on: https://dart-review.googlesource.com/c/87320
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Daniel Hillerström <hillerstrom@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-12-19 12:16:24 +00:00
danrubel c0b5a28417 Refactor Parser.checkFormals
... so that it does not rely on modification of the token stream for recovery

Change-Id: Iabd6c50efdd803e4ac3e2decaa5fb2af5e3fbb18
Reviewed-on: https://dart-review.googlesource.com/c/87625
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-12-19 02:09:41 +00:00
Stephen Adams 278299c73b Ensure variable holder is a fast-mode object
Change-Id: I660e987f319bd4b23b9347a8c819635ceaddae68
Reviewed-on: https://dart-review.googlesource.com/c/87611
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-12-19 00:39:36 +00:00
Brian Wilkerson 2bd60aa109 Clean up uses of DartType.flattenFutures
Change-Id: I21a950f8be4035a1aacda0c46b64754d22dc60f6
Reviewed-on: https://dart-review.googlesource.com/c/87610
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-12-18 23:03:15 +00:00
Paul Berry 6ece9f910c Prepare to publish analyzer version 0.34.1.
Change-Id: I81a9053e4ab3dacd1dcbb8e72d2b80f19752b758
Reviewed-on: https://dart-review.googlesource.com/c/87609
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-18 23:02:44 +00:00
Brian Wilkerson 8905876e82 Create a double value from an int literal when it was promoted
Change-Id: I17b076e1b4e4d11ac35cc2e5d6750ec5c5fab548
Reviewed-on: https://dart-review.googlesource.com/c/87607
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
2018-12-18 22:39:11 +00:00
Alexander Markov 2fc5a23dd5 [vm/kernel] Enable sync-async in pkg/vm tests
Change-Id: I7fc4a9ad503cb47a0c1b8b37ffdcdb754e2e7200
Reviewed-on: https://dart-review.googlesource.com/c/87608
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Auto-Submit: Alexander Markov <alexmarkov@google.com>
2018-12-18 22:34:11 +00:00
Alexander Aprelev b1c963c84b Load kernel files in reverse order to accommodate topological order that pub build_runner produces.
This fixes a bug with generation of coverage report in presence of mixin declaration/application coming from different dill files.

Change-Id: Ie80fd6080cf65c3b895606809194c2bc6a08612a
Reviewed-on: https://dart-review.googlesource.com/c/87605
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-12-18 22:09:53 +00:00
Sigmund Cherem 6c2d8bc8c1 Record getter and setter names in the minified-name table
Change-Id: I373babecdf3ccece386483d5aa4fcde320675b80
Reviewed-on: https://dart-review.googlesource.com/c/87480
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2018-12-18 22:05:18 +00:00
danrubel c52ff42c55 Add TokenStreamGhostWriter for parser lookahead
This adds a new TokenStreamRewriter which does not modify the
existing token stream but instead sequences tokens such that the
new tokens lead into the existing token stream.
This is useful when using the parseExpression method
to lookahead and find the next token after the expression.

Change-Id: Id51e015f4381af65220530d07042e306b939baa3
Reviewed-on: https://dart-review.googlesource.com/c/87622
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-12-18 22:01:48 +00:00
Konstantin Shcheglov 37bf87b9bf Use ChangeBuilder, not DartChangeBuilder to update pubspec file.
DartChangeBuilder resolves the file being updated.
We don't want to do this for pubspec.yaml

R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I3ebca00f2dba9da30109ab5307dafa516d0be856
Reviewed-on: https://dart-review.googlesource.com/c/87606
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-12-18 21:24:35 +00:00
Brian Wilkerson 554f0c9d36 Clean up the use of the experimental flags in tests
Change-Id: Idef19865c1ce8b514cd2520ad030f56be11c0d5a
Reviewed-on: https://dart-review.googlesource.com/c/87604
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-12-18 21:18:06 +00:00