From f3fbd1c0586ff6ec7895991e6c28f61a503c36a8 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sat, 23 Jul 2016 20:50:09 +0000 Subject: Vendor import of lldb release_39 branch r276489: https://llvm.org/svn/llvm-project/lldb/branches/release_39@276489 --- .../LanguageRuntime/Java/JavaLanguageRuntime.h | 90 ++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.h (limited to 'source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.h') diff --git a/source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.h b/source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.h new file mode 100644 index 000000000000..83ed35dbb59d --- /dev/null +++ b/source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.h @@ -0,0 +1,90 @@ +//===-- JavaLanguageRuntime.h -----------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef liblldb_JavaLanguageRuntime_h_ +#define liblldb_JavaLanguageRuntime_h_ + +// C Includes +// C++ Includes +#include +// Other libraries and framework includes +// Project includes +#include "lldb/Core/PluginInterface.h" +#include "lldb/Target/LanguageRuntime.h" +#include "lldb/lldb-private.h" + +namespace lldb_private +{ + +class JavaLanguageRuntime : public LanguageRuntime +{ +public: + static void + Initialize(); + + static void + Terminate(); + + static lldb_private::LanguageRuntime * + CreateInstance(Process *process, lldb::LanguageType language); + + static lldb_private::ConstString + GetPluginNameStatic(); + + lldb_private::ConstString + GetPluginName() override; + + uint32_t + GetPluginVersion() override; + + lldb::LanguageType + GetLanguageType() const override + { + return lldb::eLanguageTypeJava; + } + + bool + GetObjectDescription(Stream &str, ValueObject &object) override + { + return false; + } + + bool + GetObjectDescription(Stream &str, Value &value, ExecutionContextScope *exe_scope) override + { + return false; + } + + lldb::BreakpointResolverSP + CreateExceptionResolver(Breakpoint *bkpt, bool catch_bp, bool throw_bp) override + { + return nullptr; + } + + TypeAndOrName + FixUpDynamicType(const TypeAndOrName &type_and_or_name, ValueObject &static_value) override; + + bool + CouldHaveDynamicValue(ValueObject &in_value) override; + + bool + GetDynamicTypeAndAddress(ValueObject &in_value, lldb::DynamicValueType use_dynamic, + TypeAndOrName &class_type_or_name, Address &address, + Value::ValueType &value_type) override; + +protected: + JavaLanguageRuntime(Process *process); + +private: + DISALLOW_COPY_AND_ASSIGN(JavaLanguageRuntime); +}; + +} // namespace lldb_private + +#endif // liblldb_JavaLanguageRuntime_h_ -- cgit v1.2.3