clang 20.0.0git
Classes | Namespaces | Macros
TypeLoc.h File Reference

Defines the clang::TypeLoc interface and its subclasses. More...

#include "clang/AST/ASTConcept.h"
#include "clang/AST/DeclarationName.h"
#include "clang/AST/NestedNameSpecifier.h"
#include "clang/AST/TemplateBase.h"
#include "clang/AST/Type.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/Specifiers.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/MathExtras.h"
#include <algorithm>
#include <cassert>
#include <cstdint>
#include <cstring>
#include "clang/AST/TypeLocNodes.def"
#include "clang/AST/TypeNodes.inc"

Go to the source code of this file.

Classes

class  clang::TypeLoc
 Base wrapper for a particular "section" of type source info. More...
 
class  clang::UnqualTypeLoc
 Wrapper of type source information for a type with no direct qualifiers. More...
 
class  clang::QualifiedTypeLoc
 Wrapper of type source information for a type with non-trivial direct qualifiers. More...
 
class  clang::ConcreteTypeLoc< Base, Derived, TypeClass, LocalData >
 A metaprogramming base class for TypeLoc classes which correspond to a particular Type subclass. More...
 
struct  clang::ConcreteTypeLoc< Base, Derived, TypeClass, LocalData >::HasNoInnerType
 
class  clang::InheritingConcreteTypeLoc< Base, Derived, TypeClass >
 A metaprogramming class designed for concrete subtypes of abstract types where all subtypes share equivalently-structured source information. More...
 
struct  clang::TypeSpecLocInfo
 
class  clang::TypeSpecTypeLoc
 A reasonable base class for TypeLocs that correspond to types that are written as a type-specifier. More...
 
struct  clang::BuiltinLocInfo
 
class  clang::BuiltinTypeLoc
 Wrapper for source info for builtin types. More...
 
class  clang::UsingTypeLoc
 Wrapper for source info for types used via transparent aliases. More...
 
class  clang::TypedefTypeLoc
 Wrapper for source info for typedefs. More...
 
class  clang::InjectedClassNameTypeLoc
 Wrapper for source info for injected class names of class templates. More...
 
class  clang::UnresolvedUsingTypeLoc
 Wrapper for source info for unresolved typename using decls. More...
 
class  clang::TagTypeLoc
 Wrapper for source info for tag types. More...
 
class  clang::RecordTypeLoc
 Wrapper for source info for record types. More...
 
class  clang::EnumTypeLoc
 Wrapper for source info for enum types. More...
 
class  clang::TemplateTypeParmTypeLoc
 Wrapper for template type parameters. More...
 
struct  clang::ObjCTypeParamTypeLocInfo
 
class  clang::ObjCTypeParamTypeLoc
 ProtocolLAngleLoc, ProtocolRAngleLoc, and the source locations for protocol qualifiers are stored after Info. More...
 
class  clang::SubstTemplateTypeParmTypeLoc
 Wrapper for substituted template type parameters. More...
 
class  clang::SubstTemplateTypeParmPackTypeLoc
 Wrapper for substituted template type parameters. More...
 
struct  clang::AttributedLocInfo
 
class  clang::AttributedTypeLoc
 Type source information for an attributed type. More...
 
struct  clang::BTFTagAttributedLocInfo
 
class  clang::BTFTagAttributedTypeLoc
 Type source information for an btf_tag attributed type. More...
 
struct  clang::HLSLAttributedResourceLocInfo
 
class  clang::HLSLAttributedResourceTypeLoc
 Type source information for HLSL attributed resource type. More...
 
struct  clang::ObjCObjectTypeLocInfo
 
class  clang::ObjCObjectTypeLoc
 
struct  clang::ObjCInterfaceLocInfo
 
class  clang::ObjCInterfaceTypeLoc
 Wrapper for source info for ObjC interfaces. More...
 
struct  clang::BoundsAttributedLocInfo
 
class  clang::BoundsAttributedTypeLoc
 
class  clang::CountAttributedTypeLoc
 
struct  clang::MacroQualifiedLocInfo
 
class  clang::MacroQualifiedTypeLoc
 
struct  clang::ParenLocInfo
 
class  clang::ParenTypeLoc
 
struct  clang::AdjustedLocInfo
 
class  clang::AdjustedTypeLoc
 
class  clang::DecayedTypeLoc
 Wrapper for source info for pointers decayed from arrays and functions. More...
 
struct  clang::PointerLikeLocInfo
 
class  clang::PointerLikeTypeLoc< Derived, TypeClass, LocalData >
 A base class for. More...
 
class  clang::PointerTypeLoc
 Wrapper for source info for pointers. More...
 
