|
| 1 | +import python |
| 2 | + |
| 3 | +string pretty_name(AstNode n) { |
| 4 | + result = "Function " + n.(Function).getName() |
| 5 | + or |
| 6 | + result = "Class " + n.(ClassExpr).getName() |
| 7 | + or |
| 8 | + result = "TypeAlias " + n.(TypeAlias).getName().getId() |
| 9 | +} |
| 10 | + |
| 11 | +query predicate type_vars_without_bound(TypeVar tv, string name, string parent) { |
| 12 | + tv.getName().getId() = name and |
| 13 | + not exists(tv.getBound()) and |
| 14 | + parent = pretty_name(tv.getParent().getParent()) |
| 15 | +} |
| 16 | + |
| 17 | +query predicate type_vars_with_bound(TypeVar tv, string name, string bound, string parent) { |
| 18 | + tv.getName().getId() = name and |
| 19 | + bound = tv.getBound().(Name).getId() and |
| 20 | + parent = pretty_name(tv.getParent().getParent()) |
| 21 | +} |
| 22 | + |
| 23 | +query predicate type_var_tuples(TypeVarTuple tvt, string name, string parent) { |
| 24 | + tvt.getName().getId() = name and |
| 25 | + parent = pretty_name(tvt.getParent().getParent()) |
| 26 | +} |
| 27 | + |
| 28 | +query predicate param_specs(ParamSpec ps, string name, string parent) { |
| 29 | + ps.getName().getId() = name and |
| 30 | + parent = pretty_name(ps.getParent().getParent()) |
| 31 | +} |
| 32 | + |
| 33 | +query predicate type_aliases(TypeAlias ta, string name, string value) { |
| 34 | + ta.getName().getId() = name and |
| 35 | + value = ta.getValue().(Name).getId() |
| 36 | +} |
0 commit comments