public interface

ICodeUnit

implements IInteractiveUnit
com.pnfsoftware.jeb.core.units.code.ICodeUnit
Known Indirect Subclasses

Class Overview

Base interface for units handling 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 CodeItem 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.

Summary

Public Methods
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 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 String getIdentifierName(String address)
DO NOT USE.
abstract Map<String, String> getIdentifierNames()
DO NOT USE.
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.
abstract IInstruction parseInstruction(IInput input)
DO NOT USE.
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.core.units.IInteractiveUnit
From interface com.pnfsoftware.jeb.core.units.IUnit
From interface com.pnfsoftware.jeb.util.events.IEventSource

Public Methods

public abstract ICodeClass getClass (String fqname)

Convenience method used to retrieve a class by name.

public abstract List<? extends ICodeClass> getClasses ()

Get the list of classes.

public abstract ICodeField getField (String fqname)

Convenience method used to retrieve a field by name.

public abstract List<? extends ICodeField> getFields ()

Get the list of fields.

public abstract ICodeHierarchy getHierarchy ()

Get the code hierarchy.

public abstract String getIdentifierName (String address)

DO NOT USE. Convenience method used to retrieve an identifier by name.

public abstract Map<String, String> getIdentifierNames ()

DO NOT USE. Get a list of all identifiers.

public abstract ICodeMethod getMethod (String fqname)

Convenience method used to retrieve a method by name.

public abstract List<? extends ICodeMethod> getMethods ()

Get the list of methods.

public abstract List<? extends ICodePackage> getPackages ()

Get the list of code packages.

public abstract List<? extends ICodeString> getStrings ()

Get the list of code strings.

public abstract List<? extends ICodeType> getTypes ()

Get the list of types.

public abstract IInstruction parseInstruction (IInput input)

DO NOT USE. Parse an instruction. To be removed. Access to Instruction parsers should be done via IProcessors.