Commit graph

65054 commits

Author SHA1 Message Date
Paul Berry
24c0507d73 Flow analysis: remove the State.exit method.
It was redundant with State.setReachable(false), and it did not have
the necessary logic to avoid creating State objects when unnecessary.

Change-Id: If9e0b8b586dab0e681f4ee0bc7b792d49e1e5f4b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109897
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 12:55:11 +00:00
Martin Kustermann
0a2993687b [vm/concurrency] Make all isolates within an isolate group coordinate on GCs
This CL moves the thread registry and the safepoint handler to the
[IsolateGroup]. This will cause all threads belonging to the isolate
group to safepoint together.

  => We will therefore start to get an idea of the impact this will have on
  pause times.

So far it was only possible to enter a particular isolate (e.g. as mutator
thread or auxiliary thread). This CL adds support for entering an isolate
group (instead of a particular isolate) as an auxiliarly thread. The
current isolate group is available via `IsolateGroup::Current()`.

  => This is a preparation step to let GC threads enter the isolate
     group as auxiliary threads, not associated with a particular isolate but
     to an isolate group as a whole.

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

Change-Id: I7069d07130938d370869f02060570143bfeb1b48
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108801
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2019-07-23 10:58:11 +00:00
Paul Berry
9ec6a48613 Flow analysis: document the State class
Change-Id: I36f71953912d23cc77473e56caca14c4d9df19d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109894
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 10:31:31 +00:00
Stephen Adams
06b7329fc9 [dart2js, gardening]: Fix dart2js/inferrence/type_mask2_test
Change-Id: I5b84c5832866931a9ffe6ece95ee621b4aca3593
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109981
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2019-07-23 09:41:18 +00:00
Johnni Winther
ed38b6d664 Remove KernelMixinApplicationBuilder and KernelNamedTypeBuilder
NamedTypeBuilder and MixinApplicationBuilder are only subclassed by
KernelNamedTypeBuilder and KernelMixinApplicationBuilder, respectively,
so the distinction can be removed.

Change-Id: If0a6434d76c20c3c10a8e25b86d2a5542d5244b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109263
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-07-23 09:20:28 +00:00
Johnni Winther
0177076f2f [cfe] Merge KernelBodyBuilder into BodyBuilder
Change-Id: Ica7d23a54659606ef8d01c647dc8d89f10796bb3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109712
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-07-23 08:02:18 +00:00
Johnni Winther
05b5883813 [cfe] Add documentation to some Generator implementations
Change-Id: I0a57b08da639557376b1b6f666d2d8aa6344f59c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109711
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-07-23 08:02:18 +00:00
Felicitas Hetzelt
c9c0f56f48 [dart/vm] Add 'small string' parameter specifier
Rationale: Forces the fuzzer to generate a string literal
as the parameter of selected string functions (i.e. padLeft/Right)
in order to avoid recursion of the form x = "".padLeft/Right(x).

https://github.com/dart-lang/sdk/issues/37573

Change-Id: Icd9f5da07ccdd44e81c88a450c3d2cdd7c8e8f95
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109893
Commit-Queue: Felicitas Hetzelt <felih@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
2019-07-23 00:19:48 +00:00
Konstantin Shcheglov
eebbed2d7a Make PropertyDescription constructor parameters named.
Also move next property id to PropertyDescription.

R=brianwilkerson@google.com

Change-Id: I96773a1c3e5c46c3111102aab03f8fff92fcd9a6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109896
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 00:05:58 +00:00
Mayank Patke
68ba8f9198 [WATCHLISTS] Don't CC dart2js on tests/compiler/dartdevc_native.
Change-Id: Ibd4c56df154a718717605b322e06d9545d57df01
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109982
Auto-Submit: Mayank Patke <fishythefish@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2019-07-22 23:52:18 +00:00
Stephen Adams
9197c1b021 [dart2js] new-rti: fix TypeEval GVN
Type expression GVN needs to structural equality on TypeRecipe and
TypeEnvironmentStructure.

