Commit Graph

7128 Commits

Author SHA1 Message Date
Brian Wilkerson 688475b1cd Fix bug in evaluation of == under constantUpdate2018
Change-Id: Ie915a116365dc93e8e329c28e6c79ac0a79da2ea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98611
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-04-04 12:28:50 +00:00
Brian Wilkerson 830ec419b6 Cleanup warnings and sort a few files
Change-Id: Ie781e1dff7eb079311b833d4a13f7a1d38ef0515
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98603
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-04-03 17:51:36 +00:00
Konstantin Shcheglov 1dd6eaac56 Resolve default values.
R=brianwilkerson@google.com

Change-Id: I9166b298624d469499b05992393e5674348dfef1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98602
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-03 17:15:46 +00:00
danrubel fe2d66006d improve type-before-factory error message
Address comment in https://dart-review.googlesource.com/c/sdk/+/98449

Change-Id: I38e7cf04e2061dbd6c9b37cca713e8420a1e021d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98520
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-03 16:30:18 +00:00
Konstantin Shcheglov f32db1a453 Start adding type algebra.
R=brianwilkerson@google.com

Change-Id: I8184a65733c679e4c025215354bd9f7ad081daef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/76588
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-03 16:07:23 +00:00
Konstantin Shcheglov cc0997f1bc Compute 'isSimplyBounded' for generic classes and typedefs.
I also copied corresponding tests from summary to resynthesize tests,
so that AST linking can run them too.

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

Change-Id: I01d019cc57373f0dd05ab2f1467bd5528d1e2432
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98431
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-03 05:44:24 +00:00
Konstantin Shcheglov 0d0f5916f7 Issue 36439. Fix for incomplete generic type alias, without function type.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/36439
Change-Id: I6a3c5be2f412ce7fb4e5b9ce3ad463158c878106
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98436
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-02 21:15:35 +00:00
Sam Rawlins 8aabbf39e5 Move last meta-based hint code tests to diagnostics:
* INVALID_FACTORY_ANNOTATION
* INVALID_FACTORY_METHOD_IMPL
* INVALID_USE_OF_PROTECTED_MEMBER
* INVALID_USE_OF_VISIBLE_FOR_TEMPLATE
* INVALID_USE_OF_VISIBLE_FOR_TESTING
* MISSING_REQUIRED_PARAM

Change-Id: I3bb556f140dd61d8c707ae8db7ec2ce36d01ed97
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98451
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-02 18:18:49 +00:00
danrubel 725c070632 report error on type reference before factory keyword
This updates the parser to report an error if there is a type reference
preceding the factory keyword.

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

Change-Id: Iba04f68bba8d260444d55168322d67a600feba53
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98449
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-04-02 15:39:29 +00:00
Brian Wilkerson dd7a6320e3 Rework the way Dartdoc template information is gathered
Change-Id: Ia6ecde9cc317ae40e8876cdf39b49bd39a47b543
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98365
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-04-01 21:46:52 +00:00
Sam Rawlins 75b2f9f919 Move more HintCode tests to individual files:
* DUPLICATE_IMPORT
* IMPORT_DEFERRED_LIBRARY_WITH_LOAD_FUNCTION
* NULL_AWARE_*
* OVERRIDE_*

This puts non_hint_code_test alllllmost at empty.

Change-Id: Iade3a2fd29b484d711556ff688a6386789a50d0a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98289
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-04-01 16:54:55 +00:00
Konstantin Shcheglov e979448597 Patch expectations for tests where AST linking does better / differently.
R=brianwilkerson@google.com

Change-Id: I86dbcffe4d278c33a7916399367bbc4bb20607a7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98288
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-01 16:05:10 +00:00
Konstantin Shcheglov 66f16d3d5e Resynthesize import/export combinators.
R=brianwilkerson@google.com

Change-Id: Ib37f1d3fe431e792fe63c92abd0be45d84af11b8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98283
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-31 17:04:01 +00:00
Konstantin Shcheglov 4e3d1400d5 Resynthesize ImportElement.isDeferred from AST.
R=brianwilkerson@google.com

Change-Id: I332fb8cfd6260ead322a1242b2340f4a9ccee269
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98285
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-31 16:46:23 +00:00
Konstantin Shcheglov 8a5901a7af Support for isCovariant in fields.
R=brianwilkerson@google.com

