2 * Copyright 2015, Rene Gollent, rene@gollent.com.
3 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
4 * Distributed under the terms of the MIT License.
6 #ifndef ADDRESS_VALUE_NODE_H
7 #define ADDRESS_VALUE_NODE_H
10 #include "ValueNode.h"
13 class AddressValueNodeChild
;
17 class AddressValueNode
: public ValueNode
{
19 AddressValueNode(ValueNodeChild
* nodeChild
,
21 virtual ~AddressValueNode();
23 virtual Type
* GetType() const;
25 virtual status_t
ResolvedLocationAndValue(
26 ValueLoader
* valueLoader
,
27 ValueLocation
*& _location
,
32 virtual status_t
CreateChildren(TeamTypeInformation
* info
);
33 virtual int32
CountChildren() const;
34 virtual ValueNodeChild
* ChildAt(int32 index
) const;
38 AddressValueNodeChild
* fChild
;
42 class AddressValueNodeChild
: public ValueNodeChild
{
44 AddressValueNodeChild(AddressValueNode
* parent
,
45 const BString
& name
, Type
* type
);
46 virtual ~AddressValueNodeChild();
48 virtual const BString
& Name() const;
49 virtual Type
* GetType() const;
50 virtual ValueNode
* Parent() const;
52 virtual status_t
ResolveLocation(ValueLoader
* valueLoader
,
53 ValueLocation
*& _location
);
56 AddressValueNode
* fParent
;
62 #endif // ADDRESS_VALUE_NODE_H