Interface IJavaPredicate_LEGACY
- All Superinterfaces:
IJavaElement,IJavaExpression,IJavaOperation
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.
-
Field Summary
Fields inherited from interface com.pnfsoftware.jeb.core.units.code.java.IJavaElement
FLAG_BUILT, FLAG_FIELD_REFERENCES_OUTERCLASS, FLAG_LAMBDA_CLASS, FLAG_LAMBDA_IMPL, FLAG_OPTIONAL_RENDERING, FLAG_SECOND_PARAMETER_IS_OUTER_REF, FLAG_STICKY -
Method Summary
Modifier and TypeMethodDescriptionDuplicate this element.booleanDetermine if the predicate represents the simple literal value 'false' (null IDENT 'false').booleanDetermine if the predicate represents the simple literal value 'true' (null IDENT 'true').voidreverse()Reverse the predicate.booleansimplify()Recursively simplify predicates like: "x == true", "x != true", "x == false", "x != false" to things like "x" or "!x"Methods inherited from interface com.pnfsoftware.jeb.core.units.code.java.IJavaElement
addFlags, addTag, canCauseException, collectAllPhysicalOffsets, generate, getData, getElementType, getFlags, getOrigin, getPhysicalMethodIndex, getPhysicalOffset, getReconAnon, getReconEnum, getReconEnummap, getReconLambda, getSubElements, getTags, hasFlags, hasPhysicalMethodIndex, hasPhysicalOffset, isReconArtifact, removeFlags, removeTag, replaceSubElement, setData, setFlags, setLambdaRecon, setOrigin, setPhysicalMethodIndex, setPhysicalOffset, setReconAnon, setReconEnum, setReconEnummap, toShortString, visitDepthPost, visitDepthPost, visitDepthPost, visitDepthPost, visitDepthPre, visitDepthPre, visitDepthPreMethods inherited from interface com.pnfsoftware.jeb.core.units.code.java.IJavaOperation
canMirror, canReverse, checkOperatorType, getCountOfOperands, getLeft, getOperator, getOperatorType, getRight, mirror, reverse, setLeft, setOperator, setRight
-
Method Details
-
isLitteralTrue
boolean isLitteralTrue()Determine if the predicate represents the simple literal value 'true' (null IDENT 'true').- Returns:
- true if the predicate represents the literal true
-
isLitteralFalse
boolean isLitteralFalse()Determine if the predicate represents the simple literal value 'false' (null IDENT 'false').- Returns:
- true if the predicate represents the literal false
-
reverse
void reverse()Reverse the predicate. Example: "x == 3" becomes "x != 3". -
simplify
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
-
duplicate
IJavaPredicate_LEGACY duplicate()Description copied from interface:IJavaElementDuplicate this element.- Specified by:
duplicatein interfaceIJavaElement- Specified by:
duplicatein interfaceIJavaExpression- Specified by:
duplicatein interfaceIJavaOperation- Returns:
- a (possibly) duplicated object of the same type
-