1/* 2 * Copyright 2014, Rene Gollent, rene@gollent.com. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef SYNTHETIC_PRIMITIVE_TYPE_H 6#define SYNTHETIC_PRIMITIVE_TYPE_H 7 8 9#include "Type.h" 10 11#include <String.h> 12 13 14class SyntheticPrimitiveType : public PrimitiveType { 15public: 16 SyntheticPrimitiveType(uint32 typeConstant); 17 virtual ~SyntheticPrimitiveType(); 18 19 virtual uint32 TypeConstant() const; 20 21 virtual image_id ImageID() const; 22 virtual const BString& ID() const; 23 virtual const BString& Name() const; 24 virtual type_kind Kind() const; 25 virtual target_size_t ByteSize() const; 26 27 virtual status_t ResolveObjectDataLocation( 28 const ValueLocation& objectLocation, 29 ValueLocation*& _location); 30 virtual status_t ResolveObjectDataLocation( 31 target_addr_t objectAddress, 32 ValueLocation*& _location); 33 34private: 35 void _Init(); 36 37private: 38 uint32 fTypeConstant; 39 BString fID; 40 BString fName; 41}; 42 43 44#endif // SYNTHETIC_PRIMITIVE_TYPE 45