Module InferModules.CLintersContext

type if_context = {
within_responds_to_selector_block : string list;
within_available_class_block : string list;
ios_version_guard : string list;
}
type context = {
translation_unit_context : CFrontend_config.translation_unit_context;
current_method : InferGenerated.Clang_ast_t.decl option;
parent_methods : InferGenerated.Clang_ast_t.decl list;
in_synchronized_block : bool;
is_ck_translation_unit : bool;

True if the translation unit contains an ObjC class impl that's a subclass of CKComponent or CKComponentController.

current_objc_class : InferGenerated.Clang_ast_t.decl option;

If inside an objc class, contains the objc class (impl or interface) decl.

current_objc_category : InferGenerated.Clang_ast_t.decl option;

If inside an objc category, contains the objc category (impl or interface) decl.

current_objc_protocol : InferGenerated.Clang_ast_t.decl option;

If inside an objc protocol, contains the objc protocol decl.

et_evaluation_node : string option;
if_context : if_context option;
in_for_loop_declaration : bool;
}
val empty : CFrontend_config.translation_unit_context -> context
val update_current_method : context -> InferGenerated.Clang_ast_t.decl -> context