-/*
+/* -*- mode: C++; c-basic-offset: 4; tab-width: 4 -*-
+ *
* Copyright (c) 2005 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
protected:
Reader() {}
+ virtual ~Reader() {}
};
class Segment
uint64_t getBaseAddress() const { return fBaseAddress; }
void setBaseAddress(uint64_t addr) { fBaseAddress = addr; }
+ virtual bool hasFixedAddress() const { return false; }
protected:
- Segment() : fBaseAddress(0) {}
+ Segment() : fBaseAddress(0) {}
+ virtual ~Segment() {}
uint64_t fBaseAddress;
};
{
public:
virtual void write(uint64_t atomOffset, const void* buffer, uint64_t size) = 0;
+protected:
+ ContentWriter() {}
+ virtual ~ContentWriter() {}
};
class Atom
unsigned int setSortOrder(unsigned int order); // recursively sets follow-on atoms
protected:
- Atom() : fSegmentOffset(0), fSectionOffset(0), fSortOrder(0), fSection(NULL) {}
+ Atom() : fSegmentOffset(0), fSectionOffset(0), fSortOrder(0), fSection(NULL) {}
+ virtual ~Atom() {}
uint64_t fSegmentOffset;
uint64_t fSectionOffset;
ppcFixupAbsLow16, ppcFixupAbsLow14, ppcFixupAbsHigh16, ppcFixupAbsHigh16AddLow,
pointer32Difference, pointer64Difference, x86FixupBranch32 };
- virtual bool isUnbound() const = 0;
+ virtual bool isTargetUnbound() const = 0;
+ virtual bool isFromTargetUnbound() const = 0;
+ virtual bool requiresRuntimeFixUp(bool slideable) const = 0;
virtual bool isWeakReference() const = 0;
- virtual bool requiresRuntimeFixUp() const = 0;
virtual bool isLazyReference() const = 0;
virtual Kind getKind() const = 0;
virtual uint64_t getFixUpOffset() const = 0;
virtual const char* getTargetName() const = 0;
virtual Atom& getTarget() const = 0;
virtual uint64_t getTargetOffset() const = 0;
+ virtual bool hasFromTarget() const = 0;
virtual Atom& getFromTarget() const = 0;
virtual const char* getFromTargetName() const = 0;
virtual uint64_t getFromTargetOffset() const = 0;
- virtual void setTarget(Atom&) = 0;
+ virtual void setTarget(Atom&, uint64_t offset) = 0;
virtual void setFromTarget(Atom&) = 0;
virtual const char* getDescription() const = 0;
+
+protected:
+ Reference() {}
+ virtual ~Reference() {}
};