Commit Graph

3034 Commits

Author SHA1 Message Date
danrubel 4734c55882 Report error on unsupported operators
Change-Id: Iea1469e1252c89c630e8bf646caf37051d78c84c
Reviewed-on: https://dart-review.googlesource.com/67401
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-31 18:23:10 +00:00
danrubel ff9167ff7b Fix parseDirectives to recognize metadata
Change-Id: I36be5c3ffef93c0bb6ae58b8c482df4208a37e63
Reviewed-on: https://dart-review.googlesource.com/67440
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-31 16:46:38 +00:00
Konstantin Shcheglov 9fb6c09015 Store reference/type for invalid types.
This fixes 18 language_2 tests.

Small degradation in Analyzer unit tests is cause by the way we apply
Kernel type to Analyzer type annotations in DeclarationResolver. We
should shift this logic to using store type resolution instead.

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

Change-Id: I2d60201ec4f4a741bba3f86f65d8dc3b6547514c
Reviewed-on: https://dart-review.googlesource.com/67260
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-30 17:49:55 +00:00
Jenny Messerly 058510eeab fix #28233, add hint for missing returns to function expressions
If a function expression is used in a context that expects a return type
other than dynamic/void/Null, issue a hint if that function has a block
body and is missing a `return` statement.

Change-Id: Ia55212abd84f5718343cf7401b87aba2891d6446
Reviewed-on: https://dart-review.googlesource.com/66340
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-07-28 01:50:31 +00:00
Devon Carew caa96f5897 Fix an issue where projects that used .dart_tool/build wouldn't find the flutter analysis options file.
Change-Id: I0d0188f95e064bf93d92df568f652ba3e29cc878
Reviewed-on: https://dart-review.googlesource.com/67261
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-07-27 22:44:31 +00:00
Brian Wilkerson 56bd1fc6f7 Remove two more deprecated_ methods from BodyBuilder
Change-Id: I89597436a45c937a735e0a511972237a1cfc2378
Reviewed-on: https://dart-review.googlesource.com/67201
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-27 19:33:00 +00:00
Konstantin Shcheglov 82947cccc9 Store named types resolution during outline building.
It fixes 8 tests, and opens a way to fix more.

It also "breaks" 4 tests, but only because we now check more rigorously.
Specifically - tests that check wrong number of type arguments and cycles.
This is something I will improve later.


Change-Id: I4a3bcd4ff56831f597fd02224bda032b7a0fadb9
Reviewed-on: https://dart-review.googlesource.com/66920
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-07-27 18:43:20 +00:00
Paul Berry 31af5ce13c Revert CLs reworking generator class handling of non-lvalues.
This arc of work is breaking the Flutter roll--see
https://github.com/dart-lang/sdk/issues/33993.

This reverts the following commits:

- 55c0857037 (Create a common generator class to handle non-lvalues.)

- c9b197017c (Rename "assignment_of" -> "assignment_to".)

- 32fd7b15e4 (Remove special case for assignment to parenthesized
  expressions.)

- 432e59e589 (Fix error reporting if a for-in statement attempts to
  assign to a prefix.)

- 232bed3d11 (Change UnresolvedNameGenerator to use
  NonLvalueGenerator.)

- 0b778d0697 (Change IncompleteErrorGenerator to make use of
  NonLValueGenerator.)

- 1a5f94a0a4 (Fix analyzer-CFE integration of illegal references to
  instance members from static contexts.)

