public interface

IJavaPredicate

implements IJavaOperation
com.pnfsoftware.jeb.core.units.code.java.IJavaPredicate

Class Overview

Java AST interface to represent a Java predicate. A predicate is a boolean expression that evaluates to true or false.

Note: Currently, logical expressions using non short-circuiting operators OR (|), AND (&), or XOR(^) are not allowed.

Summary

[Expand]
Inherited Constants
From interface com.pnfsoftware.jeb.core.units.code.java.IJavaElement
Public Methods
abstract IJavaPredicate duplicate()
Duplicate this element.
abstract boolean isLitteralFalse()
Determine if the predicate represents the simple literal value 'false' ( null IDENT 'false').
abstract boolean isLitteralTrue()
Determine if the predicate represents the simple literal value 'true' ( null IDENT 'true').
abstract void reverse()
Reverse the predicate.
abstract boolean simplify()
Recursively simplify predicates like: "x == true", "x != true", "x == false", "x != false" to things like "x" or "!x"
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.core.units.code.java.IJavaElement
From interface com.pnfsoftware.jeb.core.units.code.java.IJavaExpression
From interface com.pnfsoftware.jeb.core.units.code.java.IJavaOperation

Public Methods

public abstract IJavaPredicate duplicate ()

Duplicate this element.

Returns
  • a (possibly) duplicated object of the same type

public abstract boolean isLitteralFalse ()

Determine if the predicate represents the simple literal value 'false' ( null IDENT 'false').

Returns
  • true if the predicate represents the literal false

public abstract boolean isLitteralTrue ()

Determine if the predicate represents the simple literal value 'true' ( null IDENT 'true').

Returns
  • true if the predicate represents the literal true

public abstract void reverse ()

Reverse the predicate. Example: "x == 3" becomes "x != 3".

public abstract boolean simplify ()

Recursively simplify predicates like: "x == true", "x != true", "x == false", "x != false" to things like "x" or "!x"

Returns
  • true if at least one simplification was performed