xref: /haiku/src/kits/debugger/value/value_nodes/VariableValueNodeChild.cpp (revision fce4895d1884da5ae6fb299d23c735c598e690b1)
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 
VariableValueNodeChild(Variable * variable)13 VariableValueNodeChild::VariableValueNodeChild(Variable* variable)
14 	:
15 	fVariable(variable)
16 {
17 	fVariable->AcquireReference();
18 	SetLocation(fVariable->Location(), B_OK);
19 }
20 
21 
~VariableValueNodeChild()22 VariableValueNodeChild::~VariableValueNodeChild()
23 {
24 	fVariable->ReleaseReference();
25 }
26 
27 
28 const BString&
Name() const29 VariableValueNodeChild::Name() const
30 {
31 	return fVariable->Name();
32 }
33 
34 
35 Type*
GetType() const36 VariableValueNodeChild::GetType() const
37 {
38 	return fVariable->GetType();
39 }
40 
41 
42 ValueNode*
Parent() const43 VariableValueNodeChild::Parent() const
44 {
45 	return NULL;
46 }
47 
48 
49 status_t
ResolveLocation(ValueLoader * valueLoader,ValueLocation * & _location)50 VariableValueNodeChild::ResolveLocation(ValueLoader* valueLoader,
51 	ValueLocation*& _location)
52 {
53 	_location = fVariable->Location();
54 	_location->AcquireReference();
55 	return B_OK;
56 }
57