clang  6.0.0svn
Macros | Variables
TypeLoc.cpp File Reference
#include "clang/AST/TypeLoc.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Expr.h"
#include "clang/AST/NestedNameSpecifier.h"
#include "clang/AST/TemplateBase.h"
#include "clang/AST/TemplateName.h"
#include "clang/AST/TypeLocVisitor.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/Specifiers.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include <algorithm>
#include <cassert>
#include <cstdint>
#include <cstring>
#include "clang/AST/TypeLocNodes.def"
#include "clang/Basic/OpenCLImageTypes.def"
Include dependency graph for TypeLoc.cpp:

Go to the source code of this file.

Macros

#define ABSTRACT_TYPELOC(CLASS, PARENT)
 
#define TYPELOC(CLASS, PARENT)
 
#define ABSTRACT_TYPELOC(CLASS, PARENT)
 
#define TYPELOC(CLASS, PARENT)
 
#define ABSTRACT_TYPELOC(CLASS, PARENT)
 
#define TYPELOC(CLASS, PARENT)
 
#define ABSTRACT_TYPELOC(CLASS, PARENT)
 
#define TYPELOC(CLASS, PARENT)
 
#define ABSTRACT_TYPELOC(CLASS, PARENT)
 
#define TYPELOC(CLASS, PARENT)
 
#define ABSTRACT_TYPELOC(CLASS, PARENT)
 
#define TYPELOC(CLASS, PARENT)
 
#define ABSTRACT_TYPELOC(CLASS, PARENT)
 
#define TYPELOC(CLASS, PARENT)
 
#define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix)   case BuiltinType::Id:
 

Variables

static const unsigned TypeLocMaxDataAlign = alignof(void *)
 

Macro Definition Documentation

◆ ABSTRACT_TYPELOC [1/7]

#define ABSTRACT_TYPELOC (   CLASS,
  PARENT 
)

Definition at line 274 of file TypeLoc.cpp.

◆ ABSTRACT_TYPELOC [2/7]

#define ABSTRACT_TYPELOC (   CLASS,
  PARENT 
)

Definition at line 274 of file TypeLoc.cpp.

◆ ABSTRACT_TYPELOC [3/7]

#define ABSTRACT_TYPELOC (   CLASS,
  PARENT 
)

Definition at line 274 of file TypeLoc.cpp.

◆ ABSTRACT_TYPELOC [4/7]

#define ABSTRACT_TYPELOC (   CLASS,
  PARENT 
)

Definition at line 274 of file TypeLoc.cpp.

◆ ABSTRACT_TYPELOC [5/7]

#define ABSTRACT_TYPELOC (   CLASS,
  PARENT 
)

Definition at line 274 of file TypeLoc.cpp.

◆ ABSTRACT_TYPELOC [6/7]

#define ABSTRACT_TYPELOC (   CLASS,
  PARENT 
)

Definition at line 274 of file TypeLoc.cpp.

◆ ABSTRACT_TYPELOC [7/7]

#define ABSTRACT_TYPELOC (   CLASS,
  PARENT 
)

Definition at line 274 of file TypeLoc.cpp.

◆ IMAGE_TYPE

#define IMAGE_TYPE (   ImgType,
  Id,
  SingletonId,
  Access,
  Suffix 
)    case BuiltinType::Id:

◆ TYPELOC [1/7]

#define TYPELOC (   CLASS,
  PARENT 
)
Value:
SourceRange Visit##CLASS##TypeLoc(CLASS##TypeLoc TyLoc) { \
return TyLoc.getLocalSourceRange(); \
}
Base wrapper for a particular "section" of type source info.
Definition: TypeLoc.h:56
SourceRange getLocalSourceRange() const
Get the local source range.
Definition: TypeLoc.h:158
A trivial tuple used to represent a source range.

Definition at line 275 of file TypeLoc.cpp.

◆ TYPELOC [2/7]

#define TYPELOC (   CLASS,
  PARENT 
)
Value:
unsigned Visit##CLASS##TypeLoc(CLASS##TypeLoc TyLoc) { \
return TyLoc.getLocalDataAlignment(); \
}
Base wrapper for a particular "section" of type source info.
Definition: TypeLoc.h:56

Definition at line 275 of file TypeLoc.cpp.

◆ TYPELOC [3/7]

#define TYPELOC (   CLASS,
  PARENT 
)
Value:
unsigned Visit##CLASS##TypeLoc(CLASS##TypeLoc TyLoc) { \
return TyLoc.getLocalDataSize(); \
}
Base wrapper for a particular "section" of type source info.
Definition: TypeLoc.h:56

Definition at line 275 of file TypeLoc.cpp.

◆ TYPELOC [4/7]

#define TYPELOC (   CLASS,
  PARENT 
)
Value:
TypeLoc Visit##CLASS##TypeLoc(CLASS##TypeLoc TyLoc) { \
return TyLoc.getNextTypeLoc(); \
}
TypeLoc getNextTypeLoc() const
Get the next TypeLoc pointed by this TypeLoc, e.g for "int*" the TypeLoc is a PointerLoc and next Typ...
Definition: TypeLoc.h:169
Base wrapper for a particular "section" of type source info.
Definition: TypeLoc.h:56

Definition at line 275 of file TypeLoc.cpp.

◆ TYPELOC [5/7]

#define TYPELOC (   CLASS,
  PARENT 
)
Value:
case CLASS: { \
CLASS##TypeLoc TLCasted = TL.castAs<CLASS##TypeLoc>(); \
TLCasted.initializeLocal(Context, Loc); \
TL = TLCasted.getNextTypeLoc(); \
if (!TL) return; \
continue; \
}
TypeLoc getNextTypeLoc() const
Get the next TypeLoc pointed by this TypeLoc, e.g for "int*" the TypeLoc is a PointerLoc and next Typ...
Definition: TypeLoc.h:169
Base wrapper for a particular "section" of type source info.
Definition: TypeLoc.h:56
T castAs() const
Convert to the specified TypeLoc type, asserting that this TypeLoc is of the desired type...
Definition: TypeLoc.h:75

Definition at line 275 of file TypeLoc.cpp.

◆ TYPELOC [6/7]

#define TYPELOC (   CLASS,
  PARENT 
)
Value:
void Visit##CLASS##TypeLoc(CLASS##TypeLoc dest) { \
dest.copyLocal(Source.castAs<CLASS##TypeLoc>()); \
}
Base wrapper for a particular "section" of type source info.
Definition: TypeLoc.h:56

Definition at line 275 of file TypeLoc.cpp.

◆ TYPELOC [7/7]

#define TYPELOC (   CLASS,
  PARENT 
)
Value:
bool Visit##CLASS##TypeLoc(CLASS##TypeLoc TyLoc) { \
return isTypeSpec(TyLoc); \
}
Base wrapper for a particular "section" of type source info.
Definition: TypeLoc.h:56

Definition at line 275 of file TypeLoc.cpp.

Variable Documentation

◆ TypeLocMaxDataAlign

const unsigned TypeLocMaxDataAlign = alignof(void *)
static

Definition at line 32 of file TypeLoc.cpp.

Referenced by clang::TypeLoc::copy().