github / github/codeql

Java: `Assignment` does not include `UnaryAssignExpr`

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

説明

**Description of the issue**
`Assignment` [describes itself](https://codeql.github.com/codeql-standard-libraries/java/semmle/code/java/Expr.qll/type.Expr$Assignment.html) as:
> A common super-class that represents all varieties of assignments.

However, it does not actually include `UnaryAssignExpr`; for example the following cannot be compiled:
```ql
import java

from Assignment a
// Error: test is always false, as UnaryAssignExpr is incompatible with the expression type Assignment.
where a instanceof UnaryAssignExpr
select a
```

In case that is the intended behavior it would be good to clarify this in the `Assignment` documentation.
If not, then `Assignment` should probably include `UnaryAssignExpr` as well. `Assignment.getRhs()` cannot have a result in this case, so its documentation would have to be adjusted to describe this behavior.

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

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

評価

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

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

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