Commit Graph

7128 Commits

Author SHA1 Message Date
Paul Berry b3ed442f70 Fix some unnecessary imports of front_end in analyzer
Change-Id: I9d45dffffafca7799055b3db165200c2a8454537
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123841
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-11-01 13:54:22 +00:00
Paul Berry c4b6df5009 Move ID testing infrastructure into _fe_analyzer_shared.
Change-Id: I9f2692dbe750f3c31f8c86e86fe732f34e166517
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123860
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-11-01 12:39:00 +00:00
Johnni Winther 00c2962db8 [cfe+analyzer] Move messages, scanner and parser to package:_fe_analyzer_shared
Change-Id: I4fa87aee65f30a9868a6cf8f0342591869ece7ea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123663
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-11-01 09:37:57 +00:00
Mike Fairhurst 924ec34e01 Remove analysis logger, replace with calls to InstrumentationService
Change-Id: Ifddd58b731aa0af8f76a91261757997dc52a9fc7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123328
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-10-31 21:26:44 +00:00
Konstantin Shcheglov 09bc0cc5ab Issue 38734. Don't report IMPLICIT_THIS_REFERENCE_IN_INITIALIZER for late fields.
Bug: https://github.com/dart-lang/sdk/issues/38734
Change-Id: If942d831cf4c64c873026cb2010406656d20565b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123688
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-31 21:20:11 +00:00
Konstantin Shcheglov bb45179cad Remove tests already moved to ImplicitThisReferenceInInitializerTest.
R=brianwilkerson@google.com

Change-Id: Ibaf67be1bea844e10e599aad8b4ebc450e54cac2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123682
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-31 18:14:33 +00:00
Paul Berry a0ee662b7b Move shared analyzer/FE integration test data into shared package.
This moves the five test suites for flow analysis along with the
constants test suite.

Note that a few files have formatting errors.  I'll fix those in a
follow-up CL.

Change-Id: Ie9bba74c7d91e49ac6c9d3c64a96be007b6a94c6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123680
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-10-31 15:02:03 +00:00
Paul Berry 5b4612bc68 Move front_end/lib/src/base/errors.dart into _fe_analyzer_shared package.
Change-Id: I9369e8dbf7b5d6fff9ad2a74346871b3e274e8ee
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123640
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-10-31 13:05:53 +00:00
Paul Berry 499815842c Create a package to hold code shared between front_end and analyzer.
Previously such shared code was in the front_end package, but that
created problems because there is a lot of code in front_end that
isn't intended to be shared with the analyzer (including, notably, the
dependency on kernel).

This CL just moves over the flow_analysis logic to the new shared
package.  Follow-up CLs will move over other shared logic and tests.
The end goal is that the analyzer package will no longer have a
dependency on front_end.

Change-Id: I5642d6565204422d79808ca47648462db85e442a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123624
Reviewed-by: Jens Johansen <jensj@google.com>
2019-10-31 13:05:53 +00:00
Konstantin Shcheglov decca61f8c Deprecate TypeDefiningElement.type except ExecutableElement.
Change-Id: I7888f7ff796f1c4523cdc7030451dfc3ab622970
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122729
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-10-31 05:09:13 +00:00
Konstantin Shcheglov fb362b54a7 Stop using FunctionTypeAliasElement.parameters/returnType in analyzer.
The goal is to stop implementing FunctionTypedElement in
FunctionTypeAliasElement, and keep only TypeParameterizedElement.

For some time we will have to keep implementing TypeDefiningElement, it
is used currently as a marker for top-level declarations.

