Commit Graph

17 Commits

Author SHA1 Message Date
Konstantin Shcheglov 683e2419da Deprecate 'DartType.element2' use 'element' instead.
Change-Id: I6986a058616db489987789cfab09d53a450e3ab5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/262666
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-10-05 16:30:09 +00:00
Konstantin Shcheglov 44316060f1 Deprecate 'get declaredElement2', use 'get declaredElement' instead.
Change-Id: Ida7a9c2ac35943aed2d75f81f98ce7056b616aee
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260741
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-09-23 20:05:29 +00:00
Konstantin Shcheglov e03170035a Deprecate 'get name2', use 'get name' instead.
Change-Id: Iee8ef5fb6700d96c857a22a99dc61dac3da88572
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260443
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-09-22 02:22:47 +00:00
Konstantin Shcheglov f4c009dc33 Deprecate Declaration.declaredElement, use 'declaredElement2' instead.
This is necessary to separate `ClassElement`, `EnumElement`, and `MixinElement`. And, in the future, augmentations like `ClassAugmentationElement`, etc.

Change-Id: Iecd2f8707212e53ef56f0e101880c7bab9e5d057
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/254104
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-08-09 17:26:06 +00:00
Konstantin Shcheglov cbfad8f802 Deprecate DartType.element, use specific element accessor for InterfaceType, TypeParameterType.
For `InterfaceType` keep `element2` deprecated and define
`InterfaceElement get element2` instead. Most changes are because
of this.

Change-Id: I13b888610fc707438c3c97b676f1460e7fc2b040
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/253564
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2022-08-04 16:18:06 +00:00
Konstantin Shcheglov 01173e2aa2 Deprecate 'name' in AST, use 'name2' token instead.
Change-Id: I867f009dca12208f835199297d2ea85c203c8556
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/252566
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-08-02 16:25:34 +00:00
Sam Rawlins e774227a81 analysis_server: Remove implicit casts from test and tool
Bug: https://github.com/dart-lang/sdk/issues/41651
Change-Id: I0a165aef2b5d5cd2f97e5728bb6011a8eb70d9a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/222041
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-12-06 03:30:26 +00:00
pq e050ab05de bulk fix for prefer_expression_function_bodies
Change-Id: I5facc84d37552153fbe1da7edb0589939183abd7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/217521
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-10-26 20:11:50 +00:00
pq 36bfe07b7a document un-bulk-fixable static warning corrections
Change-Id: I8524b2147b00f3e213ae647e60c18eecbd74b401
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/217460
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-10-20 18:19:41 +00:00
pq 378d304de8 document not bulk-fixable corrections
Change-Id: I90bb91258ec0c900719fe06fbd4003690384aa28
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/217320
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-10-19 23:15:01 +00:00
pq 15d00a8586 bulk fix accounting for hints with correction producers
Sample run:

