#include #include #include #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"">

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/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.

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)
#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)
Variables
static const unsigned TypeLocMaxDataAlign = alignof(void *)

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