You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
55 KiB
84 lines
55 KiB
5 years ago
|
<!DOCTYPE html>
|
||
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CPredicates (infer.InferModules.CPredicates)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><meta name="generator" content="doc-ock-html v1.0.0-1-g1fc9bf0"/></head><body><nav id="top"><a href="../index.html">Up</a> — <span class="package">package <a href="../../index.html">infer</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">InferModules.CPredicates</span></h1></header><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code><span class="keyword"> = </span><a href="../ALVar/index.html#type-formula_id">ALVar.formula_id</a><span class="keyword"> * </span><a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> list</code><code></code></div><div class="doc"></div></div><div class="spec include"><div class="doc"></div><details open="open"><summary><span class="def"><code><span class="keyword">include </span><span class="keyword">sig</span> ... <span class="keyword">end</span></code></span></summary><div class="spec val" id="val-compare"><a href="#val-compare" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>compare : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> int</code></div><div class="doc"></div></div></details></div><p>(name, <code class="code">param1,...,paramK</code>)</p><div class="spec val" id="val-captured_variables_cxx_ref"><a href="#val-captured_variables_cxx_ref" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>captured_variables_cxx_ref : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../../../InferGenerated/InferGenerated/Clang_ast_t/index.html#type-named_decl_info">InferGenerated.Clang_ast_t.named_decl_info</a> list</code></div><div class="doc"><p>list of cxx references captured by an ObjC Block</p></div></div><div class="spec val" id="val-call_method"><a href="#val-call_method" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>call_method : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>'call_method an m an' is true iff node an is a call to an ObjC method with name containing string m</p></div></div><div class="spec val" id="val-call_class_method"><a href="#val-call_class_method" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>call_class_method : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>'call_class_method an mname' is true iff node an is a call to an ObjC
|
||
|
class method with name containing mname</p></div></div><div class="spec val" id="val-call_instance_method"><a href="#val-call_instance_method" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>call_instance_method : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>'call_instance_method an mname' is true iff node an is a call to an ObjC
|
||
|
instance method with name containing mname</p></div></div><div class="spec val" id="val-declaration_name"><a href="#val-declaration_name" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>declaration_name : <a href="../../../InferGenerated/InferGenerated/Clang_ast_t/index.html#type-decl">InferGenerated.Clang_ast_t.decl</a> <span class="keyword">‑></span> string option</code></div><div class="doc"><p>'declaration_name d' returns the name of declaration d</p></div></div><div class="spec val" id="val-is_enum_constant"><a href="#val-is_enum_constant" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_enum_constant : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>'is_enum_constant an name' is true iff an is an EnumConstant with name containing 'name'</p></div></div><div class="spec val" id="val-is_enum_constant_of_enum"><a href="#val-is_enum_constant_of_enum" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_enum_constant_of_enum : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-is_global_var"><a href="#val-is_global_var" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_global_var : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>'is_global_var an' is true iff an is a global variable (but not a static local)</p></div></div><div class="spec val" id="val-is_const_expr_var"><a href="#val-is_const_expr_var" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_const_expr_var : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>'is_const_expr_var an' is true iff an is a 'const' variable declaration</p></div></div><div class="spec val" id="val-call_function"><a href="#val-call_function" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>call_function : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>'call_function an name' is true iff an is a call to a function whose name contains 'name'</p></div></div><div class="spec val" id="val-is_strong_property"><a href="#val-is_strong_property" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_strong_property : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>'is_strong_property an' is true iff an denotes a objc property declaration with 'strong' attribute</p></div></div><div class="spec val" id="val-is_strong_ivar"><a href="#val-is_strong_ivar" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_strong_ivar : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>'is_strong_ivar an' is true iff an denotes a objc ivar with 'strong' attribute</p></div></div><div class="spec val" id="val-is_weak_property"><a href="#val-is_weak_property" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_weak_property : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">&
|
||
|
* node whose name matches the provided REGEXP
|
||
|
*
|
||
|
* Matches on MyClass in:
|
||
|
*</p><ul class="at-tag"><li><span class="at-tag interface">@interface</span> MyClass
|
||
|
*</li><li><span class="at-tag implementation">@implementation</span> MyClass</li></ul></div></div><div class="spec val" id="val-is_objc_interface_named"><a href="#val-is_objc_interface_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_interface_named : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCInterfaceDecl node
|
||
|
* whose name matches the provided REGEXP
|
||
|
*
|
||
|
* Matches on MyClass in</p><ul class="at-tag"><li><span class="at-tag interface">@interface</span> MyClass</li></ul></div></div><div class="spec val" id="val-is_objc_implementation_named"><a href="#val-is_objc_implementation_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_implementation_named : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCImplementationDecl node
|
||
|
* whose name matches the provided REGEXP
|
||
|
*
|
||
|
* Matches on MyClass in</p><ul class="at-tag"><li><span class="at-tag implementation">@implementation</span> MyClass</li></ul></div></div><div class="spec val" id="val-is_objc_category_named"><a href="#val-is_objc_category_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_category_named : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCCategoryDecl or ObjCCategoryImplDecl
|
||
|
* node whose name matches the provided REGEXP
|
||
|
*
|
||
|
* Matches on MyCategory in:
|
||
|
*</p><ul class="at-tag"><li><span class="at-tag interface">@interface</span> MyClass (MyCategory)
|
||
|
*</li><li><span class="at-tag implementation">@implementation</span> MyClass (MyCategory)</li></ul></div></div><div class="spec val" id="val-is_objc_category_interface_named"><a href="#val-is_objc_category_interface_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_category_interface_named : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCCategoryDecl node
|
||
|
* whose name matches the provided REGEXP
|
||
|
*
|
||
|
* Matches on MyCategory in</p><ul class="at-tag"><li><span class="at-tag interface">@interface</span> MyClass (MyCategory)</li></ul></div></div><div class="spec val" id="val-is_objc_category_implementation_named"><a href="#val-is_objc_category_implementation_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_category_implementation_named : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCCategoryImplDecl node
|
||
|
* whose name matches the provided REGEXP
|
||
|
*
|
||
|
* Matches on MyCategory in</p><ul class="at-tag"><li><span class="at-tag implementation">@implementation</span> MyClass (MyCategory)</li></ul></div></div><div class="spec val" id="val-is_objc_category_on_class_named"><a href="#val-is_objc_category_on_class_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_category_on_class_named : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCCategoryDecl or ObjCCategoryImplDecl
|
||
|
* node whose class's name matches the provided REGEXP
|
||
|
*
|
||
|
* Matches on MyClass in:
|
||
|
*</p><ul class="at-tag"><li><span class="at-tag interface">@interface</span> MyClass (MyCategory)
|
||
|
*</li><li><span class="at-tag implementation">@implementation</span> MyClass (MyCategory)</li></ul></div></div><div class="spec val" id="val-is_objc_category_interface_on_class_named"><a href="#val-is_objc_category_interface_on_class_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_category_interface_on_class_named : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCCategoryDecl node
|
||
|
* whose class's name matches the provided REGEXP
|
||
|
*
|
||
|
* Matches on MyClass in</p><ul class="at-tag"><li><span class="at-tag interface">@interface</span> MyClass (MyCategory)</li></ul></div></div><div class="spec val" id="val-is_objc_category_implementation_on_class_named"><a href="#val-is_objc_category_implementation_on_class_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_category_implementation_on_class_named : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCCategoryImplDecl node
|
||
|
* whose class's name matches the provided REGEXP
|
||
|
*
|
||
|
* Matches on MyClass in</p><ul class="at-tag"><li><span class="at-tag implementation">@implementation</span> MyClass (MyCategory)</li></ul></div></div><div class="spec val" id="val-is_objc_category_on_subclass_of"><a href="#val-is_objc_category_on_subclass_of" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_category_on_subclass_of : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCCategoryDecl or ObjCCategoryImplDecl
|
||
|
* node whose class inherits from a class whose name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_objc_category_interface_on_subclass_of"><a href="#val-is_objc_category_interface_on_subclass_of" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_category_interface_on_subclass_of : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCCategoryDecl node whose class
|
||
|
* inherits from a class whose name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_objc_category_implementation_on_subclass_of"><a href="#val-is_objc_category_implementation_on_subclass_of" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_category_implementation_on_subclass_of : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCCategoryImplDecl node whose class
|
||
|
* inherits from a class whose name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_objc_protocol_named"><a href="#val-is_objc_protocol_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_protocol_named : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCProtocolDecl node
|
||
|
* whose name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_objc_class_method_named"><a href="#val-is_objc_class_method_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_class_method_named : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCMethodDecl node whose name
|
||
|
* matches the provided REGEXP and is a class method</p></div></div><div class="spec val" id="val-is_objc_instance_method_named"><a href="#val-is_objc_instance_method_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_instance_method_named : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCMethodDecl node whose name
|
||
|
* matches the provided REGEXP and is an instance method</p></div></div><div class="spec val" id="val-is_objc_method_named"><a href="#val-is_objc_method_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_method_named : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCMethodDecl node
|
||
|
* whose name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_objc_constructor"><a href="#val-is_objc_constructor" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_constructor : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>'is_in_objc_constructor context' is true if the curent node is within an ObjC constructor</p></div></div><div class="spec val" id="val-is_objc_dealloc"><a href="#val-is_objc_dealloc" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_dealloc : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>'is_in_objc_dealloc context' is true if the curent node is within an ObjC dealloc method</p></div></div><div class="spec val" id="val-is_in_objc_subclass_of"><a href="#val-is_in_objc_subclass_of" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_in_objc_subclass_of : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is a subnode of an ObjCInterfaceDecl or
|
||
|
* ObjCImplementationDecl node which inherits from a class whose
|
||
|
* name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_in_objc_interface_named"><a href="#val-is_in_objc_interface_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_in_objc_interface_named : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is a subnode of an ObjCInterfaceDecl
|
||
|
* node whose name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_in_objc_implementation_named"><a href="#val-is_in_objc_implementation_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_in_objc_implementation_named : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is a subnode of an ObjCImplementationDecl
|
||
|
* node whose name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_in_objc_class_named"><a href="#val-is_in_objc_class_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_in_objc_class_named : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is a subnode of an ObjCInterfaceDecl or
|
||
|
* ObjCImplementationDecl node whose name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_in_objc_category_interface_on_class_named"><a href="#val-is_in_objc_category_interface_on_class_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_in_objc_category_interface_on_class_named : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is a subnode of an ObjCCategoryDecl node
|
||
|
* whose class's name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_in_objc_category_implementation_on_class_named"><a href="#val-is_in_objc_category_implementation_on_class_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_in_objc_category_implementation_on_class_named : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is a subnode of an ObjCCategoryImplDecl node
|
||
|
* whose class's name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_in_objc_category_on_class_named"><a href="#val-is_in_objc_category_on_class_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_in_objc_category_on_class_named : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is a subnode of an ObjCCategoryDecl or
|
||
|
* ObjCCategoryImplDecl node whose class's name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_in_objc_category_interface_on_subclass_of"><a href="#val-is_in_objc_category_interface_on_subclass_of" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_in_objc_category_interface_on_subclass_of : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is a subnode of an ObjCCategoryDecl node
|
||
|
* whose class inherits from a class whose name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_in_objc_category_implementation_on_subclass_of"><a href="#val-is_in_objc_category_implementation_on_subclass_of" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_in_objc_category_implementation_on_subclass_of : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is a subnode of an ObjCCategoryImplDecl node
|
||
|
* whose class inherits from a class whose name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_in_objc_category_on_subclass_of"><a href="#val-is_in_objc_category_on_subclass_of" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_in_objc_category_on_subclass_of : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is a subnode of an ObjCCategoryDecl or
|
||
|
* ObjCCategoryImplDecl node whose class inherits from a class whose
|
||
|
* name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_in_objc_category_interface_named"><a href="#val-is_in_objc_category_interface_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_in_objc_category_interface_named : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is a subnode of an ObjCCategoryDecl node
|
||
|
* whose name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_in_objc_category_implementation_named"><a href="#val-is_in_objc_category_implementation_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_in_objc_category_implementation_named : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is a subnode of an ObjCCategoryImplDecl node
|
||
|
* whose name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_in_objc_category_named"><a href="#val-is_in_objc_category_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_in_objc_category_named : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is a subnode of an ObjCCategoryDecl or
|
||
|
* ObjCCategoryImplDecl node whose name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_in_objc_protocol_named"><a href="#val-is_in_objc_protocol_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_in_objc_protocol_named : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is a subnode of an ObjCProtocolDecl
|
||
|
* node whose name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_in_objc_class_method"><a href="#val-is_in_objc_class_method" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_in_objc_class_method : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node, or a parent node, is an ObjCMethodDecl node
|
||
|
* whose name matches the provided REGEXP and is a class method</p></div></div><div class="spec val" id="val-is_in_objc_instance_method"><a href="#val-is_in_objc_instance_method" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_in_objc_instance_method : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node, or a parent node, is an ObjCMethodDecl node
|
||
|
* whose name matches the provided REGEXP and is an instance method</p></div></div><div class="spec val" id="val-is_in_objc_method"><a href="#val-is_in_objc_method" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_in_objc_method : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node, or a parent node, is an ObjCMethodDecl node
|
||
|
* whose name matches the provided REGEXP</p></div></div><div class="spec val" id="val-is_objc_method_overriding"><a href="#val-is_objc_method_overriding" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_method_overriding : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCMethodDecl node and is overriding a
|
||
|
* method in the superclass.
|
||
|
*
|
||
|
* A method is said to override any method in the class's base classes,
|
||
|
* its protocols, or its categories' protocols, that has the same selector
|
||
|
* and is of the same kind (class or instance). A method in an implementation
|
||
|
* is not considered as overriding the same method in the interface or its categories.</p></div></div><div class="spec val" id="val-is_objc_method_exposed"><a href="#val-is_objc_method_exposed" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_objc_method_exposed : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCMethodDecl node and is exposed in an interface.
|
||
|
*
|
||
|
* A method is said to be exposed if it's overriding a method or it's declared
|
||
|
* in a matching interface. For example, a method defined in a class's
|
||
|
* implementation is exposed if it's declared in the class's interface or
|
||
|
* interface extension, but not if it's declared in a category on the class.
|
||
|
* If the current node is a subnode of an ObjCInterfaceDecl, ObjCCategoryDecl,
|
||
|
* or ObjCProtocolDecl, this predicate returns false.</p></div></div><div class="spec val" id="val-captures_cxx_references"><a href="#val-captures_cxx_references" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>captures_cxx_references : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>'captures_cxx_references an' is true iff the node an captures some CXX references</p></div></div><div class="spec val" id="val-is_binop_with_kind"><a href="#val-is_binop_with_kind" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_binop_with_kind : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>'is_binop_with_kind an binop' is true iff an denotes a binary operator of kind binop</p></div></div><div class="spec val" id="val-is_unop_with_kind"><a href="#val-is_unop_with_kind" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_unop_with_kind : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>'is_unop_of_kind an unop' is true iff an denotes a unary operator of kind unop</p></div></div><div class="spec val" id="val-has_cast_kind"><a href="#val-has_cast_kind" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>has_cast_kind : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>'has_cast_kind an cast' is true iff an denotes a cast operation of kind cast</p></div></div><div class="spec val" id="val-isa"><a href="#val-isa" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>isa : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>node an is of class classname</p></div></div><div class="spec val" id="val-is_node"><a href="#val-is_node" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_node : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>'is_node an nodename' is true iff an is a node of kind nodename</p></div></div><div class="spec val" id="val-declaration_has_name"><a href="#val-declaration_has_name" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>declaration_has_name : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-declaration_ref_name"><a href="#val-declaration_ref_name" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>declaration_ref_name : ?⁠kind:<a href="../../../InferGenerated/InferGenerated/Clang_ast_t/index.html#type-decl_kind">InferGenerated.Clang_ast_t.decl_kind</a> <span class="keyword">‑></span> <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="k
|
||
|
allow to distinguish between special kind of decl_ref_exprs like 'is_enum_constant'.</p></div></div><div class="spec val" id="val-is_class"><a href="#val-is_class" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_class : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-pp_predicate"><a href="#val-pp_predicate" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>pp_predicate : Format.formatter <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"></div></div><div class="spec val" id="val-decl_unavailable_in_supported_ios_sdk"><a href="#val-decl_unavailable_in_supported_ios_sdk" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>decl_unavailable_in_supported_ios_sdk : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-class_unavailable_in_supported_ios_sdk"><a href="#val-class_unavailable_in_supported_ios_sdk" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>class_unavailable_in_supported_ios_sdk : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-has_type"><a href="#val-has_type" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>has_type : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-has_value"><a href="#val-has_value" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>has_value : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-method_return_type"><a href="#val-method_return_type" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>method_return_type : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-has_type_subprotocol_of"><a href="#val-has_type_subprotocol_of" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>has_type_subprotocol_of : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-get_available_attr_ios_sdk"><a href="#val-get_available_attr_ios_sdk" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get_available_attr_ios_sdk : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> string option</code></div><div class="doc"></
|
||
|
* receiver equivalent to the 'Class' type.</p></div></div><div class="spec val" id="val-is_receiver_objc_id_type"><a href="#val-is_receiver_objc_id_type" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_receiver_objc_id_type : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCMessageExpr node and has a
|
||
|
* receiver equivalent to the 'id' type.</p></div></div><div class="spec val" id="val-is_receiver_subclass_of"><a href="#val-is_receiver_subclass_of" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_receiver_subclass_of : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCMessageExpr node and has a receiver
|
||
|
* which inherits from a class whose name matches the provided REGEXP.</p></div></div><div class="spec val" id="val-is_receiver_class_named"><a href="#val-is_receiver_class_named" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_receiver_class_named : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCMessageExpr node and has a
|
||
|
* receiver whose class name matches the provided REGEXP.</p></div></div><div class="spec val" id="val-is_receiver_super"><a href="#val-is_receiver_super" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_receiver_super : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>* Checks if the current node is an ObjCMessageExpr node and has a
|
||
|
* receiver which is equal to 'super'.
|
||
|
*
|
||
|
* Matches on <code class="code">super myMethod</code>;</p></div></div><div class="spec val" id="val-is_at_selector_with_name"><a href="#val-is_at_selector_with_name" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_at_selector_with_name : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>an is an expression</p><ul class="at-tag"><li><span class="at-tag selector">@selector</span> with whose name in the language of re</li></ul></div></div><div class="spec val" id="val-has_visibility_attribute"><a href="#val-has_visibility_attribute" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>has_visibility_attribute : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../ALVar/index.html#type-alexp">ALVar.alexp</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-has_used_attribute"><a href="#val-has_used_attribute" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>has_used_attribute : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-iphoneos_target_sdk_version_by_path"><a href="#val-iphoneos_target_sdk_version_by_path" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>iphoneos_target_sdk_version_by_path : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> string option</code></div><div class="doc"></div></div><div class="spec val" id="val-iphoneos_target_sdk_version_greater_or_equal"><a href="#val-iphoneos_target_sdk_version_greater_or_equal" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>iphoneos_target_sdk_version_greater_or_equal : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> string <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-within_available_class_block"><a href="#val-within_available_class_block" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>within_available_class_block : <a href="../CLintersContext/index.html#type-context">CLintersContext.context</a> <span class="keyword">‑></span> <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-has_type_const_ptr_to_objc_class"><a href="#val-has_type_const_ptr_to_objc_class" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>has_type_const_ptr_to_objc_class : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> bool</code></div><div class="doc"></div></div><div class="spec val" id="val-is_decl"><a href="#val-is_decl" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>is_decl : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>is_decl an is true iff an is a node denoting a declaration</p></div></div><div class="spec val" id="val-get_ast_node_type_ptr"><a href="#val-get_ast_node_type_ptr" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>get_ast_node_type_ptr : <a href="../Ctl_parser_types/index.html#type-ast_node">Ctl_parser_types.ast_node</a> <span class="keyword">‑></span> <a href="../../../InferGenerated/InferGenerated/Clang_ast_t/index.html#type-typ
|