clang API Documentation
#include <DeclObjC.h>


Public Types | |
| enum | ImplementationControl { None, Required, Optional } |
| typedef const ParmVarDecl *const * | param_const_iterator |
| typedef ParmVarDecl *const * | param_iterator |
| typedef std::const_mem_fun_t < QualType, ParmVarDecl > | deref_fun |
| typedef llvm::mapped_iterator < param_const_iterator, deref_fun > | arg_type_iterator |
Public Member Functions | |
| virtual ObjCMethodDecl * | getCanonicalDecl () |
| Retrieves the "canonical" declaration of the given declaration. | |
| const ObjCMethodDecl * | getCanonicalDecl () const |
| ObjCDeclQualifier | getObjCDeclQualifier () const |
| void | setObjCDeclQualifier (ObjCDeclQualifier QV) |
| bool | hasRelatedResultType () const |
| Determine whether this method has a result type that is related to the message receiver's type. | |
| void | SetRelatedResultType (bool RRT=true) |
| Note whether this method has a related result type. | |
| bool | isRedeclaration () const |
| True if this is a method redeclaration in the same interface. | |
| void | setAsRedeclaration (const ObjCMethodDecl *PrevMethod) |
| SourceLocation | getLocStart () const |
| SourceLocation | getLocEnd () const |
| void | setEndLoc (SourceLocation Loc) |
| virtual SourceRange | getSourceRange () const |
| Source range that this declaration covers. | |
| SourceLocation | getSelectorStartLoc () const |
| SourceLocation | getSelectorLoc (unsigned Index) const |
| void | getSelectorLocs (SmallVectorImpl< SourceLocation > &SelLocs) const |
| unsigned | getNumSelectorLocs () const |
| ObjCInterfaceDecl * | getClassInterface () |
| const ObjCInterfaceDecl * | getClassInterface () const |
| Selector | getSelector () const |
| QualType | getResultType () const |
| void | setResultType (QualType T) |
| QualType | getSendResultType () const |
| Determine the type of an expression that sends a message to this function. | |
| TypeSourceInfo * | getResultTypeSourceInfo () const |
| void | setResultTypeSourceInfo (TypeSourceInfo *TInfo) |
| unsigned | param_size () const |
| param_const_iterator | param_begin () const |
| param_const_iterator | param_end () const |
| param_iterator | param_begin () |
| param_iterator | param_end () |
| param_const_iterator | sel_param_end () const |
| void | setMethodParams (ASTContext &C, ArrayRef< ParmVarDecl * > Params, ArrayRef< SourceLocation > SelLocs=ArrayRef< SourceLocation >()) |
| Sets the method's parameters and selector source locations. If the method is implicit (not coming from source) | |
| arg_type_iterator | arg_type_begin () const |
| arg_type_iterator | arg_type_end () const |
| void | createImplicitParams (ASTContext &Context, const ObjCInterfaceDecl *ID) |
| ImplicitParamDecl * | getSelfDecl () const |
| void | setSelfDecl (ImplicitParamDecl *SD) |
| ImplicitParamDecl * | getCmdDecl () const |
| void | setCmdDecl (ImplicitParamDecl *CD) |
| ObjCMethodFamily | getMethodFamily () const |
| Determines the family of this method. | |
| bool | isInstanceMethod () const |
| void | setInstanceMethod (bool isInst) |
| bool | isVariadic () const |
| void | setVariadic (bool isVar) |
| bool | isClassMethod () const |
| bool | isSynthesized () const |
| void | setSynthesized (bool isSynth) |
| bool | isDefined () const |
| void | setDefined (bool isDefined) |
| void | setDeclImplementation (ImplementationControl ic) |
| ImplementationControl | getImplementationControl () const |
| virtual Stmt * | getBody () const |
| CompoundStmt * | getCompoundBody () |
| void | setBody (Stmt *B) |
| bool | isThisDeclarationADefinition () const |
| Returns whether this specific method is a definition. | |
Static Public Member Functions | |
| static ObjCMethodDecl * | Create (ASTContext &C, SourceLocation beginLoc, SourceLocation endLoc, Selector SelInfo, QualType T, TypeSourceInfo *ResultTInfo, DeclContext *contextDecl, bool isInstance=true, bool isVariadic=false, bool isSynthesized=false, bool isImplicitlyDeclared=false, bool isDefined=false, ImplementationControl impControl=None, bool HasRelatedResultType=false) |
| static ObjCMethodDecl * | CreateDeserialized (ASTContext &C, unsigned ID) |
| static bool | classof (const Decl *D) |
| static bool | classof (const ObjCMethodDecl *D) |
| static bool | classofKind (Kind K) |
| static DeclContext * | castToDeclContext (const ObjCMethodDecl *D) |
| static ObjCMethodDecl * | castFromDeclContext (const DeclContext *DC) |
Friends | |
| class | ASTDeclReader |
| class | ASTDeclWriter |
ObjCMethodDecl - Represents an instance or class method declaration. ObjC methods can be declared within 4 contexts: class interfaces, categories, protocols, and class implementations. While C++ member functions leverage C syntax, Objective-C method syntax is modeled after Smalltalk (using colons to specify argument types/expressions). Here are some brief examples:
Setter/getter instance methods:
Instance method that takes 2 NSView arguments:
Getter class method: + (NSMenu *)defaultMenu;
A selector represents a unique name for a method. The selector names for the above methods are setMenu:, menu, replaceSubview:with:, and defaultMenu.
Definition at line 112 of file DeclObjC.h.
| typedef llvm::mapped_iterator<param_const_iterator, deref_fun> clang::ObjCMethodDecl::arg_type_iterator |
Definition at line 362 of file DeclObjC.h.
| typedef std::const_mem_fun_t<QualType, ParmVarDecl> clang::ObjCMethodDecl::deref_fun |
Definition at line 360 of file DeclObjC.h.
| typedef const ParmVarDecl* const* clang::ObjCMethodDecl::param_const_iterator |
Definition at line 339 of file DeclObjC.h.
| typedef ParmVarDecl* const* clang::ObjCMethodDecl::param_iterator |
Definition at line 340 of file DeclObjC.h.
Definition at line 114 of file DeclObjC.h.
| arg_type_iterator clang::ObjCMethodDecl::arg_type_begin | ( | ) | const [inline] |
Definition at line 364 of file DeclObjC.h.
References clang::ValueDecl::getType(), and param_begin().
Referenced by getMethodFamily().
| arg_type_iterator clang::ObjCMethodDecl::arg_type_end | ( | ) | const [inline] |
Definition at line 367 of file DeclObjC.h.
References clang::ValueDecl::getType(), and param_end().
| static ObjCMethodDecl* clang::ObjCMethodDecl::castFromDeclContext | ( | const DeclContext * | DC | ) | [inline, static] |
Reimplemented from clang::Decl.
Definition at line 422 of file DeclObjC.h.
| static DeclContext* clang::ObjCMethodDecl::castToDeclContext | ( | const ObjCMethodDecl * | D | ) | [inline, static] |
Definition at line 419 of file DeclObjC.h.
| static bool clang::ObjCMethodDecl::classof | ( | const Decl * | D | ) | [inline, static] |
Reimplemented from clang::NamedDecl.
Definition at line 416 of file DeclObjC.h.
References classofKind(), and clang::Decl::getKind().
| static bool clang::ObjCMethodDecl::classof | ( | const ObjCMethodDecl * | D | ) | [inline, static] |
Definition at line 417 of file DeclObjC.h.
| static bool clang::ObjCMethodDecl::classofKind | ( | Kind | K | ) | [inline, static] |
Reimplemented from clang::NamedDecl.
Definition at line 418 of file DeclObjC.h.
Referenced by classof().
| ObjCMethodDecl * ObjCMethodDecl::Create | ( | ASTContext & | C, |
| SourceLocation | beginLoc, | ||
| SourceLocation | endLoc, | ||
| Selector | SelInfo, | ||
| QualType | T, | ||
| TypeSourceInfo * | ResultTInfo, | ||
| DeclContext * | contextDecl, | ||
| bool | isInstance = true, |
||
| bool | isVariadic = false, |
||
| bool | isSynthesized = false, |
||
| bool | isImplicitlyDeclared = false, |
||
| bool | isDefined = false, |
||
| ImplementationControl | impControl = None, |
||
| bool | HasRelatedResultType = false |
||
| ) | [static] |
Definition at line 387 of file DeclObjC.cpp.
Referenced by clang::Sema::ActOnMethodDeclaration(), createImplicitParams(), clang::Sema::ProcessPropertyDecl(), and clang::ASTNodeImporter::VisitObjCMethodDecl().
| ObjCMethodDecl * ObjCMethodDecl::CreateDeserialized | ( | ASTContext & | C, |
| unsigned | ID | ||
| ) | [static] |
Definition at line 409 of file DeclObjC.cpp.
References clang::Decl::AllocateDeserializedDecl().
| void ObjCMethodDecl::createImplicitParams | ( | ASTContext & | Context, |
| const ObjCInterfaceDecl * | ID | ||
| ) |
createImplicitParams - Used to lazily create the self and cmd implict parameters. This must be called prior to using getSelfDecl() or getCmdDecl(). The call is ignored if the implicit paramters have already been created.
Definition at line 611 of file DeclObjC.cpp.
References Create(), clang::ImplicitParamDecl::Create(), clang::IdentifierTable::get(), clang::ASTContext::getLangOptions(), getMethodFamily(), clang::ASTContext::getObjCClassType(), clang::ASTContext::getObjCIdType(), clang::ASTContext::getObjCInterfaceType(), clang::ASTContext::getObjCObjectPointerType(), clang::ASTContext::getObjCSelType(), clang::ASTContext::getQualifiedType(), clang::ASTContext::Idents, isClassMethod(), isInstanceMethod(), clang::Qualifiers::OCL_Strong, clang::OMF_init, setCmdDecl(), clang::Qualifiers::setObjCLifetime(), setSelfDecl(), and clang::QualType::withConst().
Referenced by clang::Sema::ActOnStartOfObjCMethodDef(), and clang::CodeGen::CodeGenFunction::GenerateObjCCtorDtorMethod().
| virtual Stmt* clang::ObjCMethodDecl::getBody | ( | ) | const [inline, virtual] |
getBody - If this Decl represents a declaration for a body of code, such as a function or method definition, this method returns the top-level Stmt* of that body. Otherwise this method returns null.
Reimplemented from clang::Decl.
Definition at line 406 of file DeclObjC.h.
Referenced by checkObjCDealloc(), clang::CodeGen::CodeGenModule::EmitTopLevelDecl(), clang::CodeGen::CodeGenFunction::GenerateObjCMethod(), clang::idx::ASTVisitor< ImplClass >::VisitObjCMethodDecl(), and clang::ASTDeclWriter::VisitObjCMethodDecl().
| ObjCMethodDecl * ObjCMethodDecl::getCanonicalDecl | ( | ) | [virtual] |
Retrieves the "canonical" declaration of the given declaration.
Reimplemented from clang::Decl.
Definition at line 499 of file DeclObjC.cpp.
References clang::Decl::getDeclContext(), getSelector(), isInstanceMethod(), and isRedeclaration().
Referenced by getCanonicalDecl().
| const ObjCMethodDecl* clang::ObjCMethodDecl::getCanonicalDecl | ( | ) | const [inline] |
Reimplemented from clang::Decl.
Definition at line 263 of file DeclObjC.h.
References getCanonicalDecl().
| ObjCInterfaceDecl * ObjCMethodDecl::getClassInterface | ( | ) |
Definition at line 669 of file DeclObjC.cpp.
References clang::Decl::getDeclContext().
Referenced by clang::Sema::ActOnStartOfObjCMethodDef(), clang::Sema::ActOnSuperMessage(), AddSuperSendCompletion(), BuildUniqueMethodName(), clang::Sema::checkInitMethod(), CompareReturnTypes(), clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(), clang::CodeGen::CodeGenFunction::GenerateObjCMethod(), getClassInterface(), clang::Sema::LookupInObjCMethod(), clang::Sema::LookupMemberExpr(), LookupMethodInReceiverType(), and shouldRunOnFunctionOrMethod().
| const ObjCInterfaceDecl* clang::ObjCMethodDecl::getClassInterface | ( | ) | const [inline] |
Definition at line 319 of file DeclObjC.h.
References getClassInterface().
| ImplicitParamDecl* clang::ObjCMethodDecl::getCmdDecl | ( | ) | const [inline] |
Definition at line 379 of file DeclObjC.h.
Referenced by clang::Sema::ActOnStartOfObjCMethodDef(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), clang::CodeGen::CodeGenFunction::StartObjCMethod(), and clang::ASTDeclWriter::VisitObjCMethodDecl().
| CompoundStmt* clang::ObjCMethodDecl::getCompoundBody | ( | ) | [inline] |
Definition at line 409 of file DeclObjC.h.
Referenced by cleanupDeallocOrFinalize().
| ImplementationControl clang::ObjCMethodDecl::getImplementationControl | ( | ) | const [inline] |
Definition at line 402 of file DeclObjC.h.
Referenced by clang::Sema::CheckProtocolMethodDefs(), clang::Sema::ParseObjCSelectorExpression(), clang::ASTDeclWriter::VisitObjCMethodDecl(), clang::ASTNodeImporter::VisitObjCMethodDecl(), and clang::Sema::WarnExactTypedMethods().
| SourceLocation clang::ObjCMethodDecl::getLocEnd | ( | ) | const [inline] |
Reimplemented from clang::Decl.
Definition at line 285 of file DeclObjC.h.
Referenced by clang::ASTDeclWriter::VisitObjCMethodDecl(), and clang::ASTNodeImporter::VisitObjCMethodDecl().
| SourceLocation clang::ObjCMethodDecl::getLocStart | ( | ) | const [inline] |
Reimplemented from clang::Decl.
Definition at line 284 of file DeclObjC.h.
References clang::Decl::getLocation().
Referenced by clang::CodeGen::CodeGenFunction::GenerateObjCCtorDtorMethod(), clang::CodeGen::CodeGenFunction::GenerateObjCMethod(), getSelectorStartLoc(), and handleObjCReturnsInnerPointerAttr().
| ObjCMethodFamily ObjCMethodDecl::getMethodFamily | ( | ) | const |
Determines the family of this method.
Definition at line 523 of file DeclObjC.cpp.
References arg_type_begin(), clang::Selector::getMethodFamily(), getResultType(), getSelector(), clang::InvalidObjCMethodFamily, isInstanceMethod(), clang::OMF_alloc, clang::OMF_autorelease, clang::OMF_copy, clang::OMF_dealloc, clang::OMF_finalize, clang::OMF_init, clang::OMF_mutableCopy, clang::OMF_new, clang::OMF_None, clang::OMF_performSelector, clang::OMF_release, clang::OMF_retain, clang::OMF_retainCount, clang::OMF_self, and param_size().
Referenced by clang::Sema::ActOnMethodDeclaration(), clang::Sema::ActOnStartOfObjCMethodDef(), clang::Sema::BuildInstanceMessage(), CheckARCMethodDecl(), checkMethodFamilyMismatch(), clang::Sema::CheckObjCMethodOverride(), cleanupDeallocOrFinalize(), createImplicitParams(), clang::Sema::DiagnoseOwningPropertyGetterSynthesis(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), clang::ento::ObjCMessage::getMethodFamily(), clang::ObjCMessageExpr::getMethodFamily(), isInitializationMethod(), and clang::Sema::MaybeBindToTemporary().
| unsigned clang::ObjCMethodDecl::getNumSelectorLocs | ( | ) | const [inline] |
Definition at line 309 of file DeclObjC.h.
References clang::Selector::getNumArgs(), getSelector(), clang::Decl::isImplicit(), and clang::Selector::isUnarySelector().
Referenced by getSelectorLoc(), and getSelectorLocs().
| ObjCDeclQualifier clang::ObjCMethodDecl::getObjCDeclQualifier | ( | ) | const [inline] |
Definition at line 267 of file DeclObjC.h.
Referenced by CheckMethodOverrideReturn(), clang::ASTContext::getObjCEncodingForMethodDecl(), and clang::ASTDeclWriter::VisitObjCMethodDecl().
| QualType clang::ObjCMethodDecl::getResultType | ( | ) | const [inline] |
Definition at line 325 of file DeclObjC.h.
Referenced by AdjustRelatedResultType(), clang::Sema::BuildClassMessage(), clang::Sema::BuildInstanceMessage(), clang::Sema::checkInitMethod(), clang::Sema::CheckMessageArgumentTypes(), checkMethodFamilyMismatch(), CheckMethodOverrideReturn(), clang::Sema::CheckObjCMethodOverride(), CheckRelatedResultTypeCompatibility(), clang::Sema::CodeCompleteObjCMethodDecl(), CompareReturnTypes(), clang::Sema::DiagnosePropertyAccessorMismatch(), clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(), clang::CodeGen::CodeGenFunction::EmitObjCMessageExprLValue(), clang::Sema::EmitRelatedResultTypeNote(), clang::CodeGen::CodeGenTypes::getFunctionInfo(), clang::ObjCPropertyRefExpr::getGetterResultType(), getMethodFamily(), clang::ASTContext::getObjCEncodingForMethodDecl(), getSendResultType(), handleObjCMethodFamilyAttr(), handleObjCReturnsInnerPointerAttr(), isAcceptableMethodMismatch(), clang::Sema::MatchTwoMethodDeclarations(), clang::Sema::ProcessPropertyDecl(), clang::CodeGen::CodeGenFunction::StartObjCMethod(), clang::ASTDeclWriter::VisitObjCMethodDecl(), and clang::ASTNodeImporter::VisitObjCMethodDecl().
| TypeSourceInfo* clang::ObjCMethodDecl::getResultTypeSourceInfo | ( | ) | const [inline] |
Definition at line 334 of file DeclObjC.h.
Referenced by CheckMethodOverrideReturn(), clang::Sema::CheckObjCMethodOverride(), clang::ASTDeclWriter::VisitObjCMethodDecl(), and clang::ASTNodeImporter::VisitObjCMethodDecl().
| Selector clang::ObjCMethodDecl::getSelector | ( | ) | const [inline] |
Definition at line 323 of file DeclObjC.h.
References clang::NamedDecl::getDeclName(), and clang::DeclarationName::getObjCSelector().
Referenced by clang::Sema::ActOnAtEnd(), clang::Sema::ActOnMethodDeclaration(), clang::Sema::ActOnStartOfObjCMethodDef(), AddSuperSendCompletion(), clang::Sema::BuildInstanceMessage(), BuildUniqueMethodName(), CheckObjCInstMethSignature(), clang::Sema::CheckProtocolMethodDefs(), cleanupDeallocOrFinalize(), clang::Sema::CodeCompleteObjCMethodDecl(), clang::Sema::CompareMethodParamsInBaseAndSuper(), CompareReturnTypes(), clang::Sema::DiagnoseClassExtensionDupMethods(), clang::Sema::DiagnosePropertyAccessorMismatch(), clang::Sema::EmitRelatedResultTypeNote(), clang::idx::Analyzer::FindReferences(), GCRewriteFinalize(), getCanonicalDecl(), clang::ObjCPropertyRefExpr::getGetterSelector(), getMethodFamily(), getNumSelectorLocs(), getSelectorLoc(), clang::ObjCPropertyRefExpr::getSetterSelector(), isAcceptableMethodMismatch(), isAcceptableObjCMethod(), clang::MangleContext::mangleObjCMethodName(), clang::Sema::ProcessPropertyDecl(), sel_param_end(), setMethodParams(), clang::CodeGen::CodeGenFunction::StartObjCMethod(), and clang::Sema::WarnExactTypedMethods().
| SourceLocation clang::ObjCMethodDecl::getSelectorLoc | ( | unsigned | Index | ) | const [inline] |
Definition at line 296 of file DeclObjC.h.
References getNumSelectorLocs(), getSelector(), clang::getStandardSelectorLoc(), Index, and clang::SelLoc_StandardWithSpace.
Referenced by getSelectorLocs(), and getSelectorStartLoc().
| void ObjCMethodDecl::getSelectorLocs | ( | SmallVectorImpl< SourceLocation > & | SelLocs | ) | const |
Definition at line 437 of file DeclObjC.cpp.
References getNumSelectorLocs(), and getSelectorLoc().
Referenced by clang::ASTNodeImporter::VisitObjCMethodDecl().
| SourceLocation clang::ObjCMethodDecl::getSelectorStartLoc | ( | ) | const [inline] |
Definition at line 291 of file DeclObjC.h.
References getLocStart(), getSelectorLoc(), and clang::Decl::isImplicit().
Referenced by cleanupDeallocOrFinalize().
| ImplicitParamDecl* clang::ObjCMethodDecl::getSelfDecl | ( | ) | const [inline] |
Definition at line 377 of file DeclObjC.h.
Referenced by clang::Sema::ActOnStartOfObjCMethodDef(), CheckForModifiableLvalue(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), findRetainCycleOwner(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), clang::CodeGen::CodeGenTypes::getFunctionInfo(), clang::Sema::isSelfExpr(), clang::CodeGen::CodeGenFunction::LoadObjCSelf(), clang::CodeGen::CodeGenFunction::StartObjCMethod(), clang::Sema::tryCaptureObjCSelf(), tryRemoveRetainOfSelf(), clang::CodeGen::CodeGenFunction::TypeOfSelfObject(), and clang::ASTDeclWriter::VisitObjCMethodDecl().
| QualType clang::ObjCMethodDecl::getSendResultType | ( | ) | const [inline] |
Determine the type of an expression that sends a message to this function.
Definition at line 330 of file DeclObjC.h.
References clang::Decl::getASTContext(), clang::QualType::getNonLValueExprType(), and getResultType().
Referenced by clang::Sema::getMessageSendResultType().
| virtual SourceRange clang::ObjCMethodDecl::getSourceRange | ( | ) | const [inline, virtual] |
Source range that this declaration covers.
Reimplemented from clang::Decl.
Definition at line 287 of file DeclObjC.h.
References clang::Decl::getLocation().
Referenced by clang::Sema::CheckMessageArgumentTypes(), cleanupDeallocOrFinalize(), and GCRewriteFinalize().
| bool clang::ObjCMethodDecl::hasRelatedResultType | ( | ) | const [inline] |
Determine whether this method has a result type that is related to the message receiver's type.
Definition at line 274 of file DeclObjC.h.
Referenced by clang::Sema::ActOnMethodDeclaration(), AdjustRelatedResultType(), clang::Sema::CheckObjCMethodOverride(), clang::Sema::EmitRelatedResultTypeNote(), clang::Sema::getMessageSendResultType(), clang::ASTDeclWriter::VisitObjCMethodDecl(), and clang::ASTNodeImporter::VisitObjCMethodDecl().
| bool clang::ObjCMethodDecl::isClassMethod | ( | ) | const [inline] |
Definition at line 390 of file DeclObjC.h.
Referenced by clang::Sema::ActOnMethodDeclaration(), CheckForModifiableLvalue(), createImplicitParams(), clang::Sema::LookupInObjCMethod(), and clang::Sema::WarnExactTypedMethods().
| bool clang::ObjCMethodDecl::isDefined | ( | ) | const [inline] |
Definition at line 395 of file DeclObjC.h.
Referenced by clang::Sema::addMethodToGlobalList(), setDefined(), clang::ASTDeclWriter::VisitObjCMethodDecl(), and clang::ASTNodeImporter::VisitObjCMethodDecl().
| bool clang::ObjCMethodDecl::isInstanceMethod | ( | ) | const [inline] |
Definition at line 385 of file DeclObjC.h.
Referenced by clang::Sema::ActOnAtEnd(), clang::Sema::ActOnMethodDeclaration(), clang::Sema::ActOnStartOfObjCMethodDef(), clang::Sema::ActOnSuperMessage(), clang::Sema::AddAnyMethodToGlobalPool(), AddSuperSendCompletion(), cleanupDeallocOrFinalize(), clang::Sema::CodeCompleteObjCMethodDecl(), createImplicitParams(), clang::Sema::EmitRelatedResultTypeNote(), GCRewriteFinalize(), GetAssumedMessageSendExprType(), getCanonicalDecl(), clang::Sema::getMessageSendResultType(), clang::ObjCContainerDecl::getMethod(), getMethodFamily(), isAcceptableMethodMismatch(), clang::Sema::LookupInObjCMethod(), clang::MangleContext::mangleObjCMethodName(), clang::CodeGen::CodeGenFunction::StartObjCMethod(), clang::idx::EntityGetter::VisitNamedDecl(), clang::ASTDeclWriter::VisitObjCMethodDecl(), and clang::ASTNodeImporter::VisitObjCMethodDecl().
| bool clang::ObjCMethodDecl::isRedeclaration | ( | ) | const [inline] |
True if this is a method redeclaration in the same interface.
Definition at line 280 of file DeclObjC.h.
Referenced by getCanonicalDecl().
| bool clang::ObjCMethodDecl::isSynthesized | ( | ) | const [inline] |
Definition at line 392 of file DeclObjC.h.
Referenced by clang::Sema::CheckProtocolMethodDefs(), clang::Sema::MatchAllMethodDeclarations(), clang::ASTDeclWriter::VisitObjCMethodDecl(), and clang::ASTNodeImporter::VisitObjCMethodDecl().
| bool clang::ObjCMethodDecl::isThisDeclarationADefinition | ( | ) | const [inline] |
Returns whether this specific method is a definition.
Definition at line 413 of file DeclObjC.h.
| bool clang::ObjCMethodDecl::isVariadic | ( | ) | const [inline] |
Definition at line 387 of file DeclObjC.h.
Referenced by AddSuperSendCompletion(), clang::Sema::CheckConflictingOverridingMethod(), clang::Sema::CheckMessageArgumentTypes(), clang::Sema::CodeCompleteObjCMethodDecl(), clang::ASTDeclWriter::VisitObjCMethodDecl(), clang::ASTNodeImporter::VisitObjCMethodDecl(), clang::Sema::WarnConflictingTypedMethods(), and clang::Sema::WarnExactTypedMethods().
| param_const_iterator clang::ObjCMethodDecl::param_begin | ( | ) | const [inline] |
Definition at line 341 of file DeclObjC.h.
Referenced by clang::Sema::ActOnStartOfObjCMethodDef(), AddSuperSendCompletion(), arg_type_begin(), clang::Sema::CheckConflictingOverridingMethod(), clang::Sema::CheckMessageArgumentTypes(), clang::Sema::CheckObjCMethodOverride(), clang::Sema::CodeCompleteObjCMethodDecl(), clang::Sema::CompareMethodParamsInBaseAndSuper(), emitCPPObjectAtomicSetterCall(), emitStructSetterCall(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), clang::CodeGen::CodeGenTypes::getFunctionInfo(), clang::ASTContext::getObjCEncodingForMethodDecl(), getPreferredArgumentTypeForMessageSend(), clang::ObjCPropertyRefExpr::getSetterArgType(), clang::Sema::MatchTwoMethodDeclarations(), clang::Sema::mergeObjCMethodDecls(), clang::Sema::ProcessPropertyDecl(), sel_param_end(), clang::CodeGen::CodeGenFunction::StartObjCMethod(), clang::ASTDeclWriter::VisitObjCMethodDecl(), clang::ASTNodeImporter::VisitObjCMethodDecl(), clang::Sema::WarnConflictingTypedMethods(), and clang::Sema::WarnExactTypedMethods().
| param_iterator clang::ObjCMethodDecl::param_begin | ( | ) | [inline] |
Definition at line 343 of file DeclObjC.h.
| param_const_iterator clang::ObjCMethodDecl::param_end | ( | ) | const [inline] |
Definition at line 342 of file DeclObjC.h.
Referenced by clang::Sema::ActOnStartOfObjCMethodDef(), AddSuperSendCompletion(), arg_type_end(), clang::Sema::CheckConflictingOverridingMethod(), clang::Sema::CheckObjCMethodOverride(), clang::Sema::CodeCompleteObjCMethodDecl(), clang::Sema::CompareMethodParamsInBaseAndSuper(), clang::CodeGen::CodeGenTypes::getFunctionInfo(), clang::Sema::MatchTwoMethodDeclarations(), clang::Sema::mergeObjCMethodDecls(), clang::CodeGen::CodeGenFunction::StartObjCMethod(), clang::ASTDeclWriter::VisitObjCMethodDecl(), clang::ASTNodeImporter::VisitObjCMethodDecl(), clang::Sema::WarnConflictingTypedMethods(), and clang::Sema::WarnExactTypedMethods().
| param_iterator clang::ObjCMethodDecl::param_end | ( | ) | [inline] |
Definition at line 344 of file DeclObjC.h.
| unsigned clang::ObjCMethodDecl::param_size | ( | ) | const [inline] |
Definition at line 338 of file DeclObjC.h.
Referenced by AddSuperSendCompletion(), clang::Sema::CheckMessageArgumentTypes(), clang::Sema::CodeCompleteObjCMethodDecl(), getMethodFamily(), clang::Sema::ProcessPropertyDecl(), clang::ASTDeclWriter::VisitObjCMethodDecl(), and clang::ASTNodeImporter::VisitObjCMethodDecl().
| param_const_iterator clang::ObjCMethodDecl::sel_param_end | ( | ) | const [inline] |
Definition at line 347 of file DeclObjC.h.
References clang::Selector::getNumArgs(), getSelector(), and param_begin().
Referenced by clang::ASTContext::getObjCEncodingForMethodDecl().
| void ObjCMethodDecl::setAsRedeclaration | ( | const ObjCMethodDecl * | PrevMethod | ) |
Definition at line 415 of file DeclObjC.cpp.
References clang::Decl::getASTContext(), and clang::ASTContext::setObjCMethodRedeclaration().
Referenced by clang::Sema::ActOnAtEnd().
| void clang::ObjCMethodDecl::setBody | ( | Stmt * | B | ) | [inline] |
Definition at line 410 of file DeclObjC.h.
Referenced by clang::ASTDeclReader::VisitObjCMethodDecl().
| void clang::ObjCMethodDecl::setCmdDecl | ( | ImplicitParamDecl * | CD | ) | [inline] |
Definition at line 380 of file DeclObjC.h.
Referenced by createImplicitParams(), and clang::ASTDeclReader::VisitObjCMethodDecl().
| void clang::ObjCMethodDecl::setDeclImplementation | ( | ImplementationControl | ic | ) | [inline] |
Definition at line 399 of file DeclObjC.h.
Referenced by clang::ASTDeclReader::VisitObjCMethodDecl().
| void clang::ObjCMethodDecl::setDefined | ( | bool | isDefined | ) | [inline] |
Definition at line 396 of file DeclObjC.h.
References isDefined().
Referenced by clang::Sema::addMethodToGlobalList(), and clang::ASTDeclReader::VisitObjCMethodDecl().
| void clang::ObjCMethodDecl::setEndLoc | ( | SourceLocation | Loc | ) | [inline] |
Definition at line 286 of file DeclObjC.h.
Referenced by clang::ASTDeclReader::VisitObjCMethodDecl().
| void clang::ObjCMethodDecl::setInstanceMethod | ( | bool | isInst | ) | [inline] |
Definition at line 386 of file DeclObjC.h.
Referenced by clang::ASTDeclReader::VisitObjCMethodDecl().
| void ObjCMethodDecl::setMethodParams | ( | ASTContext & | C, |
| ArrayRef< ParmVarDecl * > | Params, | ||
| ArrayRef< SourceLocation > | SelLocs = ArrayRef<SourceLocation>() |
||
| ) |
Sets the method's parameters and selector source locations. If the method is implicit (not coming from source)
Definition at line 443 of file DeclObjC.cpp.
References getSelector(), clang::hasStandardSelectorLocs(), clang::Decl::isImplicit(), and clang::SelLoc_NonStandard.
Referenced by clang::Sema::ActOnMethodDeclaration(), clang::Sema::ProcessPropertyDecl(), and clang::ASTNodeImporter::VisitObjCMethodDecl().
| void clang::ObjCMethodDecl::setObjCDeclQualifier | ( | ObjCDeclQualifier | QV | ) | [inline] |
Definition at line 270 of file DeclObjC.h.
Referenced by clang::Sema::ActOnMethodDeclaration(), and clang::ASTDeclReader::VisitObjCMethodDecl().
| void clang::ObjCMethodDecl::SetRelatedResultType | ( | bool | RRT = true | ) | [inline] |
Note whether this method has a related result type.
Definition at line 277 of file DeclObjC.h.
Referenced by clang::Sema::ActOnMethodDeclaration(), and clang::ASTDeclReader::VisitObjCMethodDecl().
| void clang::ObjCMethodDecl::setResultType | ( | QualType | T | ) | [inline] |
Definition at line 326 of file DeclObjC.h.
Referenced by clang::ASTDeclReader::VisitObjCMethodDecl().
| void clang::ObjCMethodDecl::setResultTypeSourceInfo | ( | TypeSourceInfo * | TInfo | ) | [inline] |
Definition at line 335 of file DeclObjC.h.
Referenced by clang::ASTDeclReader::VisitObjCMethodDecl().
| void clang::ObjCMethodDecl::setSelfDecl | ( | ImplicitParamDecl * | SD | ) | [inline] |
Definition at line 378 of file DeclObjC.h.
Referenced by createImplicitParams(), and clang::ASTDeclReader::VisitObjCMethodDecl().
| void clang::ObjCMethodDecl::setSynthesized | ( | bool | isSynth | ) | [inline] |
Definition at line 393 of file DeclObjC.h.
Referenced by clang::Sema::ProcessPropertyDecl(), and clang::ASTDeclReader::VisitObjCMethodDecl().
| void clang::ObjCMethodDecl::setVariadic | ( | bool | isVar | ) | [inline] |
Definition at line 388 of file DeclObjC.h.
Referenced by clang::ASTDeclReader::VisitObjCMethodDecl().
friend class ASTDeclReader [friend] |
Reimplemented from clang::Decl.
Definition at line 426 of file DeclObjC.h.
friend class ASTDeclWriter [friend] |
Reimplemented from clang::Decl.
Definition at line 427 of file DeclObjC.h.