com.pnfsoftware.jeb.core.units.code.ICodeUnit |
![]() |
Base interface for units disassembling binary code, such as bytecode, opcodes, object files, executable files.
Code units are inherently interactive, in order to provide facility for code refactoring, modification, etc.
Code units generate CodeDocument
, and as such, generate AssemblyItem
objects.
Implementors must implement getItemObject(long)
properly.
Currently, we recommend that third-party developers do not implement code units, as the
code.*
API packages are going to be evolving until JEB 2.2. Preferably, implementors
should implement or extend a more specialized sub-type, such as INativeCodeUnit
.
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract String |
getAddressFromCodeCoordinates(ICodeCoordinates cc)
Convert code coordinates to a unit address.
| ||||||||||
abstract ICodeClass |
getClass(String fqname)
Convenience method used to retrieve a class by name.
| ||||||||||
abstract List<? extends ICodeClass> |
getClasses()
Get the list of classes.
| ||||||||||
abstract ICodeCoordinates |
getCodeCoordinatesFromAddress(String address)
Convert a unit address to code coordinates.
| ||||||||||
abstract CodeCommentManager<?> |
getCommentManager()
Get the comment manager.
| ||||||||||
abstract String |
getDisassembly()
Convenience method used to generate the disassembly of this code unit using standard settings.
| ||||||||||
abstract ITextDocument |
getDisassemblyDocument()
Convenience method to retrieve the text document representing the disassembly of this code
unit.
| ||||||||||
abstract ICodeField |
getField(String fqname)
Convenience method used to retrieve a field by name.
| ||||||||||
abstract List<? extends ICodeField> |
getFields()
Get the list of fields.
| ||||||||||
abstract ICodeHierarchy |
getHierarchy()
Get the code hierarchy.
| ||||||||||
abstract ICodeMethod |
getMethod(String fqname)
Convenience method used to retrieve a method by name.
| ||||||||||
abstract List<? extends ICodeMethod> |
getMethods()
Get the list of methods.
| ||||||||||
abstract List<? extends ICodePackage> |
getPackages()
Get the list of code packages.
| ||||||||||
abstract List<? extends ICodeString> |
getStrings()
Get the list of code strings.
| ||||||||||
abstract List<? extends ICodeType> |
getTypes()
Get the list of types.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() | |||||||||||
![]() | |||||||||||
![]() | |||||||||||
![]() | |||||||||||
![]() |
Convert code coordinates to a unit address.
Convenience method used to retrieve a class by name.
Convert a unit address to code coordinates.
Get the comment manager. This method is optional. When the unit is disposed, this method must return null. The default implementation returns null.
Convenience method used to generate the disassembly of this code unit using standard settings.
Convenience method to retrieve the text document representing the disassembly of this code unit.
The caller is responsible for disposing the returned document after usage.
Convenience method used to retrieve a field by name.
Convenience method used to retrieve a method by name.