Commit Graph

7128 Commits

Author SHA1 Message Date
Brian Wilkerson 7826b4faf1 Partially support extensions of function types
This causes some of the language_2 tests to stop crashing, but doesn't
fully implement support for extensions of function types.

Change-Id: Ie1fad540f3ed0b5ed46aec7162f9fe3f15244db0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111661
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-08-01 19:28:06 +00:00
Konstantin Shcheglov a05ef7c0cc Store inferred type arguments for tear-off(s).
This change passes pre-submit run over google3.
https://test.corp.google.com/ui#id=OCL:260993915:BASE:261043007:1564632838252:e80ace42

Change-Id: Ibef739f241fdb60a574da971961b1abe6abde9c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111402
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-08-01 18:25:39 +00:00
Konstantin Shcheglov 677f434a6b Fix computeUnlinkedApiSignature() to change signature when body changed from/to empty.
R=brianwilkerson@google.com

Change-Id: Ib103017308bbd3bc1eecd992cb924ff0d02a9e32
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111620
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-08-01 16:26:43 +00:00
Jens Johansen d49de8b68f succinct option for id testing
Add a "-s" (succinct) option to have a more dense output.
Meant for use together with "-a" so one can get a quick overview of how
many tests fail, e.g.
out/ReleaseX64/dart pkg/front_end/test/id_testing/id_testing_test.dart -a -s

Change-Id: I9e1d91694be76e6c66bf0f3c9168783f920a5bf4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110914
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-08-01 09:25:28 +00:00
danrubel 86acffa440 fix prefixed type recovery crash
This fixes a crash when parsing an invalid prefixed type preceding a list literal.

Fix https://github.com/dart-lang/sdk/issues/37674

Change-Id: I43e84248c8addf6ed744fa0a836595a53a332d75
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111441
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-08-01 02:52:11 +00:00
Konstantin Shcheglov 6123dbdae5 Support for extensions in available declarations.
R=brianwilkerson@google.com

Change-Id: Id173e18fb7e7167cae6677318cc6fca68889c8ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111601
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-08-01 02:26:22 +00:00
Konstantin Shcheglov c4e423db48 Deprecate isSupertypeOf, flattenFutures, isAssignableTo of DartType.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I3028d79580602d5e4d64ca9f013b28173ad63787
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110756
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-07-31 22:47:41 +00:00
Konstantin Shcheglov 6a4d805df4 Implement 'Import Library' quick fix using DeclarationsTracker.
This reverts commit 143e5ef556.

Change-Id: I3c575ff690fd8c8d93a90e50a451a6ec993c4164
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111305
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-31 22:14:21 +00:00
Brian Wilkerson 0639908ecc Resolve call method when defined by an extension
Change-Id: Ic1bc90241207bad2c0c0338dae4b1d2f32c0b021
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111310
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-31 18:12:26 +00:00
Sam Rawlins 0451f598cc Warn about UI-as-Code features in const context with low SDK constraint
Fixes #37675

Bug: https://github.com/dart-lang/sdk/issues/37675
Change-Id: I54bea3325cf2cf6b54fce20fe5e884f5416d96ab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111362
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-07-31 15:19:04 +00:00
Sam Rawlins 8293e96ba9 Fix INFERENCE_FAILURE_ON_COLLECTION_LITERAL to allow for dynamically-typed elements.
Previously, strict-inference would declare that the type of this list could not be inferred:

    var a;
    var l = [e];

Now it is considered that the types of elements of a collection are "settled",
("resolved"?) and that the collection should not be punished (marked as
inference failure) just because it contains dynamic types.

Change-Id: I5b0762420235da187e08bcf6f3fea0c0d3f2195e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111311
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-31 15:04:24 +00:00
danrubel 3b1cb90146 allow void in extension declaration header
Fix https://github.com/dart-lang/co19/issues/449

Change-Id: I301c2472df3206c64462fc42936c736562c6d95a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111440
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-07-31 15:01:54 +00:00
Paul Berry 6c1523410f Flow analysis: Create definite assignment test cases.
The test cases are based on
pkg/analyzer/test/src/dart/resolution/definite_assignment_test.dart,
however those tests are removed because they exercise the old definite
assignment logic (which was never hooked up to the rest of the
analyzer, and was abandoned in favor of flow analysis).  This CL also
removes the old definite assignment logic itself.

There are two behavioral regressions compared to the old definite
assignment logic:

