# Interface: com.pnfsoftware.jeb.core.units.code.android.ir.IDElement

Base interface for all `dexdec` IR elements. 

 Currently includes: 
 
- [IDExpression](IDExpression) and all derived elements
-  
- [IDIndex](IDIndex), pool indices
-  
- [IDTarget](IDTarget), branch targets
-  
- [IDSwitchData](IDSwitchData), used by [switch opcodes](DOpcodeType#IR_SWITCH)
-

## Static Field: DEFAULT_COMPARE_WITH_FULL_EQUALITY
Type: `boolean`

Constant value: `false`
Description: Determine whether `hashCode` and `equals` use all the IR expression elements, including metadata like:
 \- type
 \- physical offset
 \- data map
 

 This value is set to false and should not be modified.

## Method: copy
- parameter: `opt`, type: `com.pnfsoftware.jeb.core.units.code.android.ir.DCopyOptions`
- return type: `com.pnfsoftware.jeb.core.units.code.android.ir.IDElement`

Description: Copy this element. This operation can be seen as a custom duplication; the resulting element may not be of the same type as this element.
parameter: opt: optional; if one is provided, [DCopyOptions#onDup(IDExpression)](DCopyOptions#onDup(IDExpression)) will be            tried first to create a copy
return: the copied element

## Method: duplicate
- return type: `com.pnfsoftware.jeb.core.units.code.android.ir.IDElement`

Description: Duplicate this element.
return: a deep copy of this element; the type of the duplicated element should be the same as         this element's type

## Method: equalsEx
- parameter: `o`, type: `java.lang.Object`
- parameter: `fullEquality`, type: `boolean`
- return type: `boolean`

Description: A specialized version of `equals`.
parameter: o: other object
parameter: fullEquality: if false, metadata elements will not be included in the equality            operations
return: true if this element is equal to the other object under the requested comparison mode

## Method: format
- parameter: `fctx`, type: `com.pnfsoftware.jeb.core.units.code.android.ir.DFormattingContext`

Description: Format this IR using the provided formatting context.
parameter: fctx: mandatory formatting context

## Method: toString
- parameter: `ctx`, type: `com.pnfsoftware.jeb.core.units.code.android.ir.IDMethodContext`
- return type: `java.lang.String`

Description: Generate a string representation of this IR using a standard formatting context. 

 This is a convenience method. For more formatting controls, use [#format(DFormattingContext)](#format(DFormattingContext)).
parameter: ctx: optional method context
return: string representation

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

Description: Generate a string representation of this IR using a standard formatting context. Same as calling `toString(null)`. 

 This is a convenience method. For more formatting controls, use [#format(DFormattingContext)](#format(DFormattingContext)).
return: string representation

