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