Commit Graph

7128 Commits

Author SHA1 Message Date
Konstantin Shcheglov 8c3065e947 Add fuzz tests for annotation resolution crashes.
Change-Id: I2748ae2bee93b621f864c11dc4d58ec9b1e4b9fb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119581
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-01 21:50:20 +00:00
Konstantin Shcheglov 84383dff6d Fix elements resynthesizer tests on Windows.
R=brianwilkerson@google.com

Change-Id: I601d0c6ce7a02c22d839c89ba344ab59eaa92576
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119580
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-01 21:39:40 +00:00
Konstantin Shcheglov cb9a35ca53 Issue 38565. Revert incomplete annotation constructor invocation inference implementation.
This partially reverts https://dart-review.googlesource.com/c/sdk/+/118901

R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/38565
Change-Id: I4d259a380985ce6e0670fc644594054b820b9bf5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119534
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-01 20:44:26 +00:00
Konstantin Shcheglov 21c26ab6d9 Issue 38641. Fix scopes for metadata resolution.
I found an issue during todays google3 presubmit.

R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/38641
Change-Id: Ibfa53271405188147e7888c7e4c13bb1fdb40c82
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119521
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-01 14:09:12 +00:00
Konstantin Shcheglov 929716a446 Stop using DartType.isSubtypeOf() in runtimeTypeMatch().
Change-Id: If073faa8659494a04861df653189648b0d54bc1a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119221
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-30 19:54:43 +00:00
Konstantin Shcheglov 17f081a1fb Fix for the context type for arguments in constructor initializers.
This fixes some other rare issues encountered during running google3
presubmit with runtime type checking for constants.

https://test.corp.google.com/ui#id=OCL:271764619:BASE:271800075:1569771780644:bd6ae73b

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

Change-Id: I0fe88185e0c3340930c0e188cf42fbf08963baab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119441
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-30 18:03:57 +00:00
Konstantin Shcheglov f135761537 Set the context type for inference after rewriting AST.
Otherwise we create a new node during rewriting, and lose the context
type that was set for the old node.

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

Change-Id: Ife792900696b44c92577d88e06fd40fa9cf97fe8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119260
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-09-30 15:44:36 +00:00
Konstantin Shcheglov 93902399dd Remove isAstBasedSummary, keep only 'true' branches in tests.
R=brianwilkerson@google.com

Change-Id: Ie27d5569e526193feb07480d923ad355fcf72291
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119280
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-30 14:37:02 +00:00
Konstantin Shcheglov 963c338104 Don't use ResolverTestCase for two tests.
R=brianwilkerson@google.com

Change-Id: I375dfe9d9227d9a0cca50ed9ed5938620f9cfc50
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119300
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-30 14:35:37 +00:00
Konstantin Shcheglov 3f65652ad0 Enable avoid_init_to_null.
R=brianwilkerson@google.com

Change-Id: I983fdff71c47dbf2b271508955095a73cfbeee59
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119380
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-30 14:26:06 +00:00
Konstantin Shcheglov a006914279 Enable prefer_contains and no_duplicate_case_values.
R=brianwilkerson@google.com

Change-Id: I2ad2754b587c00d40811f6e5710b30d9111b828a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119361
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-30 14:25:36 +00:00
Konstantin Shcheglov d3e7adf548 Issue 38641. Fix linking metadata with unqualified references to static methods.
This CL includes changes to ResolvedAstPrinter done in a previous CL.
But it also includes new changes, I'm sorry about this.
https://dart-review.googlesource.com/c/sdk/+/119260

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

Bug: https://github.com/dart-lang/sdk/issues/38641
Change-Id: I05e9b0cf94a11aa8f18829bbecb25f0c930d00df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119360
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-30 14:16:07 +00:00
Konstantin Shcheglov 942af5bd62 Resolve initializers of final class fields in classes with const constructors.
ResolvedAstPrinter is used to print otherwise invisible properties of
AST nodes, such as elements and types. In this case - the static type
of the constant ListLiteral, that must get the static type, and this
type must be inherited from the context.

