Module ATDGenerated.Pulse_config_t

type taint_target = [
  1. | `ReturnValue
  2. | `AllArguments
  3. | `ArgumentPositions of int list
  4. | `AllArgumentsButPositions of int list
  5. | `ArgumentsMatchingTypes of string list
  6. | `InstanceReference
  7. | `FieldsOfValue of (string * taint_target) list
  8. | `GetField
  9. | `SetField
]
type taint_flow = {
  1. source_kinds : string list;
  2. sanitizer_kinds : string list;
  3. sink_kinds : string list;
}
type taint_policy = {
  1. short_description : string;
  2. taint_flows : taint_flow list;
  3. privacy_effect : string option;
  4. exclude_in : string list option;
  5. exclude_matching : string list option;
}
type taint_policies = taint_policy list
type argument_constraint = {
  1. index : int;
  2. type_matches : string list;
}
type matcher = {
  1. field_regex : string option;
  2. procedure : string option;
  3. procedure_regex : string option;
  4. class_name_regex : string option;
  5. class_names : string list option;
  6. class_with_annotation : string option;
  7. field_names : string list option;
  8. method_names : string list option;
  9. method_return_type_names : string list option;
  10. overrides_of_class_with_annotation : string option;
  11. method_with_annotation : string option;
  12. field_with_annotation : string option;
  13. annotation_values : string list option;
  14. block_passed_to : string option;
  15. block_passed_to_regex : string option;
  16. allocation : string option;
  17. argument_constraints : argument_constraint list;
  18. kinds : string list option;
  19. taint_target : taint_target option;
  20. exclude_from_regex_in : string list option;
  21. exclude_from_regex_names : string list option;
  22. sanitized_in : string list option;
}
type matchers = matcher list
type data_flow_kinds = string list