Commit Graph

5273 Commits

Author SHA1 Message Date
Brian Wilkerson 6941d04a6e Add support for testing the context messages for diagnostics
Change-Id: I33d4abc0dcc969f3beecfdc7cbc814e8a486ad1c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107142
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-06-24 18:15:38 +00:00
Konstantin Shcheglov 33df2ed85a Switch flow analysis tests to performFlowAnalysis().
So, we can make visitors private.

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

Change-Id: I8ff98e95b30f4b2d807a7b3d2a63e125d9420669
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107180
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-24 18:09:08 +00:00
Konstantin Shcheglov c13752442c Fix isNullable / isNonNullable, expand tests.
This addresses the issue in a previous CL.
https://dart-review.googlesource.com/c/sdk/+/106620/3/tests/language_2/nnbd/static_errors/equals_parameter_made_nullable_at_invoke_test.dart#30

Change-Id: Ib510ddbfe42c8e6d7cb0c4793a30e050b7e56bd0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106962
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2019-06-24 16:53:36 +00:00
Konstantin Shcheglov a5d6b81da8 Use flow analysis to report potentially non-nullable local variables that are used before definitely assigned.
Not done yet:
1. Switching all unit tests to `performFlowAnalysis()`.
2. Updating the error code and renaming tests.
3. Writing more language_2/ tests.

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

Change-Id: I0936f2daa4ab1cd91edeaca3eef9544eced5b443
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106982
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-06-23 22:08:43 +00:00
Mike Fairhurst 9b5ddec382 Better FutureOr support, failing test.
Change-Id: Ib662286a58fb9389ce1065d87835613f3b899be4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106968
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-06-21 20:09:38 +00:00
Konstantin Shcheglov 44c136423c Report DEFAULT_LIST_CONSTRUCTOR_MISMATCH only in opt-in libraries.
R=brianwilkerson@google.com

Change-Id: I8c2a0e6742af85c00db04a5a7a94f3b91b9cee13
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106964
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-21 17:36:10 +00:00
Paul Berry 53a905cde1 Introduce function parseFile2.
This is similar to the existing `parseFile` function, but it is more
efficient, and it supports the same parameters `featureSet` and
`throwIfDiagnostics` as `parseString`.

Change-Id: I4b9ecc36a137cc1c99e671e379f00afa3942c9ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105542
Commit-Queue: Paul Berry <paulberry@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-06-21 16:08:07 +00:00
Konstantin Shcheglov bd1ffcb2bd Support for type formals in function LUB.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I5576db2279810bf1e4fc4a73870f60ca50166ee7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106924
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-21 14:35:27 +00:00
Konstantin Shcheglov 85a4fdb81a Report an error when a non-nullable top-level variable is not initialized.
Change-Id: I2e5e33c01d5f2c10d41b7e2f76e93eaacadffff6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106762
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-06-20 18:25:11 +00:00
Konstantin Shcheglov c5567c0031 Abstract FlowAnalysis from concrete types of nodes and elements.
R=paulberry@google.com

Change-Id: I8a42eb260d2c99c4ca24cb8b9059c1d22f9430e9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106683
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-06-19 22:51:11 +00:00
Konstantin Shcheglov 3c596e802b Report an error when a potentially non-nullable local variable is not initialized.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Ie1d148ff584c202edc334659eeb4f792bb8773d4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106620
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-06-19 18:07:56 +00:00
Konstantin Shcheglov 5469d61e18 Tests for isNullable() and isNonNullable() and type parameters.
R=brianwilkerson@google.com

Change-Id: I120363de7067be8665995bbe2353f29240c9b961
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106601
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-19 16:38:45 +00:00
Dan Rubel 99acf35ede fix indexed super constructor
This fixes a bug where the AstBuilder fails
given a constructor of the form:

class C {
  C() : super()[];
}

In the process, 2 buildInitializer methods were extracted from
the AstBuilder.endInitializers method.

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

Change-Id: Icacf28b2ed0eff9b7168c97ee0c03d78e5fcd68b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106500
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-06-18 17:59:35 +00:00
Konstantin Shcheglov 143e5ef556 Revert 'Import Library' quick fix changes.
This basically reverts https://dart-review.googlesource.com/c/sdk/+/103921
because internally IntelliJ does not provide module dependencies yet.

Change-Id: I7717b2841bf3d6391b991875a594c6df9e246ff1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106482
Reviewed-by: Ari Aye <ariaye@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-18 17:31:56 +00:00
Konstantin Shcheglov 770675b668 Fix for naming constructor with missing name.
R=brianwilkerson@google.com

Change-Id: I89ef01033c9e14417286e5ea95d2d88e1c498982
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106425
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-18 03:43:38 +00:00
Paul Berry 9a2eecf67f Fix parseString: ensure that CompilationUnit.lineInfo is set properly.
Change-Id: Id81338c1021f9548f2c3f24931baf1e45ac1b18b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106320
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-06-17 16:10:29 +00:00
Konstantin Shcheglov df8e0aff6c Use AnalysisDriver.useSummary2 in FileSystemState.
R=brianwilkerson@google.com

