github / github/codeql

Java: `Assignment` does not include `UnaryAssignExpr`

Offen
#6,446 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
question
Vorherrschende Sprache
CodeQL
Sterne
10.1k
Forks
2.1k
Ø Merge
2 T. 15 Std.
Gemergte PRs (30 T.)
141

Beschreibung

**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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.