Change-Id: I0062aaa66861a4d7dd5337eb9a44338ad49f5901
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123545
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-30 21:36:33 +00:00
Brian Wilkerson bbe273081c Report a diagnostic when the length getter in a constant expression is defined in an extension (issue 39170)
Change-Id: Ice1f0620abda8bcbb2b04c3e8912e4c8e36acdca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123542
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-10-30 21:09:23 +00:00
Konstantin Shcheglov 2b903a6bfd Add more subtype tests.
Change-Id: I4908e161255afd9f5e9fc161d2c73dc88f0f15ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123561
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-30 21:03:23 +00:00
Konstantin Shcheglov e01ba33faf Remove CompilationUnitElementImpl.localDeclarations
Change-Id: I8c283d7997a26093dff6909a396ec0dee6d13c41
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123469
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-30 18:54:08 +00:00
Konstantin Shcheglov 4495165191 Always return some GenericFunctionTypeElement from GenericTypeAliasElementImpl.function
This will help with invalid cases like `typedef F = int;`.

I plan for FunctionTypeAliasElement to stop implementing FunctionTypedElement,
so stop implementing `parameters` and `returnType`, which currently
do the correspoding workaround. Instead clients will ask
`function.returnType`, and I'd not like to make null-aware in many places.

Change-Id: I3ae9abe4778e530fb02e66f32e4d52f7b57ffeb4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123484
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-30 18:46:04 +00:00
Paul Berry 0d6a59950d Account for possible AST rewrites during type resolution of forEach loops
Fixes #39171

Change-Id: Id7ab65e22747926ead38c778275d7456c54b0f5e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123483
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-10-29 21:45:36 +00:00
Brian Wilkerson 12f424f194 Apply updates to previous CL
Change-Id: I69f2fd5f26c42d166b1b2f2dfb0bc576305eb3f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123481
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-10-29 19:39:36 +00:00
Brian Wilkerson 19cab51a4b Check for undefined unary operators in extension overrides (issue 39158)
Change-Id: I3808cdaeb523902bd3f23112ca91b3fe3efa7dcb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123462
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-10-29 18:52:26 +00:00
Brian Wilkerson d639388366 Arguments to extension overrides cannot have type void (issue 39156)
Change-Id: I907c706bf994cac5a60ec74bc1c22939ffa868e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123461
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-10-29 18:49:46 +00:00
Konstantin Shcheglov 4a07d80178 Deprecate ParameterizedType.typeParameters, update typeArguments doc.
Change-Id: I76c02e026c6c566def4f33478ef18f7df9d1d96e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123323
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-10-29 17:39:59 +00:00
Paul Berry 12532e327f Analyzer ID test fix: annotate methods properly.
This avoids the need to special case test expectations for CFE in
pkg/front_end/test/flow_analysis/reachability/data/never_return_type.dart.

Change-Id: Ib754a76c96e73c8183b5ff10a2e7d2908e653a31
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123420
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-10-29 14:58:14 +00:00
Johnni Winther c8ff1b0c21 [cfe] Add BlockKind to parse/begin/endBlock
... and use this to computed AssignedVariables data for try statements

