aboutsummaryrefslogtreecommitdiff
path: root/source/DataFormatters/CoreMedia.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/DataFormatters/CoreMedia.cpp')
-rw-r--r--source/DataFormatters/CoreMedia.cpp85
1 files changed, 0 insertions, 85 deletions
diff --git a/source/DataFormatters/CoreMedia.cpp b/source/DataFormatters/CoreMedia.cpp
deleted file mode 100644
index 5c33c0b69f72..000000000000
--- a/source/DataFormatters/CoreMedia.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-//===-- CoreMedia.cpp --------------------------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "lldb/DataFormatters/CXXFormatterFunctions.h"
-
-#include "lldb/Core/Flags.h"
-#include "lldb/Symbol/ClangASTContext.h"
-
-#include <inttypes.h>
-
-using namespace lldb;
-using namespace lldb_private;
-using namespace lldb_private::formatters;
-
-bool
-lldb_private::formatters::CMTimeSummaryProvider (ValueObject& valobj, Stream& stream, const TypeSummaryOptions& options)
-{
- ClangASTContext *ast_ctx = ClangASTContext::GetASTContext(valobj.GetClangType().GetASTContext());
- if (!ast_ctx)
- return false;
-
- // fetch children by offset to compensate for potential lack of debug info
- auto int64_ty = ast_ctx->GetIntTypeFromBitSize(64, true);
- auto int32_ty = ast_ctx->GetIntTypeFromBitSize(32, true);
-
- auto value_sp(valobj.GetSyntheticChildAtOffset(0, int64_ty, true));
- auto timescale_sp(valobj.GetSyntheticChildAtOffset(8, int32_ty, true));
- auto flags_sp(valobj.GetSyntheticChildAtOffset(12, int32_ty, true));
-
- if (!value_sp || !timescale_sp || !flags_sp)
- return false;
-
- auto value = value_sp->GetValueAsUnsigned(0);
- auto timescale = (int32_t)timescale_sp->GetValueAsUnsigned(0); // the timescale specifies the fraction of a second each unit in the numerator occupies
- auto flags = Flags(flags_sp->GetValueAsUnsigned(0) & 0x00000000000000FF); // the flags I need sit in the LSB
-
- const unsigned int FlagPositiveInf = 4;
- const unsigned int FlagNegativeInf = 8;
- const unsigned int FlagIndefinite = 16;
-
- if (flags.AnySet(FlagIndefinite))
- {
- stream.Printf("indefinite");
- return true;
- }
-
- if (flags.AnySet(FlagPositiveInf))
- {
- stream.Printf("+oo");
- return true;
- }
-
- if (flags.AnySet(FlagNegativeInf))
- {
- stream.Printf("-oo");
- return true;
- }
-
- if (timescale == 0)
- return false;
-
- switch (timescale)
- {
- case 0:
- return false;
- case 1:
- stream.Printf("%" PRId64 " seconds", value);
- return true;
- case 2:
- stream.Printf("%" PRId64 " half seconds", value);
- return true;
- case 3:
- stream.Printf("%" PRId64 " third%sof a second", value, value == 1 ? " " : "s ");
- return true;
- default:
- stream.Printf("%" PRId64 " %" PRId32 "th%sof a second", value, timescale, value == 1 ? " " : "s ");
- return true;
- }
-}