This solves (a surprisingly rare) breakage in google3 when I ran a
presubmit to enable stronger runtimeType constant checks using
TypeSystem.

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

Change-Id: I9f50fb7edef344677e3b3b1ac27b136326cb2c40
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119240
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-09-29 16:08:04 +00:00
Konstantin Shcheglov 595022bdea Remove summary1, part 1.
Change-Id: I557785ac13fa411280ce032324b0305bf25a0a6d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119170
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-28 14:30:05 +00:00
Konstantin Shcheglov da75135c7d Revert "Revert "Issue 37608. Use instantiated FunctionType for tear-off(s).""
This reverts commit b31e71e990.

https://github.com/dart-lang/sdk/issues/38546 was fixed.
https://github.com/dart-lang/source_gen/pull/430 fixed source_gen.
source_gen rolled into google3.
So, I think it is safe to re-apply this change.

Change-Id: Ia40830b733fce2ba4473a847df1af3c30cf139a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119182
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-28 14:24:45 +00:00
Konstantin Shcheglov 9bf38afe9c Check that ClassElement is Object using the corresponding getter.
Bug: https://github.com/dart-lang/sdk/issues/38589
Change-Id: I76c510bd212c48dbb3efc6b2ca2156d187937fa1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119181
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-09-27 18:31:25 +00:00
Konstantin Shcheglov 18f941d9e0 Fix for the ordering and caching issue for default types.
TypeParameterElement caches its default type, as it gets it from the
resolved TypeParameter node. So, while DefaultTypesBuilder will get
to the node from which we got this default type, and will finish its
building from TypeBuilder to a normal DartType, it is too late. We
should make sure that we only cache already built types.

R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/38498
Change-Id: Ie3e3645efdf44a9e599655bec5a5e410c75c1a58
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119166
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-27 18:20:00 +00:00
Brian Wilkerson 61b4c0f770 Cleanup hints and lints in analyzer packages
Change-Id: I7f1a6ad1ed3610da9616683576ebfb5efd543fd9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119164
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-09-27 16:12:44 +00:00
Jens Johansen c3c31b74fd [parser] Fix bug wrt when the handleNonNullAssertExpression is added
This fix is basically a revert of the first fix for for the same issue,
https://github.com/dart-lang/sdk/commit/627e4c8cad17f069a9dc281e6726cc2080f1af45

Fix #37708

Bug: 37708
Change-Id: Ic470b2663e7171fcac6a8de3d9e1276b7815a64b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118574
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-09-27 11:53:15 +00:00
Sam Rawlins 3637e78014 Report inference failure on return types of typedefs and generic function types
Change-Id: I9da541785f75c0da5121bb7058d3ad726ff00e12
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117522
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-09-27 06:21:43 +00:00
Konstantin Shcheglov eac2eadff7 Stop using 'Element.type' in resolver.
Change-Id: I90ed74e2c673544f3eae903859fb3b9e4c284240
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119082
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-26 23:55:02 +00:00
Paul Berry 1375e262be Minor NNBD fixes for type algebra and DartType.toString.
Change-Id: Iafb43852d5fad65a37a58b132a066b6aa3492da1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119062
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-09-26 21:51:12 +00:00
Konstantin Shcheglov 402951b399 Stop using 'Element.type' in ErrorVerifier.
Change-Id: I8313bccb7bf302fd80fa2da1e5256e1e40998fa8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119041
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-26 20:17:28 +00:00
Sam Rawlins e6eafe20f7 Fix strict inference on overriding methods and setters.
See the change to the spec: https://github.com/dart-lang/language/pull/595

Change-Id: I5aeb20eb175f7018ecc99f398ea4d463b1e7874e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118920
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-09-26 19:29:22 +00:00
Kallen Tu 327bc451f8 Added variance support in listeners to ast.
Pass variance data to field in TypeParameter through the listeners.
ast_to_text will print variances for classes and mixins if specified.

Avoids serialization/deserialization (impl in future CL).

