clang  7.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/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/TemplateBase.h"
#include "clang/AST/TemplateName.h"
#include "clang/AST/Type.h"
#include "clang/Basic/AddressSpaces.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/SmallString.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/Casting.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.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 QualType skipTopLevelReferences (QualType T)
 
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 127 of file TypePrinter.cpp.

◆ ABSTRACT_TYPE [2/3]

#define ABSTRACT_TYPE (   CLASS,
  PARENT 
)

Definition at line 127 of file TypePrinter.cpp.

◆ ABSTRACT_TYPE [3/3]

#define ABSTRACT_TYPE (   CLASS,
  PARENT 
)

Definition at line 127 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:1420
Like System, but searched after the system directories.
const FunctionProtoType * T

Definition at line 128 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 128 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 128 of file TypePrinter.cpp.

Function Documentation

◆ AppendTypeQualList()

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

◆ getArgument() [1/2]

static const TemplateArgument& getArgument ( const TemplateArgument A)
static

Definition at line 1611 of file TypePrinter.cpp.

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

◆ getArgument() [2/2]

static const TemplateArgument& getArgument ( const TemplateArgumentLoc A)
static

Definition at line 1613 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 1618 of file TypePrinter.cpp.

◆ skipTopLevelReferences()

static QualType skipTopLevelReferences ( QualType  T)
static

Definition at line 390 of file TypePrinter.cpp.

References clang::Type::getAs(), and clang::T.