diff options
Diffstat (limited to 'lldb/source/Plugins/ExpressionParser/Clang/ASTDumper.cpp')
| -rw-r--r-- | lldb/source/Plugins/ExpressionParser/Clang/ASTDumper.cpp | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ASTDumper.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ASTDumper.cpp deleted file mode 100644 index f33a713cc0b2..000000000000 --- a/lldb/source/Plugins/ExpressionParser/Clang/ASTDumper.cpp +++ /dev/null @@ -1,104 +0,0 @@ -//===-- ASTDumper.cpp -------------------------------------------*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#include "ASTDumper.h" - -#include "lldb/Symbol/ClangASTContext.h" -#include "lldb/Symbol/ClangUtil.h" -#include "lldb/Symbol/CompilerType.h" -#include "lldb/Utility/Log.h" - -#include "llvm/Support/raw_ostream.h" - -using namespace lldb_private; - -ASTDumper::ASTDumper(clang::Decl *decl) { - clang::DeclContext *decl_ctx = llvm::dyn_cast<clang::DeclContext>(decl); - - bool has_external_lexical_storage; - bool has_external_visible_storage; - - if (decl_ctx) { - has_external_lexical_storage = decl_ctx->hasExternalLexicalStorage(); - has_external_visible_storage = decl_ctx->hasExternalVisibleStorage(); - decl_ctx->setHasExternalLexicalStorage(false); - decl_ctx->setHasExternalVisibleStorage(false); - } - - llvm::raw_string_ostream os(m_dump); - decl->print(os); - os.flush(); - - if (decl_ctx) { - decl_ctx->setHasExternalLexicalStorage(has_external_lexical_storage); - decl_ctx->setHasExternalVisibleStorage(has_external_visible_storage); - } -} - -ASTDumper::ASTDumper(clang::DeclContext *decl_ctx) { - bool has_external_lexical_storage = decl_ctx->hasExternalLexicalStorage(); - bool has_external_visible_storage = decl_ctx->hasExternalVisibleStorage(); - - decl_ctx->setHasExternalLexicalStorage(false); - decl_ctx->setHasExternalVisibleStorage(false); - - if (clang::Decl *decl = llvm::dyn_cast<clang::Decl>(decl_ctx)) { - llvm::raw_string_ostream os(m_dump); - decl->print(os); - os.flush(); - } else { - m_dump.assign("<DeclContext is not a Decl>"); - } - - decl_ctx->setHasExternalLexicalStorage(has_external_lexical_storage); - decl_ctx->setHasExternalVisibleStorage(has_external_visible_storage); -} - -ASTDumper::ASTDumper(const clang::Type *type) { - m_dump = clang::QualType(type, 0).getAsString(); -} - -ASTDumper::ASTDumper(clang::QualType type) { m_dump = type.getAsString(); } - -ASTDumper::ASTDumper(lldb::opaque_compiler_type_t type) { - m_dump = clang::QualType::getFromOpaquePtr(type).getAsString(); -} - -ASTDumper::ASTDumper(const CompilerType &compiler_type) { - m_dump = ClangUtil::GetQualType(compiler_type).getAsString(); -} - -const char *ASTDumper::GetCString() { return m_dump.c_str(); } - -void ASTDumper::ToLog(Log *log, const char *prefix) { - size_t len = m_dump.length() + 1; - - char *alloc = (char *)malloc(len); - char *str = alloc; - - memcpy(str, m_dump.c_str(), len); - - char *end = nullptr; - - end = strchr(str, '\n'); - - while (end) { - *end = '\0'; - - LLDB_LOGF(log, "%s%s", prefix, str); - - *end = '\n'; - - str = end + 1; - end = strchr(str, '\n'); - } - - LLDB_LOGF(log, "%s%s", prefix, str); - - free(alloc); -} |
