Commit Graph

7628 Commits

Author SHA1 Message Date
Brian Wilkerson 130ad1bcf9 Stop reporting some errors when constant evaluation produces a valid object with an unknown state (issue 36873)
Change-Id: I1bf9c0aebaee24ab0c9e2b40c9881d478e33f87c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102001
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-09 18:45:01 +00:00
Brian Wilkerson d1a5eb5900 Fix the special casing of binary operators with primitive types when NNBD is enabled
Change-Id: I36f7f63b26eb3ea87efbe7af96d2134ea6402158
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102020
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-09 18:44:12 +00:00
danrubel b4e2c0246c update parser to handle leading error tokens
This is the first of several CLs that move error tokens to the head
of the token stream so that parser handling of error tokens
can be simplified and less error prone.

In this particular CL:
- update parser to handle error tokens at the head of the token stream
- remove several places that analyzer was preprocessing error tokens
   now that the parser handles them

Change-Id: Iddf60ab2879567a345a692b64043bd42f1871947
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102040
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-05-09 18:36:31 +00:00
Konstantin Shcheglov 678f4bb926 Give featureSet to analysis options to fix resynthesis tests.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I757327377b3fb2b8e945f0938d5d523f83decfaa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101940
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-08 23:58:10 +00:00
Paul Berry 1407e59079 Add preliminary NNBD support to the summary linker.
Change-Id: I256d66333d9715ed720bd6ea87d21fd00e17635a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101900
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-08 22:35:49 +00:00
Paul Berry 34d2fd42bd Add summary deserialization support for nullability.
In a follow-up CL I will add nullability support to the summary
linker.

Change-Id: I99f3dce1a695da65c7c09c11e73462c93aeb637f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101882
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-08 22:30:39 +00:00
Brian Wilkerson 147523b744 Add failing tests of operator semantics under nnbd
Change-Id: I3a3f366083d8b1e68a78670b199864172d43cc35
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101840
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-08 21:45:59 +00:00
Konstantin Shcheglov 299bf667ac Get codeOffset/codeLength through LazyNode.
So, that it works whether nodes are lazy or full.

R=brianwilkerson@google.com

Change-Id: I4c8916f05b0f73a6f825d4c15e45dade5f702582
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101881
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-08 21:44:41 +00:00
Paul Berry 39858b1225 Remove CompilationUnitImpl.isNonNullableLibrary
And plumb FeatureSet into more of the analysis engine.

Change-Id: I40f7061d48c5eb2a597f95a32738bd3133fe21d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101224
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-05-08 21:36:59 +00:00
Paul Berry 51fe641e82 Create a SynchronousSession class.
In the long term this class will take over much of the role played by
RestrictedAnalysisContext.  For now it is simply a container for the
analysis options, declared variables, type provider, and type system.

In follow-up CLs I will plumb this object through various parts of the
analyzer, especially the LinterContext; this will enable the
canBeConst... methods to be moved into SynchronousSession, and that
will allow us to stop creating a LinterContext in
BestPracticesVerifier.

Change-Id: I7ac2d386c10d2e5339d9715848b185c163e1f858
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101860
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-05-08 19:57:31 +00:00
Brian Wilkerson f80f0bfcfd Reland "Implement the type Never"
This reverts commit 78e50a5f9b.

Change-Id: I2ec4cdcfda4a6d199308a3b25a2ed0792e9d9a26
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101621
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-08 13:26:45 +00:00
Brian Wilkerson 8143450941 Convert comments in the constant evaluation code
Change-Id: I564d9ac227a8d5b4e8b02a5496dd08f84658e984
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101632
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-08 00:20:59 +00:00
Mike Fairhurst a8b6e18b62 Resolve x ?? y as LUB(X!, Y) instead of LUB(X, Y).
Change-Id: I081d8ec153916fb37e2a949d9fa85a6ea778438e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/92390
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
2019-05-07 16:34:17 +00:00
Brian Wilkerson 78e50a5f9b Revert "Implement the type Never"
This reverts commit 40a06c3a77.

Reason for revert: Introduced a bug that is blocking a roll.

Original change's description:
> Implement the type Never
> 
> Change-Id: Icbf407bc19f602c8382946b1e735905cc165c59c
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100993
> Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
> Reviewed-by: Paul Berry <paulberry@google.com>

TBR=paulberry@google.com,scheglov@google.com,brianwilkerson@google.com,mfairhurst@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Iebb5b8327b0be7129298f39b343555b812314abf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101640
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-07 16:22:37 +00:00
Konstantin Shcheglov 986c0791dc Build local elements in constructor initializers.
R=brianwilkerson@google.com

Change-Id: Idb4645bc46a6f4804167d45e6ad809be33be8d53
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101560
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-07 15:36:52 +00:00
Konstantin Shcheglov 00c6c53ff8 Include 'exists' into unlinked signature.
We don't report UNUSED_IMPORT when the library file does not exist,
so that libraryElement.isSynthetic, and an empty but existing file
is not the same as not existing at all.

R=brianwilkerson@google.com

