clang 20.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
clang::ObjCImplementationDecl Class Reference

ObjCImplementationDecl - Represents a class definition - this is where method definitions are specified. More...

#include "clang/AST/DeclObjC.h"

Inheritance diagram for clang::ObjCImplementationDecl:
Inheritance graph
[legend]

Public Types

using init_iterator = CXXCtorInitializer **
 init_iterator - Iterates through the ivar initializer list.
 
using init_const_iterator = CXXCtorInitializer *const *
 init_const_iterator - Iterates through the ivar initializer list.
 
using init_range = llvm::iterator_range< init_iterator >
 
using init_const_range = llvm::iterator_range< init_const_iterator >
 
using ivar_iterator = specific_decl_iterator< ObjCIvarDecl >
 
using ivar_range = llvm::iterator_range< specific_decl_iterator< ObjCIvarDecl > >
 
- Public Types inherited from clang::ObjCImplDecl
using propimpl_iterator = specific_decl_iterator< ObjCPropertyImplDecl >
 
using propimpl_range = llvm::iterator_range< specific_decl_iterator< ObjCPropertyImplDecl > >
 
- Public Types inherited from clang::ObjCContainerDecl
using prop_iterator = specific_decl_iterator< ObjCPropertyDecl >
 
using prop_range = llvm::iterator_range< specific_decl_iterator< ObjCPropertyDecl > >
 
using instprop_iterator = filtered_decl_iterator< ObjCPropertyDecl, &ObjCPropertyDecl::isInstanceProperty >
 
using instprop_range = llvm::iterator_range< instprop_iterator >
 
using classprop_iterator = filtered_decl_iterator< ObjCPropertyDecl, &ObjCPropertyDecl::isClassProperty >
 
using classprop_range = llvm::iterator_range< classprop_iterator >
 
using method_iterator = specific_decl_iterator< ObjCMethodDecl >
 
using method_range = llvm::iterator_range< specific_decl_iterator< ObjCMethodDecl > >
 
using instmeth_iterator = filtered_decl_iterator< ObjCMethodDecl, &ObjCMethodDecl::isInstanceMethod >
 
using instmeth_range = llvm::iterator_range< instmeth_iterator >
 
using classmeth_iterator = filtered_decl_iterator< ObjCMethodDecl, &ObjCMethodDecl::isClassMethod >
 
using classmeth_range = llvm::iterator_range< classmeth_iterator >
 
using PropertyMap = llvm::MapVector< std::pair< IdentifierInfo *, unsigned >, ObjCPropertyDecl * >
 
using ProtocolPropertySet = llvm::SmallDenseSet< const ObjCProtocolDecl *, 8 >
 
using PropertyDeclOrder = llvm::SmallVector< ObjCPropertyDecl *, 8 >
 
- Public Types inherited from clang::NamedDecl
enum  ExplicitVisibilityKind { VisibilityForType , VisibilityForValue }
 Kinds of explicit visibility. More...
 
- Public Types inherited from clang::Decl
enum  Kind
 Lists the kind of concrete classes of Decl. More...
 
enum  IdentifierNamespace {
  IDNS_Label = 0x0001 , IDNS_Tag = 0x0002 , IDNS_Type = 0x0004 , IDNS_Member = 0x0008 ,
  IDNS_Namespace = 0x0010 , IDNS_Ordinary = 0x0020 , IDNS_ObjCProtocol = 0x0040 , IDNS_OrdinaryFriend = 0x0080 ,
  IDNS_TagFriend = 0x0100 , IDNS_Using = 0x0200 , IDNS_NonMemberOperator = 0x0400 , IDNS_LocalExtern = 0x0800 ,
  IDNS_OMPReduction = 0x1000 , IDNS_OMPMapper = 0x2000
}
 IdentifierNamespace - The different namespaces in which declarations may appear. More...
 
enum  ObjCDeclQualifier {
  OBJC_TQ_None = 0x0 , OBJC_TQ_In = 0x1 , OBJC_TQ_Inout = 0x2 , OBJC_TQ_Out = 0x4 ,
  OBJC_TQ_Bycopy = 0x8 , OBJC_TQ_Byref = 0x10 , OBJC_TQ_Oneway = 0x20 , OBJC_TQ_CSNullability = 0x40
}
 ObjCDeclQualifier - 'Qualifiers' written next to the return and parameter types in method declarations. More...
 
enum class  ModuleOwnershipKind : unsigned char {
  Unowned , Visible , VisibleWhenImported , ReachableWhenImported ,
  ModulePrivate
}
 The kind of ownership a declaration has, for visibility purposes. More...
 
enum  FriendObjectKind { FOK_None , FOK_Declared , FOK_Undeclared }
 
using attr_iterator = AttrVec::const_iterator
 
using attr_range = llvm::iterator_range< attr_iterator >
 
using redecl_range = llvm::iterator_range< redecl_iterator >
 
- Public Types inherited from clang::DeclContext
using decl_range = llvm::iterator_range< decl_iterator >
 
using lookup_result = DeclContextLookupResult
 
using lookup_iterator = lookup_result::iterator
 
using lookups_range = llvm::iterator_range< all_lookups_iterator >
 
using udir_iterator_base = llvm::iterator_adaptor_base< udir_iterator, lookup_iterator, typename lookup_iterator::iterator_category, UsingDirectiveDecl * >
 
using udir_range = llvm::iterator_range< udir_iterator >
 
using ddiag_range = llvm::iterator_range< DeclContext::ddiag_iterator >
 

Public Member Functions

init_range inits ()
 
init_const_range inits () const
 
init_iterator init_begin ()
 init_begin() - Retrieve an iterator to the first initializer.
 
init_const_iterator init_begin () const
 begin() - Retrieve an iterator to the first initializer.
 
init_iterator init_end ()
 init_end() - Retrieve an iterator past the last initializer.
 
init_const_iterator init_end () const
 end() - Retrieve an iterator past the last initializer.
 
unsigned getNumIvarInitializers () const
 getNumArgs - Number of ivars which must be initialized.
 
void setNumIvarInitializers (unsigned numNumIvarInitializers)
 
void setIvarInitializers (ASTContext &C,