Commit Graph

2004 Commits

Author SHA1 Message Date
Johnni Winther 7dbf8eed3b [cfe] Support sharding in pkg/testing tests
Splits strong_test into 4 shards. This test took 4+ minutes locally with
the fast_strong_test and analyze_test ticking in at ~1:45. This change
makes local testing of frontend unittests take 2 instead of 4 minutes in
total.

Change-Id: Id6015de86d547b209a699b1e5196b3edad1e6977
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114501
Reviewed-by: Jens Johansen <jensj@google.com>
2019-08-27 09:56:53 +00:00
Aske Simon Christensen 21cf0f5f90 [cfe] Clean out all uses of expired flags.
Change-Id: Ib9096f1a8628d78444bc0847b453dd4032864e09
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114073
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-08-27 09:24:23 +00:00
Johnni Winther 6f2c3977cc [cfe] Add available extensions to Scope.
Change-Id: Ibe087e48c2313fc7b830bac75dcdb51da175edea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114324
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-08-26 20:54:56 +00:00
Paul Berry b8cb25c96f Flow analysis: shift responsibility for handling final fall-through to FlowAnalysis.
Dart allows the last switch case to "fall through" the end of the
switch statement.  To account for this, we previously required the
caller of FlowAnalysis to calling `handleBreak` at the end of the last
switch case.  (In the analyzer implementation we actually only did
this if the last case was a `default` case, but in practice there was
no observable difference).

This CL shifts the responsibility to FlowAnalysis to handle this
scenario; the caller only needs to call `handleBreak` if there is an
actual break statement present.

Change-Id: Ia0d7abb21d78205f1050873e28b30cddc5fbe344
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114547
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-08-26 19:39:00 +00:00
Paul Berry 2011b6fa6b Flow analysis: refactor and unit test switch statement logic.
Responsibility for deciding whether to cancel promotions has been
moved to FlowAnalysis (previously the caller decided).  This should
reduce the risk of the analyzer and front end behaviors diverging.

Also removed an unnecessary argument from
FlowAnalysis.switchStatement_end.

Change-Id: Ib015e4e360e62da7bb267057e4626acaa94e9e74
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114541
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-08-26 16:11:25 +00:00
Johnni Winther 103a43dd73 [cfe] Towards deprecating Builder.target
- deprecates 'target' on LibraryBuilder, ClassBuilder, ExtensionBuilder,
  TypeAliasBuilder, and TypeVariableBuilder.
- prepares for deprecation of 'target' on MemberBuilder,
  VariableBuilder, and FormalParameterBuilder

