asiva
34f9734b41
Revert "[cfe] Handle conditional await in CFE"
...
This reverts commit 14032a6209 .
Reason for revert : Several customer flutter tests are failing because
of the change in behavior.
TEST=revert of previous CL.
Change-Id: Ia235aa93b9c81fbab066803dc0625856f93acceb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/181860
Commit-Queue: Siva Annamalai <asiva@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2021-02-01 23:41:01 +00:00
Johnni Winther
14032a6209
[cfe] Handle conditional await in CFE
...
This converts `return e` in async methods in opt-in libraries into
return let v = e in v is Future<FTV> ? await v ; v
where FTV is the future value type of the enclosing function.
Closes #44395
Closes #44396
Closes #44397
Closes #44399
TEST=existing tests
Change-Id: I59687039bfe4a97ffdaa55ac0f193ca4fb208f44
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175310
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Erik Ernst <eernst@google.com >
2021-01-22 19:12:24 +00:00
Erik Ernst
073acc778e
Add tests for throwing async return
...
Cf. https://github.com/dart-lang/sdk/issues/44395 .
Change-Id: I753a6a4fae65c50267d8cf1575d2ce87e7ac345b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175064
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
Commit-Queue: Erik Ernst <eernst@google.com >
2020-12-04 18:14:55 +00:00
Leaf Petersen
623a9bda67
Fix async test to match inference changes from #43162 .
...
Closes #43440 .
Change-Id: If25e49400d63698b974ab935f483804e36e22f98
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/163040
Auto-Submit: Leaf Petersen <leafp@google.com >
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
2020-09-16 14:39:28 +00:00
Johnni Winther
0e93845ba1
Make update_static_error_tests work on Windows (again)
...
+ update some test expectations
Change-Id: I63ca86309ea3352a88686f5e3f416311ee7bc03c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/162185
Reviewed-by: Bob Nystrom <rnystrom@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-09-10 06:21:13 +00:00
Konstantin Shcheglov
8de8a1c226
Move codes from StaticTypeWarningCode into CompileTimeErrorCode.
...
They are all errors now.
Change-Id: If48d38e38e845fd5b5a950dd5514bf1cbbce03d8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155880
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-07-27 16:44:15 +00:00
Sam Rawlins
bbe6bb9823
Analyzer: Improve generator return error messages
...
Fixes https://github.com/dart-lang/sdk/issues/27468
In addition convert both ILLEGAL_ASYNC_GENERATOR_RETURN_TYPE and
ILLEGAL_SYNC_GENERATOR_RETURN_TYPE to CompileTimeErrorCodes.
Change-Id: I5f09f3d77dad52b4ba524c86b3e07ac5fac905fd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154824
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2020-07-18 15:28:06 +00:00
Johnni Winther
46963a3422
[cfe] Change implicit catch type to Object
...
Closes #41520
Change-Id: Iff07ac2b7187b042e2c702462c0c3269208f27ed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148062
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-05-14 18:26:01 +00:00
Erik Ernst
2cc46eab0b
Adjust tests for new return rules, cf. language PR #941 , #948 .
...
The rules for returns with null-safety were changed in language PR #941 ,
and this PR makes changes to async/return_types_test.dart such that it
matches the new rules. Check base vs. patchset 1 to see these adjustments.
The main part of this PR is that it migrates and updates the tests
language/invalid_returns/{,a}sync_{,in}valid*_test.dart such
that they match the new rules. Check patchset 1 vs newest patchset
to see this migration.
Note that some tests are new, e.g., 'sync_invalid_return_27_test',
which was added because it is a new property that there is an error
for "return void to Null". Also note that some of the tests are
redundant: (1) It is no longer allowed to return void to Null, but
(2) that's an error already with null-safety, because it's a
downcast (so it doesn't matter which supertype of `Null` we have).
I kept these tests anyway (and even wrote this new one), because
they do check that certain changes have been implemented, even
though it is in some cases redundant in the sense that it's just
another verification that implicit downcasts aren't supported any
more. If we don't want this redundancy then we should remove about
10 tests (sync_invalid_return, async_invalid_return).
Change-Id: I3f10682e1d0ed75067d6e8651588b727ffd3648f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145587
Commit-Queue: Erik Ernst <eernst@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
2020-05-07 16:00:48 +00:00
Lasse Reichstein Holst Nielsen
765c9c3a8e
Make tests not assume catch(e) gives e type dynamic.
...
See #41558
Bug: http://dartbug.com/41558
Change-Id: I8980ad6e0d240c917f36ec4f9fcf2091fb61a4b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143819
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Bob Nystrom <rnystrom@google.com >
2020-05-05 09:57:23 +00:00
Sam Rawlins
638523c3e1
analyzer: Fix addtional language test
...
which was broken by https://dart-review.googlesource.com/c/sdk/+/143248
Change-Id: Id14c6583a2838f85d21da56575aa2ecaf538160a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143300
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2020-04-13 17:27:51 +00:00
Sam Rawlins
c9710e5059
analyzer: Do not report on a bad type of return expression if function has illegal return type
...
Fixes #38188 and fixes #41439
Change-Id: Id6339529afba331750858fb34771bed627ece0be
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143248
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2020-04-13 03:42:35 +00:00
Konstantin Shcheglov
2854d6f4c0
Add the analyzer error on return in language/async/or_generator_return_type_stacktrace_test
...
Change-Id: If3e6b9c62c53389c428149ef6ff267b4cf6cfaf7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143010
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-04-10 15:54:24 +00:00
Johnni Winther
62f84880ef
[cfe] Report error on missing return from non-nullable function
...
Closes #40520
Closes #40948
Closes #40425
Change-Id: I0aa3cfa51b410c90dd0bea963846eeb6b2e73efb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140540
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-03-24 08:21:36 +00:00
Leaf Petersen
7aace6fa60
Make StackTrace generally not nullable in migrated NNBD library.
...
Bug: https://github.com/dart-lang/sdk/issues/40130
Change-Id: I13aba0c2a3fa5b1c3d3995f075ffd38f03aca897
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139880
Reviewed-by: Bob Nystrom <rnystrom@google.com >
2020-03-19 23:31:30 +00:00
Robert Nystrom
434f7228bf
Make parameter required to fix nullability error.
...
It is only used in one place and is always passed.
Change-Id: I8bdc46963ee9e10591edb951dc72e065ba5678cb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137760
Commit-Queue: Bob Nystrom <rnystrom@google.com >
Auto-Submit: Bob Nystrom <rnystrom@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
2020-02-28 01:43:01 +00:00
Robert Nystrom
16f072c783
Migrate language_2/async to NNBD.
...
Change-Id: Id66e712eaf52fda2069ce5177aa091e373ad52c1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134244
Commit-Queue: Bob Nystrom <rnystrom@google.com >
Reviewed-by: Nicholas Shahan <nshahan@google.com >
Reviewed-by: Erik Ernst <eernst@google.com >
Auto-Submit: Bob Nystrom <rnystrom@google.com >
2020-02-27 23:04:03 +00:00