Change-Id: I33d911b01f2ca7e1f5c4fdda7083507f469ec6c3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101580
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-07 15:28:57 +00:00
Konstantin Shcheglov 32f146afe2 Fix tests that are probably opinions how something should be resolved.
R=brianwilkerson@google.com

Change-Id: I981feeb3e7a128789b8b7fd38e81e4e19beed22e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101600
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-07 15:28:47 +00:00
Konstantin Shcheglov d2d8e8a4a5 Prefer hasLibraryDirective over hasPartOfDirective.
R=brianwilkerson@google.com

Change-Id: Ic411bd057ef1befd1aecd1f05a485430ec16b89d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101467
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-07 15:20:56 +00:00
Konstantin Shcheglov c331ce69a3 Update extract implicitly typed instance property tests.
The reason when there is a difference in summary1 and summary2 behavior
is that in summary2 we link cycle by cycle, and in summary1 we link
all requested libraries together.

R=brianwilkerson@google.com

Change-Id: I173d37d7a6b6c766c641715c6dbce7c1701139f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101492
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-07 15:20:46 +00:00
danrubel a83fbc5edb remove unused enable lazyAssignmentOperators flag
Change-Id: I4112fe4ad5a08916d124216753a995d607a9892d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101485
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-05-07 13:06:39 +00:00
Konstantin Shcheglov 3173e594ba Skip not classes in mixin superclass constraints.
R=brianwilkerson@google.com

Change-Id: Ic9f3ed3e032839e1dd953be7dd938c9283851bf8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101466
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-07 01:00:53 +00:00
Konstantin Shcheglov b27436158a Get GenericFunctionType element from the node, not the type.
R=brianwilkerson@google.com

Change-Id: Ida2c7765fb74e6a768f771a8123dc5fbf541f512
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101462
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-06 22:20:52 +00:00
Konstantin Shcheglov 259ab698ab Fix for CompilationUnitElementImpl.nameOffset and type alias code range.
R=brianwilkerson@google.com

Change-Id: I90bb0b74ea52eea883ee4c8accb8f2055ba568a3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101490
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-06 22:01:12 +00:00
Konstantin Shcheglov 04db35c3b5 Prevent infinite recursion via not 'self'.
When we are checking `A`, we will catch self-reference and stop.
But when we are checking `B`, we still need to stop.

typedef A A();
typedef B(A a);

R=brianwilkerson@google.com

Change-Id: I8ad57a94301ec3379c2480c782637c502aa02675
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101464
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-06 21:57:04 +00:00
Mike Fairhurst 7928dbd270 [analyzer] Resolve nullability of generic function types
Change-Id: Ie14ae8844b83f54b5e2c9d1d5424ca8f015bb5d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101463
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-05-06 21:18:59 +00:00
Mike Fairhurst 36c315eacc [analyzer] resolve x?.y to return T?
Change-Id: I3ef319621753364b8d70e79b2ab32d7ec9c1e8d8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/92383
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-05-06 21:09:39 +00:00
Konstantin Shcheglov 457e58c637 Type promotion requires current function body.
So, wee set one when resolving constructor initializers, even if it
is empty.

R=brianwilkerson@google.com

Change-Id: Ia63e60ed40bbf7e9c7f681acbce9548cc03bca65
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101486
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-06 20:52:13 +00:00
danrubel 79f4ecf191 report error on const method with empty body
Fix https://github.com/dart-lang/dart_style/issues/810

Change-Id: I5ff31f0cdcc89f9b05b9079698a752b875518da2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101441
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-05-06 20:00:38 +00:00
Konstantin Shcheglov 6aab33ff09 Fix for setter names in library local declarations.
R=brianwilkerson@google.com

Change-Id: Ie4df5f075b39d78eb508e9dfb7a5bb0e9442e0d4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101484
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-06 19:53:15 +00:00
Konstantin Shcheglov 271c8465f4 Rewrite AST when resolving constants.
R=brianwilkerson@google.com

Change-Id: I952a5848e498fac54b29202edce66eea019d3414
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101483
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-06 19:52:43 +00:00
Konstantin Shcheglov dd185a029e Build local elements for metadata.
R=brianwilkerson@google.com

Change-Id: Ie4f997eb577d2b8496bb68ce7ab546f20ae14787
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101482
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-06 19:52:35 +00:00
danrubel 4655f63670 update analyzer.Scanner to track featureSet
Change-Id: Ide1ed3fc83831ab2a957b6e823f515135611614b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101440
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-06 17:46:52 +00:00
Keerti Parthasarathy 65cea6b8bb Add more information to manifest warning message
Change-Id: If937bc27bd1b392022a23f942c50a84ed12d2268
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100890
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-06 16:38:08 +00:00
Sam Rawlins 209e135db6 Split out two codes from STRICT_RAW_TYPE
Bug: https://github.com/dart-lang/sdk/issues/36445
Change-Id: Ic716d89b1a6d00945a74c7484f8301403b8ea371
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101420
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-05-06 16:33:58 +00:00
Konstantin Shcheglov ab5b285f82 Record InvocationExpression.typeArgumentTypes and use it directly, without need to restore type arguments.
Also remove FunctionTypeImpl.recoverTypeArguments because Analyzer
does not need it anymore.

