github / github/codeql

Java: Add predicates for getting annotated types / TypeAccess

Open
#3,417 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

Would it be possible to add predicates for getting annotated (`ElementType.TYPE_USE`) types? Respectively `TypeAccess` instances which would then allow getting the annotations.

It appears currently one would have to write complicated predicates for getting the respective `TypeAccess`.
E.g. to get the `TypeAccess` of the method return type, the following appears to work:
```
TypeAccess getReturnTypeAccess(Method m) {
exists (TypeAccess typeAccess |
typeAccess.getParent() = m
and result = typeAccess
)
}
```
Though maybe it is incomplete and also returns generic type parameters and `throws` clause types (haven't tested it yet).
Edit: It appears the return type `TypeAccess` has the child index -1 of the method.

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.