mirror of
https://github.com/github/codeql.git
synced 2026-05-05 05:35:13 +02:00
Python: Add test
This commit is contained in:
36
python/ql/test/library-tests/PEP695/test.ql
Normal file
36
python/ql/test/library-tests/PEP695/test.ql
Normal file
@@ -0,0 +1,36 @@
|
||||
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()
|
||||
}
|
||||
Reference in New Issue
Block a user