#include "clang/AST/TypeLoc.h"
#include "clang/AST/ASTConcept.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Attr.h"
#include "clang/AST/DeclTemplate.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/ADT/SmallVector.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/AArch64ACLETypes.def"
#include "clang/Basic/PPCTypes.def"
#include "clang/Basic/RISCVVTypes.def"
#include "clang/Basic/WebAssemblyReferenceTypes.def"
#include "clang/Basic/AMDGPUTypes.def"
#include "clang/Basic/HLSLIntangibleTypes.def"
Go to the source code of this file.
|
#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) |
#define | EXT_OPAQUE_TYPE(ExtType, Id, Ext) |
#define | SVE_TYPE(Name, Id, SingletonId) |
#define | PPC_VECTOR_TYPE(Name, Id, Size) |
#define | RVV_TYPE(Name, Id, SingletonId) |
#define | WASM_TYPE(Name, Id, SingletonId) |
#define | AMDGPU_TYPE(Name, Id, SingletonId, Width, Align) |
#define | HLSL_INTANGIBLE_TYPE(Name, Id, SingletonId) |
â ABSTRACT_TYPELOC [1/7]
#define ABSTRACT_TYPELOC |
( |
| CLASS, |
|
|
| PARENT ) |
â ABSTRACT_TYPELOC [2/7]
#define ABSTRACT_TYPELOC |
( |
| CLASS, |
|
|
| PARENT ) |
â ABSTRACT_TYPELOC [3/7]
#define ABSTRACT_TYPELOC |
( |
| CLASS, |
|
|
| PARENT ) |
â ABSTRACT_TYPELOC [4/7]
#define ABSTRACT_TYPELOC |
( |
| CLASS, |
|
|
| PARENT ) |
â ABSTRACT_TYPELOC [5/7]
#define ABSTRACT_TYPELOC |
( |
| CLASS, |
|
|
| PARENT ) |
â ABSTRACT_TYPELOC [6/7]
#define ABSTRACT_TYPELOC |
( |
| CLASS, |
|
|
| PARENT ) |
â ABSTRACT_TYPELOC [7/7]
#define ABSTRACT_TYPELOC |
( |
| CLASS, |
|
|
| PARENT ) |
â AMDGPU_TYPE
#define AMDGPU_TYPE |
( |
| Name, |
|
|
| Id, |
|
|
| SingletonId, |
|
|
| Width, |
|
|
| Align ) |
â EXT_OPAQUE_TYPE
#define EXT_OPAQUE_TYPE |
( |
| ExtType, |
|
|
| Id, |
|
|
| Ext ) |
â HLSL_INTANGIBLE_TYPE
#define HLSL_INTANGIBLE_TYPE |
( |
| Name, |
|
|
| Id, |
|
|
| SingletonId ) |
â IMAGE_TYPE
#define IMAGE_TYPE |
( |
| ImgType, |
|
|
| Id, |
|
|
| SingletonId, |
|
|
| Access, |
|
|
| Suffix ) |
â PPC_VECTOR_TYPE
#define PPC_VECTOR_TYPE |
( |
| Name, |
|
|
| Id, |
|
|
| Size ) |
â RVV_TYPE
#define RVV_TYPE |
( |
| Name, |
|
|
| Id, |
|
|
| SingletonId ) |
â SVE_TYPE
#define SVE_TYPE |
( |
| Name, |
|
|
| Id, |
|
|
| SingletonId ) |
â TYPELOC [1/7]
#define TYPELOC |
( |
| CLASS, |
|
|
| PARENT ) |
Value:
}
A trivial tuple used to represent a source range.
Base wrapper for a particular "section" of type source info.
SourceRange getLocalSourceRange() const
Get the local source range.
Definition at line 46 of file TypeLoc.cpp.
â TYPELOC [2/7]
#define TYPELOC |
( |
| CLASS, |
|
|
| PARENT ) |
Value:
return TyLoc.getLocalDataAlignment(); \
}
Definition at line 46 of file TypeLoc.cpp.
â TYPELOC [3/7]
#define TYPELOC |
( |
| CLASS, |
|
|
| PARENT ) |
Value:
return TyLoc.getLocalDataSize(); \
}
Definition at line 46 of file TypeLoc.cpp.
â TYPELOC [4/7]
#define TYPELOC |
( |
| CLASS, |
|
|
| PARENT ) |
Value:
}
TypeLoc getNextTypeLoc() const
Get the next TypeLoc pointed by this TypeLoc, e.g for "int*" the TypeLoc is a PointerLoc and next Typ...
Definition at line 46 of file TypeLoc.cpp.
â TYPELOC [5/7]
#define TYPELOC |
( |
| CLASS, |
|
|
| PARENT ) |
Value: case CLASS: { \
TLCasted.initializeLocal(Context, Loc); \
if (!TL) return; \
continue; \
}
T castAs() const
Convert to the specified TypeLoc type, asserting that this TypeLoc is of the desired type.
Definition at line 46 of file TypeLoc.cpp.
â TYPELOC [6/7]
#define TYPELOC |
( |
| CLASS, |
|
|
| PARENT ) |
Value:
dest.copyLocal(Source.castAs<CLASS##
TypeLoc>()); \
}
Definition at line 46 of file TypeLoc.cpp.
â TYPELOC [7/7]
#define TYPELOC |
( |
| CLASS, |
|
|
| PARENT ) |
Value:
return isTypeSpec(TyLoc); \
}
Definition at line 46 of file TypeLoc.cpp.
â WASM_TYPE
#define WASM_TYPE |
( |
| Name, |
|
|
| Id, |
|
|
| SingletonId ) |
â createTrivialConceptReference()
â initializeElaboratedKeyword()
â initializeQualifier()
â TypeLocMaxDataAlign
const unsigned TypeLocMaxDataAlign = alignof(void *) |
|
static |