clang 20.0.0git
Classes | Namespaces | Macros | Typedefs | Functions
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::toNestedNameSpecifierDependendence (TypeDependence D)
 
TemplateArgumentDependence clang::toTemplateArgumentDependence (TypeDependence D)
 
TemplateArgumentDependence clang::toTemplateArgumentDependence (TemplateNameDependence D)
 
TemplateArgumentDependence clang::toTemplateArgumentDependence (ExprDependence D)
 
TemplateNameDependence clang::toTemplateNameDependence (NestedNameSpecifierDependence 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.