This CL used to replace GenericFunctionTypeElement based FunctionType(s)
with synthetic FunctionType(s). But this is not enough step, because
ideally we want to do this for all FunctionType(s) in invocations. And
this is too big change that affects many parts of Analyzer to do it now.

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

Change-Id: I180eca03ed249abfafe8d6faa94050a30969f125
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98984
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-06 15:59:08 +00:00
Brian Wilkerson 09b31ed7cd Clean up some non-driver code in constant evaluation
Change-Id: I52a25e053fc9cc5e71bd414f615be54e5da5299d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101401
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-06 12:39:28 +00:00
Konstantin Shcheglov 67df3ff878 Remove old commented out code.
R=brianwilkerson@google.com

Change-Id: I73e7356514d9500f517fd315f477f9bca56cc776
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101400
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-05 15:43:29 +00:00
danrubel 7ec4621108 cleanup scanner configuration flags
* rename enableGtGtGt to enableTripleShift
* remove unused enableGtGtGtEq field

Change-Id: I0fa881c45619067ec3a292acbff984db555aa43e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101362
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-05-04 17:14:46 +00:00
Paul Berry 81ced1c9bf Make a separate file for tests of implicit_this_reference_in_initializer
Change-Id: I98838dee538158a3776cdeedc195d74f00ece9d4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101323
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-05-04 14:50:26 +00:00
Paul Berry e5575ba64a In summary2/ast_resolver, get featureSet from enclosing unit
Change-Id: I6a40a1199c9ba25336b49f9ea1246178d627630b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101343
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-05-04 00:42:10 +00:00
danrubel 4679e6bf03 fix analyzer/ddc triple shift assignment
Change-Id: I7418f7bcfee2e198fc825e6d8f551a4824b8a4e3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101223
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-05-04 00:00:39 +00:00
Paul Berry 3f90f04a74 Prepare to publish analyzer 0.36.3
Change-Id: Ibe4fb287ff6774fa71fd9d5e5a67b0f3f8b8c530
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101300
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-05-03 16:57:54 +00:00
Paul Berry 3020127fc4 Change resynthesis test expectations to use new Function syntax.
This is necessary in order for resynthesis tests to be unambiguous in
the presence of NNBD, because with the old syntax, it wasn't clear
whether a type like `() -> int?` meant `int? Function()` or `int
Function()?`.  In a future CL, we'll make a similar change
FunctionType.toString().

Change-Id: Iedf6162de53c7fe57f858913d8e82faac17971c0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101242
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-05-03 16:51:09 +00:00
Paul Berry 797e288796 Clarify how ParameterElement getters behave in the presence of required.
Change-Id: I6f3056669b6760667b2f6ffe158435af1b1fbbd4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101243
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-05-03 14:34:39 +00:00
Paul Berry 974babb5f1 Remove named argument nnbd from summary testing methods.
These tests now use the FeatureSet mechanism to opt in and out of NNBD.

Change-Id: Id836833d4479e396e8db2b3646d28da339ed5674
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101076
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-05-03 14:29:41 +00:00
Paul Berry f3d8b420a0 Consolidate all NNBD enables in summary_common.dart.
Change-Id: I3cc0363f82674fd1a59ff0c3e2d11e46a72a0d4c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101075
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-05-03 14:29:41 +00:00
Konstantin Shcheglov c38b65d2bc Use FreshTypeParameters from type_algebra with summary2.
FunctionTypeImpl.fresh() works in inscrutable ways, and does not work
correctly for synthetic FunctionType(s).

This change breaks 2 or 3 tests with summary2, because of using
FunctionTypeImpl.recoverTypeArguments() in ErrorVerifier
_checkForImplicitDynamicInvoke().

CheckerTest | test_implicitDynamic_function
CheckerTest | test_implicitDynamic_method

I prototyped a way to stop recovering type arguments some time ago.
https://dart-review.googlesource.com/c/sdk/+/98984

R=brianwilkerson@google.com

Change-Id: I0077e9d91663912cbd4f6c1bf0c2acea5a5056e1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101241
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-03 14:26:34 +00:00
Konstantin Shcheglov f931d0e5ab Read bounds of function type type parameters.
R=brianwilkerson@google.com

Change-Id: Icdb0c2e0c02c8f1299d4cf3f6198c26c330f61f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101240
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-03 14:21:38 +00:00
Konstantin Shcheglov fb7137ba6f Fix isAbstract when MethodDeclaration is lazy.
R=brianwilkerson@google.com

Change-Id: Id03af715acdd446e5210f8fc4efbc0a2ca641fd5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101202
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-03 14:13:33 +00:00
Konstantin Shcheglov f9b68f72f4 Fix copy-paste error with optionalNamed.
R=brianwilkerson@google.com

Change-Id: Ic657a6af242a4a279772f746aabc1c2596cfa904
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101201
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-03 14:10:23 +00:00