clang 22.0.0git
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/NestedNameSpecifierBase.h"
#include "clang/AST/TemplateBase.h"
#include "clang/AST/TypeBase.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...
struct  clang::ElaboratedNameLocInfo
class  clang::ElaboratedNameTypeLoc< TL, T >
class  clang::TypedefTypeLoc
 Wrapper for source info for typedefs. More...
class  clang::UnresolvedUsingTypeLoc
 Wrapper for source info for unresolved typename using decls. More...
class  clang::UsingTypeLoc
 Wrapper for source info for types used via transparent aliases. More...
struct  clang::TagTypeLocInfo
class  clang::TagTypeLoc
class  clang::RecordTypeLoc
 Wrapper for source info for record types. More...
class  clang::EnumTypeLoc
 Wrapper for source info for enum types. More...
class  clang::InjectedClassNameTypeLoc
 Wrapper for source info for injected class names of class templates. 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::SubstPackTypeLoc
 Abstract type representing delayed type pack expansions. More...
class  clang::SubstTemplateTypeParmPackTypeLoc
 Wrapper for substituted template type parameters. More...
class  clang::SubstBuiltinTemplatePackTypeLoc
 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::HLSLInlineSpirvTypeLocInfo
class  clang::HLSLInlineSpirvTypeLoc
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
struct  clang::DeducedTemplateSpecializationLocInfo
class  clang::DeducedTemplateSpecializationTypeLoc
struct  clang::ElaboratedLocInfo
struct  clang::DependentNameLocInfo
class  clang::DependentNameTypeLoc
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
struct  clang::PredefinedSugarTypeLocInfo
class  clang::PredefinedSugarTypeLoc

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)
#define ABSTRACT_TYPE(Class, Base)
#define TYPE(Class, Base)

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 )
Value:
Class = Type::Class,

Definition at line 110 of file TypeLoc.h.

◆ TYPELOC

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

Definition at line 51 of file TypeLoc.h.