#include #include #include #include "clang/AST/TypeLocNodes.def" #include "clang/Basic/OpenCLImageTypes.def" #include "clang/Basic/OpenCLExtensionTypes.def" #include "clang/Basic/AArch64SVEACLETypes.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"">

clang: lib/AST/TypeLoc.cpp File Reference (original) (raw)

#include "[clang/AST/TypeLoc.h](TypeLoc%5F8h%5Fsource.html)"
#include "[clang/AST/ASTConcept.h](ASTConcept%5F8h%5Fsource.html)"
#include "[clang/AST/ASTContext.h](ASTContext%5F8h%5Fsource.html)"
#include "[clang/AST/Attr.h](AST%5F2Attr%5F8h%5Fsource.html)"
#include "[clang/AST/DeclTemplate.h](DeclTemplate%5F8h%5Fsource.html)"
#include "[clang/AST/Expr.h](Expr%5F8h%5Fsource.html)"
#include "[clang/AST/NestedNameSpecifier.h](NestedNameSpecifier%5F8h%5Fsource.html)"
#include "[clang/AST/TemplateBase.h](TemplateBase%5F8h%5Fsource.html)"
#include "[clang/AST/TemplateName.h](TemplateName%5F8h%5Fsource.html)"
#include "[clang/AST/TypeLocVisitor.h](TypeLocVisitor%5F8h%5Fsource.html)"
#include "[clang/Basic/SourceLocation.h](SourceLocation%5F8h%5Fsource.html)"
#include "[clang/Basic/Specifiers.h](Specifiers%5F8h%5Fsource.html)"
#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 "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.

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:
#define PPC_VECTOR_TYPE(Name, Id, Size) case BuiltinType::Id:
#define RVV_TYPE(Name, Id, SingletonId) case BuiltinType::Id:
#define WASM_TYPE(Name, Id, SingletonId) case BuiltinType::Id:
#define AMDGPU_TYPE(Name, Id, SingletonId, Width, Align) case BuiltinType::Id:
#define HLSL_INTANGIBLE_TYPE(Name, Id, SingletonId) case BuiltinType::Id:

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 | | | | | ) | case BuiltinType::Id: | | |

EXT_OPAQUE_TYPE

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

HLSL_INTANGIBLE_TYPE

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

IMAGE_TYPE

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

PPC_VECTOR_TYPE

| #define PPC_VECTOR_TYPE | ( | | Name, | | --------------------------------------------------------------- | --------------------- | | ----- | | | Id, | | | | | | Size | | | | | ) | case BuiltinType::Id: | | |

RVV_TYPE

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

SVE_TYPE

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

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 292 of file TypeLoc.cpp.

TYPELOC [2/7]

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

Value:

return TyLoc.getLocalDataAlignment(); \

}

Definition at line 292 of file TypeLoc.cpp.

TYPELOC [3/7]

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

Value:

return TyLoc.getLocalDataSize(); \

}

Definition at line 292 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 292 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 292 of file TypeLoc.cpp.

TYPELOC [6/7]

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

TYPELOC [7/7]

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

Value:

return isTypeSpec(TyLoc); \

}

Definition at line 292 of file TypeLoc.cpp.

WASM_TYPE

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

createTrivialConceptReference()

TypeLocMaxDataAlign

const unsigned TypeLocMaxDataAlign = alignof(void *) static