public abstract class LogicNode extends FloatingNode implements Node.IndirectCanonicalization
Node.ConstantNodeParameter, Node.EdgeVisitor, Node.IndirectCanonicalization, Node.InjectedNodeParameter, Node.Input, Node.NodeInsertionStackTrace, Node.NodeIntrinsic, Node.NodeIntrinsicFactory, Node.OptionalInput, Node.Successor, Node.ValueNumberable| Modifier and Type | Field and Description |
|---|---|
static NodeClass<LogicNode> |
TYPE |
EMPTY_ARRAY, stampNODE_LIST, NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Constructor and Description |
|---|
LogicNode(NodeClass<? extends LogicNode> c) |
| Modifier and Type | Method and Description |
|---|---|
static LogicNode |
and(LogicNode a,
boolean negateA,
LogicNode b,
boolean negateB,
ProfileData.BranchProbabilityData shortCircuitProbability) |
static LogicNode |
and(LogicNode a,
LogicNode b,
ProfileData.BranchProbabilityData shortCircuitProbability) |
TriState |
implies(boolean thisNegated,
LogicNode other)
Determines what this condition implies about the other.
|
boolean |
isContradiction() |
boolean |
isTautology() |
static LogicNode |
or(LogicNode a,
boolean negateA,
LogicNode b,
boolean negateB,
ProfileData.BranchProbabilityData shortCircuitProbability) |
static LogicNode |
or(LogicNode a,
LogicNode b,
ProfileData.BranchProbabilityData shortCircuitProbability) |
asConstant, asJavaConstant, asNode, asSerializableConstant, checkReplaceAtUsagesInvariants, getStackKind, graph, hasUsagesOtherThan, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isDefaultConstant, isIllegalConstant, isJavaConstant, isNullConstant, isSerializableConstant, recursivelyDataFlowEqualsUpTo, setStamp, stamp, updateStamp, updateUsagesInterfaceafterClone, applyInputs, applySuccessors, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearNodeSourcePosition, clearSuccessors, copyWithInputs, copyWithInputs, dataFlowEquals, dynamicNodeSizeEstimate, estimatedNodeCycles, estimatedNodeSize, fail, formatTo, getCreationPosition, getDebug, getDebugProperties, getDebugProperties, getInsertionPosition, getNodeClass, getNodeSourcePosition, getOptions, getUsageCount, hasExactlyOneUsage, hashCode, hasMoreThanOneUsage, hasNoUsages, hasOnlyUsagesOfType, hasUsages, hasUsagesOfType, inputPositions, inputs, isAlive, isDeleted, isUnregistered, markDeleted, maybeNotifyZeroUsages, modCount, predecessor, pushInputs, removeUsage, replaceAllInputs, replaceAndDelete, replaceAtAllUsages, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceAtUsagesAndDelete, replaceAtUsagesAndDelete, replaceFirstInput, replaceFirstSuccessor, safeDelete, setCreationPosition, setInsertionPosition, setNodeSourcePosition, singleUsage, successorPositions, successors, toString, toString, updateNodeSourcePosition, updatePredecessor, updateUsages, usages, valueEquals, verify, verifyEdges, verifyInputs, verifySourcePosition, withNodeSourcePositionpublic static LogicNode and(LogicNode a, LogicNode b, ProfileData.BranchProbabilityData shortCircuitProbability)
public static LogicNode and(LogicNode a, boolean negateA, LogicNode b, boolean negateB, ProfileData.BranchProbabilityData shortCircuitProbability)
public static LogicNode or(LogicNode a, LogicNode b, ProfileData.BranchProbabilityData shortCircuitProbability)
public static LogicNode or(LogicNode a, boolean negateA, LogicNode b, boolean negateB, ProfileData.BranchProbabilityData shortCircuitProbability)
public final boolean isTautology()
public final boolean isContradiction()
public TriState implies(boolean thisNegated,
LogicNode other)
TriState.TRUETriState.FALSEthisNegated - whether this condition should be considered as false.other - the other condition.