Debugger: Split into core library and application.

- Add subfolder src/kits/debugger which contains the debugger's core
  functionality and lower layers. Correspondingly add headers/private/debugger
  for shared headers to be used by clients such as the Debugger application
  and eventual remote_debug_server. Adjust various files to account for
  differences as a result of the split and moves.
- Add libdebugger.so to minimal Jamfile.
This commit is contained in:
Rene Gollent
2016-06-04 13:18:39 -04:00
parent e6687e8f3d
commit fce4895d18
417 changed files with 492 additions and 390 deletions
@@ -0,0 +1,74 @@
/*
* Copyright 2009, Ingo Weinhold, [email protected].
* Distributed under the terms of the MIT License.
*/
#ifndef STACK_FRAME_VALUES_H
#define STACK_FRAME_VALUES_H
#include <Referenceable.h>
#include <util/OpenHashTable.h>
#include <Variant.h>
class ObjectID;
class TypeComponentPath;
class StackFrameValues : public BReferenceable {
public:
StackFrameValues();
StackFrameValues(const StackFrameValues& other);
// throws std::bad_alloc
virtual ~StackFrameValues();
status_t Init();
bool GetValue(ObjectID* variable,
const TypeComponentPath* path,
BVariant& _value) const;
inline bool GetValue(ObjectID* variable,
const TypeComponentPath& path,
BVariant& _value) const;
bool HasValue(ObjectID* variable,
const TypeComponentPath* path) const;
inline bool HasValue(ObjectID* variable,
const TypeComponentPath& path) const;
status_t SetValue(ObjectID* variable,
TypeComponentPath* path,
const BVariant& value);
private:
struct Key;
struct ValueEntry;
struct ValueEntryHashDefinition;
typedef BOpenHashTable<ValueEntryHashDefinition> ValueTable;
private:
StackFrameValues& operator=(const StackFrameValues& other);
void _Cleanup();
private:
ValueTable* fValues;
};
bool
StackFrameValues::GetValue(ObjectID* variable, const TypeComponentPath& path,
BVariant& _value) const
{
return GetValue(variable, &path, _value);
}
bool
StackFrameValues::HasValue(ObjectID* variable, const TypeComponentPath& path)
const
{
return HasValue(variable, &path);
}
#endif // STACK_FRAME_VALUES_H