public class BooleanOperation extends AbstractExpression implements ConditionalExpression
| Modifier and Type | Field and Description |
|---|---|
private ConditionalExpression |
lhs |
private BoolOp |
op |
private ConditionalExpression |
rhs |
| Constructor and Description |
|---|
BooleanOperation(BytecodeLoc loc,
ConditionalExpression lhs,
ConditionalExpression rhs,
BoolOp op) |
addLoc, canPushDownInto, canThrow, dump, dumpWithOuterPrecedence, getInferredJavaType, getLoc, isSimple, isValidStatement, outerDeepClone, pushDown, toString, visitclone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcanPushDownInto, canThrow, dump, getInferredJavaType, isSimple, isValidStatement, pushDown, visitdumpWithOuterPrecedenceouterDeepCloneaddLoc, getLocprivate ConditionalExpression lhs
private ConditionalExpression rhs
private BoolOp op
public BooleanOperation(BytecodeLoc loc, ConditionalExpression lhs, ConditionalExpression rhs, BoolOp op)
public Expression deepClone(CloneHelper cloneHelper)
deepClone in interface DeepCloneable<Expression>public BytecodeLoc getCombinedLoc()
getCombinedLoc in interface HasByteCodeLocpublic ConditionalExpression getLhs()
public ConditionalExpression getRhs()
public BoolOp getOp()
public void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages in interface TypeUsageCollectablecollectTypeUsages in class AbstractExpressionpublic int getSize(Precedence outerPrecedence)
getSize in interface ConditionalExpressionpublic Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
replaceSingleUsageLValues in interface Expressionpublic Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyExpressionRewriter in interface Expressionpublic Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyReverseExpressionRewriter in interface Expressionpublic Expression applyLHSOnlyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
public Precedence getPrecedence()
getPrecedence in interface DumpableWithPrecedencegetPrecedence in class AbstractExpressionpublic Dumper dumpInner(Dumper d)
dumpInner in class AbstractExpressionpublic ConditionalExpression getNegated()
getNegated in interface ConditionalExpressionpublic ConditionalExpression getDemorganApplied(boolean amNegating)
getDemorganApplied in interface ConditionalExpressionpublic ConditionalExpression getRightDeep()
getRightDeep in interface ConditionalExpressionpublic static ConditionalExpression makeRightDeep(java.util.List<ConditionalExpression> c, BoolOp op)
public java.util.Set<LValue> getLoopLValues()
getLoopLValues in interface ConditionalExpressionpublic void collectUsedLValues(LValueUsageCollector lValueUsageCollector)
collectUsedLValues in interface Expressionpublic ConditionalExpression optimiseForType()
optimiseForType in interface ConditionalExpressionpublic ConditionalExpression simplify()
simplify in interface ConditionalExpressionpublic boolean equals(java.lang.Object o)
equals in class AbstractExpressionpublic final boolean equivalentUnder(java.lang.Object o,
EquivalenceConstraint constraint)
equivalentUnder in interface ExpressionequivalentUnder in interface ComparableUnderECprivate static java.lang.Boolean getComputed(Expression e, java.util.Map<LValue,Literal> display)
public Literal getComputedLiteral(java.util.Map<LValue,Literal> display)
getComputedLiteral in interface ExpressiongetComputedLiteral in class AbstractExpression