github / github/codeql

Java: Deprecate and remove Element::getDoc

Aperta
#5,320 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
question
Lingua principale
CodeQL
Stelle
10.1k
Fork
2.1k
Merge medio
2g 15h
PR unite (30g)
141

Descrizione

`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`:
![Error message screenshot](https://user-images.githubusercontent.com/11685886/109879540-fba75f00-7c75-11eb-86cd-b2775019dc81.png)

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

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.