2 * Copyright 2014, Rene Gollent, rene@gollent.com.
3 * Distributed under the terms of the MIT License.
5 #ifndef EXPRESSION_VALUE_NODE_H
6 #define EXPRESSION_VALUE_NODE_H
12 class ExpressionValueNodeChild
;
15 class ExpressionValueNode
: public ChildlessValueNode
{
18 ExpressionValueNodeChild
* nodeChild
,
20 virtual ~ExpressionValueNode();
22 virtual Type
* GetType() const;
24 virtual status_t
ResolvedLocationAndValue(
25 ValueLoader
* valueLoader
,
26 ValueLocation
*& _location
,
34 class ExpressionValueNodeChild
: public ValueNodeChild
{
36 ExpressionValueNodeChild(
37 const BString
& expression
,
39 virtual ~ExpressionValueNodeChild();
41 virtual const BString
& Name() const;
42 virtual Type
* GetType() const;
43 virtual ValueNode
* Parent() const;
45 const BString
& GetExpression() const { return fExpression
; };
47 virtual status_t
ResolveLocation(ValueLoader
* valueLoader
,
48 ValueLocation
*& _location
);
56 #endif // EXPRESSION_VALUE_NODE_H