Change-Id: I235575b055cb89b553baf0ac728d9954d8d0aaa6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123251
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-10-29 09:17:06 +00:00
pq 669375b269 linter context package api
Change-Id: I77b4a0f5df461d1fee7e2ebdab6df005f27e0e16
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123341
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-10-28 22:17:39 +00:00
Konstantin Shcheglov abb6f993b5 Extract ToSourceVisitor into separate file.
Change-Id: I17362136af2501482cca642387549e85e5fa2413
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123320
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-28 19:12:23 +00:00
Konstantin Shcheglov 6ae42758fb Remove ToSourceVisitor.
Change-Id: Ie9d7a401ac5cc830eeddbf51cd191c050253d377
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123080
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-28 15:58:41 +00:00
Brian Wilkerson 0663721533 Fix warnings by renaming prefixes and associated files
Change-Id: I823818c18b18d9fe6cb9d2db28d695323d861e03
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123142
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-10-28 15:48:06 +00:00
Konstantin Shcheglov 8a7ffc5b81 Make InterfaceTypeImpl.typeArguments final.
Change-Id: I51af8de355dd994005419ccfc593f3f4fbd988cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123064
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-28 15:47:27 +00:00
Konstantin Shcheglov 581b959423 Remove methods _typeOfExecutableElement().
Change-Id: I61ddceefe214176361727482e4044a59d656d581
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123120
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-28 15:40:02 +00:00
Konstantin Shcheglov 31de45b6c0 Issue 38582. Fix for Set/Map disambiguation and NNBD.
Bug: https://github.com/dart-lang/sdk/issues/38582
Change-Id: I8573acd2f6736db8a6681df16790b42058d2bf4b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123006
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-26 00:25:03 +00:00
Konstantin Shcheglov 12c5eaae27 Issue 39089. Don't consider postfix bang as setter context.
Bug: https://github.com/dart-lang/sdk/issues/39089
Change-Id: I8fcde32d054c2299c344abe0dee520025be776cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123007
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-25 23:43:07 +00:00
Konstantin Shcheglov 1c187adbad Issue 38583. Don't resolve type of this in extension to bounds.
Bug: https://github.com/dart-lang/sdk/issues/38583
Change-Id: I61ec7fa3ccd50909dae6ce16028d626c8d03be24
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123021
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-25 23:42:59 +00:00
pq 1a611e1d72 validate nonVirtual overrides
Change-Id: I1077ffa17d5620b5af77872a5862012ce8274324
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122820
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-10-25 21:16:28 +00:00
Konstantin Shcheglov bad583a9fc Always provide nullability suffix to FunctionType constructor.
Bug: https://github.com/dart-lang/sdk/issues/39111
Change-Id: Id91a5c3f559446fbbcc02d6f9465780d287deb29
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123020
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-10-25 18:53:46 +00:00
Konstantin Shcheglov a018f27470 Issue 38494. Report DEFAULT_LIST_CONSTRUCTOR_MISMATCH only for default List constructors.
Bug: https://github.com/dart-lang/sdk/issues/38494
Change-Id: I42657e8fa1c7a2615b9bd9536a4c0d4599976f3a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123002
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-25 18:13:46 +00:00
Konstantin Shcheglov 70b1cedd87 Use NNBD subtyping rules.
https://github.com/dart-lang/language/blob/master/resources/type-system/subtyping.md#rules

This includes subtyping tests ported from CFE.

Performance is on par with the performance before this changes.
On package:flutter, when each isSubtypeOf() is executed 100 times,
timings are 35292 ms vs. 33838 ms spent on isSubtypeOf() itself
(not the whole analysis times). So, the difference is about 5%,
but because it is 100x, it should result in less than 0.05% of total
analysis time difference.

There are other optimizations that we can make in this area, though.
For example checking for `Object?` could be done using identical() to
avoid expensive megamorphic (I think) `isDartCoreObject`. Similarly
for checks for `Null` and `FutureOr`.

Google3 presubmit looks green.
https://test.corp.google.com/ui#id=OCL:276348418:BASE:276562990:1571960231050:ff94b8d8

Change-Id: I0b7e5baba82908e1123783c4a9494b1dfc74ea99
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122682
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-25 17:50:06 +00:00
Konstantin Shcheglov 80b0aaf9b8 Deprecate FunctionTypeAliasElement.instantiate2(), replace with instantiate().
Change-Id: Iead94143fb3d02536309e464039493981cf853d7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122965
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-25 14:38:50 +00:00
Konstantin Shcheglov c533ba029b Remove ClassElementImpl.version and flushing InterfaceTypeImpl.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I76d35b1138c095c5466d0e4596bef4635bc8528d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122849
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-25 14:30:46 +00:00
Paul Berry 0167f91012 Flow analysis: introduce ID tests for AssignedVariables.
This should make it easier to verify that the CFE implementation is
correct.

Note that this effort encountered a few bugs in the analyzer
implementation, which are marked with TODOs.  I will fix them in
follow-up CLs.

