clang 22.0.0git
DeclSpec.h File Reference

This file defines the classes used to store parsed information about declaration-specifiers and declarators. More...

#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclObjCCommon.h"
#include "clang/AST/NestedNameSpecifier.h"
#include "clang/Basic/ExceptionSpecificationType.h"
#include "clang/Basic/Lambda.h"
#include "clang/Basic/OperatorKinds.h"
#include "clang/Basic/Specifiers.h"
#include "clang/Lex/Token.h"
#include "clang/Sema/Ownership.h"
#include "clang/Sema/ParsedAttr.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h"
#include <optional>
#include "clang/Basic/TransformTypeTraits.def"
#include "clang/Basic/OpenCLImageTypes.def"
#include "clang/Basic/HLSLIntangibleTypes.def"

Go to the source code of this file.

Classes

class  clang::CXXScopeSpec
 Represents a C++ nested-name-specifier or a global scope specifier. More...
class  clang::DeclSpec
 Captures information about "declaration specifiers". More...
class  clang::ObjCDeclSpec
 Captures information about "declaration specifiers" specific to Objective-C. More...
class  clang::UnqualifiedId
 Represents a C++ unqualified-id that has been parsed. More...
struct  clang::UnqualifiedId::OFI
struct  clang::DeclaratorChunk
 One instance of this struct is used for each type in a declarator that is parsed. More...
struct  clang::DeclaratorChunk::PointerTypeInfo
struct  clang::DeclaratorChunk::ReferenceTypeInfo
struct  clang::DeclaratorChunk::ArrayTypeInfo
struct  clang::DeclaratorChunk::ParamInfo
 ParamInfo - An array of paraminfo objects is allocated whenever a function declarator is parsed. More...
struct  clang::DeclaratorChunk::TypeAndRange
struct  clang::DeclaratorChunk::FunctionTypeInfo
struct  clang::DeclaratorChunk::BlockPointerTypeInfo
struct  clang::DeclaratorChunk::MemberPointerTypeInfo
struct  clang::DeclaratorChunk::PipeTypeInfo
class  clang::DecompositionDeclarator
 A parsed C++17 decomposition declarator of the form '[' identifier-list ']'. More...
struct  clang::DecompositionDeclarator::Binding
class  clang::Declarator
 Information about one declarator, including the parsed type information and the identifier. More...
struct  clang::FieldDeclarator
 This little struct is used to capture information about structure field declarators, which is basically just a bitfield size. More...
class  clang::VirtSpecifiers
 Represents a C++11 virt-specifier-seq. More...
struct  clang::LambdaIntroducer
 Represents a complete lambda introducer. More...
struct  clang::LambdaIntroducer::LambdaCapture
 An individual capture in a lambda introducer. More...
struct  clang::InventedTemplateParameterInfo

Namespaces

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

Macros

#define TRANSFORM_TYPE_TRAIT_DEF(_, Trait)
#define GENERIC_IMAGE_TYPE(ImgType, Id)
#define HLSL_INTANGIBLE_TYPE(Name, Id, SingletonId)
#define TRANSFORM_TYPE_TRAIT_DEF(_, Trait)

Typedefs

typedef SmallVector< Token, 4 > clang::CachedTokens
 A set of tokens that has been cached for later parsing.

Enumerations

enum class  clang::UnqualifiedIdKind {
  clang::IK_Identifier , clang::IK_OperatorFunctionId , clang::IK_ConversionFunctionId , clang::IK_LiteralOperatorId ,
  clang::IK_ConstructorName , clang::IK_ConstructorTemplateId , clang::IK_DestructorName , clang::IK_TemplateId ,
  clang::IK_ImplicitSelfParam , clang::IK_DeductionGuideName
}
 Describes the kind of unqualified-id parsed. More...
enum class  clang::FunctionDefinitionKind { clang::Declaration , clang::Definition , clang::Defaulted , clang::Deleted }
 Described the kind of function definition (if any) provided for a function. More...
enum class  clang::DeclaratorContext {
  clang::File , clang::Prototype , clang::ObjCResult , clang::ObjCParameter ,
  clang::KNRTypeList , clang::TypeName , clang::FunctionalCast , clang::Member ,
  clang::Block , clang::ForInit , clang::SelectionInit , clang::Condition ,
  clang::TemplateParam , clang::CXXNew , clang::CXXCatch , clang::ObjCCatch ,
  clang::BlockLiteral , clang::LambdaExpr , clang::LambdaExprParameter , clang::ConversionId ,
  clang::TrailingReturn , clang::TrailingReturnVar , clang::TemplateArg , clang::TemplateTypeArg ,
  clang::AliasDecl , clang::AliasTemplate , clang::RequiresExpr , clang::Association
}
enum class  clang::ImplicitTypenameContext { clang::No , clang::Yes }
enum class  clang::LambdaCaptureInitKind { clang::NoInit , clang::CopyInit , clang::DirectInit , clang::ListInit }

Detailed Description

This file defines the classes used to store parsed information about declaration-specifiers and declarators.

///   static const int volatile x, *y, *(*(*z)[10])(const void *x);
///   ------------------------- -  --  ---------------------------
///     declaration-specifiers  \  |   /
///                            declarators
/// 

Definition in file DeclSpec.h.

Macro Definition Documentation

◆ GENERIC_IMAGE_TYPE

#define GENERIC_IMAGE_TYPE ( ImgType,
Id )
Value:
static const TST TST_##ImgType##_t = clang::TST_##ImgType##_t;

Definition at line 292 of file DeclSpec.h.

◆ HLSL_INTANGIBLE_TYPE

#define HLSL_INTANGIBLE_TYPE ( Name,
Id,
SingletonId )
Value:
static const TST TST_##Name = clang::TST_##Name;

Definition at line 295 of file DeclSpec.h.

◆ TRANSFORM_TYPE_TRAIT_DEF [1/2]

#define TRANSFORM_TYPE_TRAIT_DEF ( _,
Trait )
Value:
static const TST TST_##Trait = clang::TST_##Trait;

Definition at line 285 of file DeclSpec.h.

◆ TRANSFORM_TYPE_TRAIT_DEF [2/2]

#define TRANSFORM_TYPE_TRAIT_DEF ( _,
Trait )
Value:
TST_##Trait,

Definition at line 285 of file DeclSpec.h.