clang 22.0.0git
DependenceFlags.h File Reference
#include "clang/Basic/BitmaskEnum.h"
#include "llvm/ADT/BitmaskEnum.h"
#include <cstdint>

Go to the source code of this file.

Classes

struct  clang::ExprDependenceScope
struct  clang::TypeDependenceScope
class  clang::Dependence

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.

Macros

#define LLVM_COMMON_DEPENDENCE(NAME)

Typedefs

using clang::ExprDependence = ExprDependenceScope::ExprDependence
using clang::TypeDependence = TypeDependenceScope::TypeDependence

Functions

ExprDependence clang::toExprDependence (TemplateArgumentDependence TA)
 Computes dependencies of a reference with the name having template arguments with TA dependencies.
ExprDependence clang::toExprDependenceForImpliedType (TypeDependence D)
ExprDependence clang::toExprDependenceAsWritten (TypeDependence D)
ExprDependence clang::toExprDependence (NestedNameSpecifierDependence D)
ExprDependence clang::turnTypeToValueDependence (ExprDependence D)
ExprDependence clang::turnValueToTypeDependence (ExprDependence D)
TypeDependence clang::toTypeDependence (ExprDependence D)
TypeDependence clang::toTypeDependence (NestedNameSpecifierDependence D)
TypeDependence clang::toTypeDependence (TemplateNameDependence D)
TypeDependence clang::toTypeDependence (TemplateArgumentDependence D)
TypeDependence clang::toSyntacticDependence (TypeDependence D)
TypeDependence clang::toSemanticDependence (TypeDependence D)
NestedNameSpecifierDependence clang::toNestedNameSpecifierDependence (TypeDependence D)
TemplateArgumentDependence clang::toTemplateArgumentDependence (TypeDependence D)
TemplateArgumentDependence clang::toTemplateArgumentDependence (TemplateNameDependence D)
TemplateArgumentDependence clang::toTemplateArgumentDependence (ExprDependence D)
TemplateNameDependence clang::toTemplateNameDependence (NestedNameSpecifierDependence D)
TemplateNameDependence clang::toTemplateNameDependence (TemplateArgumentDependence D)
 clang::LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE ()

Macro Definition Documentation

◆ LLVM_COMMON_DEPENDENCE

#define LLVM_COMMON_DEPENDENCE ( NAME)
Value:
struct NAME##Scope { \
enum NAME : uint8_t { \
UnexpandedPack = 1, \
Instantiation = 2, \
Dependent = 4, \
Error = 8, \
\
None = 0, \
DependentInstantiation = Dependent | Instantiation, \
All = 15, \
\
LLVM_MARK_AS_BITMASK_ENUM(/*LargestValue=*/Error) \
}; \
}; \
using NAME = NAME##Scope::NAME;

Definition at line 82 of file DependenceFlags.h.