mirror of https://github.com/microsoft/clang.git
Teach clang-query to dump types. I couldn't find any existing tests for clang-query's dumping functionality. =(
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@285869 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
eab101ef5f
commit
44d4e59f5e
|
@ -985,6 +985,7 @@ public:
|
||||||
|
|
||||||
void dump(const char *s) const;
|
void dump(const char *s) const;
|
||||||
void dump() const;
|
void dump() const;
|
||||||
|
void dump(llvm::raw_ostream &OS) const;
|
||||||
|
|
||||||
void Profile(llvm::FoldingSetNodeID &ID) const {
|
void Profile(llvm::FoldingSetNodeID &ID) const {
|
||||||
ID.AddPointer(getAsOpaquePtr());
|
ID.AddPointer(getAsOpaquePtr());
|
||||||
|
@ -2005,6 +2006,7 @@ public:
|
||||||
}
|
}
|
||||||
CanQualType getCanonicalTypeUnqualified() const; // in CanonicalType.h
|
CanQualType getCanonicalTypeUnqualified() const; // in CanonicalType.h
|
||||||
void dump() const;
|
void dump() const;
|
||||||
|
void dump(llvm::raw_ostream &OS) const;
|
||||||
|
|
||||||
friend class ASTReader;
|
friend class ASTReader;
|
||||||
friend class ASTWriter;
|
friend class ASTWriter;
|
||||||
|
|
|
@ -183,7 +183,7 @@ def ext_hex_constant_invalid : Extension<
|
||||||
def ext_hex_literal_invalid : Extension<
|
def ext_hex_literal_invalid : Extension<
|
||||||
"hexadecimal floating literals are a C++1z feature">, InGroup<CXX1z>;
|
"hexadecimal floating literals are a C++1z feature">, InGroup<CXX1z>;
|
||||||
def warn_cxx1z_hex_literal : Warning<
|
def warn_cxx1z_hex_literal : Warning<
|
||||||
"hexidecimal floating literals are incompatible with "
|
"hexadecimal floating literals are incompatible with "
|
||||||
"C++ standards before C++1z">,
|
"C++ standards before C++1z">,
|
||||||
InGroup<CXXPre1zCompatPedantic>, DefaultIgnore;
|
InGroup<CXXPre1zCompatPedantic>, DefaultIgnore;
|
||||||
def ext_binary_literal : Extension<
|
def ext_binary_literal : Extension<
|
||||||
|
|
|
@ -2466,12 +2466,18 @@ void QualType::dump(const char *msg) const {
|
||||||
dump();
|
dump();
|
||||||
}
|
}
|
||||||
|
|
||||||
LLVM_DUMP_METHOD void QualType::dump() const {
|
LLVM_DUMP_METHOD void QualType::dump() const { dump(llvm::errs()); }
|
||||||
ASTDumper Dumper(llvm::errs(), nullptr, nullptr);
|
|
||||||
|
LLVM_DUMP_METHOD void QualType::dump(llvm::raw_ostream &OS) const {
|
||||||
|
ASTDumper Dumper(OS, nullptr, nullptr);
|
||||||
Dumper.dumpTypeAsChild(*this);
|
Dumper.dumpTypeAsChild(*this);
|
||||||
}
|
}
|
||||||
|
|
||||||
LLVM_DUMP_METHOD void Type::dump() const { QualType(this, 0).dump(); }
|
LLVM_DUMP_METHOD void Type::dump() const { dump(llvm::errs()); }
|
||||||
|
|
||||||
|
LLVM_DUMP_METHOD void Type::dump(llvm::raw_ostream &OS) const {
|
||||||
|
QualType(this, 0).dump(OS);
|
||||||
|
}
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// Decl method implementations
|
// Decl method implementations
|
||||||
|
|
|
@ -135,6 +135,8 @@ void DynTypedNode::dump(llvm::raw_ostream &OS, SourceManager &SM) const {
|
||||||
D->dump(OS);
|
D->dump(OS);
|
||||||
else if (const Stmt *S = get<Stmt>())
|
else if (const Stmt *S = get<Stmt>())
|
||||||
S->dump(OS, SM);
|
S->dump(OS, SM);
|
||||||
|
else if (const Type *T = get<Type>())
|
||||||
|
T->dump(OS);
|
||||||
else
|
else
|
||||||
OS << "Unable to dump values of type " << NodeKind.asStringRef() << "\n";
|
OS << "Unable to dump values of type " << NodeKind.asStringRef() << "\n";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue