clang  6.0.0svn
Classes | Namespaces | Macros
TypeLoc.h File Reference

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

#include "clang/AST/Decl.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.def"
Include dependency graph for TypeLoc.h:
This graph shows which files directly or indirectly include this file:

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::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::ObjCObjectTypeLocInfo
 
class  clang::ObjCObjectTypeLoc
 
struct  clang::ObjCInterfaceLocInfo
 
class  clang::ObjCInterfaceTypeLoc
 Wrapper for source info for ObjC interfaces. More...
 
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::IncompleteArrayTypeLoc
 
class  clang::DependentSizedArrayTypeLoc
 
class  clang::VariableArrayTypeLoc
 
struct  clang::TemplateNameLocInfo
 
struct  clang::TemplateSpecializationLocInfo
 
class  clang::TemplateSpecializationTypeLoc
 
struct  clang::DependentAddressSpaceLocInfo
 
class  clang::DependentAddressSpaceTypeLoc
 
class  clang::VectorTypeLoc
 
class  clang::ExtVectorTypeLoc
 
class  clang::DependentSizedExtVectorTypeLoc
 
class  clang::ComplexTypeLoc
 
struct  clang::TypeofLocInfo
 
struct  clang::TypeOfExprTypeLocInfo
 
struct  clang::TypeOfTypeLocInfo
 
class  clang::TypeofLikeTypeLoc< Derived, TypeClass, LocalData >
 
class  clang::TypeOfExprTypeLoc
 
class  clang::TypeOfTypeLoc
 
class  clang::DecltypeTypeLoc
 
struct  clang::UnaryTransformTypeLocInfo
 
class  clang::UnaryTransformTypeLoc
 
class  clang::DeducedTypeLoc
 
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
 

Namespaces

 clang
 Dataflow Directional Tag Classes.
 

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 106 of file TypeLoc.h.

◆ ABSTRACT_TYPELOC

#define ABSTRACT_TYPELOC (   Class,
  Base 
)

Definition at line 47 of file TypeLoc.h.

◆ TYPE

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

Definition at line 107 of file TypeLoc.h.

◆ TYPELOC

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

Definition at line 48 of file TypeLoc.h.