Change-Id: Id637e5ec60150a73031c05d7bb4c6effefd2aa8a
Reviewed-on: https://dart-review.googlesource.com/67091
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-07-27 17:18:28 +00:00
Brian Wilkerson c385f4f237 Strong mode cleanup related to TypeSystem
Change-Id: I1f3a6642a5a8f5dc43a8b3d1a44c4345258ae54d
Reviewed-on: https://dart-review.googlesource.com/67089
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-27 13:51:35 +00:00
Konstantin Shcheglov 54d46b801a Fix for unresolved redirecting constructor.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: If1f37ccad174c44b6b23d1dccdeefec88f888abc
Reviewed-on: https://dart-review.googlesource.com/66802
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-25 21:20:35 +00:00
danrubel a74d6eac69 Report error on constructor with type parameters
Change-Id: I29a6e88f9d820834b13b0fa1c42a11d25d2e49f0
Reviewed-on: https://dart-review.googlesource.com/66602
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-25 18:54:07 +00:00
Konstantin Shcheglov 7fc6bf307f Resolve rethrow.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Ifb93dc66e80575bb3145d835b3e6e3195e4299be
Reviewed-on: https://dart-review.googlesource.com/66661
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-25 17:22:35 +00:00
Dmitry Stefantsov 726b4c035b [analyzer] Update tests for override checks
The tests are updated in accordance with http://dartbug.com/33235.

Change-Id: If0228bbeb39f1f5610b1ab3078960e02dd32659d
Reviewed-on: https://dart-review.googlesource.com/66381
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2018-07-25 17:19:35 +00:00
danrubel 751e19c6d7 Report error if expression is not assignable
Change-Id: Iabc26a4587b7905337f3bbe4826a2ed650d2f56c
Reviewed-on: https://dart-review.googlesource.com/66480
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-25 16:06:29 +00:00
Brian Wilkerson c33e41ec34 Update strong mode kernel tests
Change-Id: I8c3ef1038cea2e6802ee6e66016a875258f28512
Reviewed-on: https://dart-review.googlesource.com/66640
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-25 15:58:25 +00:00
Paul Berry 432e59e589 Fix error reporting if a for-in statement attempts to assign to a prefix.
This was regressed by https://dart-review.googlesource.com/c/sdk/+/66402.

Change-Id: Icad3d2d33cb4db0321534a6246c8cc5f50444edf
Reviewed-on: https://dart-review.googlesource.com/66416
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-07-25 14:12:13 +00:00
Brian Wilkerson 36203b6f37 Upate the failing tests in NonErrorResolverTest_Kernel
Change-Id: I2cdf088699bfa485065a9cf49244f15f6841eff6
Reviewed-on: https://dart-review.googlesource.com/66181
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-25 13:17:53 +00:00
Konstantin Shcheglov 8c4b5be526 Update more expectations for kernel tests.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I9dad5a70e6620a45c5c52653453f1dccb17b17d0
Reviewed-on: https://dart-review.googlesource.com/66415
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-24 23:22:15 +00:00
Konstantin Shcheglov d78b217b62 Update some kernel test expections.
Strangely bots are green, but these 3 tests pass on my machine locally,
and 1 fails.

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

Change-Id: I79eec4b07ff37915e2da5a9fdd666809f32a0c4b
Reviewed-on: https://dart-review.googlesource.com/66407
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-24 21:40:40 +00:00
Paul Berry 55c0857037 Create a common generator class to handle non-lvalues.
This allows all non-lvalue cases to be integrated with the analyzer
using a common code path.

