|
30 | 30 | "Dataflow Tracking Class": { |
31 | 31 | "prefix": "dataflowtracking", |
32 | 32 | "body": [ |
33 | | - "class $1 extends DataFlow::Configuration {", |
34 | | - "\t$1() { this = \"$1\" }", |
35 | | - "\t", |
36 | | - "\toverride predicate isSource(DataFlow::Node node) {", |
| 33 | + "module $1 implements DataFlow::ConfigSig {", |
| 34 | + "\tpredicate isSource(DataFlow::Node node) {", |
37 | 35 | "\t\t${2:none()}", |
38 | 36 | "\t}", |
39 | 37 | "\t", |
40 | | - "\toverride predicate isSink(DataFlow::Node node) {", |
| 38 | + "\tpredicate isSink(DataFlow::Node node) {", |
41 | 39 | "\t\t${3:none()}", |
42 | 40 | "\t}", |
43 | | - "}" |
| 41 | + "}", |
| 42 | + "\t", |
| 43 | + "module ${4:Flow} = DataFlow::Global<$1>;" |
44 | 44 | ], |
45 | 45 | "description": "Boilerplate for a dataflow tracking class" |
46 | 46 | }, |
47 | 47 | "Taint Tracking Class": { |
48 | 48 | "prefix": "tainttracking", |
49 | 49 | "body": [ |
50 | | - "class $1 extends TaintTracking::Configuration {", |
51 | | - "\t$1() { this = \"$1\" }", |
52 | | - "\t", |
53 | | - "\toverride predicate isSource(DataFlow::Node node) {", |
| 50 | + "module $1 implements DataFlow::ConfigSig {", |
| 51 | + "\tpredicate isSource(DataFlow::Node node) {", |
54 | 52 | "\t\t${2:none()}", |
55 | 53 | "\t}", |
56 | 54 | "\t", |
57 | | - "\toverride predicate isSink(DataFlow::Node node) {", |
| 55 | + "\tpredicate isSink(DataFlow::Node node) {", |
58 | 56 | "\t\t${3:none()}", |
59 | 57 | "\t}", |
60 | | - "}" |
| 58 | + "}", |
| 59 | + "\t", |
| 60 | + "module ${4:Flow} = TaintTracking::Global<$1>;" |
61 | 61 | ], |
62 | 62 | "description": "Boilerplate for a taint tracking class" |
63 | 63 | }, |
|
0 commit comments