|
clang
5.0.0
|
#include "clang/AST/Type.h"#include "clang/AST/ASTContext.h"#include "clang/AST/Attr.h"#include "clang/AST/CharUnits.h"#include "clang/AST/DeclCXX.h"#include "clang/AST/DeclObjC.h"#include "clang/AST/DeclTemplate.h"#include "clang/AST/Expr.h"#include "clang/AST/PrettyPrinter.h"#include "clang/AST/TypeVisitor.h"#include "clang/Basic/Specifiers.h"#include "clang/Basic/TargetInfo.h"#include "llvm/ADT/APSInt.h"#include "llvm/ADT/StringExtras.h"#include <algorithm>#include "clang/AST/TypeNodes.def"#include "clang/Basic/OpenCLImageTypes.def"#include "clang/AST/BuiltinTypes.def"Go to the source code of this file.
Classes | |
| class | clang::TypePropertyCache< Private > |
| The type-property cache. More... | |
Namespaces | |
| clang | |
| /file This file defines classes for searching and anlyzing source code clones. | |
Macros | |
| #define | ABSTRACT_TYPE(Class, Parent) |
| #define | TYPE(Class, Parent) |
| #define | ABSTRACT_TYPE(Class, Parent) |
| #define | TYPE(Class, Parent) |
| #define | ABSTRACT_TYPE(Class, Parent) |
| #define | TYPE(Class, Parent) |
| #define | ABSTRACT_TYPE(Class, Parent) |
| #define | TYPE(Class, Parent) |
| #define | ABSTRACT_TYPE(Class, Parent) |
| #define | TYPE(Class, Parent) |
| #define | TYPE(Class, Base) |
| #define | DEPENDENT_TYPE(Class, Base) QualType Visit##Class##Type(const Class##Type *T) { return QualType(T, 0); } |
| #define | TRIVIAL_TYPE_CLASS(Class) QualType Visit##Class##Type(const Class##Type *T) { return QualType(T, 0); } |
| #define | ABSTRACT_TYPE(Derived, Base) |
| #define | TYPE(Derived, Base) case Derived: return #Derived; |
| #define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) |
| #define | TYPE(Class, Base) |
| #define | NON_CANONICAL_TYPE(Class, Base) case Type::Class: |
| #define | TYPE(Class, Base) |
| #define | DEPENDENT_TYPE(Class, Base) case Type::Class: |
| #define | NON_CANONICAL_UNLESS_DEPENDENT_TYPE(Class, Base) case Type::Class: |
| #define | TYPE(Class, Base) |
| #define | NON_CANONICAL_TYPE(Class, Base) case Type::Class: |
| #define | TYPE(Class, Base) |
| #define | DEPENDENT_TYPE(Class, Base) case Type::Class: |
| #define | NON_CANONICAL_UNLESS_DEPENDENT_TYPE(Class, Base) case Type::Class: |
| #define | NON_CANONICAL_TYPE(Class, Parent) |
| #define | TYPE(Class, Parent) |
| #define | SIGNED_TYPE(Id, SingletonId) case BuiltinType::Id: |
| #define | UNSIGNED_TYPE(Id, SingletonId) case BuiltinType::Id: |
| #define | FLOATING_TYPE(Id, SingletonId) case BuiltinType::Id: |
| #define | BUILTIN_TYPE(Id, SingletonId) |
| #define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) case BuiltinType::Id: |
Typedefs | |
| typedef TypePropertyCache < Private > | Cache |
Functions | |
| template<typename T > | |
| static const T * | getAsSugar (const Type *Cur) |
| This will check for a T (which should be a Type which can act as sugar, such as a TypedefType) by removing any existing sugar until it reaches a T or a non-sugared type. More... | |
| static TagDecl * | getInterestingTagDecl (TagDecl *decl) |
| static CachedProperties | computeCachedProperties (const Type *T) |
| static LinkageInfo | computeLinkageInfo (QualType T) |
| static LinkageInfo | computeLinkageInfo (const Type *T) |
| #define ABSTRACT_TYPE | ( | Class, | |
| Parent | |||
| ) |
| #define ABSTRACT_TYPE | ( | Class, | |
| Parent | |||
| ) |
| #define ABSTRACT_TYPE | ( | Class, | |
| Parent | |||
| ) |
| #define ABSTRACT_TYPE | ( | Class, | |
| Parent | |||
| ) |
| #define ABSTRACT_TYPE | ( | Class, | |
| Parent | |||
| ) |
| #define ABSTRACT_TYPE | ( | Derived, | |
| Base | |||
| ) |
| #define BUILTIN_TYPE | ( | Id, | |
| SingletonId | |||
| ) |
| #define FLOATING_TYPE | ( | Id, | |
| SingletonId | |||
| ) | case BuiltinType::Id: |
| #define IMAGE_TYPE | ( | ImgType, | |
| Id, | |||
| SingletonId, | |||
| Access, | |||
| Suffix | |||
| ) |
| #define IMAGE_TYPE | ( | ImgType, | |
| Id, | |||
| SingletonId, | |||
| Access, | |||
| Suffix | |||
| ) | case BuiltinType::Id: |
| #define NON_CANONICAL_TYPE | ( | Class, | |
| Base | |||
| ) | case Type::Class: |
| #define NON_CANONICAL_TYPE | ( | Class, | |
| Base | |||
| ) | case Type::Class: |
| #define NON_CANONICAL_TYPE | ( | Class, | |
| Parent | |||
| ) |
| #define NON_CANONICAL_UNLESS_DEPENDENT_TYPE | ( | Class, | |
| Base | |||
| ) | case Type::Class: |
| #define NON_CANONICAL_UNLESS_DEPENDENT_TYPE | ( | Class, | |
| Base | |||
| ) | case Type::Class: |
| #define SIGNED_TYPE | ( | Id, | |
| SingletonId | |||
| ) | case BuiltinType::Id: |
| #define TYPE | ( | Class, | |
| Parent | |||
| ) |
| #define TYPE | ( | Class, | |
| Parent | |||
| ) |
| #define TYPE | ( | Class, | |
| Parent | |||
| ) |
| #define TYPE | ( | Class, | |
| Parent | |||
| ) |
| #define TYPE | ( | Class, | |
| Parent | |||
| ) |
| #define UNSIGNED_TYPE | ( | Id, | |
| SingletonId | |||
| ) | case BuiltinType::Id: |
| typedef TypePropertyCache<Private> Cache |
|
static |
Definition at line 3328 of file Type.cpp.
References clang::Auto, clang::ExternalLinkage, clang::MemberPointerType::getClass(), clang::Decl::getDeclContext(), clang::NamedDecl::getLinkageInternal(), clang::MemberPointerType::getPointeeType(), clang::FunctionType::getReturnType(), clang::Type::getTypeClass(), clang::TagDecl::hasNameForLinkage(), clang::DeclContext::isFunctionOrMethod(), clang::Type::isInstantiationDependentType(), and clang::FunctionProtoType::param_types().
Referenced by clang::TypePropertyCache< Private >::ensure().
|
static |
Definition at line 3505 of file Type.cpp.
References clang::QualType::getTypePtr().
Referenced by computeLinkageInfo(), clang::Type::getLinkageAndVisibility(), and clang::Type::isLinkageValid().
|
static |
Definition at line 3433 of file Type.cpp.
References clang::Auto, computeLinkageInfo(), clang::LinkageInfo::external(), clang::MemberPointerType::getClass(), clang::MemberPointerType::getPointeeType(), clang::FunctionType::getReturnType(), clang::Type::getTypeClass(), clang::Type::isInstantiationDependentType(), clang::LinkageInfo::merge(), and clang::FunctionProtoType::param_types().
|
static |
This will check for a T (which should be a Type which can act as sugar, such as a TypedefType) by removing any existing sugar until it reaches a T or a non-sugared type.
Definition at line 307 of file Type.cpp.
References clang::Type::getTypeClass().
Definition at line 2977 of file Type.cpp.
References clang::ast_matchers::decl, and clang::Redeclarable< decl_type >::redecls().
Referenced by clang::TagType::getDecl(), and clang::InjectedClassNameType::getDecl().
1.8.6