Change-Id: I15cd2bc07a2d3609e78886609f3e29ee6aa807fc
Reviewed-on: https://dart-review.googlesource.com/66402
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-07-24 21:34:50 +00:00
Konstantin Shcheglov 1fe0518d3b Resolve values of duplicate named arguments.
Change-Id: I3a84db8e7c7e29f730ec0687aee4ed0a62b84f94
Reviewed-on: https://dart-review.googlesource.com/66280
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-24 21:30:50 +00:00
Mike Fairhurst 9727a4a4ef Fix #33415 no error for awaiting a void expression.
Bug:  33415
Change-Id: I4d4e81fef79a5bc5162e37ab07a8fe99e50c8dfc
Reviewed-on: https://dart-review.googlesource.com/60522
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-24 19:31:57 +00:00
Brian Wilkerson 129dc3c984 Update the failing tests in StaticWarningCodeTest_Kernel
Change-Id: Iee593dfa0207299270e1af13840063336c038292
Reviewed-on: https://dart-review.googlesource.com/66341
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-24 13:19:24 +00:00
Konstantin Shcheglov ca947ffc1c Store resolution for invalid elements used as types.
Change-Id: I4824d629ad75f6a10d26af69817140b721cc8a78
Reviewed-on: https://dart-review.googlesource.com/65982
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-23 22:05:19 +00:00
Brian Wilkerson a486776e73 Update the failing tests in NonHintCodeTest_Kernel
Change-Id: If6b474b8bdcb888cef9fb16444f2dc5fa948a7e0
Reviewed-on: https://dart-review.googlesource.com/66183
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-07-23 20:56:59 +00:00
Brian Wilkerson 4190705bbd Update the failing tests in StaticTypeWarningCodeTest_Kernel
Change-Id: Idb963897413a34b8bdd11d53fee84fd9fd956f57
Reviewed-on: https://dart-review.googlesource.com/66222
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-23 20:05:40 +00:00
danrubel ca1cb5e817 Allow type before "this." in constructor
Fix https://github.com/dart-lang/sdk/issues/33945

Change-Id: Iaa080ff311a6ba306c42e2667a7897fdb87b406a
Reviewed-on: https://dart-review.googlesource.com/66201
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-23 18:34:39 +00:00
Brian Wilkerson 6937dabf06 Update the failing tests in StrictModeTest_Kernel
Change-Id: Ida03e68dc052513978cde8a8e274f99878dcb8ec
Reviewed-on: https://dart-review.googlesource.com/66185
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-23 16:58:49 +00:00
Brian Wilkerson dcb95dba3e Update the failing tests in HintCodeTest_Kernel
Change-Id: Ie10f509c9ecadc0d8b7391ff08e79adf91600576
Reviewed-on: https://dart-review.googlesource.com/66101
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-23 16:25:11 +00:00
Brian Wilkerson cd71a2f84b Remove references to propagated types from some tests
Change-Id: I8042b9edaa1485e028a281dfb342268e04e899b5
Reviewed-on: https://dart-review.googlesource.com/66141
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-22 20:06:29 +00:00
Brian Wilkerson 873c4437c4 Update the failing tests in ErrorSuppressionTest_Kernel
Change-Id: I836bb62d35c19f5e95f2d763dd5e1bcfbf1aeca0
Reviewed-on: https://dart-review.googlesource.com/66100
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-21 15:04:46 +00:00
Brian Wilkerson a993b58302 Update test expectations for CompileTimeErrorCodeTest_Kernel
Change-Id: I9cb916581c2f728d9f59c35b83fa32fd00f39985
Reviewed-on: https://dart-review.googlesource.com/66020
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-20 21:49:25 +00:00
Brian Wilkerson c0c23dcd6f Start updating test expectations for tests that are now passing
Change-Id: I21838954bc74e7b714552a89983d1d76073def09
Reviewed-on: https://dart-review.googlesource.com/65941
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-07-20 16:43:46 +00:00
Brian Wilkerson 81c2b9d486 Remove some of the uses of propagated information
Change-Id: Ie82b72302d96c14fd6104945e0fb25cd721ecfda
Reviewed-on: https://dart-review.googlesource.com/65940
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-07-20 16:32:41 +00:00
Konstantin Shcheglov ed30ba2a82 Resolve import prefix method invocation.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I1c4c8a7c3d92bf6074fcca87b0257436db55db43
Reviewed-on: https://dart-review.googlesource.com/65790
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-20 00:07:08 +00:00
Dan Rubel 25d5d15935 Fix parse invalid property access
Fix https://github.com/dart-lang/sdk/issues/33914
and update recovery tests

