Commit Graph

8489 Commits

Author SHA1 Message Date
Konstantin Shcheglov 0a98a7a153 Add helper predicates for upper/lower bounds.
Change-Id: Icec2315e4a65539861d99c8e10e254d11454cba7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125361
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2019-11-19 02:48:23 +00:00
Konstantin Shcheglov 239e2eb4ed Issue 38813. If in a legacy library, use legacy interface types for CONFLICTING_GENERIC_INTERFACES.
Bug: https://github.com/dart-lang/sdk/issues/38813
Change-Id: I950bf7bf492e80bc8f12c94252af360158dcb7b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125549
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-19 02:46:23 +00:00
Kallen Tu 2416116208 [analyzer] Support AST variance in visitors and cloning methods.
Most of the visitor, clone and constructor methods support variance
in the AST. Some methods for summary work are missing from this CL,
but I have taken note and will change those in an analyzer summary CL
in the future.

Change-Id: I54a39b9ec44ced26d2bc55966d5938a91ab6a76c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125007
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-18 23:20:53 +00:00
Jaime Wren 89b4f55010 Fix an import at the top of the analysis server workspace.dart file
Change-Id: I39cb68c9e9359df7d39ca23d996d4dc646f7001d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125546
Reviewed-by: Jaime Wren <jwren@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2019-11-18 23:12:15 +00:00
Kallen Tu 7c517ed007 [analyzer] Report invalid variance positions in fields.
Change-Id: I51a0e64907569a722fd1df58e098bb92254d53c6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125481
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-18 22:42:15 +00:00
Konstantin Shcheglov 73d0ef6a30 Remove 'visitedTypes' from appendTo().
We don't have recursive types anymore.

Change-Id: I3bb67c91d1ba6f277c93495ae77ca5eee2356d5f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125543
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-18 21:55:27 +00:00
Jaime Wren 8dd2e8e693 Modify DeclarationsContext.getLibraries to consider the entire context if it is a BazelWorkspace
Change-Id: I3d06e46505741f9166acf66f68a9ee1654ac37d1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125564
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2019-11-18 20:57:35 +00:00
Konstantin Shcheglov b716efbfc0 Attempt to work around repeating LinkedBundleContext exceptions.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I4dd52770d2cc128ebfb82f49fe52d7d83ed65a9b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125562
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-18 19:10:13 +00:00
Konstantin Shcheglov 7df44023f4 Issue 38878. Update SuperContext for annotations.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/38878
Change-Id: Ib2944fd60062fca0ec2899d83656cdc02b0a4a87
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125529
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-18 19:06:48 +00:00
Konstantin Shcheglov b5b45ffe4b Issue 38953. Exit the unit element walker on enter into a directive.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/38953
Change-Id: I54e84e28f5d576bcd50c8bb10e99aefdae725c25
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125528
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-18 18:11:53 +00:00
Konstantin Shcheglov 2a5d00bcd2 Issue 38992. Build annotation elements for type parameter elements on their creation.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/38992
Change-Id: I98f7690914ce2acb7074a8333b9a482605bb9afb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125527
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-18 15:36:08 +00:00
Konstantin Shcheglov aa0cf44b05 Issue 38506. Don't attempt to use LibraryElement.metadata for not the first LibraryDirective.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/38506
Change-Id: Ib76b1e81554f061622ec98fae21b4dd9a1280c24
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125521
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-18 15:28:45 +00:00
Konstantin Shcheglov 6df2491743 Issue 38551. Fix for reading references to PropertyAccessorElement(s) defined in extensions.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/38551
Change-Id: Id93714a2db97ff1ab448fe408f4e86df9988a147
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125520
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-18 15:28:03 +00:00
Jens Johansen edbff4eae7 [CFE] Encapsulate 'Stack' and create DebugStack as an option
Change-Id: Ib3dd188e3b2c65d6e6824487ae7794fe9214bfbb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125264
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-11-18 12:44:13 +00:00
Brian Wilkerson c96fe4e006 Add more explaination to existing examples
Change-Id: I2f89ef54eb4467d23f7507c1217385a1df2d4a11
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124594
Commit-Queue: Kathy Walrath <kathyw@google.com>
Reviewed-by: Kathy Walrath <kathyw@google.com>
2019-11-16 02:52:18 +00:00
Kallen Tu a2fe9d450e [analyzer] Report invalid variance positions in methods of a class.
Change-Id: I425f81e7e64a02b29e094dab53f37318a09a3c62
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125228
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-15 23:55:19 +00:00
Kallen Tu 6ec813e07a [analyzer] Modified type inference constraints wrt variance.
Change-Id: I0502bad1c57af358453c78d27fe738880beb7b4e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125021
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
2019-11-15 22:02:36 +00:00
Erik Ernst d290f1cec2 Add nonfunction-type-aliases experimental flag
Change-Id: I203af5227ecfee8c9e6b0f4985f68e38a18553c0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125203
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-15 17:04:15 +00:00
Sam Rawlins fea5e1b741 Fix UNUSED_MEMBER check for cross-class private class members
Overhauled how UNUSED_MEMBER and UNUSED_FIELD work, by using
Elements instead of names. This requires careful extra logic for:

