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