[Go to site: main page, start]

LLDB mainline
ItaniumABIRuntime.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLDB_SOURCE_PLUGINS_LANGUAGERUNTIME_CPLUSPLUS_ITANIUMABIRUNTIME_H
10#define LLDB_SOURCE_PLUGINS_LANGUAGERUNTIME_CPLUSPLUS_ITANIUMABIRUNTIME_H
11
12#include "CommonABIRuntime.h"
15
16#include <vector>
17
18namespace lldb_private {
19
21public:
22 ItaniumABIRuntime(Process *process);
23
24 llvm::StringRef GetName() const override;
25
26 bool IsVTableSymbol(Mangled &manged) const override;
27
29 lldb::DynamicValueType use_dynamic,
30 const LanguageRuntime::VTableInfo &vtable_info,
31 TypeAndOrName &class_type_or_name,
32 Address &dynamic_address) override;
33
34 void AppendExceptionBreakpointFunctions(std::vector<const char *> &names,
35 bool catch_bp, bool throw_bp,
36 bool for_expressions) override;
37
39 const Target &target) override;
40
43
44private:
46 const LanguageRuntime::VTableInfo &vtable_info);
47};
48
49} // namespace lldb_private
50
51#endif
A section + offset based address class.
Definition Address.h:62
A file collection class.
void AppendExceptionBreakpointFilterModules(FileSpecList &list, const Target &target) override
llvm::StringRef GetName() const override
lldb::ValueObjectSP GetExceptionObjectForThread(lldb::ThreadSP thread_sp) override
bool GetDynamicTypeAndAddress(ValueObject &in_value, lldb::DynamicValueType use_dynamic, const LanguageRuntime::VTableInfo &vtable_info, TypeAndOrName &class_type_or_name, Address &dynamic_address) override
TypeAndOrName GetTypeInfo(ValueObject &in_value, const LanguageRuntime::VTableInfo &vtable_info)
void AppendExceptionBreakpointFunctions(std::vector< const char * > &names, bool catch_bp, bool throw_bp, bool for_expressions) override
bool IsVTableSymbol(Mangled &manged) const override
A class that handles mangled names.
Definition Mangled.h:34
A plug-in interface definition class for debugging a process.
Definition Process.h:359
Sometimes you can find the name of the type corresponding to an object, but we don't have debug infor...
Definition Type.h:780
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::Thread > ThreadSP
std::shared_ptr< lldb_private::ValueObject > ValueObjectSP