Package ghidra.app.util.opinion
Class PeDataType
- java.lang.Object
-
- All Implemented Interfaces:
BuiltInDataType
,DataType
,FactoryDataType
,ExtensionPoint
,java.util.EventListener
,javax.swing.event.ChangeListener
public class PeDataType extends FactoryStructureDataType
A datatype for creating portable executable data structures.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface ghidra.util.classfinder.ExtensionPoint
ExtensionPoint.Exclude, ExtensionPoint.Util
-
-
Field Summary
-
Fields inherited from class ghidra.program.model.data.DataTypeImpl
defaultSettings
-
Fields inherited from class ghidra.program.model.data.AbstractDataType
categoryPath, dataMgr, name
-
Fields inherited from interface ghidra.program.model.data.DataType
CONFLICT_SUFFIX, DEFAULT, NO_LAST_CHANGE_TIME, NO_SOURCE_SYNC_TIME, VOID
-
-
Constructor Summary
Constructors Constructor Description PeDataType()
Constructs a new PE datatype.PeDataType(DataTypeManager dtm)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DataType
clone(DataTypeManager dtm)
Returns a new instance of this DataType with its universalID and SourceArchive identity retained.java.lang.String
getDescription()
Get a String briefly describing this DataType.java.lang.String
getMnemonic(Settings settings)
Get the mnemonic for this DataType.boolean
isDynamicallySized()
Indicates if this data-type is dynamically sized based upon DataOrganization.protected void
populateDynamicStructure(MemBuffer buf, Structure struct)
-
Methods inherited from class ghidra.program.model.data.FactoryStructureDataType
addComponent, getDataType, getLength, getRepresentation, getValue
-
Methods inherited from class ghidra.program.model.data.BuiltIn
addParent, copy, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, getBuiltInSettingsDefinitions, getCTypeDeclaration, getCTypeDeclaration, getCTypeDeclaration, getCTypeDeclaration, getDecompilerDisplayName, getLastChangeTime, getSettingsDefinitions, getUniversalID, isEquivalent, removeParent, setCategoryPath, setName, setNameAndCategory
-
Methods inherited from class ghidra.program.model.data.DataTypeImpl
equals, getAlignment, getDefaultSettings, getLastChangeTimeInSourceArchive, getParents, getPathName, getSourceArchive, getValueClass, hashCode, notifyDeleted, notifyNameChanged, notifyReplaced, notifySizeChanged, replaceWith, setDefaultSettings, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setSourceArchive, stateChanged
-
Methods inherited from class ghidra.program.model.data.AbstractDataType
getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDisplayName, getDocs, getName, isDeleted, isNotYetDefined, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface ghidra.program.model.data.BuiltInDataType
getCTypeDeclaration
-
Methods inherited from interface ghidra.program.model.data.DataType
addParent, copy, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, getAlignment, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDefaultSettings, getDisplayName, getDocs, getLastChangeTime, getLastChangeTimeInSourceArchive, getName, getParents, getPathName, getSettingsDefinitions, getSourceArchive, getUniversalID, getValueClass, isDeleted, isEquivalent, isNotYetDefined, removeParent, replaceWith, setCategoryPath, setDefaultSettings, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setName, setNameAndCategory, setSourceArchive
-
-
-
-
Constructor Detail
-
PeDataType
public PeDataType()
Constructs a new PE datatype.
-
PeDataType
public PeDataType(DataTypeManager dtm)
-
-
Method Detail
-
getMnemonic
public java.lang.String getMnemonic(Settings settings)
Description copied from interface:DataType
Get the mnemonic for this DataType.- Specified by:
getMnemonic
in interfaceDataType
- Overrides:
getMnemonic
in classAbstractDataType
- Returns:
- the mnemonic for this DataType.
-
getDescription
public java.lang.String getDescription()
Description copied from interface:DataType
Get a String briefly describing this DataType.- Specified by:
getDescription
in interfaceDataType
- Overrides:
getDescription
in classFactoryStructureDataType
- Returns:
- a one-liner describing this DataType.
- See Also:
DataType.getDescription()
-
isDynamicallySized
public boolean isDynamicallySized()
Description copied from interface:DataType
Indicates if this data-type is dynamically sized based upon DataOrganization.- Specified by:
isDynamicallySized
in interfaceDataType
- Overrides:
isDynamicallySized
in classAbstractDataType
- See Also:
DataType.isDynamicallySized()
-
populateDynamicStructure
protected void populateDynamicStructure(MemBuffer buf, Structure struct)
- Specified by:
populateDynamicStructure
in classFactoryStructureDataType
-
clone
public DataType clone(DataTypeManager dtm)
Description copied from interface:DataType
Returns a new instance of this DataType with its universalID and SourceArchive identity retained. Note: for built-in DataType's, clone and copy should have the same affect.- Specified by:
clone
in interfaceDataType
- Specified by:
clone
in classFactoryStructureDataType
- Parameters:
dtm
- the data-type manager instance whose data-organization should apply.
-
-