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