Change-Id: I5c0d00ffcd4d8de71b60dfc08f1109b50f3bc1e3
Reviewed-on: https://dart-review.googlesource.com/65800
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-19 20:55:17 +00:00
Brian Wilkerson 6409cc75ef Stop storing propagated type and element information
Change-Id: I4d5e7a3de43668218f63074661ca7da69fd3edca
Reviewed-on: https://dart-review.googlesource.com/65720
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-19 16:03:47 +00:00
Brian Wilkerson df0785372a Map CyclicClassHierarchy and MixinInferenceNoMatchingClass to analyzer codes
Change-Id: I28832fddf5d5f6a470460747db8cea16de695e64
Reviewed-on: https://dart-review.googlesource.com/65740
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-19 15:50:57 +00:00
Jenny Messerly 3320d8f677 fix #31237, missing return hint was missing for inferred returns
Change-Id: I3c8c59f31196b220aaa0421f8357a950ff16ba20
Reviewed-on: https://dart-review.googlesource.com/62727
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-07-19 00:19:24 +00:00
Konstantin Shcheglov 9c13c9dafc Resolve invalid return statements in async/sync generators.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Ic0aa6ffbffc23b10814ab369ce041bde32da1388
Reviewed-on: https://dart-review.googlesource.com/65602
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-18 22:06:52 +00:00
Brian Wilkerson 1f6c3cfc8a Map three front end codes to analyzer codes
Change-Id: Ied10c089b69807fe34d85fe998fe112cab3fa2da
Reviewed-on: https://dart-review.googlesource.com/65579
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-18 21:42:10 +00:00
Brian Wilkerson 6baca4c154 Map PlatformPrivateLibraryAccess to an analyzer code
Change-Id: Ib1ad6666c812639214d37b72696bb69f3f7932dd
Reviewed-on: https://dart-review.googlesource.com/65577
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-18 21:18:00 +00:00
Brian Wilkerson 5a1d4c95eb Replace more uses of Unspecified
Change-Id: I78aadfa055e2be90805e193abc1e3a23b5955caf
Reviewed-on: https://dart-review.googlesource.com/65574
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-18 19:59:03 +00:00
Brian Wilkerson e22cab8514 Use LabelNotFound instead of Unspecified
Change-Id: Iaecd79ca9982473bf659948496d698514d4ea5cb
Reviewed-on: https://dart-review.googlesource.com/65565
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-18 17:41:20 +00:00
Brian Wilkerson 14b359fdb9 Map VoidExpression to an analyzer code
Change-Id: I18274a543b486ad874dd95d5dc7a16ecadb801d7
Reviewed-on: https://dart-review.googlesource.com/65563
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-18 16:30:20 +00:00
Konstantin Shcheglov 9c2e9ecca9 Fix context elements for fields and top-level variables.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I67487727a60e0a814e4ac3372aada11e6a2669b4
Reviewed-on: https://dart-review.googlesource.com/65401
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-17 18:43:50 +00:00
Dan Rubel 75e1ebd55c Improve "else" statement recovery
Change-Id: I122e84f80b13cf6d72080af17b3a0f4a27a14b53
Reviewed-on: https://dart-review.googlesource.com/65180
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-17 17:17:21 +00:00
Brian Wilkerson 0a2eb8524f Map UnmatchedToken to an analyzer code
Change-Id: Idb7130dee9692086e4ed844daa48787f9085b94b
Reviewed-on: https://dart-review.googlesource.com/65341
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-17 16:29:19 +00:00
Brian Wilkerson ab1c1582b1 Remove deprecation hints in analyzer packages
Change-Id: I001e57239a87f2806be74052a5e7686245fea812
Reviewed-on: https://dart-review.googlesource.com/65000
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
2018-07-17 15:22:07 +00:00
Dan Rubel b571e9391c Report missing semicolon on last consumed token
This moves the location on which a missing semicolon error is reported,
making it easier for a user to understand and fix,
and fixing some of the statement completion tests.

Change-Id: I11b9de57e2b3104238e1edb801ad1cd02e9a63a2
Reviewed-on: https://dart-review.googlesource.com/64900
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-17 12:30:37 +00:00