- Assignments inside assert bodies are erroneously assumed to always
  execute (they don't, because assertions may be disabled).

- Flow analysis does not yet understand that a function may be known
  to never return (with NNBD, such a function would have a return type
  of Never).

These regressions have been flagged with TODO comments (in the test
files assert.dart and if.dart respectively), and will be addressed in
later CLs.

Change-Id: I4a3923f667b151fe31cdcca69373ee1f8fb85607
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110400
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-07-31 13:55:54 +00:00
Paul Berry 973a236558 Fail analyzer ID tests if errors are found.
This ensures that we don't accidentally create a test case containing
errors.

Change-Id: I9b6220e15e70640833877f75a08a5a219574be34
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110342
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-07-31 13:55:54 +00:00
Paul Berry 7557a14a74 Move test cases from type_promotion_test.dart into front end.
We still verify that the analyzer passes these tests, but we now do
the verification using the "ID test" mechanism that's shared with the
CFE.  This will allow the front end to run these tests as soon as its
integration with flow analysis is complete.

Change-Id: I1a7e5ef9698ebac72a72d992f4d765723224fc95
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110343
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-07-31 13:55:54 +00:00
Brian Wilkerson 9f2845e39b Resolve index operators from extensions
Change-Id: I73c4b4a9c6c4daf13ca4c2f59640bf7c29c10028
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111318
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-31 13:40:14 +00:00
Paul Berry de013a4b51 Add an optional path parameter to parseString.
This is needed because some clients rely on the path showing up in
error messages.

Change-Id: I3746db3fc9eecef048b4e50c37b6a0b60a13dc7c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110340
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-30 21:34:56 +00:00
Brian Wilkerson 1fe2793d37 Improve tests per previous review
Change-Id: I1cabd87a4ef082683725dd0099644efc98871ae3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111307
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-30 17:59:50 +00:00
Konstantin Shcheglov dddd58b3d3 Report an error when extension declares a member with the same name as declared in Object.
R=brianwilkerson@google.com

Change-Id: Ic344d3c3dfe291e7f10494897160a2ed4f6c108e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111140
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-30 16:59:30 +00:00
Brian Wilkerson 645c985201 Resolve references to static members of extensions
Change-Id: Ic25906ab6a9755c4d0e3b1f63b165718c8c0d1a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111182
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-30 16:35:40 +00:00
Konstantin Shcheglov 92633cf4af Tests for using getter in MethodInvocation.
R=brianwilkerson@google.com

Change-Id: If63713da5e01608b63d697360faac1fce376550b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111261
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-30 16:03:10 +00:00
Konstantin Shcheglov c12deff784 Test that AMBIGUOUS_EXPORT is reported for extensions.
R=brianwilkerson@google.com

Change-Id: I5b89b6216d7f6d679f176cc9492407ab4bbdf77b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111262
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-30 16:03:09 +00:00
Konstantin Shcheglov b21b6f7086 Set resolution types for extension override method invocation.
Both for unresolved and resolved cases.

R=brianwilkerson@google.com

Change-Id: I2cc83dabefcec5815db4d05400404c190e2309e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111180
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-30 01:03:24 +00:00
Mike Fairhurst 2f96be9ee3 [analyzer] Allow references of 'this' in late field initializers
Change-Id: Ic464a1d8402404ca79f2281780bf3d408bbb948a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110550
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-07-29 20:23:03 +00:00
Konstantin Shcheglov 60725e7030 Report an error when 'covariant' is used in extension.
R=brianwilkerson@google.com

Change-Id: I69e2d35bdc485448266706239e199911411f720f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111120
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-29 19:11:23 +00:00
Konstantin Shcheglov 1a0fe21fb2 Add ExecutableElement(s) based InheritanceManager3, and switch analyzer to it.
This reverts commit b8614ca613.

Change-Id: Ic31ee323b21311d8a89f50bcb533316eb55f75e9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110941
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-07-29 19:02:24 +00:00
Brian Wilkerson a048eb9bbc Resolve operators from extensions
Change-Id: Iddc75987812be98ec0839c473cc0753a032c2095
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111060
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-29 17:42:56 +00:00
Brian Wilkerson 8cde797a49 Move more diagnostic tests to separate files
Change-Id: I3d1084f41fde3f84024111b8e4f140e37400f227
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111000
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-29 16:17:08 +00:00
Konstantin Shcheglov d116c67192 Fix promoteToNonNull() for the case when the type parameter bound is null.
Maybe we should change TypeParameterElement so that 'bound' is never
null, and instead returns Object.

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

Change-Id: Id7ecbe40e5bed24f0e5b4cc041a2883f5264b4c0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110960
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-29 15:39:27 +00:00
Konstantin Shcheglov e5a6fca9a4 Use isDartCoreDouble/Int/Num in TypeSystem.
Update StaticTypeAnalyzer to no attempt to perform refinement on
extension overrides.

R=brianwilkerson@google.com

Change-Id: I314117b624b30af8857c899cdfa7f3eb36152b5e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110942
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-29 13:27:32 +00:00
Konstantin Shcheglov 6d55c7745f Revert a test expectation difference.
R=brianwilkerson@google.com

Change-Id: I8f5250db292eb03bd4b3244caf9bb98f53562af2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110961
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-29 13:27:22 +00:00
Konstantin Shcheglov 477c11aa9b Skip Never during indexing.
NeverElementImpl does not have encloding element, so cannot be indexed.

This fixes a crash that we get during codes.dart indexing, where we have
now [Never] reference.

R=brianwilkerson@google.com

Change-Id: I9e8da0b1a5e96ef2b16f920004b2df125551573f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110943
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-29 13:19:29 +00:00
Paul Berry b8614ca613 Revert InheritanceManager3 changes.
These changes were inadvertenly rolled out in a way that breaks
clients, so we need to stage them out more gradually.  See discussion
at
https://dart-review.googlesource.com/c/sdk/+/110552/2/pkg/analyzer/lib/src/generated/resolver.dart#3768

This reverts commit 5b5ddeda92.
This reverts commit e76879acc4.
This reverts commit 27bec56744.

Change-Id: Ic80a577b1cdc4a6c89ca06afceae01af6621d3e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110841
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-07-28 13:54:09 +00:00
Brian Wilkerson bab9e69ad2 Add more tests of extension methods
Change-Id: I5ecd45ed62380cbec01a86a93d6b1c8e8f1e31ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110764
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-26 23:56:07 +00:00
Konstantin Shcheglov 48ce5c2f16 Deprecate isMoreSpecificThan() and isDirectSupertypeOf().
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I57a884f411d006ed720b372826288cf39c91901e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110752
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-07-26 23:52:27 +00:00
Konstantin Shcheglov c5da55311a Fix promoteToNonNull() to support type parameters.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I89202210ee458a2a74f98d5dc09f8c2f00c98c09
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110746
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-26 23:03:45 +00:00
Mike Fairhurst c27db7ce6f Preliminary work for INVALID_USE_OF_NEVER
Change-Id: Ifa37cbc7a9c36c5713591d63e241ba388214d7d1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109899
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-07-26 21:53:51 +00:00
Konstantin Shcheglov e76879acc4 Add 'inheritanceManager' to LinterContext.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I3cb4061afe1d2330494ac90c961e26c468eb5c51
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110761
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-26 21:35:26 +00:00
Brian Wilkerson d2f1dde3c7 Merge two codes, improve some messages, and general code cleanup
In retrospect I probably should have made this three separate CLs, and
I'm happy to go back and do so if you'd prefer.

Change-Id: I816bbbc16794c86129c9b6501db4a5dce2a8e199
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110480
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-26 18:25:21 +00:00
Brian Wilkerson a0e8fc935e Guard against NPE when checking for an implicit covariance cast in an invocation of an extension method
I'll add unit tests when the check is implemented. Note that there are
both co19 and language tests for this case.

Change-Id: Iad8499a32a6f21a58739b3179167ccce384afc86
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110780
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-26 17:59:53 +00:00
Konstantin Shcheglov d742779f04 Fix LeastUpperBoundTest tests for mixins.
When https://dart-review.googlesource.com/c/sdk/+/107444 landed,
it uncovered an issue in the mixin tests added in
https://dart-review.googlesource.com/c/sdk/+/110684

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

Change-Id: If67d926f9762494693220ef39c8c8d5833d1c45e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110744
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-26 17:23:38 +00:00
Konstantin Shcheglov c49eeadd2a Remove workarounds for http://dartbug.com/37587
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/37587
Change-Id: Ic97738593996bbd1a77b1d62a967fa703ecb6e32
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110700
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-26 16:37:21 +00:00
Konstantin Shcheglov a42f5a668f Include mixin superclass constraints into superinterfaces.
https://dart-review.googlesource.com/c/sdk/+/110348 uncovered an
issue that would have failed with assert() and returned null as LUB.

Found 3 failing tests while running presubmit in google3.

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

Change-Id: I7da3ad77f71262f68c5e16ab3d27e4ff43ab438f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110684
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-26 16:24:16 +00:00
Konstantin Shcheglov 27bec56744 Add ExecutableElement(s) based InheritanceManager3, and switch analyzer to it.
Initial: 5d6bab4ed2.
Reverted: 39afa4e555
Change-Id: If611f96e6b0156ec218831dd64305e6ccf02e312
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110552
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-26 16:16:11 +00:00
Konstantin Shcheglov 86dba81dec Tests for codeRange and metadata for annotations.
Implementation for summary2.

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

Change-Id: I7d092688a35702e12509a4450cbda8f5069abcef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110583
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-25 23:10:35 +00:00
Konstantin Shcheglov dcc7e038a4 Skip summary1 tests when summary2 is enabled.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I98e44b926cd881cb24eeb1bcf1fe6028ac05c176
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110549
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-25 23:08:59 +00:00
Mike Fairhurst db25ef8a9c Report unnecessary !
Change-Id: Ie5fbe1e7697c2911eb9ff931bcf5d2e1cef9d171
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108944
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-25 21:45:09 +00:00
Brian Wilkerson 95dcd5c258 Fix two bugs and refactor and extend the tests
Change-Id: Ie6e1a15c5332ab437a525fa8086e4ce58f671afd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110545
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-25 20:45:55 +00:00
Konstantin Shcheglov aac3ce5573 Add failing tests for summaries and referencing / invoking static methods of extensions.
As requested in https://dart-review.googlesource.com/c/sdk/+/110363

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

Change-Id: I8f2aba0ea02e4857bba253131d2b73e17eaebcd4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110520
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-25 19:53:26 +00:00
Konstantin Shcheglov b9ab8efca6 Implement LUB for interface types with nullability.
Using InstantiatedClass is a necessary step for fixing DartType.==
https://github.com/dart-lang/sdk/issues/37587

Change-Id: Ia959d841778b3894f50f47b7490b59b9d7ab6ba6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110348
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-25 17:48:24 +00:00