# Class: com.pnfsoftware.jeb.core.units.code.android.ir.DCopyOptions

[copy\(\)](IDElement#copy(DCopyOptions)) options for IR expressions.

## Constructor: DCopyOptions


## Field: identmap
Type: `java.util.Map<java.lang.Integer,com.pnfsoftware.jeb.core.units.code.android.ir.IDVar>`
Description: Identifier replacement.

## Field: replmap_eq
Type: `java.util.Map<com.pnfsoftware.jeb.core.units.code.android.ir.IDExpression,com.pnfsoftware.jeb.core.units.code.android.ir.IDExpression>`
Description: Replacement by equality. The source IR is compared using [equals](Object#equals(Object)).

## Field: replmap_id
Type: `java.util.Map<com.pnfsoftware.jeb.core.units.code.android.ir.IDExpression,com.pnfsoftware.jeb.core.units.code.android.ir.IDExpression>`
Description: Replacement by identity. The source IR is compared using ==.

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


## Method: onDup
- parameter: `e`, type: `com.pnfsoftware.jeb.core.units.code.android.ir.IDExpression`
- return type: `com.pnfsoftware.jeb.core.units.code.android.ir.IDExpression`

Description: This method is called by [IDElement#copy(DCopyOptions)](IDElement#copy(DCopyOptions)) to provide customized 'duplication'. Note that restrictions apply to [IDPredicate](IDPredicate) and [IDInstruction](IDInstruction), which must be copied to similarly\-typed IR, and to non\-[IDExpression](IDExpression) IR \( [IDSwitchData](IDSwitchData), [IDTarget](IDTarget), [IDIndex](IDIndex)\), which can only be duplicated. 

 The default implementation uses the public attributes of this class to support common use cases. This method may be overridden. The override should call `super` if it were to return null.
parameter: e: a source IR
return: a copied IR, whose type must be compatible with e and suitable within the containing         expression; the IR element returned may be duplicated if it was already provided by a         previous call to [#onDup(IDExpression)](#onDup(IDExpression))

