public interface

IReferenceManager

com.pnfsoftware.jeb.core.units.code.asm.analyzer.IReferenceManager

Class Overview

A manager of cross-references for code and data.

Summary

Public Methods
abstract Set<? extends IReference> getReferencesFrom(ReferenceLocation from)
Get references from a location.
abstract Set<? extends IReference> getReferencesFrom(long from)
Get references from an internal location.
abstract Set<? extends IReference> getReferencesTo(ReferenceLocation to)
Get references to a location.
abstract Set<? extends IReference> getReferencesTo(long target)
Get references to an internal location.
abstract Set<? extends IReference> getReferencesToExternalMethod(INativeMethodItem to)
Get references to an external method.
abstract boolean recordExternalReference(long from, INativeMethodItem to, ReferenceType type)
Record a reference from an internal location to an external method, with default flags
abstract boolean recordExternalReference(long from, INativeMethodItem to, ReferenceType type, int flags)
Record a reference from an internal location to an external method
abstract boolean recordInternalReference(long from, long to, ReferenceType type)
Record a reference from an internal location to an internal location, with default flags
abstract boolean recordInternalReference(long from, long to, ReferenceType type, int flags)
Record a reference from an internal location to an internal location
abstract boolean recordReference(ReferenceLocation from, ReferenceLocation to, ReferenceType type)
Record a reference between two locations with default flags
abstract boolean recordReference(ReferenceLocation from, ReferenceLocation to, ReferenceType type, int flags)
Record a reference between two locations.
abstract boolean unrecordAllReferencesFrom(ReferenceLocation from)
Unrecord all references from a location
abstract boolean unrecordAllReferencesFrom(long from)
Unrecord all references from an internal location
abstract boolean unrecordAllReferencesTo(long to)
Unrecord all references to an internal location
abstract boolean unrecordAllReferencesTo(ReferenceLocation to)
Unrecord all references to a location
abstract boolean unrecordReference(long from, long to)
Unrecord the reference between two internal locations
abstract boolean unrecordReference(ReferenceLocation from, ReferenceLocation to)
Unrecord the reference between two locations

Public Methods

public abstract Set<? extends IReference> getReferencesFrom (ReferenceLocation from)

Get references from a location. Never null.

public abstract Set<? extends IReference> getReferencesFrom (long from)

Get references from an internal location. Never null.

public abstract Set<? extends IReference> getReferencesTo (ReferenceLocation to)

Get references to a location. Never null.

public abstract Set<? extends IReference> getReferencesTo (long target)

Get references to an internal location. Never null.

public abstract Set<? extends IReference> getReferencesToExternalMethod (INativeMethodItem to)

Get references to an external method. Never null.

public abstract boolean recordExternalReference (long from, INativeMethodItem to, ReferenceType type)

Record a reference from an internal location to an external method, with default flags

Returns
  • true if reference was registered, false otherwise (because there is already a reference between these locations)

public abstract boolean recordExternalReference (long from, INativeMethodItem to, ReferenceType type, int flags)

Record a reference from an internal location to an external method

Returns
  • true if reference was registered, false otherwise (because there is already a reference between these locations)

public abstract boolean recordInternalReference (long from, long to, ReferenceType type)

Record a reference from an internal location to an internal location, with default flags

Returns
  • true if reference was registered, false otherwise (because there is already a reference between these locations)

public abstract boolean recordInternalReference (long from, long to, ReferenceType type, int flags)

Record a reference from an internal location to an internal location

Returns
  • true if reference was registered, false otherwise (because there is already a reference between these locations)

public abstract boolean recordReference (ReferenceLocation from, ReferenceLocation to, ReferenceType type)

Record a reference between two locations with default flags

Returns
  • true if reference was registered, false otherwise (because there is already a reference between these locations)

public abstract boolean recordReference (ReferenceLocation from, ReferenceLocation to, ReferenceType type, int flags)

Record a reference between two locations. Never null.

Returns
  • true if reference was registered, false otherwise (because there is already a reference between these locations)

public abstract boolean unrecordAllReferencesFrom (ReferenceLocation from)

Unrecord all references from a location

Returns
  • true if reference was unrecorded, false otherwise (because there is no such reference)

public abstract boolean unrecordAllReferencesFrom (long from)

Unrecord all references from an internal location

Returns
  • true if reference was unrecorded, false otherwise (because there is no such reference)

public abstract boolean unrecordAllReferencesTo (long to)

Unrecord all references to an internal location

Returns
  • true if reference was unrecorded, false otherwise (because there is no such reference)

public abstract boolean unrecordAllReferencesTo (ReferenceLocation to)

Unrecord all references to a location

Returns
  • true if reference was unrecorded, false otherwise (because there is no such reference)

public abstract boolean unrecordReference (long from, long to)

Unrecord the reference between two internal locations

Returns
  • true if reference was unrecorded, false otherwise (because there is no such reference)

public abstract boolean unrecordReference (ReferenceLocation from, ReferenceLocation to)

Unrecord the reference between two locations

Returns
  • true if reference was unrecorded, false otherwise (because there is no such reference)