clang: include/clang/AST/ASTLambda.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#ifndef LLVM_CLANG_AST_ASTLAMBDA_H
16#define LLVM_CLANG_AST_ASTLAMBDA_H
17
20
23 return "__invoke";
24}
25
26
29 if (!LambdaClass || !LambdaClass->isLambda()) return false;
31}
32
34 if (!DC || !isa(DC)) return false;
36}
37
40 cast(DC)->isExplicitObjectMemberFunction();
41}
42
45
46
47
48
49 !cast(DC)->getType().isNull() &&
50 !cast(DC)->isExplicitObjectMemberFunction();
51}
52
54 if (!MD) return false;
59 return false;
60}
61
63 return C ? C->getParent()->isLambda() : false;
64}
65
67 if () return false;
72 dyn_cast_or_null(F->getTemplatedDecl()))
74 return false;
75}
76
79 dyn_cast(DC));
80}
81
84 const auto *MD = dyn_cast(DC);
85 if (!MD) return false;
89 MD->isFunctionTemplateSpecialization();
90 return false;
91}
92
93
94
98 else
100}
101
102}
103
104#endif
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.
bool isFunctionTemplateSpecialization() const
Determine whether this function is a function template specialization.
OverloadedOperatorKind getOverloadedOperator() const
getOverloadedOperator - Which C++ overloaded operator this function represents, if any.
Declaration of a template function.
The JSON file list parser is used to communicate input to InstallAPI.
bool isLambdaCallWithImplicitObjectParameter(const DeclContext *DC)
DeclContext * getLambdaAwareParentOfDeclContext(DeclContext *DC)
bool isLambdaCallWithExplicitObjectParameter(const DeclContext *DC)
bool isGenericLambdaCallOperatorOrStaticInvokerSpecialization(const DeclContext *DC)
bool isLambdaCallOperator(const CXXMethodDecl *MD)
bool isLambdaConversionOperator(CXXConversionDecl *C)
StringRef getLambdaStaticInvokerName()
bool isGenericLambdaCallOperatorSpecialization(const CXXMethodDecl *MD)