github / github/codeql

Java: Deprecate and remove Element::getDoc

Abierto
#5,320 2 comentarios 0 reacciones 0 asignados Ver en GitHub
question
Lenguaje dominante
CodeQL
Estrellas
10.1k
Forks
2.1k
Merge medio
2 d 15 h
PR fusionados (30 d)
141

Descripción

`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

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.