|
clang 22.0.0git
|
#include "clang/AST/ASTContext.h"#include "clang/AST/Attr.h"#include "clang/AST/Decl.h"#include "clang/AST/DeclBase.h"#include "clang/AST/DeclCXX.h"#include "clang/AST/DeclObjC.h"#include "clang/AST/DeclTemplate.h"#include "clang/AST/Expr.h"#include "clang/AST/NestedNameSpecifier.h"#include "clang/AST/PrettyPrinter.h"#include "clang/AST/TemplateBase.h"#include "clang/AST/TemplateName.h"#include "clang/AST/Type.h"#include "clang/Basic/AddressSpaces.h"#include "clang/Basic/AttrKinds.h"#include "clang/Basic/ExceptionSpecificationType.h"#include "clang/Basic/IdentifierTable.h"#include "clang/Basic/LLVM.h"#include "clang/Basic/LangOptions.h"#include "clang/Basic/SourceLocation.h"#include "clang/Basic/SourceManager.h"#include "clang/Basic/Specifiers.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/SmallString.h"#include "llvm/ADT/StringRef.h"#include "llvm/ADT/Twine.h"#include "llvm/Support/Compiler.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/SaveAndRestore.h"#include "llvm/Support/raw_ostream.h"#include <cassert>#include <string>#include "clang/AST/TypeNodes.inc"#include "clang/Basic/TransformTypeTraits.def"#include "clang/Basic/AttrList.inc"Go to the source code of this file.
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 | CC_VLS_CASE(ABI_VLEN) |
| #define | TRANSFORM_TYPE_TRAIT_DEF(Enum, Trait) |
| #define | TYPE_ATTR(NAME) |
| #define | DECL_OR_TYPE_ATTR(NAME) |
| #define | ATTR(NAME) |
Functions | |
| static void | AppendTypeQualList (raw_ostream &OS, unsigned TypeQuals, bool HasRestrictKeyword) |
| static SplitQualType | splitAccordingToPolicy (QualType QT, const PrintingPolicy &Policy) |
| static QualType | skipTopLevelReferences (QualType T) |
| static void | printDims (const ConstantMatrixType *T, raw_ostream &OS) |
| static void | printHLSLMatrixBefore (TypePrinter &TP, const ConstantMatrixType *T, raw_ostream &OS) |
| static void | printHLSLMatrixAfter (const ConstantMatrixType *T, raw_ostream &OS) |
| static void | printClangMatrixBefore (TypePrinter &TP, const ConstantMatrixType *T, raw_ostream &OS) |
| static void | printCountAttributedImpl (const CountAttributedType *T, raw_ostream &OS, const PrintingPolicy &Policy) |
| static const TemplateArgument & | getArgument (const TemplateArgument &A) |
| static const TemplateArgument & | getArgument (const TemplateArgumentLoc &A) |
| static void | printArgument (const TemplateArgument &A, const PrintingPolicy &PP, llvm::raw_ostream &OS, bool IncludeType) |
| static void | printArgument (const TemplateArgumentLoc &A, const PrintingPolicy &PP, llvm::raw_ostream &OS, bool IncludeType) |
| static bool | isSubstitutedTemplateArgument (ASTContext &Ctx, TemplateArgument Arg, TemplateArgument Pattern, ArrayRef< TemplateArgument > Args, unsigned Depth) |
| static bool | isSubstitutedType (ASTContext &Ctx, QualType T, QualType Pattern, ArrayRef< TemplateArgument > Args, unsigned Depth) |
| static bool | templateArgumentExpressionsEqual (ASTContext const &Ctx, TemplateArgument const &Pattern, TemplateArgument const &Arg) |
| Evaluates the expression template argument 'Pattern' and returns true if 'Arg' evaluates to the same result. | |
| template<typename TA> | |
| static void | printTo (raw_ostream &OS, ArrayRef< TA > Args, const PrintingPolicy &Policy, const TemplateParameterList *TPL, bool IsPack, unsigned ParmIndex) |
| #define ABSTRACT_TYPE | ( | CLASS, | |
| PARENT ) |
Definition at line 138 of file TypePrinter.cpp.
| #define ABSTRACT_TYPE | ( | CLASS, | |
| PARENT ) |
Definition at line 138 of file TypePrinter.cpp.
| #define ABSTRACT_TYPE | ( | CLASS, | |
| PARENT ) |
Definition at line 138 of file TypePrinter.cpp.
| #define ATTR | ( | NAME | ) |
| #define CC_VLS_CASE | ( | ABI_VLEN | ) |
| #define DECL_OR_TYPE_ATTR | ( | NAME | ) |
| #define TRANSFORM_TYPE_TRAIT_DEF | ( | Enum, | |
| Trait ) |
| #define TYPE | ( | CLASS, | |
| PARENT ) |
Definition at line 139 of file TypePrinter.cpp.
| #define TYPE | ( | CLASS, | |
| PARENT ) |
Definition at line 139 of file TypePrinter.cpp.
| #define TYPE | ( | CLASS, | |
| PARENT ) |
Definition at line 139 of file TypePrinter.cpp.
| #define TYPE_ATTR | ( | NAME | ) |
Definition at line 151 of file TypePrinter.cpp.
References clang::Qualifiers::Const, clang::Qualifiers::Restrict, and clang::Qualifiers::Volatile.
Referenced by clang::Qualifiers::print().
|
static |
Definition at line 2366 of file TypePrinter.cpp.
Referenced by clang::Sema::CheckTemplateArgumentList(), clang::NormalizedConstraint::hasMatchingParameterMapping(), clang::Sema::MarkUsedTemplateParameters(), and printTo().
|
static |
Definition at line 2368 of file TypePrinter.cpp.
References clang::TemplateArgumentLoc::getArgument().
|
static |
Definition at line 2487 of file TypePrinter.cpp.
References clang::TemplateArgument::Expression, clang::TemplateArgument::getAsExpr(), clang::TemplateArgument::getAsTemplate(), clang::TemplateName::getAsTemplateDecl(), clang::TemplateArgument::getAsType(), clang::ASTContext::getCanonicalTemplateArgument(), clang::TemplateArgument::getKind(), clang::Expr::IgnoreParenImpCasts(), isSubstitutedType(), clang::TemplateArgument::structurallyEquals(), clang::TemplateArgument::Template, templateArgumentExpressionsEqual(), and clang::TemplateArgument::Type.
Referenced by isSubstitutedType().
|
static |
Definition at line 2391 of file TypePrinter.cpp.
References clang::Type::getAs(), clang::Type::getAsCanonical(), clang::QualType::getCanonicalType(), clang::Type::getPointeeType(), clang::ASTContext::getQualifiedType(), clang::QualType::getQualifiers(), clang::Type::getTypeClass(), clang::ASTContext::getUnqualifiedArrayType(), clang::ASTContext::hasSameType(), clang::QualType::isNull(), isSubstitutedTemplateArgument(), isSubstitutedType(), clang::T, clang::Template, clang::TemplateName, and clang::TemplateArgument::Type.
Referenced by isSubstitutedTemplateArgument(), and isSubstitutedType().
|
static |
Definition at line 2372 of file TypePrinter.cpp.
References clang::TemplateArgument::print().
Referenced by printTo().
|
static |
Definition at line 2377 of file TypePrinter.cpp.
References clang::TemplateArgumentLoc::getArgument(), clang::TemplateArgument::getKind(), clang::TypeSourceInfo::getType(), clang::TemplateArgumentLoc::getTypeSourceInfo(), clang::QualType::print(), clang::TemplateArgument::print(), and clang::TemplateArgument::Type.
|
static |
Definition at line 865 of file TypePrinter.cpp.
References printDims(), and clang::T.
|
static |
Definition at line 1878 of file TypePrinter.cpp.
References clang::T.
|
static |
Definition at line 849 of file TypePrinter.cpp.
References clang::T.
Referenced by printClangMatrixBefore(), and printHLSLMatrixAfter().
|
static |
Definition at line 859 of file TypePrinter.cpp.
References printDims(), and clang::T.
|
static |
Definition at line 853 of file TypePrinter.cpp.
References clang::T.
|
static |
Definition at line 2554 of file TypePrinter.cpp.
References getArgument(), clang::TemplateArgument::getKind(), clang::TemplateArgument::getPackAsArray(), clang::PrintingPolicy::MSVCFormatting, clang::TemplateArgument::Pack, clang::TemplateArgument::pack_size(), printArgument(), clang::PrintingPolicy::PrintAsCanonical, printTo(), clang::TemplateParameterList::shouldIncludeTypeForArgument(), clang::TemplateParameterList::size(), clang::PrintingPolicy::SplitTemplateClosers, and clang::PrintingPolicy::SuppressDefaultTemplateArgs.
Referenced by printTo().
Definition at line 441 of file TypePrinter.cpp.
References skipTopLevelReferences(), and clang::T.
Referenced by skipTopLevelReferences().
|
static |
Definition at line 178 of file TypePrinter.cpp.
References clang::QualType::getCanonicalType(), clang::PrintingPolicy::PrintAsCanonical, and clang::QualType::split().
Referenced by clang::QualType::getAsStringInternal(), and clang::QualType::print().
|
static |
Evaluates the expression template argument 'Pattern' and returns true if 'Arg' evaluates to the same result.
Definition at line 2459 of file TypePrinter.cpp.
References clang::Expr::EvaluateKnownConstInt(), clang::TemplateArgument::Expression, clang::TemplateArgument::getAsExpr(), clang::TemplateArgument::getAsIntegral(), clang::TemplateArgument::getKind(), clang::TemplateArgument::Integral, clang::Expr::isIntegerConstantExpr(), and clang::Expr::isValueDependent().
Referenced by isSubstitutedTemplateArgument().