* implicit getters
* overridden members
* parameterized members
* unresolved members: when _x is called on a dynamic
  expression, we must declare that all members named _x on all
  classes are used.

Fixes https://github.com/dart-lang/sdk/issues/35677

Change-Id: Id097350499b34b33239e82e391af0b7ea9580cbf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124521
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-11-15 03:42:55 +00:00
Konstantin Shcheglov c98a775436 Remove deprecated classes and fields from IDL.
This patch should be landed atomically into both internal copies
of analyzer, and there should not be any pending roll into either copy.

Change-Id: Iae405b6c8292fb33ef5cf99332acec9d85257748
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125281
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-15 00:14:43 +00:00
Kallen Tu 85295c9298 [analyzer] Report incorrect type parameter superclass positions.
Change-Id: I6c55c32db2c275a199b2878909576f445a87977c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125009
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
2019-11-14 19:04:44 +00:00
Konstantin Shcheglov fac27eae0a Use Member(s) as legacy views on elements.
Change-Id: I3e8a603a50ecc04b217311bfc34f66e3dd924247
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124593
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-14 16:41:51 +00:00
Konstantin Shcheglov bd2163f122 Issue 39380. Fix for null loopVariable.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/39380
Change-Id: I1d631d89f4c8cc72f8d76c3f62334d570c92aff2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125065
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-14 16:36:20 +00:00
Mike Fairhurst 8db87ad6e5 [analysis_server] Report lowest exception to API/crash reporting
Change-Id: I6db4612e0342c0f5208e7bce420964c7f0de1966
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124912
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-11-14 16:33:46 +00:00
Konstantin Shcheglov a8e48405dd Share search methods in FindElement and ImportFindElement.
Change-Id: I511c23440fbd95b3a27a50d7b80c66c9a8a7f558
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125125
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-13 22:22:25 +00:00
Kallen Tu df2093362d [analyzer] Clean up casting for variance and related tests.
Change-Id: Ieb73919e41ee500c29c17d64f6b4525978378a00
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125141
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
2019-11-13 19:26:41 +00:00
Konstantin Shcheglov 7c71115b28 Remove unused type parameter from VariableMember.
R=brianwilkerson@google.com

Change-Id: I45858e91df5831c44fc8dbd4ed58d0d3527a7d6b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125083
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-13 15:29:48 +00:00
Konstantin Shcheglov c9ef7cc5e3 Deprecate Member.baseElement, use Element.declaration in analyzer.
Change-Id: I91d23558c7d0bd8ffa2e251e5d615d4e026923b3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124940
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-12 22:35:07 +00:00
Kallen Tu d5d889668b [analyzer] Added variance support for upper/lower bounds.
Change-Id: I64f44a7068c6caa222787ccb7dfbb3ed8b5fd0fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124420
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2019-11-12 22:10:56 +00:00
Kallen Tu a65aff122d [analyzer] Changed subtype checking for variance modifiers.
Change-Id: I9fa65e13d2f8611acc50fd133029c76666b8f452
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123559
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-12 22:09:56 +00:00
Mike Fairhurst 26cabb72c3 [analyzer] Add [SilentException] where previously not reported to users.
New errors *not* changed to silent exceptions:

https://dart-review.googlesource.com/c/sdk/+/123328/9/pkg/analyzer/lib/src/dart/sdk/sdk.dart
https://dart-review.googlesource.com/c/sdk/+/123328/9/pkg/analysis_server/lib/src/analysis_server_abstract.dart

These seem worth keeping.

Change-Id: I534b07f6cf50c5b251867b647ed6df96a9134c56
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124586
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-11-12 21:37:49 +00:00
Sam Rawlins 0b210e5e81 strict inference should not complain about top-level setter return types
Fixes https://github.com/dart-lang/sdk/issues/39250

Change-Id: I9f9ddc7ce484cc4ee0e9bbf2a7b2c673f6ad4e7e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124520
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-12 21:25:43 +00:00
Konstantin Shcheglov ab7bceb622 Ensure that Member(s) are not created around Member(s).
Change-Id: I11505dcfcbaa51488d4bb2f8ab541b5599d36edb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125001
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-12 21:00:14 +00:00
Konstantin Shcheglov 3bde76208d Fix for AstBinaryFlags.hasQuestion
R=brianwilkerson@google.com

Change-Id: I3b971310aa62955b61089166d059a44eb02eee69
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124901
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-12 15:20:39 +00:00
Brian Wilkerson 804706c026 Represent variance as an object rather than an integer
This has at least three advantages:
- Type safety. Only a valid variance value can ever be passed in to any
  of the methods.
- Encapsulation. If we ever need to change the representation of
  variance it will only need to be done in one place.
- Brevity. Much of the code is shorter and easier to read.

