Sam Rawlins
5e040a20f8
analyzer: Improve span of use_of_nullable_value errors
...
This changes the span reported from the _receiver_ to
the _use_ (method name, property name, operator token).
I think this change is overall an improvement.
Specifically, its a great improvement for cmdline
output, where the receiver and the "use" are on
different lines.
One possibly weird change is that if the operator is `[]`,
then I only highlight the `[` character. I don't know if
there is a better place, and I think this is fine.
Fixes https://github.com/dart-lang/sdk/issues/43708
Change-Id: Ie66ddf04b4904a367575193106385dd63ee39985
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188680
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2021-04-02 02:43:48 +00:00
Sam Rawlins
ff6ddd2972
Analyzer: deduplicate errors when operator defined with bad parameters
...
If an operator declaration has both too many parameters, and one or more
optional parameters, just report the former error.
This is better UX, and is closer aligned to what the CFE reports.
Change-Id: I1f30ab9564f4bcdc49c1f3317add6c55cca29597
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185201
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2021-02-16 22:39:04 +00:00
Lasse R.H. Nielsen
60e001acf8
Add tests for the user-definable >>> operator.
...
Change-Id: I485d8cae7499fd31a69f279c64c3f465241a474d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180843
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Erik Ernst <eernst@google.com >
2021-01-29 12:49:46 +00:00
Brian Wilkerson
11e7cdcfd1
Unify two error codes for documentation purposes
...
Change-Id: I730a0ee287e7d54bace9fdf84a02be5c3f4da017
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/178520
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2021-01-11 23:12:20 +00:00
Johnni Winther
8103c90dbf
[cfe] Use combined member signature in override inference in legacy code
...
+ emit only one message per method given that it now always has the
same root cause, namely that the combined member signature does not
exist.
Closes #31797
Change-Id: Id89a5557c5fdda1db087c20cbe92847dd08216a3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175305
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-12-09 17:33:20 +00:00
Johnni Winther
5efe55abf7
[cfe] Fix missing case of using receiver type instead of bound
...
+ fix test to expect erasure of `S & int` to `S` also when bound is `dynamic`.
Closes #43591
Change-Id: I44cb4c726648d4065bdf89bb2dbf71b2753c6c84
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/169340
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Erik Ernst <eernst@google.com >
2020-10-30 16:33:51 +00:00
Jens Johansen
5a6129406f
[parser] Consistently disallow 'late' without 'var', 'final' or type
...
Fixes https://github.com/dart-lang/sdk/issues/43811
Fixes https://github.com/dart-lang/sdk/issues/43812
Fixes https://github.com/dart-lang/sdk/issues/43813
Change-Id: I39de527883d33459694ec0f91b769676eb52d54b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168641
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-10-23 06:28:51 +00:00
Johnni Winther
4d1e0378c9
[cfe] Update test expectation for number_operator_error_test
...
Change-Id: I43cda6ca3f57818f9afb0dd33ae9b040f08f384a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/166630
Auto-Submit: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-10-09 06:27:16 +00:00
Johnni Winther
5a2a435b6e
[cfe] Use combined member signature for override inference.
...
Closes #43381
Change-Id: Id3ba97d717556f807eac1115e1c3570662cab87c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/166240
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-10-08 15:29:05 +00:00
Leaf Petersen
041261f92f
Add tests for promotion behavior related to variable initialization.
...
Change-Id: I31d9f245f6dc1f34e13d026c95189f10f4dae75f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/163663
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
2020-09-23 00:15:25 +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
Konstantin Shcheglov
ba92b78acd
Move errors from StaticWarningCode to CompileTimeErrorCode.
...
Bug: https://github.com/dart-lang/sdk/issues/42821
Change-Id: I153c48d7a2e4a02026928e6203aacf8f2dc029ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155849
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-07-26 04:19:25 +00:00
Johnni Winther
1dab58697c
Fix number operator tests
...
Change-Id: I082a33b023e574e96e57a0ea28bb8eab98a802b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155127
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-07-21 15:27:08 +00:00
Lasse Reichstein Holst Nielsen
c894edca89
Update number operator tests to simpler rules.
...
Change-Id: Iec4eeda564923c542e9881774f988d5a0b5f46c5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154880
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Erik Ernst <eernst@google.com >
2020-07-20 16:01:17 +00:00
Erik Ernst
dc7c947a9c
Add/change tests to cover new compile-time errors
...
Cf. spec update in https://github.com/dart-lang/language/pull/1083 .
Change-Id: I99675cf761bfeacf4fd5a971380c548cc4997852
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153963
Commit-Queue: Erik Ernst <eernst@google.com >
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
2020-07-16 11:17:33 +00:00
Lasse Reichstein Holst Nielsen
5580f89d2c
Add test for new numeric operator typing rules.
...
Change-Id: I8e3c478c129e633421625967ff4ac41c9b565fb2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153200
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Erik Ernst <eernst@google.com >
2020-07-09 17:41:52 +00:00
Johnni Winther
45af99177b
[cfe] Check overrides on operators
...
Change-Id: Ib250117553b2e22c6c71b78bf354be1162bc9981
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151235
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-07-08 08:45:34 +00:00
Robert Nystrom
24b33dae89
Migrate language_2/operator to NNBD.
...
Change-Id: I90bc5ff6aae8998deb3cc28b1134c60058706f01
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150185
Auto-Submit: Bob Nystrom <rnystrom@google.com >
Reviewed-by: Srujan Gaddam <srujzs@google.com >
Commit-Queue: Bob Nystrom <rnystrom@google.com >
2020-06-11 01:44:45 +00:00
Erik Ernst
4fc60b20df
New test, based on language PR #940 about ==.
...
Change-Id: Iddb347f05eac14048969eb4e6b05e9eab31532e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145582
Commit-Queue: Erik Ernst <eernst@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
2020-05-12 16:31:59 +00:00
Konstantin Shcheglov
7ed155ff49
Update analyzer expected error range for language/operator/invalid_operators_test.
...
Change-Id: I1acbbfd8dd173f90a49231577c67678d94040c8a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143247
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-04-13 18:00:37 +00:00
Johnni Winther
8991dc33d2
Fix language/operator/invalid_operators_test
...
Closes #40415
Change-Id: If179bc6802e6193aea4c011d889f9ecbfa3020b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133993
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-02-03 13:35:15 +00:00
Johnni Winther
42246f7f96
[cfe,analyzer] Disallow type parameters on operator methods
...
This was never supported by the grammar but unfortunately allowed by
both the analyzer and the CFE.
Change-Id: Id669c934fe08eda41973d6d2cef8340da2e7d72c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133591
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-01-31 14:05:02 +00:00