# Interface: com.pnfsoftware.jeb.core.units.code.asm.analyzer.IReferenceManager

A manager of cross\-references for code and data.

## Method: getReferencesFrom
- parameter: `from`, type: `long`
- return type: `java.util.Set<? extends com.pnfsoftware.jeb.core.units.code.asm.analyzer.IReference>`

Description: Get references from an internal location. Never null.
parameter: from: source address
return: references from the source

## Method: getReferencesFrom
- parameter: `from`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceLocation`
- return type: `java.util.Set<? extends com.pnfsoftware.jeb.core.units.code.asm.analyzer.IReference>`

Description: Get references from a location. Never null.
parameter: from: source location
return: references from the source

## Method: getReferencesTo
- parameter: `target`, type: `long`
- return type: `java.util.Set<? extends com.pnfsoftware.jeb.core.units.code.asm.analyzer.IReference>`

Description: Get references to an internal location. Never null.
parameter: target: target address
return: references to the target

## Method: getReferencesTo
- parameter: `to`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceLocation`
- return type: `java.util.Set<? extends com.pnfsoftware.jeb.core.units.code.asm.analyzer.IReference>`

Description: Get references to a location. Never null.
parameter: to: target location
return: references to the target

## Method: getReferencesToExternalMethod
- parameter: `to`, type: `com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem`
- return type: `java.util.Set<? extends com.pnfsoftware.jeb.core.units.code.asm.analyzer.IReference>`

Description: Get references to an external method. Never null.
parameter: to: target method
return: references to the target

## Method: recordExternalReference
- parameter: `from`, type: `long`
- parameter: `to`, type: `com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem`
- parameter: `type`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceType`
- return type: `boolean`

Description: Record a reference *from* an internal location *to* an external method, with default flags
parameter: from: source address
parameter: to: target method
parameter: type: reference type
return: true if reference was registered, false otherwise \(because there is already a         reference between these locations\)

## Method: recordExternalReference
- parameter: `from`, type: `long`
- parameter: `to`, type: `com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem`
- parameter: `type`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceType`
- parameter: `flags`, type: `int`
- return type: `boolean`

Description: Record a reference *from* an internal location *to* an external method
parameter: from: source address
parameter: to: target method
parameter: type: reference type
parameter: flags: reference flags
return: true if reference was registered, false otherwise \(because there is already a         reference between these locations\)

## Method: recordInternalReference
- parameter: `from`, type: `long`
- parameter: `to`, type: `long`
- parameter: `type`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceType`
- return type: `boolean`

Description: Record a reference *from* an internal location *to* an internal location, with default flags
parameter: from: source address
parameter: to: target address
parameter: type: reference type
return: true if reference was registered, false otherwise \(because there is already a         reference between these locations\)

## Method: recordInternalReference
- parameter: `from`, type: `long`
- parameter: `to`, type: `long`
- parameter: `type`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceType`
- parameter: `flags`, type: `int`
- return type: `boolean`

Description: Record a reference *from* an internal location *to* an internal location
parameter: from: source address
parameter: to: target address
parameter: type: reference type
parameter: flags: reference flags
return: true if reference was registered, false otherwise \(because there is already a         reference between these locations\)

## Method: recordReference
- parameter: `from`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceLocation`
- parameter: `to`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceLocation`
- parameter: `type`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceType`
- return type: `boolean`

Description: Record a reference between two locations with default flags
parameter: from: source location
parameter: to: target location
parameter: type: reference type
return: true if reference was registered, false otherwise \(because there is already a         reference between these locations\)

## Method: recordReference
- parameter: `from`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceLocation`
- parameter: `to`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceLocation`
- parameter: `type`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceType`
- parameter: `flags`, type: `int`
- return type: `boolean`

Description: Record a reference between two locations. Never null.
parameter: from: source location
parameter: to: target location
parameter: type: reference type
parameter: flags: reference flags
return: true if reference was registered, false otherwise \(because there is already a         reference between these locations\)

## Method: unrecordAllReferencesFrom
- parameter: `from`, type: `long`
- return type: `boolean`

Description: Unrecord all references from an internal location
parameter: from: source address
return: true if reference was unrecorded, false otherwise \(because there is no such         reference\)

## Method: unrecordAllReferencesFrom
- parameter: `from`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceLocation`
- return type: `boolean`

Description: Unrecord all references from a location
parameter: from: source location
return: true if reference was unrecorded, false otherwise \(because there is no such         reference\)

## Method: unrecordAllReferencesTo
- parameter: `to`, type: `long`
- return type: `boolean`

Description: Unrecord all references to an internal location
parameter: to: target address
return: true if reference was unrecorded, false otherwise \(because there is no such         reference\)

## Method: unrecordAllReferencesTo
- parameter: `to`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceLocation`
- return type: `boolean`

Description: Unrecord all references to a location
parameter: to: target location
return: true if reference was unrecorded, false otherwise \(because there is no such         reference\)

## Method: unrecordReference
- parameter: `from`, type: `long`
- parameter: `to`, type: `long`
- return type: `boolean`

Description: Unrecord the reference between two internal locations
parameter: from: source address
parameter: to: target address
return: true if reference was unrecorded, false otherwise \(because there is no such         reference\)

## Method: unrecordReference
- parameter: `from`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceLocation`
- parameter: `to`, type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceLocation`
- return type: `boolean`

Description: Unrecord the reference between two locations
parameter: from: source location
parameter: to: target location
return: true if reference was unrecorded, false otherwise \(because there is no such         reference\)