Change-Id: I298537604823710f0d30001f4cb5f1e81530959f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118464
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-26 18:11:10 +00:00
Sam Rawlins 9c8de83ced Fix strict-inference for function expressions which can properly infer
Change-Id: I881476f78e9c76650cb576c321ecb0959dce5882
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118909
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-09-26 02:53:12 +00:00
Konstantin Shcheglov 8dcf5cb413 Remove IncrementalAstCloner and TokenMap.
R=brianwilkerson@google.com

Change-Id: I0ccc3bcd3134a65821e6464cd1e60ac12d90e295
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118885
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-09-26 00:59:42 +00:00
Konstantin Shcheglov bd3792e714 Remove unused MapIterator and implementations.
R=brianwilkerson@google.com

Change-Id: If433e5d7065b6635f8b9bfca1c495f16455dc68c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118883
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-25 22:13:07 +00:00
Konstantin Shcheglov fa879f2b18 Stop using ClassElement.type in ElementResolver, infer annotation constructor type arguments.
Change-Id: Iea0ac4f9cd9c83c36058b96040f03eae9725abaa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118901
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-09-25 22:08:22 +00:00
Konstantin Shcheglov cd51a30805 Remove deprecated 'assertErrorCodesInCode'.
R=brianwilkerson@google.com

Change-Id: I57dd2644c42a5a9751a0c16b37ce9b80773aa7d1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118904
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-25 21:13:25 +00:00
Konstantin Shcheglov d1256a23f9 Deprecate 'useDart2jsPaths' in SdkLibrariesReader and make it optional.
So, we can stop using it internally, and don't tie up landing
breaking changes and other changes to internal code.

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

Change-Id: I09f36fa5b48fb03b040023d8c96353a9100d6586
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118882
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-25 21:09:35 +00:00
Konstantin Shcheglov b31e71e990 Revert "Issue 37608. Use instantiated FunctionType for tear-off(s)."
This reverts commit acac9ab11b.

Reason for revert: breaks source_gen, see https://github.com/dart-lang/sdk/issues/38546

Original change's description:
> Issue 37608. Use instantiated FunctionType for tear-off(s).
> 
> I was working of switching runtimeTypeMatch() to purely
> typeSystem.isSubtypeOf(), without working around dartbug.com/35993
> and dartbug.com/33441, but bots were failing. I think that was because
> of this issue with incorrect tear-off types. We have to fix it before
> switching to less generous TypeSystem.
> 
> R=​brianwilkerson@google.com, paulberry@google.com
> 
> Bug: https://github.com/dart-lang/sdk/issues/37608
> Change-Id: I1f5dfc5e86553a352d72e772e791978772fe8fa4
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118379
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>

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

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

Bug: https://github.com/dart-lang/sdk/issues/37608
Change-Id: Icb6bf93f9b39d3af1d13e9b103afea5364b9169a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118646
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-25 18:06:16 +00:00
Konstantin Shcheglov 2bd2392e2a Remove EngineTestCase.
R=brianwilkerson@google.com

Change-Id: Ica78c0dfef239e15b3f7d8d624422017d5b8375e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118600
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-09-25 17:53:16 +00:00
Kallen Tu c3bbd6a247 Added parser recovery for multiple variance modifiers.
New error message for multiple variances and will handle recovery from
more than one variance modifier before a parameter.

Change-Id: I63ed8a7f04dd664e20d72b632b40f723aa43020f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118621
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-09-25 17:12:06 +00:00
Brian Wilkerson a2803a1b2d Add documentation for more diagnostics
Change-Id: I8270a74cc5a70dd16a46e3a7b2ff2bb822b69fb3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118820
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-09-25 16:38:06 +00:00
Konstantin Shcheglov bf361ebe19 Replace addTestFile()/resolveTestFile() pair with resolveTestCode().
R=brianwilkerson@google.com

Change-Id: Ie3289e355421b0339b012319ce39d2b8eb9569d1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118760
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-25 16:03:16 +00:00
pq b686e1b84d unawaited futures
Change-Id: I4f8273dd461483c178d47c659b9be062cd673f27
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118602
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-09-24 23:42:24 +00:00
Kallen Tu 89220fd812 Variance Parsing and Syntax Support
With the experiment flag on, will properly parse the `in`/`out`/`inout`
keywords. Without it, will issue an error regarding the flag. First CL
for parsing, syntax support, no AST work yet.

