clang  6.0.0svn
Macros | Functions
TypePrinter.cpp File Reference
#include "clang/AST/PrettyPrinter.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/Expr.h"
#include "clang/AST/Type.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/SourceManager.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/SaveAndRestore.h"
#include "llvm/Support/raw_ostream.h"
#include "clang/AST/TypeNodes.def"
Include dependency graph for TypePrinter.cpp:

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)
 

Functions

static void AppendTypeQualList (raw_ostream &OS, unsigned TypeQuals, bool HasRestrictKeyword)
 
static const TemplateArgumentgetArgument (const TemplateArgument &A)
 
static const TemplateArgumentgetArgument (const TemplateArgumentLoc &A)
 
template<typename TA >
static void printTo (raw_ostream &OS, ArrayRef< TA > Args, const PrintingPolicy &Policy, bool SkipBrackets)
 

Macro Definition Documentation

◆ ABSTRACT_TYPE [1/3]

#define ABSTRACT_TYPE (   CLASS,
  PARENT 
)

Definition at line 108 of file TypePrinter.cpp.

◆ ABSTRACT_TYPE [2/3]

#define ABSTRACT_TYPE (   CLASS,
  PARENT 
)

Definition at line 108 of file TypePrinter.cpp.

◆ ABSTRACT_TYPE [3/3]

#define ABSTRACT_TYPE (   CLASS,
  PARENT 
)

Definition at line 108 of file TypePrinter.cpp.

◆ TYPE [1/3]

#define TYPE (   CLASS,
  PARENT 
)
Value:
void print##CLASS##Before(const CLASS##Type *T, raw_ostream &OS); \
void print##CLASS##After(const CLASS##Type *T, raw_ostream &OS);
The base class of the type hierarchy.
Definition: Type.h:1353
Like System, but searched after the system directories.
const FunctionProtoType * T

Definition at line 109 of file TypePrinter.cpp.

◆ TYPE [2/3]

#define TYPE (   CLASS,
  PARENT 
)
Value:
case Type::CLASS: \
print##CLASS##Before(cast<CLASS##Type>(T), OS); \
break;
const FunctionProtoType * T

Definition at line 109 of file TypePrinter.cpp.

◆ TYPE [3/3]

#define TYPE (   CLASS,
  PARENT 
)
Value:
case Type::CLASS: \
print##CLASS##After(cast<CLASS##Type>(T), OS); \
break;
Like System, but searched after the system directories.
const FunctionProtoType * T

Definition at line 109 of file TypePrinter.cpp.

Function Documentation

◆ AppendTypeQualList()

static void AppendTypeQualList ( raw_ostream &  OS,
unsigned  TypeQuals,
bool  HasRestrictKeyword 
)
static

Definition at line 116 of file TypePrinter.cpp.

References clang::VectorType::AltiVecBool, clang::VectorType::AltiVecPixel, clang::VectorType::AltiVecVector, clang::Auto, clang::Qualifiers::Const, clang::Qualifiers::empty(), clang::VectorType::GenericVector, clang::DependentAddressSpaceType::getAddrSpaceExpr(), clang::AdjustedType::getAdjustedType(), clang::MemberPointerType::getClass(), clang::ComplexType::getElementType(), clang::ArrayType::getElementType(), clang::DependentSizedExtVectorType::getElementType(), clang::VectorType::getElementType(), clang::ArrayType::getIndexTypeCVRQualifiers(), clang::ArrayType::getIndexTypeQualifiers(), clang::BuiltinType::getName(), clang::VectorType::getNumElements(), clang::PointerType::getPointeeType(), clang::BlockPointerType::getPointeeType(), clang::MemberPointerType::getPointeeType(), clang::DependentAddressSpaceType::getPointeeType(), clang::ReferenceType::getPointeeTypeAsWritten(), clang::QualType::getQualifiers(), clang::ConstantArrayType::getSize(), clang::VariableArrayType::getSizeExpr(), clang::DependentSizedArrayType::getSizeExpr(), clang::DependentSizedExtVectorType::getSizeExpr(), clang::ArrayType::getSizeModifier(), clang::Type::getTypeClass(), clang::VectorType::getVectorKind(), clang::Qualifiers::hasQualifiers(), clang::PrintingPolicy::IncludeTagDefinition, clang::Qualifiers::isEmptyWhenPrinted(), clang::Type::isObjCClassType(), clang::Type::isObjCIdType(), clang::Type::isObjCQualifiedClassType(), clang::Type::isObjCQualifiedIdType(), clang::Type::isSpecifierType(), clang::VectorType::NeonPolyVector, clang::VectorType::NeonVector, Paren, clang::Qualifiers::print(), clang::Stmt::printPretty(), clang::SplitQualType::Quals, clang::Qualifiers::Restrict, clang::QualType::split(), clang::ArrayType::Star, clang::ArrayType::Static, clang::T, clang::SplitQualType::Ty, and clang::Qualifiers::Volatile.

Referenced by clang::getParameterABISpelling().

◆ getArgument() [1/2]

static const TemplateArgument& getArgument ( const TemplateArgument A)
static

Definition at line 1526 of file TypePrinter.cpp.

Referenced by clang::CXXDeleteExpr::getDestroyedType().

◆ getArgument() [2/2]

static const TemplateArgument& getArgument ( const TemplateArgumentLoc A)
static

Definition at line 1528 of file TypePrinter.cpp.

◆ printTo()

template<typename TA >
static void printTo ( raw_ostream &  OS,
ArrayRef< TA >  Args,
const PrintingPolicy Policy,
bool  SkipBrackets 
)
static

Definition at line 1533 of file TypePrinter.cpp.