# Class: com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceLocation

Locations of [IReference](IReference) source/targets, can be either an internal address or an external routine. Immutable; the referenced location may not be though.

## Method: equals
- parameter: `obj`, type: `java.lang.Object`
- return type: `boolean`


## Method: getExternalMethod
- return type: `com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem`

Description: Get the external method.
return: external method, or null if this location is not an external method

## Method: getInternalAddress
- return type: `java.lang.Long`

Description: Get the internal address.
return: internal address, or null if this location is not an internal address

## Method: hashCode
- return type: `int`


## Method: isExternalMethod
- return type: `boolean`

Description: Determine whether this location is an external method.
return: true for an external method

## Method: isInternalAddress
- return type: `boolean`

Description: Determine whether this location is an internal address.
return: true for an internal address

## Method: toString
- return type: `java.lang.String`


## Static Method: create
- parameter: `address`, type: `long`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceLocation`

Description: Create a reference location for an internal address.
parameter: address: internal address
return: reference location

## Static Method: createFromExternalRoutine
- parameter: `externalRtn`, type: `com.pnfsoftware.jeb.core.units.code.asm.items.INativeMethodItem`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.analyzer.ReferenceLocation`

Description: Create a reference location for an external routine.
parameter: externalRtn: external routine
return: reference location