Change-Id: Ic164a1cf214b5730f848b17db2838c29d25b00d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122850
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-10-25 13:44:05 +00:00
Paul Berry b700114b1c Flow analysis: clarify the names of testing data structures.
These data structures are only used for testing (and are not even
created in normal production use).  Add "ForTesting" to their names so
that we are less likely to use them by accident.

Change-Id: Ic719d66089a692362957e257c9bbb2f632bfd174
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122980
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-10-25 09:42:24 +00:00
Konstantin Shcheglov 2662e16773 Remove 'prune' from analyzer types.
With summary2 we break typedef cycles during linking.

Change-Id: I2ebecc5d7eef1fe5750705777863bbaef70c7150
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122940
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-24 23:55:02 +00:00
Konstantin Shcheglov 690b151a30 Fix for getMember(forSuper) for Object.
R=brianwilkerson@google.com

Change-Id: I6d28c57104bb1cfda4ed079a2ed9bb6e9d1f3b3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122846
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-24 23:28:07 +00:00
Konstantin Shcheglov 9bf55768f3 Deprecate ParameterizedType.instantiate()
We keep instantiate() for FunctionType(s), because they, and only they,
have type parameters.

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

Change-Id: Ibc67ed63542a92f49e4cbc7c89d4b6489be4e249
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122727
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-10-24 20:42:07 +00:00
Brian Wilkerson 8db1005d64 Clean up after changes to ffi diagnostic changes
Remove markdown from diagnostic messages,
Format messages to fit in 80 lines,
Sort unsorted file,
Move diagnostic tests to the correct test classes,
Remove diagnostic that is no longer being generated.

Change-Id: I1dbd6a141a4ef31eb89d9ea5edfd17512cbb261a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122821
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-10-24 20:27:27 +00:00
Paul Berry 96952c2a8f Flow analysis: fix printing of types in type promotion tests.
Previously, we were using `DartType.toString` to check test
expectations, but `DartType.toString` currently doesn't show
nullabilities.  This isn't currently a problem because at the moment
all the type promotion tests use non-nullable types, but I will soon
be adding type promotion tests that use nullable types.

This CL fixes the problem by using `TypeImpl.toString` and passing in
`true` for the optional argument `withNullability`.

Change-Id: I6a2c6057c27c9205657143aa56088cc30a6510d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122822
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-10-24 19:56:37 +00:00
Sam Rawlins 9cc57416be Change error node for MISSING_RETURN to be the name
Fixes #35607

Change-Id: I66b9921b0ede5370364b89a89fb19bf0df96ac97
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122726
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-10-24 19:42:07 +00:00
Konstantin Shcheglov 83b6026f9f Deprecate DartType.substitute2()
Change-Id: I326f236391ab46539066eb58962efc501f4b53cd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122724
Reviewed-by: Paul Berry <paulberry@google.com>
2019-10-24 19:40:49 +00:00
Konstantin Shcheglov 1d36ec5bad Don't report UNNECESSARY_TYPE_CHECK_TRUE for 'is Object' if NNBD.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/38643
Change-Id: If6b454e5b6b0b22783c6251199c007b3e8e7d363
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122700
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-10-24 19:39:18 +00:00
Konstantin Shcheglov 4da9baee8d Issue 38991. Build also local elements for individual statements outside of Block.
Bug: https://github.com/dart-lang/sdk/issues/38991
Change-Id: Ib720daec1ed246302392d035219a2cf4cfe81d90
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122281
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-24 18:14:49 +00:00
Konstantin Shcheglov 8b1e73d15d Remove lazy FunctionTypeImpl.
Change-Id: I9dad79468560f1b4c4be793ba51105acf19f05d4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122721
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-10-24 17:27:32 +00:00
pq 0f2787c9f3 validation of @nonVirtual use
see: https://github.com/dart-lang/sdk/issues/34378

Change-Id: I0fe67c56bf7c08f211b6bf89d84c5495e32601a7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122742
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-10-24 13:16:44 +00:00