btrfs: [] on the end of a struct field is a variable length array.
[haiku.git] / headers / private / debugger / value / value_nodes / ExpressionValueNode.h
blobf1a01da2a8eeb558399d64c0eb565f1bf78367f2
1 /*
2 * Copyright 2014, Rene Gollent, rene@gollent.com.
3 * Distributed under the terms of the MIT License.
4 */
5 #ifndef EXPRESSION_VALUE_NODE_H
6 #define EXPRESSION_VALUE_NODE_H
9 #include "ValueNode.h"
12 class ExpressionValueNodeChild;
15 class ExpressionValueNode : public ChildlessValueNode {
16 public:
17 ExpressionValueNode(
18 ExpressionValueNodeChild* nodeChild,
19 Type* type);
20 virtual ~ExpressionValueNode();
22 virtual Type* GetType() const;
24 virtual status_t ResolvedLocationAndValue(
25 ValueLoader* valueLoader,
26 ValueLocation*& _location,
27 Value*& _value);
29 private:
30 Type* fType;
34 class ExpressionValueNodeChild : public ValueNodeChild {
35 public:
36 ExpressionValueNodeChild(
37 const BString& expression,
38 Type* type);
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);
50 private:
51 BString fExpression;
52 Type* fResultType;
56 #endif // EXPRESSION_VALUE_NODE_H