Change-Id: Ie134ee454cef7b5cff69b52986ecd3f46ca1e485
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98284
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-31 16:45:10 +00:00
Konstantin Shcheglov c7dd9c1c23 Perform top-level inference using elements.
This is still not a valid implementation, because for example it does
no inheritance inference, or ordering. But we need elements for
inheritance, so this change is required.

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

Change-Id: Ia290a9034cbda753af60e74f6d9120d9c38bf203
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98381
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-29 23:59:33 +00:00
Brian Wilkerson 3642eddca1 Create an experiment flag for triple-shift and move existing support for the operator behind the new flag
Change-Id: Ibff112644921618f8d21b0b1b8eb6332a590bfab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98305
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-29 21:51:40 +00:00
Konstantin Shcheglov dfbdf0a187 Support for function typed formal parameters.
R=brianwilkerson@google.com

Change-Id: I3843c970ae94f6637aa8b4ba50e840a6ca979c83
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98304
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-29 19:01:02 +00:00
Brian Wilkerson 1b2a4b8eb1 Convert some tests to DriverResolutionTest
Change-Id: I0fdccb13b95b6e5047030ba084d4358c65a8e72f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98303
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-29 17:11:38 +00:00
Brian Wilkerson 0560014c79 Remove unused error codes
Change-Id: I47daa6dab610af657ca781db5ca88438988c3c87
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98162
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-03-29 15:37:26 +00:00
Konstantin Shcheglov e8b56268ef Resolve constructor initializers and redirections.
R=brianwilkerson@google.com

Change-Id: I296fb2a7b47846481f99b5478a6cd4e383112c5d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98264
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-29 15:31:55 +00:00
Konstantin Shcheglov 9b77e4c507 Include constructors into available suggestions.
R=brianwilkerson@google.com

Change-Id: I44a9ad96f40ff1c5bd42f41bdf03defae7608360
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/94980
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-29 01:26:39 +00:00
Brian Wilkerson edf470bf83 Initial sketch of dartdoc support
Change-Id: I1250bfd56075d6575c0f268b4e335445b13b4605
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97443
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-28 20:52:29 +00:00
Konstantin Shcheglov 1b643e5c1f Support for mixins.
R=brianwilkerson@google.com

Change-Id: I35e37863ed6ab68756669829f6ae8461e56485cb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97782
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-28 19:31:13 +00:00
Brian Wilkerson d0fda82493 Clean up some of the unused task model support in test code
Change-Id: I2a70070866e38377a4dd149b6407942e3f81c92d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98049
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-03-28 17:13:45 +00:00
Brian Wilkerson 3364df5050 Fix a bug that led to a divide-by-zero exception
Change-Id: Ia5ba4a2e24108d2017ea3ed2a8a2a56cdd9c110e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98042
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
2019-03-27 23:41:19 +00:00
Brian Wilkerson 4555cf788d Convert one more set of tests
Change-Id: I4854985bd475d95c17be83e648bf5716d6156fbd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98020
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-03-27 17:37:41 +00:00
Brian Wilkerson 510d6f7789 Fix a bug in SDK constraint detection
Change-Id: I18f15c7227a8c3f5d325be91606730444ba9b722
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97860
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-03-25 19:45:50 +00:00
Brian Wilkerson 5f0de26d48 Clean up the remaining copyright notices
Change-Id: If099be4f71ba551df0dc3d69815ae6a9f55d1eba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97781
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-24 20:11:28 +00:00
Konstantin Shcheglov 09ee45b4e2 Support for import prefixes.
R=brianwilkerson@google.com

Change-Id: Ic0da9a25fb0364a9342f2692237f08e8d00f83fc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97760
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-24 19:01:38 +00:00
Konstantin Shcheglov c89642280c Infer types of fields from initializers.
R=brianwilkerson@google.com

Change-Id: I4c76ec22802e226f51eef1235463221b35532f9a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97741
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-24 18:06:37 +00:00
Konstantin Shcheglov 9f864100aa Write / read codeOffset and codeLength for elements.
R=brianwilkerson@google.com

Change-Id: Id1d91a53ce2db797ffa3cac340056ca9d466221e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97740
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-24 18:02:18 +00:00
Konstantin Shcheglov 9d7a0113cc Add test parts, fix for indexing enums.
R=brianwilkerson@google.com

