github / github/codeql

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

Open
#5,596 1 comment 0 reactions 0 assignees View on GitHub
Java question
Dominant language
CodeQL
Stars
10.1k
Forks
2.1k
Avg merge
2d 15h
Merged PRs (30d)
141

Description

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.