| 168 | |
| 169 | #[derive(Debug, Deserialize)] |
| 170 | pub struct RuleSet { |
| 171 | /// Global defaults inherited by every rule. |
| 172 | #[serde(default)] |
| 173 | pub defaults: Defaults, |
| 174 | #[serde(default, rename = "rule")] |
| 175 | pub rules: Vec<Rule>, |
| 176 | #[serde(default, rename = "taint_source")] |
| 177 | pub taint_sources: Vec<TaintSourceRule>, |
| 178 | #[serde(default, rename = "taint_sink")] |
| 179 | pub taint_sinks: Vec<TaintSinkRule>, |
| 180 | #[serde(default, rename = "taint_sanitizer")] |
| 181 | pub taint_sanitizers: Vec<TaintSanitizerRule>, |
| 182 | } |
| 183 | |
| 184 | impl RuleSet { |
| 185 | /// Precompiles every glob exclusion/file pattern into a `WildMatch` once. |
nothing calls this directly
no outgoing calls
no test coverage detected