Change-Id: Ie952e8f7a2ad62c6f17425ed78d07b17cde96e77
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97687
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-23 19:03:03 +00:00
Konstantin Shcheglov 26d707041a Resolve metadata on directives.
R=brianwilkerson@google.com

Change-Id: If462d705e7dad38fa1242d90235957d9c60edb81
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97688
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-23 18:53:23 +00:00
Konstantin Shcheglov 2f22932149 Use dynamic type arguments for TypeName without explicit type arguments.
Plus some other fixes for sync/async.

R=brianwilkerson@google.com

Change-Id: I4d21f6557ef009b5218683136443578d1bff0b01
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97721
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-23 17:38:43 +00:00
danrubel 36e6eb36c5 rename and reword invalid initializer error messages
Change-Id: Ieae7b11f6aee46567247dbc9532098e7541774b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97720
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-23 15:59:43 +00:00
Konstantin Shcheglov 290ab228b7 Resynthesize DefaultFieldFormalParameterElementImpl.
R=brianwilkerson@google.com

Change-Id: I7b59a8c8df8812acc6a620ef57cfd2b5c8e24e92
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97681
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-23 02:00:12 +00:00
danrubel 466b6884dc add scanner/parser support for >>>=
Change-Id: I8bbf19e70f35aba600cb768fc3c7537f2aa604e9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97602
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-22 23:38:51 +00:00
Mike Fairhurst 9d616fe839 Add support for >>> in summaries
Change-Id: I92092085d9a12093f15ae86783327aade8b4ac4b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97605
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-22 23:35:41 +00:00
Konstantin Shcheglov 0b4fdc46fe Compute export scopes for source libraries.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Idd3ebaf6c17ed2744b9cfd8cf770e1fc0f3a42ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-22 21:19:11 +00:00
Brian Wilkerson 9c6a882af0 Add SDK constraint checks for the constant update 2018 features
Change-Id: I308a32de5e73a93d8dead38ab45c130f88ef706d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97567
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-22 20:09:01 +00:00
Konstantin Shcheglov a8d0a33360 Build elements for local FunctionExpression(s) and parameters while reading AST.
So, when we resolve AST to perform inference, references to parameters
are resolved, their types are available, so we can infer return types,
and  types based on types of these closures.

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

Change-Id: Id230f2d08c17a490a7ac4287b0212e426daac946
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97603
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-03-22 20:08:11 +00:00
Mike Fairhurst a8831e7481 Handle _FROM_DEFERRED_LIBRARY codes for ui as code
Change-Id: Ie75eea20cd692331c25e2bb20bc11db30fbd749a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96851
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-22 18:53:49 +00:00
Mike Fairhurst c22c2b7645 Test that set/list if elements/else elements get implicit casts
Change-Id: Ia8b7b02645a9288d09573b19b89787d5e61fc143
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97546
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
2019-03-22 17:21:36 +00:00
danrubel f3ac707aea report error for invalid super/this initializer
This reports an error for two more invalid initializer situations
to address comment in https://dart-review.googlesource.com/c/sdk/+/97404

The comments about error message text will be addressed in a subsequent CL.

Change-Id: I45785ae7de4adfdb63a238383e6accf465bd8a74
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97601
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-03-22 13:40:10 +00:00
danrubel 4cd410d6ac add parser listener handleErrorToken event
Change-Id: I11ae5f8d25248b9cc3586edbc6e49037d99bb5a4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97555
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-03-22 13:36:35 +00:00
Brian Wilkerson f141914e65 Cleanup warnings in the analyzer code base
Change-Id: Ie01b837243c8c003b334657d8211b4bb35ceae1f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97562
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-03-22 12:39:20 +00:00
Mike Fairhurst 3678efae60 Test that map if elements/else elements keys/values get implicit casts
Change-Id: I920400f6924a48364d09cfc9f27dfff57bbe9044
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97523
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-22 07:17:13 +00:00
Konstantin Shcheglov fa74184b7a Verify that constructor initializers use only potentially constant expressions.
...but don't evaluate them, because they don't have to be constants.

R=brianwilkerson@google.com

Change-Id: I5bc44a02947c1682da85c1f22b3fc28b52b13370
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97549
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-22 02:50:43 +00:00
danrubel 8b8a8f7b4e Report error for invalid this/super in initializer
Fix https://github.com/dart-lang/sdk/issues/36262

Change-Id: I20b0997f58a2835b87869952f186fbe83bfe5e3b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97404
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-03-22 01:43:13 +00:00