xref: /haiku/src/kits/debugger/value/value_nodes/VariableValueNodeChild.cpp (revision 1deede7388b04dbeec5af85cae7164735ea9e70d)
1 /*
2  * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3  * Distributed under the terms of the MIT License.
4  */
5 
6 
7 #include "VariableValueNodeChild.h"
8 
9 #include "Variable.h"
10 #include "ValueLocation.h"
11 
12 
13 VariableValueNodeChild::VariableValueNodeChild(Variable* variable)
14 	:
15 	fVariable(variable)
16 {
17 	fVariable->AcquireReference();
18 	SetLocation(fVariable->Location(), B_OK);
19 }
20 
21 
22 VariableValueNodeChild::~VariableValueNodeChild()
23 {
24 	fVariable->ReleaseReference();
25 }
26 
27 
28 const BString&
29 VariableValueNodeChild::Name() const
30 {
31 	return fVariable->Name();
32 }
33 
34 
35 Type*
36 VariableValueNodeChild::GetType() const
37 {
38 	return fVariable->GetType();
39 }
40 
41 
42 ValueNode*
43 VariableValueNodeChild::Parent() const
44 {
45 	return NULL;
46 }
47 
48 
49 status_t
50 VariableValueNodeChild::ResolveLocation(ValueLoader* valueLoader,
51 	ValueLocation*& _location)
52 {
53 	_location = fVariable->Location();
54 	_location->AcquireReference();
55 	return B_OK;
56 }
57