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 (D) 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)