github / github/codeql

Java: `getNumberOfCommentLines` and `getNumberOfLinesOfCode` should only exist for supported classes

Open
#10,199 3 comments 1 reaction 0 assignees View on GitHub
question
Dominant language
CodeQL
Stars
10.1k
Forks
2.1k
Avg merge
2d 15h
Merged PRs (30d)
141

Description

The predicates `getNumberOfCommentLines()` and `getNumberOfLinesOfCode()` are currently defined for `Top`, however they only seem to have results for the following CodeQL classes (list might be incomplete):
- `XMLFile`
- `CompilationUnit`
- `Package`
- `Class`
- `Callable`
- _some weird element which has `getPrimaryQlClasses() = "???"`, `getAQlClass() = "Top"` and which has no location_
(they seem to be duplicating some of the elements listed above, at least `XMLFile`)

This can be quite confusing, for example when you try to use the predicates for `Stmt` (or specifically for `BlockStmt`). Maybe it would therefore be good to move the predicate to the classes where they actually work, or at least clearly mention in the documentation that these predicates do not work for most elements.

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.