Change-Id: Ic04c533eb5443c7b7c6413e48f399450d1ebe43a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113440
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-08-26 12:52:10 +00:00
Paul Berry 30e4092d27 Flow analysis: handle empty for-loop conditions directly in FlowAnalysis.
Previously the client was required to create a synthetic `true`
literal.  The client may still do that (it's equivalent), but it's no
longer necessary.

Change-Id: Iffa12769b542678dab6cd4b5583d7058b41aebd1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114342
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-08-23 16:19:49 +00:00
Paul Berry 2e4c89aa73 Flow analysis: fix handling of for(;;) loops.
Change-Id: I2bf43c35b80b72fc5a3c3cbe4c8043162809fd1b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114341
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-08-23 16:19:49 +00:00
Johnni Winther 8c9d6c1c68 [cfe] Use ObjectAccessTarget as the result for object access resolution
Change-Id: Id6c9fcccf2424e6b6596c0c6937de802176fe818
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113996
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-08-23 11:52:38 +00:00
Paul Berry 5fb29b6a8d Flow analysis: allow sets of referenced variables to be any iterable.
Change-Id: I999d06deaf5764ea422cf5bbbb4b9c1cb1cddcfe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114080
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-08-23 11:07:58 +00:00
Paul Berry 1f9dd21940 Flow analysis: create the VariableModel data structure.
In the long term we want to track a lot of information about each
variable; currently we are only tracking the promoted type.

Change-Id: Ibdf90e0db524b4b87eb23921529ff2a65a927f9f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113748
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-08-23 11:07:58 +00:00
Jens Johansen 9c707d7639 [CFE] Add lint that checks fastas own dependencies
Change-Id: I439fce7065e277b8aba2bae05b60e73c470b3fd0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114075
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-08-23 07:42:53 +00:00
Jens Johansen bd681ea660 [CFE] Move testing out of lib/src/fasta
Change-Id: I477892fa9268ab3715152c0253dd65a1c1541c1e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114072
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-08-23 06:20:03 +00:00
Jens Johansen e4c552fb48 [CFE] Add test that runs analyzer on CFE source with lints
We already have an analyzer test in CFE, but because that test also
includes for instance everything that imports the front_end, kernel or
testing, we had to disable lints in that one.
This CL adds an analyzer test for CFE sorces onlyi where lints are
enabled.

Change-Id: Ic58c8c6e92f4a7962bbf5489a37f2bf95a5c095b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114067
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-08-22 10:52:59 +00:00
Johnni Winther 9e676aa228 [cfe+dart2js] Add error testing to constant_test
Change-Id: I0eb809960a13f70942923e7756f128bf0c096ce7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114066
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-08-22 10:31:59 +00:00
Jens Johansen 5dcec3c93e [CFE] Disallow exports internally
This CL adds a lint, but doesn't cleanup the failures we have.

Change-Id: I711af6d012e0b1f1b7dfe422dd615f32f0084119
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113993
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-08-22 08:09:21 +00:00
Jens Johansen 40589f80aa [CFE] Fourth batch of fixes for requiring explicit types
Change-Id: I13f62232287b84cc82da2bbb0cee4b4d337de8ad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113992
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-08-22 07:08:27 +00:00
Paul Berry 51cd16ecf0 Flow analysis: support for and for-in elements in collections.
Change-Id: Ia73c68c2b8a57c62ce2b4984184cf8a712b554af
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113944
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2019-08-21 21:57:54 +00:00
Paul Berry 4bf5a72ca0 Flow analysis: support functions whose bodies are expressions.
Change-Id: I01a66fb2c897e0cabbdfb4b7423cab53291b3adf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113947
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-08-21 20:41:13 +00:00
Jens Johansen f2e04caeaf [CFE] Fix CQ race condition with lint status
TBR

Change-Id: Ie99cd8a0d93c765f1c9bc90b97393359b625abdb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113995
Reviewed-by: Jens Johansen <jensj@google.com>
2019-08-21 13:39:30 +00:00
Jens Johansen 48edb2362a [CFE] Update lint for explicit types to also look at fields and top level fields
Oversight that it didn't always do that.

Change-Id: Ib515ed0f77efcdfb932d5fad9c5b269eeb45a160
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113988
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-08-21 12:33:45 +00:00
Jens Johansen 698c5b1a36 [CFE] Add 'double import' lint
Add a lint to discourage importing the same file more than once.
The idea being that it was probably done by mistake (e.g. automatically
by an editor).
This is done in a number of places and they are currently added to the
status file.

Change-Id: I16bc9c04c5a607f87ead1fb34922a7edb408c3da
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113985
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-08-21 12:20:22 +00:00
Johnni Winther 7f9f4ad774 [cfe] Delete legacy tests
+ make sdk_test test non-legacy

Change-Id: Ie9861e54d12301f454d4fccf6eccd3516e0387d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113825
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-08-21 09:01:44 +00:00
Johnni Winther 91c8cf7167 [cfe] Support per folder experimental flags in testcases
Change-Id: Ia4d795959f6b192d83c97c45870c5fc59d406f4c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113824
Reviewed-by: Jens Johansen <jensj@google.com>
2019-08-21 09:01:44 +00:00
Johnni Winther 027071318f [cfe] Change outline test to test strong mode
Closes #37904

Change-Id: I75cd093922dbcf29c0b073d6a37aaba9d6c1f5f2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113697
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-08-20 13:51:10 +00:00
Jens Johansen 363ae34c55 [CFE] Third batch of fixes for requiring explicit types
Change-Id: Ie4c8e66acf942901602c91819640967e49044233
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113822
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-08-20 13:11:12 +00:00
Jens Johansen e60cbdfd9e [CFE] Add test for running old dills
This CL:
* adds a test that runs the VM with old dills (compilations of dart2js
  with old checkouts) with the --compile_all argument (1).
* adds a number of old dills (for binary version 25, 27, 28, 29)
  (by mistake binary version 26 sort of didn't really happen)
* adds a PRESUBMIT check in kernel that verifies that we have an
  "old dill" for the current binary version, so one don't bump the
  version without creating a new dill.

(1): It uses --compile_all to force the VM to "read and understand"
     everything in the dill file. The hope being that we try out
     all/most language constructs and thus verifies that they can be
     read by the VM.

Old "old dill" files should be removed once the VM stops supporting that
version. That is a manual process, but a test should complain that the VM
cannot read the old "old dill"(s) once/if that happens.

This should (help) detect errors such as the one recently where a merge
error caused a single "if >= 28" (that should have been "if >= 29" and
thus stopped the VM from reading dills from version 28) to slip through
and require a lot of debugging a few days later.

Change-Id: Id79e16c7ad896c0ccc4e181465b05b67822ac31a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113698
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-08-20 12:27:52 +00:00
Johnni Winther d153e98447 Revert "[cfe] Gather constraints from both possibilities for FutureOr"
This reverts commit 00e9561798.

Original change's description:
> [cfe] Gather constraints from both possibilities for FutureOr
> 
> Closes #37778.
> 
> Bug: http://dartbug.com/37778
> Change-Id: Ic06da9cf4e24e397e1f2a180b743190a4165dc3e
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113033
> Commit-Queue: Johnni Winther <johnniwinther@google.com>
> Reviewed-by: Johnni Winther <johnniwinther@google.com>

TBR=dmitryas@google.com,johnniwinther@google.com

Change-Id: I64677971c865180334958de13d2d82fec3daec85
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: http://dartbug.com/37778
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113821
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-08-20 10:57:52 +00:00
Jens Johansen b99df2be86 [CFE] Language versioning - additional tests
Change-Id: I0dd93c3a1d422bbbbbd920fae21569a7bdc91e61
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112341
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-08-20 10:08:20 +00:00
Jens Johansen 10e63b7840 [CFE] Get fragment from default package - use language version if any
Language versioning specifies that an empty-name-entry in .packages
specifies a sort of "default package" that a non-package file should
pretend to be a part of "for any purpose where that matters,
including choosing the default language level."

Change-Id: I16f4b2f5e4d3ca1e82d2189321e2be5c43e3b260
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112089
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-08-20 09:06:32 +00:00
Johnni Winther 00e9561798 [cfe] Gather constraints from both possibilities for FutureOr
Closes #37778.

Bug: http://dartbug.com/37778
Change-Id: Ic06da9cf4e24e397e1f2a180b743190a4165dc3e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113033
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-08-20 08:43:22 +00:00
Paul Berry 0ff0cc1229 Flow analysis: remove unnecessary argument to doStatement_end.
And add unit testing of do statements.

Change-Id: I976780a400cbd852f71d915f1c67b5433ba8807c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113267
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-08-19 15:49:43 +00:00
Jens Johansen 0e201edeeb [CFE] Second batch of fixes for requiring explicit types
Change-Id: If4f35550e1df10763b4c13d15eba1d9f53e6095e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113324
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-08-19 07:19:45 +00:00
Johnni Winther 9c649e67df [cfe] Handle most accesses to extension members from within the extension
Change-Id: I1be167bff0f398793c67834bb80328418e9bb4c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113020
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-08-18 12:25:34 +00:00
Paul Berry 14e84afb63 Flow analysis: fix incorrect comment
Change-Id: Iec2229fcf1e1688ead0acb094d3397cf4278ab46
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113400
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-08-16 20:31:10 +00:00
Johnni Winther eae781c73e [cfe] Add Field.isLate, VariableDeclaration.isLate and VariableDeclaration.isRequired
Add support for the `late` modifier on fields and local variables in
CFE, and `required` on named parameters When using the option
--enable-experiment=non-nullable the `isLate` and `isRequired` flags will be set
accordingly on Field and VariableDeclaration nodes.

Closes #37686
Closes #37684

Change-Id: If37fc93defdabc5cc974f3f068f57752a665f4cb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113036
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-08-16 19:39:05 +00:00
Paul Berry 8ab978b6d4 Flow analysis: remove unnecessary parameters from conditional_* methods.
Also rework the flow analysis tests a bit to allow tests to be written
in a more compact way.

Change-Id: I6642ce9987bb89b9b858e709575ce12510c8f442
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113380
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-08-16 18:44:00 +00:00
Jens Johansen 7136d9e4e7 [CFE] Add a 'tool' that runs a quick smoke test
Runs a number of tests that are quick, currently:
* Messages test in a new fast mode which skips compilation
* The spelling tests
* The custom CFE lint test

Change-Id: I7b444e5be1cf2397d6d776aac96dd7c2ad2b302d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113320
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-08-16 11:14:07 +00:00
Jens Johansen 050ec9eebd [CFE] Spelling tests give proper error messages
Change-Id: I5a145b070acc4388ecf0ac5dab1a36f5647f6150
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113185
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-08-16 07:24:57 +00:00
Paul Berry 23387d636b Flow analysis: merge APIs for handling && and ||.
This will make it easier to integrate flow analysis into the migration
tool, since the migration tool has a shared code path for handling
`&&` and `||`.

Change-Id: Ibf1c7362dfeaab505a2ecf7298b2569a40fca781
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113038
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-08-15 13:34:30 +00:00
Jens Johansen 9552646dc4 [CFE] First batch of fixes for requiring explicit types
Change-Id: Ic27f8508bc95409a5ee8f90b72f34a73d0f8e2e7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113034
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-08-15 13:13:20 +00:00
Johnni Winther 9d4e778cde [cfe] Support getters, setters, fields and operators in extensions
Change-Id: Ic84380ea767691bbbb802c65cb72fe43893f78a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112257
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-08-15 12:12:00 +00:00
Jens Johansen 93d4d28f6c [CFE] Add lint test: Require explicit types
This CL adds a test (lint_test.dart) that gives errors if using e.g.
"var foo = 42;".
We opted to not use the lint "always_specify_types" as that does
more than what the team voted for.

Change-Id: Ia37066ee04ff676d15f41222751557a9245f953f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113032
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-08-15 10:21:00 +00:00
Jens Johansen cae08c6813 [CFE] Apply lines_longer_than_80_chars lint
Change-Id: I35b62b34d3ccc7098c21a680a80612c0bb927123
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113030
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-08-15 10:01:20 +00:00
Johnni Winther 54f26e3554 [cfe+ddc] Support --target=dartdevc in _fasta/compile.dart
Change-Id: I7288dd3dd03fb58188e3652d9b86e5751c104142
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113037
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-08-15 09:08:40 +00:00
Johnni Winther 024052f367 [cfe+dart2js+analyzer] Remove support for libs in id testing
We now have support for a test as a directory instead.

Change-Id: I3c43e2e57ecda8e3c9d97aa8842be7093c1df5ab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113035
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-08-15 07:31:50 +00:00
Jens Johansen c4727fddf4 [CFE] Apply unawaited_futures lint
Change-Id: I1d783a883c7be84f743724d9eaadc390f84d4b33
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113028
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-08-14 13:42:13 +00:00
Jens Johansen 56c3cfe34c [CFE] Apply prefer_adjacent_string_concatenation lint
Change-Id: I14b3f5060d1eda6a8ea1e0c808593a57f821a725
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113026
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-08-14 13:00:53 +00:00
Jens Johansen 48af666c9f [CFE] apply curly_braces_in_flow_control_structures lint
Change-Id: Id6c7e60b40f7dd0ffd68d007fe86abb785ac0dba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113025
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-08-14 13:00:44 +00:00
Dmitry Stefantsov 85e26c2ce9 [cfe] Update greatest lower bound ruels for FutureOr
Closes #37439.

Bug: http://dartbug.com/37439
Change-Id: Id4043373e614d8cd4bef6c6d1fc7b7704b3f6ce8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112722
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-08-14 10:16:54 +00:00