class  clang::BlockPointerTypeLoc
 Wrapper for source info for block pointers. More...
 
struct  clang::MemberPointerLocInfo
 
class  clang::MemberPointerTypeLoc
 Wrapper for source info for member pointers. More...
 
class  clang::ObjCObjectPointerTypeLoc
 Wraps an ObjCPointerType with source location information. More...
 
class  clang::ReferenceTypeLoc
 
class  clang::LValueReferenceTypeLoc
 
class  clang::RValueReferenceTypeLoc
 
struct  clang::FunctionLocInfo
 
class  clang::FunctionTypeLoc
 Wrapper for source info for functions. More...
 
class  clang::FunctionProtoTypeLoc
 
class  clang::FunctionNoProtoTypeLoc
 
struct  clang::ArrayLocInfo
 
class  clang::ArrayTypeLoc
 Wrapper for source info for arrays. More...
 
class  clang::ConstantArrayTypeLoc
 
class  clang::ArrayParameterTypeLoc
 Wrapper for source info for array parameter types. More...
 
class  clang::IncompleteArrayTypeLoc
 
class  clang::DependentSizedArrayTypeLoc
 
class  clang::VariableArrayTypeLoc
 
struct  clang::TemplateNameLocInfo
 
struct  clang::TemplateSpecializationLocInfo
 
class  clang::TemplateSpecializationTypeLoc
 
struct  clang::DependentAddressSpaceLocInfo
 
class  clang::DependentAddressSpaceTypeLoc
 
struct  clang::VectorTypeLocInfo
 
class  clang::VectorTypeLoc
 
class  clang::DependentVectorTypeLoc
 
class  clang::ExtVectorTypeLoc
 
class  clang::DependentSizedExtVectorTypeLoc
 
struct  clang::MatrixTypeLocInfo
 
class  clang::MatrixTypeLoc
 
class  clang::ConstantMatrixTypeLoc
 
class  clang::DependentSizedMatrixTypeLoc
 
class  clang::ComplexTypeLoc
 
struct  clang::TypeofLocInfo
 
struct  clang::TypeOfExprTypeLocInfo
 
struct  clang::TypeOfTypeLocInfo
 
class  clang::TypeofLikeTypeLoc< Derived, TypeClass, LocalData >
 
class  clang::TypeOfExprTypeLoc
 
class  clang::TypeOfTypeLoc
 
struct  clang::DecltypeTypeLocInfo
 
class  clang::DecltypeTypeLoc
 
struct  clang::PackIndexingTypeLocInfo
 
class  clang::PackIndexingTypeLoc
 
struct  clang::UnaryTransformTypeLocInfo
 
class  clang::UnaryTransformTypeLoc
 
class  clang::DeducedTypeLoc
 
struct  clang::AutoTypeLocInfo
 
class  clang::AutoTypeLoc
 
class  clang::DeducedTemplateSpecializationTypeLoc
 
struct  clang::ElaboratedLocInfo
 
class  clang::ElaboratedTypeLoc
 
struct  clang::DependentNameLocInfo
 
class  clang::DependentNameTypeLoc
 
struct  clang::DependentTemplateSpecializationLocInfo
 
class  clang::DependentTemplateSpecializationTypeLoc
 
struct  clang::PackExpansionTypeLocInfo
 
class  clang::PackExpansionTypeLoc
 
struct  clang::AtomicTypeLocInfo
 
class  clang::AtomicTypeLoc
 
struct  clang::PipeTypeLocInfo
 
class  clang::PipeTypeLoc
 
class  clang::BitIntTypeLoc
 
class  clang::DependentBitIntTypeLoc
 
class  clang::ObjCProtocolLoc
 

Namespaces

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

Macros

#define ABSTRACT_TYPELOC(Class, Base)
 
#define TYPELOC(Class, Base)    class Class##TypeLoc;
 
#define ABSTRACT_TYPE(Class, Base)
 
#define TYPE(Class, Base)    Class = Type::Class,
 

Detailed Description

Defines the clang::TypeLoc interface and its subclasses.

Definition in file TypeLoc.h.

Macro Definition Documentation

◆ ABSTRACT_TYPE

#define ABSTRACT_TYPE (   Class,
  Base 
)

Definition at line 109 of file TypeLoc.h.

◆ ABSTRACT_TYPELOC

#define ABSTRACT_TYPELOC (   Class,
  Base 
)

Definition at line 50 of file TypeLoc.h.

◆ TYPE

#define TYPE (   Class,
  Base 
)     Class = Type::Class,

Definition at line 110 of file TypeLoc.h.

◆ TYPELOC

#define TYPELOC (   Class,
  Base 
)     class Class##TypeLoc;

Definition at line 51 of file TypeLoc.h.