github / github/codeql

Java: JavadocTag does not contain multi-line JavadocText children

オープン
#3,825 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
Java question
主要言語
CodeQL
スター
10.1k
フォーク
2.1k
平均マージ
2日 15時間
マージ済み PR(30日)
141

説明

**Description of the issue**
Related to #3696

It appears QL is only considering the first line of `JavadocTag` text and not considering any subsequent lines.
Example query for LGTM demo projects:
```ql
import java

from JavadocTag javadocTag
where
javadocTag.getText() = "type of the hashing function (see"
select javadocTag, javadocTag.getNumChild(), javadocTag.getText()
```
[Query console link](https://lgtm.com/query/3510661099047413739/)

Note how it always claims that the tags have only two children (the tag name and a JavadocText) and how for multi-line text, all lines after the first one are missing.

Additionally, if the text for a block tag starts in the next line, no child is reported, e.g.:
```java
/**
* @deprecated
* Some text
* More text
* Even more text
*/
```

Expected would be that all subsequent lines would be separate `JavadocText` (see also #3696) and that they are considered children of the `JavadocTag`. Additionally `getText()` should (probably?) concat them with `\n` (new line) or a space, and it would also be useful to add a `JavadocText getATextChild()` predicate to `JavadocTag` as well then.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。