Keywords only parse correctly for classes and mixins.
See test `variance_disabled_syntax_test.dart`.


Change-Id: I37d765804fa0752512abf52fa44456a173087ef0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117929
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-09-24 17:21:39 +00:00
Konstantin Shcheglov fc56445218 Remove EngineTestCase.getGetter()/getMethod().
R=brianwilkerson@google.com

Change-Id: I89cde7189f33b6a4e0cd7c3a9542232dc8f2d134
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118506
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-09-24 15:45:07 +00:00
Konstantin Shcheglov c195896c84 Remove many uses of EngineTestCase.findNode()
R=brianwilkerson@google.com

Change-Id: I60c71f55f1d5e01a645b41fd0bd82282ca2eae20
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118521
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-24 14:21:19 +00:00
Konstantin Shcheglov 5a84f09a26 Remove EngineTestCase.findSimpleIdentifier()
R=brianwilkerson@google.com

Change-Id: I96dd3d62f2df4e433c79afdc41156e522a779d8d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118520
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-24 14:12:59 +00:00
Konstantin Shcheglov 11fa3e0e2b Don't extent EngineTestCase where possible.
R=brianwilkerson@google.com

Change-Id: I6489a9bbe0bd442d1356c34fcedfde811e6f9778
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118505
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-24 14:05:19 +00:00
Konstantin Shcheglov e6092d54ae Resolve / report errors for extension overrides and index expressions.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/38484
Change-Id: Ie02c24c7929f736279d93e06f329b226a39835ea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118462
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-09-24 01:51:10 +00:00
Brian Wilkerson 4895185b1e Fix NPE when extension override is invoked without a call method (issue 38505)
Change-Id: Ia2ad1168441cf07e379184ad82f592701f5ef2bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118481
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-09-23 22:42:10 +00:00
Konstantin Shcheglov 381d808686 Add UNDEFINED_EXTENSION_OPERATOR.
R=brianwilkerson@google.com

Change-Id: I5370c9cab5968e520266085e6060f29f42cbedef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118469
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-09-23 22:25:50 +00:00
Konstantin Shcheglov acac9ab11b Issue 37608. Use instantiated FunctionType for tear-off(s).
I was working of switching runtimeTypeMatch() to purely
typeSystem.isSubtypeOf(), without working around dartbug.com/35993
and dartbug.com/33441, but bots were failing. I think that was because
of this issue with incorrect tear-off types. We have to fix it before
switching to less generous TypeSystem.

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

Bug: https://github.com/dart-lang/sdk/issues/37608
Change-Id: I1f5dfc5e86553a352d72e772e791978772fe8fa4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118379
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-23 20:22:07 +00:00
Konstantin Shcheglov dbefc6c165 Issue 33300. Don't append bounds for TypeParameterType.
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/33300
Change-Id: Ib582bc2b95d4336a0e63ff14602682dcbcf0bd02
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118374
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-23 19:29:16 +00:00
Konstantin Shcheglov b4e631550f Support for UnknownInferredType in type algebra.
Bug: https://buganizer.corp.google.com/issues/141432740
Change-Id: I8b9e5887cdc5fdf7cc0d5914dcb3597af06da16f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118461
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-23 18:56:25 +00:00
Konstantin Shcheglov a683a5822f Consider '[]' and '[]=' as having the same base name '[]' for extensions.
Update ResolutionResult to be just getter and setter.
No properties, no functions.

Bug: https://github.com/dart-lang/sdk/issues/38484
Change-Id: If2b50e30eb98eb280142bbe12e4f0c31041ef652
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118342
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-21 02:33:49 +00:00
Konstantin Shcheglov db035f39cf Remove some uses of 'type' and substitute2() it types.
We also now don't try to share parts of strict FunctionType(s).
So, I'm removing the corresponding tests.
If we decid that we need this, the correct place to do this is
the type algebra.

Change-Id: I4f7d9df892f8606af8f0403358e56d4a07bdd025
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118321
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-20 16:56:15 +00:00