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