github / github/codeql

Java: `RefType.inherits(Member)` does not work for member types

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

Beschreibung

The predicate [`RefType.inherits(Member)`](https://codeql.github.com/codeql-standard-libraries/java/semmle/code/java/Type.qll/predicate.Type$RefType$inherits.1.html) does not work for member types (member classes or member interfaces), see also #5591.
If this is the intended behavior, it should at least be documented.

Currently the compiler does not even permit using a `NestedType` as argument for `inherits`.

Edit: However, based on [JLS 16 §8.2](https://docs.oracle.com/javase/specs/jls/se16/html/jls-8.html#jls-8.2) member types are "inherited", so it might be good if CodeQL reflected this.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

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