-
Notifications
You must be signed in to change notification settings - Fork 1.7k
/
Copy pathtests.ql
39 lines (32 loc) · 1.15 KB
/
tests.ql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import javascript
query predicate fieldStep(DataFlow::Node pred, DataFlow::Node succ) {
DataFlow::localFieldStep(pred, succ)
}
query DataFlow::SourceNode getAReceiverNode(DataFlow::ClassNode cls) {
result = cls.getAReceiverNode()
}
query TypeAnnotation getFieldTypeAnnotation(DataFlow::ClassNode cls, string name) {
result = cls.getFieldTypeAnnotation(name)
}
query predicate instanceMember(
DataFlow::ClassNode cls, string name, string kind, DataFlow::FunctionNode inst, string clsName
) {
cls.getInstanceMember(name, kind) = inst and clsName = cls.getName()
}
query predicate instanceMethod(
DataFlow::ClassNode cls, string name, DataFlow::FunctionNode inst, string clsName
) {
cls.getInstanceMethod(name) = inst and clsName = cls.getName()
}
query predicate staticMember(
DataFlow::ClassNode cls, string name, string kind, DataFlow::FunctionNode inst, string clsName
) {
cls.getStaticMember(name, kind) = inst and clsName = cls.getName()
}
query predicate superClass(
DataFlow::ClassNode cls, DataFlow::ClassNode sup, string clsName, string supName
) {
sup = cls.getADirectSuperClass() and
clsName = cls.getName() and
supName = sup.getName()
}