1 //===-- TypeFormat.cpp ----------------------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #include "lldb/lldb-python.h" 11 12 // C Includes 13 14 // C++ Includes 15 16 // Other libraries and framework includes 17 18 // Project includes 19 #include "lldb/lldb-public.h" 20 #include "lldb/lldb-enumerations.h" 21 22 #include "lldb/Core/Debugger.h" 23 #include "lldb/Core/StreamString.h" 24 #include "lldb/Core/Timer.h" 25 #include "lldb/DataFormatters/TypeFormat.h" 26 #include "lldb/Interpreter/CommandInterpreter.h" 27 #include "lldb/Symbol/ClangASTType.h" 28 #include "lldb/Target/StackFrame.h" 29 #include "lldb/Target/Target.h" 30 31 using namespace lldb; 32 using namespace lldb_private; 33 34 TypeFormatImpl::TypeFormatImpl (lldb::Format f, 35 const Flags& flags) : 36 m_flags(flags), 37 m_format (f) 38 { 39 } 40 41 std::string 42 TypeFormatImpl::GetDescription() 43 { 44 StreamString sstr; 45 sstr.Printf ("%s%s%s%s\n", 46 FormatManager::GetFormatAsCString (GetFormat()), 47 Cascades() ? "" : " (not cascading)", 48 SkipsPointers() ? " (skip pointers)" : "", 49 SkipsReferences() ? " (skip references)" : ""); 50 return sstr.GetString(); 51 } 52 53