Change-Id: Ie64f05a522d08c1fe779ccc78fbfe25ad52ec422
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106302
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-17 15:59:46 +00:00
Konstantin Shcheglov b92c287fd7 Use StateError in LegacyTypeAsserter.
AssertionError does not print on the console its message, at least in
IntelliJ. Also tweak tests to use throwsStateError.

R=brianwilkerson@google.com

Change-Id: Ifbe2ed0b1d3deba1feaecc7c462f470e8608b70c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106204
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-15 19:45:51 +00:00
Konstantin Shcheglov d4cad0fff1 Restore element and typeArguments for typedef-based _FunctionTypeImplStrict.
R=brianwilkerson@google.com

Change-Id: Ibc7fc53aba10661236f0d3f3361bf7f05882cc5e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106162
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-14 21:55:20 +00:00
Mike Fairhurst c246fa1f2b Fix #36956, report undefined getter for uses on Null.
Bug: 36956
Change-Id: I5b8f40f5c1f7fd9304b02054e3d8d7d607c12af1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106021
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-06-14 21:29:29 +00:00
Mike Fairhurst fa885b3eae report undefined operator instead of method for bad +=.
Change-Id: Ia28fdb47c80768b011b05edc1e3e7b832f9335e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105971
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-06-14 18:56:07 +00:00
Mike Fairhurst 8a5495700a Clean up null aware access test
Change-Id: I893b4cea44278d114160331b69d06d92d0e56cf1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105735
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-06-13 17:04:06 +00:00
Dan Rubel c530c333bb Update null-aware nnbd "?.[" operator recovery
This sets the "?.[" endGroup to "]" for proper token stream structure
and parser recovery.

Change-Id: Ie4147ac5dedcc273ea6cfda6dafc5d91e892b1a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105980
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-06-13 16:53:26 +00:00
Dan Rubel 45f39fe70d update scanner/parser to handle null-aware index operator
This adds support for the nnbd `?.[` operator as specified in
https://github.com/dart-lang/language/pull/293/files#diff-dbeaf678924df9f8a2ca9f5d12e26d3eR11513

Change-Id: I11547cf875439fef9fe22d4f4ac5ab912b3759d1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105902
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-06-13 16:53:26 +00:00
danrubel d6f5a245b2 parser error token cleanup
This removes one location where ErrorToken processing is no longer needed
in the parser, and updates the analyzer parser tests to use scanString
rather than instantiating the scanner directly.

Change-Id: I399d771004af7f9fe25d19c1065fbfd425416edc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105901
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-06-13 14:30:10 +00:00
danrubel 8adde6b603 make extension declaration name optional
This CL updates the parser to parse extension declarations where
the extension name is omitted. For more details, see
https://github.com/dart-lang/language/pull/303/files#diff-9b84d2e3c88265bde2eb43544ddb757dR66

This change explicitly does not handle the case `extension on on on { … }`.
A subsequent CL should either make `on` a builtin
or add more lookahead in the parser to allow this edge case.

Change-Id: Ided821192770f88a51a3300fed8cb0fdef9eea3f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105900
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-06-13 14:29:40 +00:00
Mike Fairhurst 23d3e8a25f Land new subtyping algorithm; more tests but still not comprehensive.
Includes changes to implicit covariance test.

To redescribe this, for some tear-off C<T>.f, the member type may be
contravariant if T is referenced by a parameter of C<T>.f (such as if it
is of type void Function(T)). This must be a runtime failure if C<T> is
a reference which has been covariantly upcast at runtime. For example,
List<Object>.add, where the list is at runtime an instance of List<int>,
results in a static type of void Function(Object), but a runtime type of
void Function(int), which is unsound.

We omit these checks, however, when it is trivially sound for all cases
Previously, this was the case for tearing off `List<Null>.add`. This is
no longer a valid test case for NNBD where the runtime type of that list
could actually be `List<Never>`.

Therefore the test has been changed to expect `List<Null>.add` to result
in a cast, and a new NNBD test case has been added to test `List<Never>`
cases don't get a cast.

Change-Id: I61d024a249e2c2a249ad5a8037cbe3d103e3ea8b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104361
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-06-12 23:48:48 +00:00
Mike Fairhurst 2f65830aeb Add null checks for spread operator
Change-Id: Ib3b0f46643a24e22e0344a4505743518f885e9e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102501
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-06-12 20:58:03 +00:00
Paul Berry 69d88daeb9 Remove unused imports
Change-Id: I08ae4f32ea9eb08f1147db2d056917fe4833e5e1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105780
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-06-12 17:54:24 +00:00
Konstantin Shcheglov a173d22fe7 Record reference to the typedef from which a FunctionType was instantiated.
It seems that this is necessary for Angular compiler.

R=brianwilkerson@google.com

Change-Id: Ib5c0501d8f900ec9ca358cb4f4b4be90004cce77
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-12 14:22:03 +00:00
Paul Berry 686df33d99 Add parseString() to replace the deprecated parseCompilationUnit().
Change-Id: Ib272f6a281b09a02ba037049e76bf08dd78dbbab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105540
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-06-12 12:56:57 +00:00
Mike Fairhurst dab4eb045f Add a "legacy type asserter," manage broken test cases
Change-Id: Ic046805c3246ad7e5e7c56fb9188d6ebd197e2fa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105560
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-06-11 23:17:43 +00:00
Konstantin Shcheglov 8e9e1877b5 Perform AST rewrite during metadata resolution.
R=brianwilkerson@google.com

