Java: Deprecate and remove Element::getDoc
- Dominant language
- CodeQL
- Stars
- 10.1k
- Forks
- 2.1k
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 141
Description
`Element::getDoc` only performs an implicit cast of `this`:
https://github.com/github/codeql/blob/f9973d10aea9c550d91f6607b7cfdd2f543d64ee/java/ql/src/semmle/code/java/Element.qll#L42-L43
- This is probably redundant because you can instead write a cast `element.(Document) ...`
- It is irritating because it suggests that every `Element` can be 'converted' to `Document`, which is not the case
- It causes irritating error messages when used on types which cannot be cast to `Document`:

Therefore it might be good to deprecate and remove the predicate.
Edit: `Package` is not a good example for an `Element` which does not extend `Document` since it should support documentation, see #5288. Though there are other `Element` subclasses such as `Import` or `Modifier` which cannot be documented in Java.
Relates to #3705
Contributor guide
Assessment
This issue has not been assessed yet.