Change-Id: Iaa4985ec99fff6db29e8bfd63fd0dbacdc10dde6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109942
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2019-07-22 23:32:00 +00:00
Ryan Macnak
60a952e261 [vm] Avoid superlinear time canonicalizing deep constants.
Bug: https://github.com/dart-lang/sdk/issues/37523
Change-Id: Ia3c2514891e2e3f07d1b3266b019b142413918d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109318
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-07-22 22:20:33 +00:00
Alexander Markov
730d2c6c6c [vm/bytecode] Fix removal of empty scopes in local variable info
Even if a scope doesn't have variables, it may define a context
level different from enclosing scope. As debugger needs to know
context level at any point, bytecode generator should not elide
such scopes.

Change-Id: I2f97deae55285b758f91aee852338432dcddf373
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109898
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-07-22 21:54:49 +00:00
Alexander Markov
d3a09dda15 [vm/bytecode] Recognize list factories and set result type for static calls
Sudoku +15.62%

Issue: https://github.com/dart-lang/sdk/issues/36429
Change-Id: I58cde03ffc9788b2eebe889fcc1a98a82698c39a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109887
Reviewed-by: Aart Bik <ajcbik@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-07-22 21:50:34 +00:00
Brian Wilkerson
0864980e8c Resolve the call method when used with an extension override
Change-Id: I2bf310abb3b8c3f4fc5eb9179bd60df4539d241f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109888
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-22 21:18:30 +00:00
Brian Wilkerson
17e15ee9a4 Add outline support for extensions
Change-Id: I1b7145e899614b3d73d3fc2bfbe3dd7f773d38d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109880
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-22 21:12:40 +00:00
Stephen Adams
41263a4c1a [dart2js] Fix for 37502: double ~/ x returns int
http://dartbug.com/37502 shows the type-propagation results of ~/ is double instead of int.

Bug: 37502
Change-Id: Iec7b8a876a20784c7d2858305eaa67e9d02a63dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109889
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2019-07-22 20:54:10 +00:00
Alexander Markov
211190e7ec [vm/bytecode] Reuse ConstantEvaluator instance in bytecode generator
By reusing ConstantEvaluator instance among members we avoid
recalculating values of constant static fields.

