mirror of
https://github.com/github/codeql.git
synced 2025-12-20 18:56:32 +01:00
37 lines
1.1 KiB
Plaintext
37 lines
1.1 KiB
Plaintext
import python
|
|
|
|
string pretty_name(AstNode n) {
|
|
result = "Function " + n.(Function).getName()
|
|
or
|
|
result = "Class " + n.(ClassExpr).getName()
|
|
or
|
|
result = "TypeAlias " + n.(TypeAlias).getName().getId()
|
|
}
|
|
|
|
query predicate type_vars_without_bound(TypeVar tv, string name, string parent) {
|
|
tv.getName().getId() = name and
|
|
not exists(tv.getBound()) and
|
|
parent = pretty_name(tv.getParent().getParent())
|
|
}
|
|
|
|
query predicate type_vars_with_bound(TypeVar tv, string name, string bound, string parent) {
|
|
tv.getName().getId() = name and
|
|
bound = tv.getBound().(Name).getId() and
|
|
parent = pretty_name(tv.getParent().getParent())
|
|
}
|
|
|
|
query predicate type_var_tuples(TypeVarTuple tvt, string name, string parent) {
|
|
tvt.getName().getId() = name and
|
|
parent = pretty_name(tvt.getParent().getParent())
|
|
}
|
|
|
|
query predicate param_specs(ParamSpec ps, string name, string parent) {
|
|
ps.getName().getId() = name and
|
|
parent = pretty_name(ps.getParent().getParent())
|
|
}
|
|
|
|
query predicate type_aliases(TypeAlias ta, string name, string value) {
|
|
ta.getName().getId() = name and
|
|
value = ta.getValue().(Name).getId()
|
|
}
|