Module Absint.Annotations
val any_thread : stringval auto_cleanup : stringval expensive : stringval inject_prop : stringval immutable : stringval lockless : stringval no_allocation : stringval nullable : stringval nullsafe : stringval nonnull : stringval performance_critical : stringval prop : stringval for_non_ui_thread : stringval for_ui_thread : stringval guarded_by : stringval suppress_lint : stringval thread_safe : stringval mainthread : stringval ui_thread : stringval worker_thread : stringval visibleForTesting : stringval annot_ends_with : IR.Annot.t -> string -> boolannot_ends_with annot ann_namereturns true if the class name ofannot, without the package, is equal toann_name
val ia_ends_with : IR.Annot.Item.t -> string -> boolCheck if there is an annotation in
iawhich ends with the given name
val ia_has_annotation_with : IR.Annot.Item.t -> (IR.Annot.t -> bool) -> boolval ia_is_false_on_null : IR.Annot.Item.t -> boolval ia_is_initializer : IR.Annot.Item.t -> boolval ia_is_cleanup : IR.Annot.Item.t -> boolval ia_is_field_injector_readonly : IR.Annot.Item.t -> boolAnnotations for readonly injectors. The injector framework initializes the field but does not write null into it.
val ia_is_field_injector_readwrite : IR.Annot.Item.t -> boolAnnotations for read-write injectors. The injector framework initializes the field and can write null into it.
val ia_is_nonnull : IR.Annot.Item.t -> boolval ia_is_nullable : IR.Annot.Item.t -> boolval ia_is_nullsafe_strict : IR.Annot.Item.t -> boolval ia_find_nullsafe : IR.Annot.Item.t -> IR.Annot.t optionval ia_is_true_on_null : IR.Annot.Item.t -> boolval ia_is_expensive : IR.Annot.Item.t -> boolval ia_is_functional : IR.Annot.Item.t -> boolval ia_is_propagates_nullable : IR.Annot.Item.t -> boolval ia_is_ignore_allocations : IR.Annot.Item.t -> boolval ia_is_inject : IR.Annot.Item.t -> boolval ia_is_json_field : IR.Annot.Item.t -> boolval ia_is_suppress_lint : IR.Annot.Item.t -> boolval ia_is_not_thread_safe : IR.Annot.Item.t -> boolval ia_is_nonblocking : IR.Annot.Item.t -> boolval ia_is_returns_ownership : IR.Annot.Item.t -> boolval ia_is_synchronized_collection : IR.Annot.Item.t -> boolval ia_is_thread_safe : IR.Annot.Item.t -> boolval ia_is_thread_confined : IR.Annot.Item.t -> boolval ia_is_thrift_service : IR.Annot.Item.t -> boolval ia_is_volatile : IR.Annot.Item.t -> boolval ia_is_worker_thread : IR.Annot.Item.t -> boolval ia_is_uithread_equivalent : IR.Annot.Item.t -> boolval pdesc_has_return_annot : IR.Procdesc.t -> (IR.Annot.Item.t -> bool) -> boolreturn true if the given predicate evaluates to true on the annotation of
pdesc's return value
val pname_has_return_annot : IR.Procname.t -> (IR.Annot.Item.t -> bool) -> boolreturn true if the given predicate evaluates to true on the annotation of
pname's return value
val pdesc_return_annot_ends_with : IR.Procdesc.t -> string -> boolreturn true if
pdesc's return value is annotated with a value ending with the given string
val ma_has_annotation_with : IR.Annot.Method.t -> (IR.Annot.t -> bool) -> boolval field_has_annot : IR.Fieldname.t -> IR.Struct.t -> (IR.Annot.Item.t -> bool) -> boolval struct_typ_has_annot : IR.Struct.t -> (IR.Annot.Item.t -> bool) -> boolreturn true if the given predicate evaluates to true on some annotation of
struct_typ