# Interface: com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICPredicate

C AST predicate, wrapper for a C expression that can be evaluated to true or false.

## Method: duplicate
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICPredicate`


## Method: duplicateAndReverse
- parameter: `of`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICOperatorFactory`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICPredicate`

Description: Create a deep copy of this predicate \(using [#duplicate()](#duplicate())\) and reverse it. This object is not modified.
parameter: of: mandatory C operator factory

## Method: getExpression
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICExpression`


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


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


## Method: reverse
- parameter: `of`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICOperatorFactory`

Description: Reverse this predicate. This object is modified. If this object inner [ICExpression](ICExpression) is a [ICOperation](ICOperation), the inner COperation is modified.
parameter: of: mandatory C operator factory

## Method: setExpression
- parameter: `expression`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICExpression`


