# Class: com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.VarSrc

Variable\-source object, that is, specify the variable\(s\) behind a variable\-copy. A copy may be a duplicate, a pair, or a slice.

## Method: collectSourceIds
- parameter: `sink`, type: `java.util.Collection<java.lang.Integer>`


## Method: collectSourceIds
- parameter: `sink`, type: `java.util.Collection<java.lang.Integer>`
- parameter: `exclusions`, type: `java.util.Collection<java.lang.Integer>`

Description: 
parameter: sink: 
parameter: exclusions: optional

## Method: containsSourceId
- parameter: `id`, type: `int`
- return type: `boolean`


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


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


## Method: getAsPair
- return type: `com.pnfsoftware.jeb.util.base.Couple<java.lang.Integer,java.lang.Integer>`

Description: 
return: a tuple \(src\_id\_lo, src\_id\_hi\)

## Method: getAsSlice
- return type: `com.pnfsoftware.jeb.util.base.Couple<java.lang.Integer,com.pnfsoftware.jeb.util.base.Couple<java.lang.Integer,java.lang.Integer>>`

Description: 
return: a tuple \(src\_id, \(bitbegin, bitend\)\)

## Method: getAsTruncated
- return type: `com.pnfsoftware.jeb.util.base.Couple<java.lang.Integer,java.lang.Integer>`

Description: 
return: a tuple \(src\_id, bitsize\)

## Method: getSource
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.VarSrc.E>`


## Method: getSourceIds
- return type: `java.util.List<java.lang.Integer>`


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


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


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

Description: special case of merge: 2 elements

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


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

Description: special case of slice: \[0, x\)

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


## Static Method: dup
- parameter: `srcid`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.VarSrc`


## Static Method: pair
- parameter: `srcidLo`, type: `int`
- parameter: `srcidHi`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.VarSrc`


## Static Method: slice
- parameter: `srcid`, type: `int`
- parameter: `bitbegin`, type: `int`
- parameter: `bitend`, type: `java.lang.Integer`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.VarSrc`


## Static Method: truncated
- parameter: `srcid`, type: `int`
- parameter: `bitplit`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.VarSrc`


