clang API Documentation

Classes | Namespaces | Defines
TypeLoc.h File Reference

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

#include "clang/AST/Decl.h"
#include "clang/AST/TemplateBase.h"
#include "clang/AST/Type.h"
#include "clang/Basic/Specifiers.h"
#include "llvm/Support/Compiler.h"
#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 >
struct  clang::ConcreteTypeLoc< Base, Derived, TypeClass, LocalData >::HasNoInnerType
class  clang::InheritingConcreteTypeLoc< Base, Derived, TypeClass >
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. Note that this only records source info for the name itself; a type written 'struct foo' should be represented as an ElaboratedTypeLoc. We currently only do that when C++ is enabled because of the expense of creating an ElaboratedType node for so many type references in C. 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...
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::ObjCProtocolListLocInfo
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
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::AutoTypeLoc
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

Namespaces

namespace  clang

Defines

#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.


Define Documentation

#define ABSTRACT_TYPE (   Class,
  Base 
)

Definition at line 77 of file TypeLoc.h.

#define ABSTRACT_TYPELOC (   Class,
  Base 
)

Definition at line 31 of file TypeLoc.h.

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

Definition at line 78 of file TypeLoc.h.

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

Definition at line 32 of file TypeLoc.h.