* Copyright 2014, Rene Gollent, rene@gollent.com.
* Distributed under the terms of the MIT License.
*/
#ifndef SYNTHETIC_PRIMITIVE_TYPE_H
#define SYNTHETIC_PRIMITIVE_TYPE_H
#include "Type.h"
#include <String.h>
class SyntheticPrimitiveType : public PrimitiveType {
public:
SyntheticPrimitiveType(uint32 typeConstant);
virtual ~SyntheticPrimitiveType();
virtual uint32 TypeConstant() const;
virtual image_id ImageID() const;
virtual const BString& ID() const;
virtual const BString& Name() const;
virtual type_kind Kind() const;
virtual target_size_t ByteSize() const;
virtual status_t ResolveObjectDataLocation(
const ValueLocation& objectLocation,
ValueLocation*& _location);
virtual status_t ResolveObjectDataLocation(
target_addr_t objectAddress,
ValueLocation*& _location);
private:
void _Init();
private:
uint32 fTypeConstant;
BString fID;
BString fName;
};
#endif