16 #ifndef LLVM_CLANG_AST_ASTLAMBDA_H
17 #define LLVM_CLANG_AST_ASTLAMBDA_H
30 if (!LambdaClass || !LambdaClass->
isLambda())
return false;
35 if (!DC || !isa<CXXMethodDecl>(DC))
return false;
40 if (!MD)
return false;
58 dyn_cast_or_null<CXXConversionDecl>(F->getTemplatedDecl()))
65 dyn_cast<CXXMethodDecl>(DC));
bool isLambdaConversionOperator(CXXConversionDecl *C)
bool isGenericLambdaCallOperatorSpecialization(const CXXMethodDecl *MD)
Defines the C++ template declaration subclasses.
bool isFunctionTemplateSpecialization() const
Determine whether this function is a function template specialization.
const CXXRecordDecl * getParent() const
DeclContext * getLambdaAwareParentOfDeclContext(DeclContext *DC)
bool isLambdaCallOperator(const CXXMethodDecl *MD)
StringRef getLambdaStaticInvokerName()
bool isGenericLambda() const
Determine whether this class describes a generic lambda function object (i.e. function call operator ...
DeclContext * getParent()
getParent - Returns the containing DeclContext.
Represents a C++ conversion function within a class.
Represents a static or instance method of a struct/union/class.
bool isLambda() const
Determine whether this class describes a lambda function object.
Defines the C++ Decl subclasses, other than those for templates (found in DeclTemplate.h) and friends (in DeclFriend.h).
Represents a C++ struct/union/class.
Declaration of a template function.
OverloadedOperatorKind getOverloadedOperator() const