Change-Id: I82756f48aedd09232e9b8cdda155da83793a155f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124580
Reviewed-by: Kallen Tu <kallentu@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-11-11 23:27:19 +00:00
Konstantin Shcheglov f9969cca58 Add Element.declaration to unify elements and members.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I278a97a6d1e386c6cca61e4579d47ef6a07f0ffb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124822
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-11 22:23:07 +00:00
Konstantin Shcheglov 6cde7ce224 Deprecate synthetic FunctionTypeImpl constructor.
Change-Id: I7c2f834d7e9e532709b3d43b348e7588be659af9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124595
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-11 19:38:53 +00:00
Konstantin Shcheglov 263ac017be Use standard Set in LegacyTypeAsserter.
All types now use nullability in their `==` implementations.

R=brianwilkerson@google.com

Change-Id: Icb9050428d274d4a94060671709f59ff67927fce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124700
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-11 18:11:43 +00:00
Brian Wilkerson e39b0f8d99 Disallow a deferred import of a library with extensions if any extensions are visible
Change-Id: I37f08e56cfbbdd5147abd28ae40f2358cd7d1382
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124584
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-11-08 19:55:47 +00:00
Konstantin Shcheglov dc69edcdb3 NullabilityEliminator for removing nullabilities in legacy libraries.
Change-Id: I3202ef39954e27b26a5851f449903fa1fac1eb63
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124620
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-08 19:10:09 +00:00
Brian Wilkerson 7ad7e6202d Allow extensions imported with a prefix to be accessible
Change-Id: Iccc4a0c1ad50e13f5034fb1214d549a29e8a3e7b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124601
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-11-08 18:52:48 +00:00
Konstantin Shcheglov a01c3b464e Use TypeParameterElement(s) as free variables in FunctionType.toString().
Types should have never been used here in the first place.
And with nullability we get mismatches where type parameters are used
with a suffix :-(

Change-Id: I93ff61ee9bf32c24cdf3d2aadeb23cbb84b34cfa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124501
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-08 17:07:13 +00:00
Konstantin Shcheglov e3aac9e25d Check more in LegacyTypeAsserter.
Change-Id: Ie90ff509dd4327ef33a1ce7fb81657ff8c2f1412
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124500
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-08 17:00:07 +00:00
Paul Berry 6317779f9b Simplify TestTypeProvider constructor.
The only optional parameter that was actually used was
nullabilitySuffix, so eliminate the others, and make it a named
parameter for easier future expansion.

Change-Id: Iee05e955a1c996b4e1dd9bbec3db7fd1588ebe04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124001
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-11-08 13:53:17 +00:00
Mike Fairhurst e68ca9b652 [analyzer] move crash reporting to server because telemetry isn't pulished
Change-Id: I8fb293632267e7991c578076a43bfbd277fc1ee1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124461
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Janice Collins <jcollins@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-11-07 22:19:07 +00:00
Paul Berry cdde5418e1 Rework null-shorting logic to improve robustness, add public API.
The proper behavior of null-shorting relies on proper pairing between
FlowAnalysis.nullAwareAccess_rightBegin (called upon reaching a `?.`
during resolution) and FlowAnalysis.nullAwareAccess_end (called upon
reaching the termiation of null-shorting during resolution).
Previously, we ensured that invariant by the following mechanism: when
visiting an expression that might terminate null-shorting, we would
walk backward through the expression to try to figure out how many
outstanding `?.`s it contains, and call
FlowAnalysis.nullAwareAccess_end an appropriate number of times.  This
was fragile because we had to guarantee that the backward walk would
find exactly the correct set of `?.`s for which null-shorting was
open.

With this change, we ensure proper pairing between
FlowAnalysis.nullAwareAccess_rightBegin and
FlowAnalysis.nullAwareAccess_end by keeping a stack of the expressions
that should terminate null-shorting once we finish visiting them.

Additionally, we add an accessor to the API called
`nullShortingTermination`, allowing a client to ask when the null
shorting introduced by a `?.` will terminate.

Change-Id: I8ec99e6bad7605d50ef3a6bc6c11634ece5043a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124380
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-11-07 22:06:17 +00:00
Konstantin Shcheglov cb0e5c5a3e Set operator== parameter type to dynamic if directly from Object.
See https://github.com/dart-lang/language/issues/569

See https://github.com/dart-lang/sdk/issues/38339

Change-Id: I8d42135985aa4d55ffcc65cdf849572736cb9198
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124284
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-07 20:07:29 +00:00
Konstantin Shcheglov 548d078115 Sort named parameters in FunctionTypeImpl, fix equality.
Change-Id: I90fdf768f291161a598bb5a6c072ac8fd31f73c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124382
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-07 19:20:59 +00:00
Paul Berry 1d646866ac Sort declarations in pkg/analyzer/lib/dart/ast/ast.dart
Change-Id: I04c120716dd663004636b357b18602a37b29b243
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124340
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-11-07 16:24:47 +00:00
Kallen Tu 126297befd [analyzer] Add variance modifier values to the AST.
Change-Id: Ic8b4291941d7b11672783a5e11a741c90fb12394
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123548
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
2019-11-07 01:33:53 +00:00