Change-Id: I3e19bb1bc6e7d6f3f42134090ed7e7a4920420ee
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105620
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-11 18:13:04 +00:00
Konstantin Shcheglov 149ebf683b Support for 'uri' property of Import/Export/CompilationUnitElement.
_Builder in source_gen uses code like this to check that the generated
file is expected in the library. While it is a questionable approach,
I don't feel that I have time to fix it, and remove the `uri` property
completely. So, we fix in in Analyzer with summary2.

`if (!library.parts.map((c) => c.uri).contains(part)) { ...fail... }`

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

Change-Id: I983f29589cbb2613d5f896b87f6218c31a47afa9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105601
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-11 16:53:03 +00:00
Konstantin Shcheglov 4270982dd1 TypeSystem tests code motion.
Drop `Strong` prefix, extract LeastUpperBoundFunctionsTest.

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

Change-Id: I2ab28f23e28698f4c2063eb07362ae6df2938054
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105481
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-10 14:47:53 +00:00
Brian Wilkerson f94628fb1b Convert the remaining diagnostics tests to test for location
Change-Id: I00fef7e7228bbe6d63c48267f42b5efc4900556d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105414
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-06-10 13:21:52 +00:00
Sam Rawlins 7a1af14458 Do not report that abstract methods should call super.
Change-Id: Ib365361c91b8b489c0d40c9097f2248ecca54176
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105344
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-06-07 21:12:56 +00:00
Mike Fairhurst 527dffd21b Use StringSource in type provider tests to prevent bad path lookups.
Prevent windows from doing a path lookup for 'dart:core' which will
crash. All we need is a string source with a uri..

Change-Id: I742060633f3bd89323ad3e3f0f19ae80c1aedbae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104806
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-06-06 19:38:27 +00:00
Mike Fairhurst 09296499c2 Resolve type names in decls to * types in legacy libs
Change-Id: Icac40493e069d93abedc0422e77e3bcf29e965d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104960
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-06-06 18:45:20 +00:00
Konstantin Shcheglov 4bdd6e160b Compute unlinked API signatures from AST.
With this change summary2 does not use content hash as API signature,
so can reuse linked bundles when method bodies are changed.

The implementation of the API signature computation is from:
https://dart-review.googlesource.com/74925

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

Change-Id: I2a53957b8fff5208055aa28a188d6481ba24f5df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105321
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-06-06 18:22:50 +00:00
Konstantin Shcheglov b9e877be78 Extract informative data from linked data.
So, that when changes to code that don't affect APIs are made, we
can use already linked bundles, and fuse it with informative data to
create elements with actual offsets and comments.

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

Change-Id: Ia0aa8af3c734b2cff497b49363064a26d601ebf1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105142
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-06 14:14:10 +00:00
Brian Wilkerson 3894b0896e Add partial code tests for extension methods
Change-Id: I5886c275383302566e997cb2f7e968c446b79369
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105160
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-06-06 12:41:19 +00:00
Brian Wilkerson 7e933abe68 Convert more tests to include diagnostic location information
Change-Id: If0d0dec8839fd6f836cff2b5f021cc8c40969b0b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105140
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-06-06 12:40:39 +00:00
Nicholas Shahan 9cfe9bd34e [analyzer] Fix runtime error when creating SDK manager
Caused by a ternary operator with differently typed branches.

Change-Id: I5f9cfc28c274c125db0a999237f81dc3523896cc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104240
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2019-06-05 20:44:56 +00:00
Brian Wilkerson 37976dd26d Improve test so that snippet is displayed when an exception is thrown
Change-Id: Ib5a7ed985df42b7d56dd98e104a145fddc895599
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105020
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-06-05 16:44:52 +00:00
Brian Wilkerson 788dcf681e Set or map literals can be ambiguous in invalid code
Change-Id: Ic17f5b80836bdf1891065af97adf5e9a5e021995
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105021
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-06-05 16:30:12 +00:00
Dan Rubel 9197b34a0e generate analyzer experimental flags
Change-Id: I7dc2be03e7266b6ef0a936269a2dbe584096e3db
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104785
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-06-05 14:17:35 +00:00
Dan Rubel 4181185070 parse nullable function typed formal parameter
Change-Id: I502d4c6649a8974883b9ded038ce8927d34eea10
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104940
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-06-05 13:37:01 +00:00
Brian Wilkerson 34a45de500 Add support for representing nullable function-typed parameters
Change-Id: Ia667236d5d60bb5c1aca7fc0747702f244182a19
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104621
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-06-03 19:06:09 +00:00
danrubel 6f2f92f578 improve extension method declaration recovery
Address comment in https://dart-review.googlesource.com/c/sdk/+/103580

Change-Id: Ie92e4fa752eaf851fec9465565d640524b569760
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104320
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-05-31 23:30:25 +00:00