clang 10.0.0git

Macros | Variables
TypeLoc.cpp File Reference
`#include "clang/AST/TypeLoc.h"`
`#include "clang/AST/DeclTemplate.h"`
`#include "clang/AST/ASTContext.h"`
`#include "clang/AST/Attr.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 "clang/Basic/OpenCLExtensionTypes.def"`
`#include "clang/Basic/AArch64SVEACLETypes.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:
#define | EXT_OPAQUE_TYPE(ExtType, Id, Ext) case BuiltinType::Id:
#define | SVE_TYPE(Name, Id, SingletonId) 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 275 of file TypeLoc.cpp.

## ◆ ABSTRACT_TYPELOC [2/7]

#define ABSTRACT_TYPELOC | ( |  | CLASS,
|  |  | PARENT
| ) |  |

Definition at line 275 of file TypeLoc.cpp.

## ◆ ABSTRACT_TYPELOC [3/7]

#define ABSTRACT_TYPELOC | ( |  | CLASS,
|  |  | PARENT
| ) |  |

Definition at line 275 of file TypeLoc.cpp.

## ◆ ABSTRACT_TYPELOC [4/7]

#define ABSTRACT_TYPELOC | ( |  | CLASS,
|  |  | PARENT
| ) |  |

Definition at line 275 of file TypeLoc.cpp.

## ◆ ABSTRACT_TYPELOC [5/7]

#define ABSTRACT_TYPELOC | ( |  | CLASS,
|  |  | PARENT
| ) |  |

Definition at line 275 of file TypeLoc.cpp.

## ◆ ABSTRACT_TYPELOC [6/7]

#define ABSTRACT_TYPELOC | ( |  | CLASS,
|  |  | PARENT
| ) |  |

Definition at line 275 of file TypeLoc.cpp.

## ◆ ABSTRACT_TYPELOC [7/7]

#define ABSTRACT_TYPELOC | ( |  | CLASS,
|  |  | PARENT
| ) |  |

Definition at line 275 of file TypeLoc.cpp.

## ◆ EXT_OPAQUE_TYPE

#define EXT_OPAQUE_TYPE | ( |  | ExtType,
|  |  | Id,
|  |  | Ext
| ) |  | case BuiltinType::Id:

## ◆ IMAGE_TYPE

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

## ◆ SVE_TYPE

#define SVE_TYPE | ( |  | Name,
|  |  | Id,
|  |  | SingletonId
| ) |  | case BuiltinType::Id:

## ◆ TYPELOC [1/7]

#define TYPELOC | ( |  | CLASS,
|  |  | PARENT
| ) |  |

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

Definition at line 276 of file TypeLoc.cpp.

## ◆ TYPELOC [2/7]

#define TYPELOC | ( |  | CLASS,
|  |  | PARENT
| ) |  |

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

Definition at line 276 of file TypeLoc.cpp.

## ◆ TYPELOC [3/7]

#define TYPELOC | ( |  | CLASS,
|  |  | PARENT
| ) |  |

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

Definition at line 276 of file TypeLoc.cpp.

## ◆ TYPELOC [4/7]

#define TYPELOC | ( |  | CLASS,
|  |  | PARENT
| ) |  |

Value:
TypeLoc Visit##CLASS##TypeLoc(CLASS##TypeLoc TyLoc) { \
return TyLoc.getNextTypeLoc(); \
}
clang::TypeLoc::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
clang::TypeLoc
Base wrapper for a particular "section" of type source info.
Definition: TypeLoc.h:58

Definition at line 276 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; \
}
clang::TypeLoc::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
clang::TypeLoc
Base wrapper for a particular "section" of type source info.
Definition: TypeLoc.h:58
clang::TypeLoc::castAs
T castAs() const
Convert to the specified TypeLoc type, asserting that this TypeLoc is of the desired type...
Definition: TypeLoc.h:77

Definition at line 276 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>()); \
}
clang::TypeLoc
Base wrapper for a particular "section" of type source info.
Definition: TypeLoc.h:58

Definition at line 276 of file TypeLoc.cpp.

## ◆ TYPELOC [7/7]

#define TYPELOC | ( |  | CLASS,
|  |  | PARENT
| ) |  |

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

Definition at line 276 of file TypeLoc.cpp.

## Variable Documentation

## ◆ TypeLocMaxDataAlign

const unsigned TypeLocMaxDataAlign = alignof(void *)
| static

Definition at line 33 of file TypeLoc.cpp.

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