mirror of
https://review.haiku-os.org/haiku
synced 2025-02-09 15:18:56 +01:00
- When a debugging libbe is present, and a BList is encountered, we now read its internal structure and expose it as if it were an array of pointers. Combined with typecasting, this means one can now easily inspect the content of such a list.
54 lines
1.1 KiB
C++
54 lines
1.1 KiB
C++
/*
|
|
* Copyright 2012, Rene Gollent, rene@gollent.com.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef BLIST_VALUE_NODE_H
|
|
#define BLIST_VALUE_NODE_H
|
|
|
|
|
|
#include <List.h>
|
|
#include <Variant.h>
|
|
|
|
#include <ObjectList.h>
|
|
|
|
#include "ValueLocation.h"
|
|
#include "ValueNode.h"
|
|
|
|
|
|
class CompoundType;
|
|
|
|
|
|
class BListValueNode : public ValueNode {
|
|
public:
|
|
BListValueNode(ValueNodeChild* nodeChild,
|
|
Type* type);
|
|
virtual ~BListValueNode();
|
|
|
|
virtual Type* GetType() const;
|
|
virtual status_t ResolvedLocationAndValue(
|
|
ValueLoader* valueLoader,
|
|
ValueLocation*& _location,
|
|
Value*& _value);
|
|
|
|
virtual bool ChildCreationNeedsValue() const
|
|
{ return true; }
|
|
virtual status_t CreateChildren();
|
|
virtual int32 CountChildren() const;
|
|
virtual ValueNodeChild* ChildAt(int32 index) const;
|
|
|
|
private:
|
|
class BListElementNodeChild;
|
|
typedef BObjectList<ValueNodeChild> ChildNodeList;
|
|
|
|
private:
|
|
|
|
Type* fType;
|
|
ChildNodeList fChildren;
|
|
ValueLoader* fLoader;
|
|
BVariant fDataLocation;
|
|
int32 fItemCount;
|
|
};
|
|
|
|
|
|
#endif // BLIST_VALUE_NODE_H
|