1/*
2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef VARIABLE_H
6#define VARIABLE_H
7
8
9#include <String.h>
10
11#include <Referenceable.h>
12
13
14class ObjectID;
15class Type;
16class ValueLocation;
17
18
19class Variable : public BReferenceable {
20public:
21								Variable(ObjectID* id, const BString& name,
22									Type* type, ValueLocation* location);
23								~Variable();
24
25			ObjectID*			ID() const			{ return fID; }
26			const BString&		Name() const		{ return fName; }
27			Type*				GetType() const		{ return fType; }
28			ValueLocation*		Location() const	{ return fLocation; }
29
30private:
31			ObjectID*			fID;
32			BString				fName;
33			Type*				fType;
34			ValueLocation*		fLocation;
35};
36
37
38#endif	// VARIABLE_H
39