Change-Id: I5c13489a353bf101cd4a01d5993e44842042c2d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109892
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-07-22 20:43:30 +00:00
Aart Bik
c2af59f1ea [dart/fuzzer] Add flag to control FP operations
Rationale:
Floating-point operations have some potential for
false divergences (mostly when going through libc
methods that are compiled differently between 32-
and 64-bit. To avoid these, a --no-fp flag has
been added to dartfuzz.dart which can be used
to dartfuzz_test.dart to avoid floating-point
operations when comparing 32-/64-bit execution
modes.

https://github.com/dart-lang/sdk/issues/37335

Change-Id: Ie3c28f2a6e2d257b8e9adbba79d088b3879264ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109891
Reviewed-by: Felicitas Hetzelt <felih@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-07-22 20:42:30 +00:00
Paul Berry
ee5a90cb1b Flow analysis: test that all variables are registered with add().
This uncovered two more instances where we weren't properly
registering variables:
- Local function parameters
- Variables introduced by "catch" syntax.
- Variables introduced by "for (...; ...; ...)" syntax.

Change-Id: Id5e8aa1b598962cca1bb19df6d4ede99a672f108
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109885
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-07-22 20:27:08 +00:00
Ryan Macnak
477a3c4748 Revert "[ VM / Service ] Pulled in vm_service_drivers from its own repo."
This reverts commit dbeceb1d06.

Reason for revert: Exposes private VM service methods

Original change's description:
> [ VM / Service ] Pulled in vm_service_drivers from its own repo.
> 
> - Updated various paths to point to the sdk repo instead of the
>   vm_service_drivers repo.
> - Updated generate.dart to use the service.md from the SDK, not a copy.
> - Removed hidden files that are no longer needed.
> 
> Change-Id: I11b1f2e32d55f1fdaaa6eb9ce34fc318716c36f9
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109120
> Reviewed-by: Devon Carew <devoncarew@google.com>
> Commit-Queue: Ben Konyi <bkonyi@google.com>

TBR=devoncarew@google.com,bkonyi@google.com,rmacnak@google.com,asiva@google.com

Change-Id: I44af2074ba13dec41ffac3c25330e4603c50b06a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109895
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-07-22 20:26:22 +00:00
Paul Berry
722b505316 NNBD migration: Fix an implicit downcast error.
Change-Id: I2762d60dc739adc046d7c438ae8eadae550bfa97
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109941
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-07-22 20:25:59 +00:00
Dan Rubel
d7cb52b863 capture more info to debug 37528
This updates the exception message to capture more information
about where the exception is occurring. Hopefully that information
can be used to fix https://github.com/dart-lang/sdk/issues/37528

Change-Id: Iaf10395091f8bd8b540dddc59001f23b6dc6a073
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109920
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-07-22 20:18:17 +00:00
Dan Rubel
d6c85f4e92 rename dartfix "exclude" option to "excludeFix"
This renames the "exclude" option to make it more clear exactly
what is being excluded, similar to the earlier change renaming
"include" to "fix".

Change-Id: I07d164d480c8e389e5c7353db81e7633f0efd3d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109921
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-07-22 20:17:57 +00:00
Konstantin Shcheglov
1e04ff86b0 Mutate Aling(...) and Padding(...) into Container().
R=brianwilkerson@google.com

Change-Id: I5d15b93f3262cafe6915c5681c4baede87e7699a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109940
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-22 20:09:47 +00:00
Ben Konyi
dbeceb1d06 [ VM / Service ] Pulled in vm_service_drivers from its own repo.
- Updated various paths to point to the sdk repo instead of the
  vm_service_drivers repo.
- Updated generate.dart to use the service.md from the SDK, not a copy.
- Removed hidden files that are no longer needed.

Change-Id: I11b1f2e32d55f1fdaaa6eb9ce34fc318716c36f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109120
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2019-07-22 20:06:29 +00:00
Mayank Patke
76f82bd0ec [dart2js] Split up runtime_types.
This is a first pass at breaking up runtime_types.dart.
runtime_types_resolution.dart contains the former parts of runtime_types
that runtime_types_new depends on (namely, RuntimeTypesNeed and
RuntimeTypesSubstitutions), as well as their transitive dependencies.
This leaves just the code responsible for encoding the old type
representation in runtime_types, mirroring what we have in
runtime_types_new. As a result, both runtime_types and runtime_types_new
have runtime_types_resolution as a common dependency, but
runtime_types_resolution does not depend on a particular encoding.

However, runtime_types_resolution is still over 2.5 KLOC and still
depends on the old TypeCheck representation.

Change-Id: I22d932d2695cb573c2a3b4dafe5132d4e424fa77
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109557
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-07-22 20:00:47 +00:00
Kevin Moore
0352fb2cb7 Fix package dependencies in analyzer_cli, dartfix, nnbd_migration
Change-Id: Ib7f3b3f12d95b59b81164321e7d2176179adc957
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109890
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-22 19:55:43 +00:00
Felicitas Hetzelt
3999369c5f [dart/vm] Display test return code on divergence
Rationale:
A divergence can be caused by differences in test
output, timeout or crash. This patch displays the
return code of the test program, so that the latter
two cases can be distinguished.
Change-Id: Id5520a2da41aad191c0878148acfff2c98c110aa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109682
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Felicitas Hetzelt <felih@google.com>
2019-07-22 18:18:38 +00:00
Konstantin Shcheglov
d16ad91719 Update DATA_VERSION after summary2 changes to support extensions.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I834c400308e9479aacc483fb2e129db180402937
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109886
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-22 18:04:28 +00:00
Paul Berry
da58647161 Flow analysis: register loop variables with add().
Change-Id: I321e3ec9b6413028b78bfa36c3022ef70447f745
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109762
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-07-22 17:23:28 +00:00
Konstantin Shcheglov
1390201177 Support for 'padding' property, and EdgeInsets type.
R=brianwilkerson@google.com

Change-Id: I536ee3952d6e280a56b048773a3a5696bc508b07
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109761
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-22 17:15:28 +00:00
Devon Carew
91eb2f5fd0 [analyzer] rename the dartfix --include <fix> option to dartfix --fix <fix>
Change-Id: Ibd5d8c45912a292e1a787e88ddb06e730ebda0a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109548
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2019-07-22 16:35:18 +00:00
Zichang Guo
53bda39466 Create stream timeout timer before ondata() opeartions
Originally, Timer for timeout is created after controller.add() where onCancel has been triggered. Timeout events will always be called.

Bug: https://github.com/dart-lang/sdk/issues/37565
Change-Id: I1504694cb746b6653d858effd7c5b33b07de6057
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109725
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2019-07-22 16:23:58 +00:00
Devon Carew
65d544edea [analyzer] update the analysis server's diagnostic page
Change-Id: I22d58002a3753c7f3e5d5a218ca76a4de7560fce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109884
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2019-07-22 16:11:18 +00:00
Johnni Winther
cddd21dde1 [cfe] Merge ExpressionGenerator into Generator
+ Make more internal properties private
+ Add documentation on more properties/methods

Change-Id: I40779c83fcb7f888e485ccbc7b1fad312199806c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109710
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-07-22 16:00:28 +00:00
Johnni Winther
b52328e528 [cfe] Remove unneeded indirect generator construction through Forest
Change-Id: Ic535bfe84395608c9b0764edf8646fd2606429b4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109708
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-07-22 16:00:28 +00:00
Johnni Winther
2a199f3993 [cfe] Merge KernelExpressionGenerator with ExpressionGenerator
We no longer need the distinction between *Generator and Kernel*Generator
so the Kernel*Generator classes are now merge into the *Generator classes.

Change-Id: I9f9650fc4ab88a0952b8d2bd346e1d416d68eac6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109707
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-07-22 16:00:28 +00:00
Johnni Winther
948b60f8dc [cfe] Add test for extension member parameters
Change-Id: I6ceb66bbef561b0c86e6f529e9d90a35dd82f628
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109705
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-07-22 16:00:28 +00:00
Johnni Winther
11755e537c [cfe] Add tests for extension members
+ Avoid creating default constructors.

Change-Id: Ie0ed967d9be4cf31a2eb6991767887de1f88149a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109702
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-07-22 16:00:28 +00:00
Johnni Winther
610183d5f9 [cfe] Rename operator[] to getLocalMember on Library/ClassBuilder
Change-Id: I8d03cf939e15de53b3768ee946815cf31e3a1124
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109700
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-07-22 16:00:28 +00:00
Johnni Winther
b3b6533c3d [cfe] Create ClassBuilder for extension declarations
Change-Id: Ic372b89588ed9ec3afc43f7db7e3d38a81846ad5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109264
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-07-22 16:00:28 +00:00
Johnni Winther
7075ae7026 [cfe+dart2js] Move features to CFE
To share support for annotated tests based on Features.

Change-Id: Ic319442e2e016bf4d1584825ea019d13a74acedb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109560
Reviewed-by: Stephen Adams <sra@google.com>
2019-07-22 16:00:28 +00:00
Paul Berry
b912aebf5c Flow analysis: change tryPromoteToNonNull to promoteToNonNull.
The flow analysis engine is now responsible for figuring out whether a
promotion actually occurred; this is less error prone.

Change-Id: Idce8af01fae982a9cc240ec4675812f8d7fd68a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109883
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-22 15:58:48 +00:00
Paul Berry
7adca0ec5f Flow analysis: Remove "emptySet" argument from markNonNullable
Change-Id: Ia2fd7878badedba95ffee5f7a6948402376a2300
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109882
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-07-22 15:36:48 +00:00
Paul Berry
7719298616 Flow analysis: fix incorrectly written unit test.
Change-Id: Iba5fcbb6ecd6f707ef2b20b0ec653fda7c577924
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109881
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-22 15:36:48 +00:00
Brian Wilkerson
073d521131 Update DartType.displayName to display nullability when appropriate
Change-Id: I36dbda77e4a363a2265e4b94a87fbe6d842a5348
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109800
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-22 12:40:27 +00:00
Brian Wilkerson
fe1da36f12 Change the wording of unused-element
I think this makes the message better, but it also means that the message
can be internationalized.

Change-Id: I0697fc05b79e33d5af2424609b30c2832b1a210b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109860
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-22 12:40:07 +00:00
Paul Berry
977a78b7a0 Flow analysis: expose State and unit test. Also fix restrict method.
Change-Id: Id96a3266aea6ab8dd97e72bbf72a55b4156ebc0b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109841
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-21 21:22:45 +00:00
Konstantin Shcheglov
90f03db962 Support for extensions in summary2.
I ignored unnamed extensions for now, so correspondings tests crash.

R=brianwilkerson@google.com

Change-Id: I3e56d1ccaf0c5839b426ea179ed6100dbb15c143
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109727
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-21 21:14:15 +00:00