Commit Graph

7628 Commits

Author SHA1 Message Date
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
Mike Fairhurst 5f03a9a07e Fix lints in summary generator: setter types, star-slash docs
Change-Id: I808be84579c775c58b9a4b6d8f4ea10fc6fb29dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98458
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-02 23:48:31 +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
Brian Wilkerson f6768b6fb3 Update the data version to prevent the use of outdated cached data
Change-Id: Ie590959d2812b7e33854e8ad798cd43366f7bfa7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98450
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-04-02 16:55:41 +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 9113bb5855 Issue 36380. Increment DATA_VERSION.
I suspect that the referenced issue was caused by producing and consuming
incompatible summaries from the cache.

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

Bug: https://github.com/dart-lang/sdk/issues/36380
Change-Id: I41bd6b3ae8a07853bb702ce34724ed854f33e753
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98286
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-31 16:35:08 +00:00
Brian Wilkerson e6b0676f58 Change comment style in a few more files
Change-Id: I2c7a3e2a01e9db61ea9ca5f6a1156d6d8ce34f5f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98282
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-31 15:28:53 +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 d07e33e11f Convert more comments from block to line style
Change-Id: Ib1b2b1f6858c3c7503fd7a701b9badb9cfbfe8d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98050
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-03-28 17:54:00 +00:00
Brian Wilkerson 926a6c0958 Convert more comments
Change-Id: I6e198ee0809ee352038e2014a983d43b0c29101f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98048
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-03-28 17:52:05 +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
Mike Fairhurst 1bbd282d65 Make analyzer/tool/summary/generate.dart take an IDL path
Change-Id: I919b6d92342076ed4420dcc4a5ee94853a35ed41
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96240
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-27 16:08:47 +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
Nicholas Shahan 19a817e785 [analyzer] Fix utility classes ignoring await in for statement/element
Change-Id: I141f13a6a0be1661cb97c5ed9c87729cf257907c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97521
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-22 23:12:34 +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 ddcc63e1ad [Analyzer] move usage of mostSpecificTypeArgument in strong checker
Change-Id: Ie8ea3287c891a52025cb11165fc5ef5274bd5439
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97344
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-03-22 17:28:06 +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