Kotlin/Java: Add the beginnings of a "visibility" consistency query

This commit is contained in:
Ian Lynagh
2022-06-21 17:23:59 +01:00
parent b16fcb72eb
commit 52b229052d

View File

@@ -0,0 +1,22 @@
import java
string visibility(Method m) {
result = "public" and m.isPublic()
or
result = "protected" and m.isProtected()
or
result = "private" and m.isPrivate()
or
result = "internal" and m.isInternal()
}
// TODO: This ought to check more than just methods
from Method m
where
// TODO: This ought to work for everything, but for now we
// restrict to things in Kotlin source files
m.getFile().isKotlinSourceFile() and
// TODO: This ought to have visibility information
not m.getName() = "<clinit>" and
count(visibility(m)) != 1
select m, concat(visibility(m), ", ")