```
hints w/ correction producers:

HintCode.CAN_BE_NULL_AFTER_NULL_AWARE bulk fixable: false
HintCode.DEAD_CODE bulk fixable: false
HintCode.DEAD_CODE_CATCH_FOLLOWING_CATCH bulk fixable: false
HintCode.DEAD_CODE_ON_CATCH_SUBTYPE bulk fixable: false
HintCode.DIVISION_OPTIMIZATION bulk fixable: false
HintCode.DUPLICATE_HIDDEN_NAME bulk fixable: false
HintCode.DUPLICATE_IMPORT bulk fixable: false
  => override explanation missing for: RemoveUnusedImport
HintCode.DUPLICATE_SHOWN_NAME bulk fixable: false
HintCode.INVALID_FACTORY_ANNOTATION bulk fixable: false
HintCode.INVALID_IMMUTABLE_ANNOTATION bulk fixable: false
HintCode.INVALID_LITERAL_ANNOTATION bulk fixable: false
HintCode.INVALID_REQUIRED_NAMED_PARAM bulk fixable: false
HintCode.INVALID_REQUIRED_OPTIONAL_POSITIONAL_PARAM bulk fixable: false
HintCode.INVALID_REQUIRED_POSITIONAL_PARAM bulk fixable: false
HintCode.INVALID_SEALED_ANNOTATION bulk fixable: false
HintCode.MISSING_REQUIRED_PARAM bulk fixable: false
HintCode.MISSING_REQUIRED_PARAM_WITH_DETAILS bulk fixable: false
HintCode.MISSING_RETURN bulk fixable: false
HintCode.NULLABLE_TYPE_IN_CATCH_CLAUSE bulk fixable: true
HintCode.OVERRIDE_ON_NON_OVERRIDING_FIELD bulk fixable: false
HintCode.OVERRIDE_ON_NON_OVERRIDING_GETTER bulk fixable: false
HintCode.OVERRIDE_ON_NON_OVERRIDING_METHOD bulk fixable: false
HintCode.OVERRIDE_ON_NON_OVERRIDING_SETTER bulk fixable: false
HintCode.SDK_VERSION_AS_EXPRESSION_IN_CONST_CONTEXT bulk fixable: false
HintCode.SDK_VERSION_ASYNC_EXPORTED_FROM_CORE bulk fixable: false
HintCode.SDK_VERSION_BOOL_OPERATOR_IN_CONST_CONTEXT bulk fixable: false
HintCode.SDK_VERSION_EQ_EQ_OPERATOR_IN_CONST_CONTEXT bulk fixable: false
HintCode.SDK_VERSION_EXTENSION_METHODS bulk fixable: false
HintCode.SDK_VERSION_GT_GT_GT_OPERATOR bulk fixable: false
HintCode.SDK_VERSION_IS_EXPRESSION_IN_CONST_CONTEXT bulk fixable: false
HintCode.SDK_VERSION_SET_LITERAL bulk fixable: false
HintCode.SDK_VERSION_UI_AS_CODE bulk fixable: false
HintCode.TYPE_CHECK_IS_NOT_NULL bulk fixable: false
  => override explanation missing for: UseNotEqNull
HintCode.TYPE_CHECK_IS_NULL bulk fixable: false
  => override explanation missing for: UseEqEqNull
HintCode.UNDEFINED_HIDDEN_NAME bulk fixable: false
HintCode.UNDEFINED_SHOWN_NAME bulk fixable: false
HintCode.UNNECESSARY_CAST bulk fixable: true
HintCode.UNNECESSARY_IMPORT bulk fixable: false
  => override explanation missing for: RemoveUnusedImport
HintCode.UNNECESSARY_NULL_COMPARISON_FALSE bulk fixable: false
HintCode.UNNECESSARY_NULL_COMPARISON_TRUE bulk fixable: false
HintCode.UNUSED_CATCH_CLAUSE bulk fixable: false
HintCode.UNUSED_CATCH_STACK bulk fixable: false
HintCode.UNUSED_ELEMENT bulk fixable: false
HintCode.UNUSED_FIELD bulk fixable: false
HintCode.UNUSED_IMPORT bulk fixable: false
  => override explanation missing for: RemoveUnusedImport
HintCode.UNUSED_LABEL bulk fixable: false
HintCode.UNUSED_LOCAL_VARIABLE bulk fixable: false
HintCode.UNUSED_SHOWN_NAME bulk fixable: false
```



Change-Id: I9d6e86854d7f1de43ac8154631610869bf56c2c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/217149
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-10-19 17:57:52 +00:00
Brian Wilkerson 7d2ffd78de Make correction producers know whether they can be bulk applied
This change makes sense to me for a couple of reasons. First, when
editing a correction producer the information about whether it can be
bulk applied will be easier to find. Second, the information doesn't
need to be duplicated when the producer can be applied to multiple
error codes. And third, because the information is in one place we can't
enable a producer in one place and miss enabling it in other places.

This does have the unfortunate consequence that an extra producer needs
to be created for bulk application in order to determine whether it
should be applied at all, and can't be re-used because producers
maintain state. We could consider storing a 'generator' object rather
than a generator function in the map and have the `newInstance` methods
produce those objects, but I'm not convinced that it's worthwhile given
how short lived the extra producer is.

There was also one subtle change that you probably won't see by looking
at the changes, which is that one of the producers was enabled for bulk
application for a lint but not enabled for several non-lint cases. It is
now enabled everywhere. I remember thinking at the time that it should
be fine, but I've forgotten which producer it was, so I can't easily
tell you. If you want to confirm that change I'll be happy to do the
work of figuring out which producer it is and which error codes were
impacted by the change.

Change-Id: I2010d777f727472c0d307a6948b84d37491e2b17
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/202600
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-06-06 16:07:31 +00:00
Brian Wilkerson e453325e92 Migrate the supported_lints tool
Change-Id: I4df8b8fd209e96e18e8165d01f3860fe9dbbee7b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195161
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-04-13 17:17:57 +00:00
Konstantin Shcheglov e97f1bdbf0 Switch analysis_server to language 2.12, so null safety, but opt-out files.
This should allow doing partial migration, specifically protocol files,
which are imported by other libraries, but are a small library cycle
that does not import much outside of it.

Change-Id: I904c05d6d5b444ee9a9dbd1f7ada12aabdcc5165
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193583
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-30 23:39:37 +00:00
pq a68db103ae rename lintProducerMap2 => lintProducerMap
(Also removes deprecated "legacy" lintProducerMap.)

Change-Id: I8c9222657029fe709228e010c4b90f34244814d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193086
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-03-26 14:50:04 +00:00
pq fbf07bc7b7 migrate towards a shared nonLintProducerMap
Introduces a new map datastructure and migrate BulkFixProcessor to use it.

Change-Id: I6294cce875ac5e5052b363282454af6dadf011f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/184320
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-02-11 18:37:30 +00:00
pq f0d1fe173c utility that reports bulk-fixable lints
Change-Id: Ia3946edc36955430c5141b004293093ab09c923d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/164604
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-09-25 22:53:34 +00:00