15#ifndef LLVM_CLANG_AST_ASTLAMBDA_H
16#define LLVM_CLANG_AST_ASTLAMBDA_H
29 if (!LambdaClass || !LambdaClass->
isLambda())
return false;
34 if (!DC || !isa<CXXMethodDecl>(DC))
return false;
39 if (!MD)
return false;
48 return C ?
C->getParent()->isLambda() :
false;
57 dyn_cast_or_null<CXXConversionDecl>(F->getTemplatedDecl()))
64 dyn_cast<CXXMethodDecl>(DC));
69 const auto *MD = dyn_cast<CXXMethodDecl>(DC);
70 if (!MD)
return false;
74 MD->isFunctionTemplateSpecialization();
Defines the C++ Decl subclasses, other than those for templates (found in DeclTemplate....
Defines the C++ template declaration subclasses.
Represents a C++ conversion function within a class.
Represents a static or instance method of a struct/union/class.
const CXXRecordDecl * getParent() const
Return the parent of this method declaration, which is the class in which this method is defined.
Represents a C++ struct/union/class.
bool isGenericLambda() const
Determine whether this class describes a generic lambda function object (i.e.
bool isLambda() const
Determine whether this class describes a lambda function object.
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...
DeclContext * getParent()
getParent - Returns the containing DeclContext.
Decl - This represents one declaration (or definition), e.g.
OverloadedOperatorKind getOverloadedOperator() const
getOverloadedOperator - Which C++ overloaded operator this function represents, if any.
bool isFunctionTemplateSpecialization() const
Determine whether this function is a function template specialization.
Declaration of a template function.
DeclContext * getLambdaAwareParentOfDeclContext(DeclContext *DC)
bool isGenericLambdaCallOperatorOrStaticInvokerSpecialization(const DeclContext *DC)
@ C
Languages that the frontend can parse and compile.
bool isLambdaCallOperator(const CXXMethodDecl *MD)
bool isLambdaConversionOperator(CXXConversionDecl *C)
StringRef getLambdaStaticInvokerName()
bool isGenericLambdaCallOperatorSpecialization(const CXXMethodDecl *MD)