Lines Matching refs:TYPELOC
1 //===--- TypeLoc.cpp - Type Source Info Wrapper -----------------*- C++ -*-===//
10 // This file defines the TypeLoc subclasses implementations.
21 // TypeLoc Implementation
28 #define TYPELOC(CLASS, PARENT) \
29 SourceRange Visit##CLASS##TypeLoc(CLASS##TypeLoc TyLoc) { \
36 SourceRange TypeLoc::getLocalSourceRangeImpl(TypeLoc TL) {
45 #define TYPELOC(CLASS, PARENT) \
46 unsigned Visit##CLASS##TypeLoc(CLASS##TypeLoc TyLoc) { \
54 unsigned TypeLoc::getFullDataSizeForType(QualType Ty) {
56 return TypeSizer().Visit(TypeLoc(Ty, 0));
60 class NextLoc : public TypeLocVisitor<NextLoc, TypeLoc> {
63 #define TYPELOC(CLASS, PARENT) \
64 TypeLoc Visit##CLASS##TypeLoc(CLASS##TypeLoc TyLoc) { \
71 /// \brief Get the next TypeLoc pointed by this TypeLoc, e.g for "int*" the
72 /// TypeLoc is a PointerLoc and next TypeLoc is for "int".
73 TypeLoc TypeLoc::getNextTypeLocImpl(TypeLoc TL) {
80 void TypeLoc::initializeImpl(ASTContext &Context, TypeLoc TL,
85 #define TYPELOC(CLASS, PARENT) \
87 CLASS##TypeLoc TLCasted = cast<CLASS##TypeLoc>(TL); \
98 SourceLocation TypeLoc::getBeginLoc() const {
99 TypeLoc Cur = *this;
109 TypeLoc Next = Cur.getNextTypeLoc();
119 SourceLocation TypeLoc::getEndLoc() const {
120 TypeLoc Cur = *this;
121 TypeLoc Last;
159 static bool isTypeSpec(TypeLoc _) { return false; }
162 #define TYPELOC(CLASS, PARENT) \
163 bool Visit##CLASS##TypeLoc(CLASS##TypeLoc TyLoc) { \
179 bool TypeSpecTypeLoc::classof(const TypeLoc *TL) {
249 TypeLoc TypeLoc::IgnoreParensImpl(TypeLoc TL) {