Class MachOBinaryObject64
- java.lang.Object
-
- org.eclipse.core.runtime.PlatformObject
-
- org.eclipse.cdt.utils.BinaryFile
-
- org.eclipse.cdt.utils.BinaryObjectAdapter
-
- org.eclipse.cdt.utils.macho.parser.MachOBinaryObject64
-
- All Implemented Interfaces:
IBinaryParser.IBinaryFile
,IBinaryParser.IBinaryObject
,org.eclipse.core.runtime.IAdaptable
- Direct Known Subclasses:
MachOBinaryExecutable64
,MachOBinaryShared64
public class MachOBinaryObject64 extends BinaryObjectAdapter
MachOBinaryObject64- Since:
- 5.2
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.cdt.utils.BinaryObjectAdapter
BinaryObjectAdapter.BinaryObjectInfo
-
-
Field Summary
Fields Modifier and Type Field Description protected IAddressFactory
addressFactory
protected MachO64.Attribute
attributes
protected AR.ARHeader
header
protected boolean
is64
protected String[]
needed
protected MachOHelper64.Sizes
sizes
protected String
soname
protected IBinaryParser.ISymbol[]
symbols
protected long
timeStamp
-
Fields inherited from class org.eclipse.cdt.utils.BinaryObjectAdapter
NO_SYMBOLS
-
Fields inherited from interface org.eclipse.cdt.core.IBinaryParser.IBinaryFile
ARCHIVE, CORE, EXECUTABLE, OBJECT, SHARED
-
-
Constructor Summary
Constructors Constructor Description MachOBinaryObject64(IBinaryParser parser, org.eclipse.core.runtime.IPath path, int type)
MachOBinaryObject64(IBinaryParser parser, org.eclipse.core.runtime.IPath path, AR.ARHeader header)
-
Method Summary
-
Methods inherited from class org.eclipse.cdt.utils.BinaryObjectAdapter
toString
-
Methods inherited from class org.eclipse.cdt.utils.BinaryFile
getBinaryParser, getPath, getType
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.cdt.core.IBinaryParser.IBinaryFile
getBinaryParser, getPath, getType
-
-
-
-
Field Detail
-
header
protected AR.ARHeader header
-
addressFactory
protected IAddressFactory addressFactory
-
attributes
protected MachO64.Attribute attributes
-
sizes
protected MachOHelper64.Sizes sizes
-
symbols
protected IBinaryParser.ISymbol[] symbols
-
soname
protected String soname
-
needed
protected String[] needed
-
timeStamp
protected long timeStamp
-
is64
protected boolean is64
-
-
Constructor Detail
-
MachOBinaryObject64
public MachOBinaryObject64(IBinaryParser parser, org.eclipse.core.runtime.IPath path, AR.ARHeader header)
- Parameters:
parser
-path
-header
-
-
MachOBinaryObject64
public MachOBinaryObject64(IBinaryParser parser, org.eclipse.core.runtime.IPath path, int type)
- Parameters:
parser
-path
-type
-
-
-
Method Detail
-
getBinaryObjectInfo
protected BinaryObjectAdapter.BinaryObjectInfo getBinaryObjectInfo()
- Specified by:
getBinaryObjectInfo
in classBinaryObjectAdapter
-
getContents
public InputStream getContents() throws IOException
- Specified by:
getContents
in interfaceIBinaryParser.IBinaryFile
- Overrides:
getContents
in classBinaryFile
- Returns:
- the binary contents.
- Throws:
IOException
- See Also:
IBinaryParser.IBinaryFile.getContents()
-
getMachOHelper
protected MachOHelper64 getMachOHelper() throws IOException
- Throws:
IOException
-
getName
public String getName()
Description copied from interface:IBinaryParser.IBinaryObject
The name of the object- Specified by:
getName
in interfaceIBinaryParser.IBinaryObject
- Overrides:
getName
in classBinaryObjectAdapter
- Returns:
- String
- See Also:
IBinaryParser.IBinaryObject.getName()
-
getAddressFactory
public IAddressFactory getAddressFactory()
- Specified by:
getAddressFactory
in interfaceIBinaryParser.IBinaryObject
- Specified by:
getAddressFactory
in classBinaryObjectAdapter
-
clearCachedValues
protected void clearCachedValues()
-
internalGetAttributes
protected MachO64.Attribute internalGetAttributes()
-
internalGetSizes
protected MachOHelper64.Sizes internalGetSizes()
-
internalGetSymbols
protected IBinaryParser.ISymbol[] internalGetSymbols()
-
internalGetSoName
protected String internalGetSoName()
-
internalGetNeeded
protected String[] internalGetNeeded()
-
loadBinaryInfo
protected void loadBinaryInfo()
-
loadSymbols
protected IBinaryParser.ISymbol[] loadSymbols(MachOHelper64 helper) throws IOException
- Throws:
IOException
-
getCPPFilt
protected CPPFilt getCPPFilt()
-
getCPU
public String getCPU()
Description copied from interface:IBinaryParser.IBinaryObject
CPU name- Specified by:
getCPU
in interfaceIBinaryParser.IBinaryObject
- Overrides:
getCPU
in classBinaryObjectAdapter
- Returns:
- String - cpu name
- See Also:
IBinaryParser.IBinaryObject.getCPU()
-
hasDebug
public boolean hasDebug()
Description copied from interface:IBinaryParser.IBinaryObject
True if the binary contains debug information- Specified by:
hasDebug
in interfaceIBinaryParser.IBinaryObject
- Overrides:
hasDebug
in classBinaryObjectAdapter
- Returns:
- true if debug information
- See Also:
IBinaryParser.IBinaryObject.hasDebug()
-
isLittleEndian
public boolean isLittleEndian()
Description copied from interface:IBinaryParser.IBinaryObject
The endian- Specified by:
isLittleEndian
in interfaceIBinaryParser.IBinaryObject
- Overrides:
isLittleEndian
in classBinaryObjectAdapter
- Returns:
- boolean - true for little endian
- See Also:
IBinaryParser.IBinaryObject.isLittleEndian()
-
getBSS
public long getBSS()
- Specified by:
getBSS
in interfaceIBinaryParser.IBinaryObject
- Overrides:
getBSS
in classBinaryObjectAdapter
- See Also:
IBinaryParser.IBinaryObject.getBSS()
-
getData
public long getData()
- Specified by:
getData
in interfaceIBinaryParser.IBinaryObject
- Overrides:
getData
in classBinaryObjectAdapter
- See Also:
IBinaryParser.IBinaryObject.getData()
-
getText
public long getText()
- Specified by:
getText
in interfaceIBinaryParser.IBinaryObject
- Overrides:
getText
in classBinaryObjectAdapter
- See Also:
IBinaryParser.IBinaryObject.getText()
-
getSymbols
public IBinaryParser.ISymbol[] getSymbols()
Description copied from interface:IBinaryParser.IBinaryObject
Symbols of the object- Specified by:
getSymbols
in interfaceIBinaryParser.IBinaryObject
- Specified by:
getSymbols
in classBinaryObjectAdapter
- Returns:
- ISymbol[] arrays of symbols
- See Also:
IBinaryParser.IBinaryObject.getSymbols()
-
getSymbol
public IBinaryParser.ISymbol getSymbol(IAddress addr)
Description copied from interface:IBinaryParser.IBinaryObject
Symbo at this address.- Specified by:
getSymbol
in interfaceIBinaryParser.IBinaryObject
- Overrides:
getSymbol
in classBinaryObjectAdapter
- Returns:
- ISymbol
-
getNeededSharedLibs
public String[] getNeededSharedLibs()
- Overrides:
getNeededSharedLibs
in classBinaryObjectAdapter
- See Also:
IBinaryParser.IBinaryExecutable.getNeededSharedLibs()
-
getSoName
public String getSoName()
- Overrides:
getSoName
in classBinaryObjectAdapter
- See Also:
IBinaryParser.IBinaryShared.getSoName()
-
hasChanged
protected boolean hasChanged()
- Overrides:
hasChanged
in classBinaryFile
-
getAdapter
public <T> T getAdapter(Class<T> adapter)
- Specified by:
getAdapter
in interfaceorg.eclipse.core.runtime.IAdaptable
- Overrides:
getAdapter
in classorg.eclipse.core.runtime.PlatformObject
-
-