pub struct Entity<'tu> { /* private fields */ }
Expand description
An AST entity.
Implementations
sourceimpl<'tu> Entity<'tu>
impl<'tu> Entity<'tu>
sourcepub fn evaluate(&self) -> Option<EvaluationResult>
pub fn evaluate(&self) -> Option<EvaluationResult>
Evaluates this AST entity, if possible.
sourcepub fn get_kind(&self) -> EntityKind
pub fn get_kind(&self) -> EntityKind
Returns the categorization of this AST entity.
sourcepub fn get_display_name(&self) -> Option<String>
pub fn get_display_name(&self) -> Option<String>
Returns the display name of this AST entity, if any.
The display name of an entity contains additional information that helps identify the entity.
sourcepub fn get_pretty_printer(&self) -> PrettyPrinter<'_>
pub fn get_pretty_printer(&self) -> PrettyPrinter<'_>
Returns the pretty printer for this declaration.
sourcepub fn get_location(&self) -> Option<SourceLocation<'tu>>
pub fn get_location(&self) -> Option<SourceLocation<'tu>>
Returns the source location of this AST entity, if any.
sourcepub fn get_range(&self) -> Option<SourceRange<'tu>>
pub fn get_range(&self) -> Option<SourceRange<'tu>>
Returns the source range of this AST entity, if any.
sourcepub fn get_accessibility(&self) -> Option<Accessibility>
pub fn get_accessibility(&self) -> Option<Accessibility>
Returns the accessibility of this declaration or base class specifier, if applicable.
sourcepub fn get_arguments(&self) -> Option<Vec<Entity<'tu>>>
pub fn get_arguments(&self) -> Option<Vec<Entity<'tu>>>
Returns the arguments of this function or method, if applicable.
sourcepub fn get_availability(&self) -> Availability
pub fn get_availability(&self) -> Availability
Returns the availability of this AST entity.
sourcepub fn get_bit_field_width(&self) -> Option<usize>
pub fn get_bit_field_width(&self) -> Option<usize>
Returns the width of this bit field, if applicable.
sourcepub fn get_canonical_entity(&self) -> Entity<'tu>
pub fn get_canonical_entity(&self) -> Entity<'tu>
Returns the canonical entity for this AST entity.
In the C family of languages, some types of entities can be declared multiple times. When there are multiple declarations of the same entity, only one will be considered canonical.
sourcepub fn get_comment(&self) -> Option<String>
pub fn get_comment(&self) -> Option<String>
Returns the comment associated with this AST entity, if any.
sourcepub fn get_parsed_comment(&self) -> Option<Comment<'tu>>
pub fn get_parsed_comment(&self) -> Option<Comment<'tu>>
Returns the parsed comment associated with this declaration, if applicable.
sourcepub fn get_comment_brief(&self) -> Option<String>
pub fn get_comment_brief(&self) -> Option<String>
Returns the brief of the comment associated with this AST entity, if any.
sourcepub fn get_comment_range(&self) -> Option<SourceRange<'tu>>
pub fn get_comment_range(&self) -> Option<SourceRange<'tu>>
Returns the source range of the comment associated with this AST entity, if any.
sourcepub fn get_completion_string(&self) -> Option<CompletionString<'_>>
pub fn get_completion_string(&self) -> Option<CompletionString<'_>>
Returns a completion string for this declaration or macro definition, if applicable.
sourcepub fn get_child(&self, index: usize) -> Option<Entity<'tu>>
pub fn get_child(&self, index: usize) -> Option<Entity<'tu>>
Returns the child of this AST entity with the supplied index.
sourcepub fn get_children(&self) -> Vec<Entity<'tu>>
pub fn get_children(&self) -> Vec<Entity<'tu>>
Returns the children of this AST entity.
sourcepub fn get_definition(&self) -> Option<Entity<'tu>>
pub fn get_definition(&self) -> Option<Entity<'tu>>
Returns the AST entity that describes the definition of this AST entity, if any.
sourcepub fn get_enum_constant_value(&self) -> Option<(i64, u64)>
pub fn get_enum_constant_value(&self) -> Option<(i64, u64)>
Returns the value of this enum constant declaration, if applicable.
sourcepub fn get_enum_underlying_type(&self) -> Option<Type<'tu>>
pub fn get_enum_underlying_type(&self) -> Option<Type<'tu>>
Returns the underlying type of this enum declaration, if applicable.
sourcepub fn get_exception_specification(&self) -> Option<ExceptionSpecification>
pub fn get_exception_specification(&self) -> Option<ExceptionSpecification>
Returns the exception specification of this AST entity, if applicable.
sourcepub fn get_external_symbol(&self) -> Option<ExternalSymbol>
pub fn get_external_symbol(&self) -> Option<ExternalSymbol>
Returns the external_source_symbol
attribute attached to this AST entity, if any.
sourcepub fn get_file(&self) -> Option<File<'tu>>
pub fn get_file(&self) -> Option<File<'tu>>
Returns the file included by this inclusion directive, if applicable.
sourcepub fn get_language(&self) -> Option<Language>
pub fn get_language(&self) -> Option<Language>
Returns the language used by this declaration, if applicable.
sourcepub fn get_lexical_parent(&self) -> Option<Entity<'tu>>
pub fn get_lexical_parent(&self) -> Option<Entity<'tu>>
Returns the lexical parent of this AST entity, if any.
sourcepub fn get_linkage(&self) -> Option<Linkage>
pub fn get_linkage(&self) -> Option<Linkage>
Returns the linkage of this AST entity, if any.
sourcepub fn get_mangled_name(&self) -> Option<String>
pub fn get_mangled_name(&self) -> Option<String>
Returns the mangled name of this AST entity, if any.
sourcepub fn get_mangled_names(&self) -> Option<Vec<String>>
pub fn get_mangled_names(&self) -> Option<Vec<String>>
Returns the mangled names of this C++ constructor or destructor, if applicable.
sourcepub fn get_mangled_objc_names(&self) -> Option<Vec<String>>
pub fn get_mangled_objc_names(&self) -> Option<Vec<String>>
Returns the mangled names of this Objective-C class interface or implementation, if applicable.
sourcepub fn get_module(&self) -> Option<Module<'tu>>
pub fn get_module(&self) -> Option<Module<'tu>>
Returns the module imported by this module import declaration, if applicable.
sourcepub fn get_name_ranges(&self) -> Vec<SourceRange<'tu>>
pub fn get_name_ranges(&self) -> Vec<SourceRange<'tu>>
Returns the source ranges of the name of this AST entity.
sourcepub fn get_objc_attributes(&self) -> Option<ObjCAttributes>
pub fn get_objc_attributes(&self) -> Option<ObjCAttributes>
Returns which attributes were applied to this Objective-C property, if applicable.
sourcepub fn get_objc_getter_name(&self) -> Option<String>
pub fn get_objc_getter_name(&self) -> Option<String>
Returns the name of the method implementing the getter for this Objective-C property, if applicable
sourcepub fn get_objc_ib_outlet_collection_type(&self) -> Option<Type<'tu>>
pub fn get_objc_ib_outlet_collection_type(&self) -> Option<Type<'tu>>
Returns the element type for this Objective-C iboutletcollection
attribute, if applicable.
sourcepub fn get_objc_receiver_type(&self) -> Option<Type<'tu>>
pub fn get_objc_receiver_type(&self) -> Option<Type<'tu>>
Returns the type of the receiver of this Objective-C message, if applicable.
sourcepub fn get_objc_selector_index(&self) -> Option<usize>
pub fn get_objc_selector_index(&self) -> Option<usize>
Returns the selector index for this Objective-C selector identifier, if applicable.
sourcepub fn get_objc_setter_name(&self) -> Option<String>
pub fn get_objc_setter_name(&self) -> Option<String>
Returns the name of the method implementing the setter for this Objective-C property, if applicable
sourcepub fn get_objc_type_encoding(&self) -> Option<String>
pub fn get_objc_type_encoding(&self) -> Option<String>
Returns the type encoding for this Objective-C declaration, if applicable.
sourcepub fn get_objc_qualifiers(&self) -> Option<ObjCQualifiers>
pub fn get_objc_qualifiers(&self) -> Option<ObjCQualifiers>
Returns which qualifiers were applied to this Objective-C method return or parameter type, if applicable.
sourcepub fn get_offset_of_field(&self) -> Result<usize, OffsetofError>
pub fn get_offset_of_field(&self) -> Result<usize, OffsetofError>
Returns the the offset of this field, if applicable.
sourcepub fn get_overloaded_declarations(&self) -> Option<Vec<Entity<'tu>>>
pub fn get_overloaded_declarations(&self) -> Option<Vec<Entity<'tu>>>
Returns the overloaded declarations referenced by this overloaded declaration reference, if applicable.
sourcepub fn get_overridden_methods(&self) -> Option<Vec<Entity<'tu>>>
pub fn get_overridden_methods(&self) -> Option<Vec<Entity<'tu>>>
Returns the methods that were overridden by this method, if applicable.
sourcepub fn get_platform_availability(&self) -> Option<Vec<PlatformAvailability>>
pub fn get_platform_availability(&self) -> Option<Vec<PlatformAvailability>>
Returns the availability of this declaration on the platforms where it is known, if applicable.
sourcepub fn get_reference(&self) -> Option<Entity<'tu>>
pub fn get_reference(&self) -> Option<Entity<'tu>>
Returns the AST entity referred to by this AST entity, if any.
sourcepub fn get_semantic_parent(&self) -> Option<Entity<'tu>>
pub fn get_semantic_parent(&self) -> Option<Entity<'tu>>
Returns the semantic parent of this AST entity, if any.
sourcepub fn get_storage_class(&self) -> Option<StorageClass>
pub fn get_storage_class(&self) -> Option<StorageClass>
Returns the storage class of this declaration, if applicable.
sourcepub fn get_template(&self) -> Option<Entity<'tu>>
pub fn get_template(&self) -> Option<Entity<'tu>>
Returns the template declaration this template specialization was instantiated from, if applicable.
sourcepub fn get_template_arguments(&self) -> Option<Vec<TemplateArgument<'tu>>>
pub fn get_template_arguments(&self) -> Option<Vec<TemplateArgument<'tu>>>
Returns the template arguments for this template function specialization, if applicable.
sourcepub fn get_template_kind(&self) -> Option<EntityKind>
pub fn get_template_kind(&self) -> Option<EntityKind>
Returns the categorization of the template specialization that would result from instantiating this template declaration, if applicable.
sourcepub fn get_tls_kind(&self) -> Option<TlsKind>
pub fn get_tls_kind(&self) -> Option<TlsKind>
Returns the thread-local storage (TLS) kind of this declaration, if applicable.
sourcepub fn get_translation_unit(&self) -> &'tu TranslationUnit<'tu>
pub fn get_translation_unit(&self) -> &'tu TranslationUnit<'tu>
Returns the translation unit which contains this AST entity.
sourcepub fn get_typedef_underlying_type(&self) -> Option<Type<'tu>>
pub fn get_typedef_underlying_type(&self) -> Option<Type<'tu>>
Returns the underlying type of this typedef declaration, if applicable.
sourcepub fn get_visibility(&self) -> Option<Visibility>
pub fn get_visibility(&self) -> Option<Visibility>
Returns the linker visibility for this AST entity, if any.
sourcepub fn get_result_type(&self) -> Option<Type<'tu>>
pub fn get_result_type(&self) -> Option<Type<'tu>>
Returns the result type of this AST entity, if applicable.
sourcepub fn has_attributes(&self) -> bool
pub fn has_attributes(&self) -> bool
Returns whether this AST entity has any attached attributes.
sourcepub fn is_abstract_record(&self) -> bool
pub fn is_abstract_record(&self) -> bool
Returns whether this AST entity is an abstract C++ record.
sourcepub fn is_anonymous(&self) -> bool
pub fn is_anonymous(&self) -> bool
Returns whether this AST entity is anonymous.
Prior to libclang
9.0, this only returned true if the entity was an anonymous record
declaration. As of 9.0, it also returns true for anonymous namespaces. The old behavior is
available as is_anonymous_record_decl()
for libclang
9.0 and up.
sourcepub fn is_anonymous_record_decl(&self) -> bool
pub fn is_anonymous_record_decl(&self) -> bool
Returns whether this AST entity is an anonymous record declaration.
sourcepub fn is_inline_namespace(&self) -> bool
pub fn is_inline_namespace(&self) -> bool
Returns whether this AST entity is an inline namespace.
sourcepub fn is_bit_field(&self) -> bool
pub fn is_bit_field(&self) -> bool
Returns whether this AST entity is a bit field.
sourcepub fn is_builtin_macro(&self) -> bool
pub fn is_builtin_macro(&self) -> bool
Returns whether this AST entity is a builtin macro.
sourcepub fn is_const_method(&self) -> bool
pub fn is_const_method(&self) -> bool
Returns whether this AST entity is a const method.
sourcepub fn is_converting_constructor(&self) -> bool
pub fn is_converting_constructor(&self) -> bool
Returns whether this AST entity is a C++ converting constructor.
sourcepub fn is_copy_constructor(&self) -> bool
pub fn is_copy_constructor(&self) -> bool
Returns whether this AST entity is a C++ copy constructor.
sourcepub fn is_default_constructor(&self) -> bool
pub fn is_default_constructor(&self) -> bool
Returns whether this AST entity is a C++ default constructor.
sourcepub fn is_defaulted(&self) -> bool
pub fn is_defaulted(&self) -> bool
Returns whether this AST entity is a C++ defaulted constructor or method.
sourcepub fn is_definition(&self) -> bool
pub fn is_definition(&self) -> bool
Returns whether this AST entity is a declaration and also the definition of that declaration.
sourcepub fn is_dynamic_call(&self) -> bool
pub fn is_dynamic_call(&self) -> bool
Returns whether this AST entity is a dynamic call.
A dynamic call is either a call to a C++ virtual method or an Objective-C message where the
receiver is an object instance, not super
or a specific class.
sourcepub fn is_function_like_macro(&self) -> bool
pub fn is_function_like_macro(&self) -> bool
Returns whether this AST entity is a function-like macro.
sourcepub fn is_inline_function(&self) -> bool
pub fn is_inline_function(&self) -> bool
Returns whether this AST entity is an inline function.
sourcepub fn is_invalid_declaration(&self) -> bool
pub fn is_invalid_declaration(&self) -> bool
Returns whether this AST entity is an invalid declaration.
sourcepub fn is_move_constructor(&self) -> bool
pub fn is_move_constructor(&self) -> bool
Returns whether this AST entity is a C++ default constructor.
sourcepub fn is_mutable(&self) -> bool
pub fn is_mutable(&self) -> bool
Returns whether this AST entity is a mutable field in a C++ struct or class.
sourcepub fn is_objc_optional(&self) -> bool
pub fn is_objc_optional(&self) -> bool
Returns whether this AST entity is an Objective-C method or property declaration with the
@optional
attribute applied to it.
sourcepub fn is_pure_virtual_method(&self) -> bool
pub fn is_pure_virtual_method(&self) -> bool
Returns whether this AST entity is a pure virtual method.
sourcepub fn is_static_method(&self) -> bool
pub fn is_static_method(&self) -> bool
Returns whether this AST entity is a static method.
sourcepub fn is_variadic(&self) -> bool
pub fn is_variadic(&self) -> bool
Returns whether this AST entity is a variadic function or method.
sourcepub fn is_virtual_base(&self) -> bool
pub fn is_virtual_base(&self) -> bool
Returns whether this AST entity is a virtual base class specifier.
sourcepub fn is_virtual_method(&self) -> bool
pub fn is_virtual_method(&self) -> bool
Returns whether this AST entity is a virtual method.
sourcepub fn visit_children<F: FnMut(Entity<'tu>, Entity<'tu>) -> EntityVisitResult>(
&self,
f: F
) -> bool
pub fn visit_children<F: FnMut(Entity<'tu>, Entity<'tu>) -> EntityVisitResult>(
&self,
f: F
) -> bool
Visits the children of this AST entity recursively and returns whether visitation was ended
by the callback returning EntityVisitResult::Break
.
The first argument of the callback is the AST entity being visited and the second argument is the parent of that AST entity. The return value of the callback determines how visitation will proceed.
sourcepub fn is_attribute(&self) -> bool
pub fn is_attribute(&self) -> bool
Returns whether this AST entity is categorized as an attribute.
sourcepub fn is_declaration(&self) -> bool
pub fn is_declaration(&self) -> bool
Returns whether this AST entity is categorized as a declaration.
sourcepub fn is_expression(&self) -> bool
pub fn is_expression(&self) -> bool
Returns whether this AST entity is categorized as an expression.
sourcepub fn is_preprocessing(&self) -> bool
pub fn is_preprocessing(&self) -> bool
Returns whether this AST entity is categorized as a preprocessing entity.
sourcepub fn is_reference(&self) -> bool
pub fn is_reference(&self) -> bool
Returns whether this AST entity is categorized as a reference.
sourcepub fn is_statement(&self) -> bool
pub fn is_statement(&self) -> bool
Returns whether this AST entity is categorized as a statement.
sourcepub fn is_unexposed(&self) -> bool
pub fn is_unexposed(&self) -> bool
Returns whether the categorization of this AST entity is unexposed.
sourcepub fn is_in_main_file(&self) -> bool
pub fn is_in_main_file(&self) -> bool
Returns whether this AST entity is in a main file.
sourcepub fn is_in_system_header(&self) -> bool
pub fn is_in_system_header(&self) -> bool
Returns whether this AST entity is in a system header.
Trait Implementations
impl<'tu> Copy for Entity<'tu>
impl<'tu> Eq for Entity<'tu>
Auto Trait Implementations
impl<'tu> RefUnwindSafe for Entity<'tu>
impl<'tu> !Send for Entity<'tu>
impl<'tu> !Sync for Entity<'tu>
impl<'tu> Unpin for Entity<'tu>
impl<'tu> UnwindSafe for Entity<'tu>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more