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 14 class CpuState; 15 class ObjectID; 16 class Type; 17 class ValueLocation; 18 19 20 class Variable : public BReferenceable { 21 public: 22 Variable(ObjectID* id, const BString& name, 23 Type* type, ValueLocation* location, 24 CpuState* state = NULL); 25 ~Variable(); 26 27 ObjectID* ID() const { return fID; } 28 const BString& Name() const { return fName; } 29 Type* GetType() const { return fType; } 30 ValueLocation* Location() const { return fLocation; } 31 CpuState* GetCpuState() const { return fCpuState; } 32 33 private: 34 ObjectID* fID; 35 BString fName; 36 Type* fType; 37 ValueLocation* fLocation; 38 CpuState* fCpuState; 39 }; 40 41 42 #endif // VARIABLE_H 43