public abstract class EscapeObjectState extends VirtualState implements Node.ValueNumberable
VirtualState.NodeClosure<T extends Node>, VirtualState.NodePositionClosure<T extends Node>, VirtualState.VirtualClosureNode.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 |
|---|---|
protected VirtualObjectNode |
object |
static NodeClass<EscapeObjectState> |
TYPE |
NODE_LIST, NOT_ITERABLE, TRACK_CREATION_POSITION, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges| Constructor and Description |
|---|
EscapeObjectState(NodeClass<? extends EscapeObjectState> c,
VirtualObjectNode object) |
| Modifier and Type | Method and Description |
|---|---|
void |
applyToNonVirtual(VirtualState.NodePositionClosure<? super Node> closure) |
void |
applyToVirtual(VirtualState.VirtualClosure closure)
Performs a pre-order iteration over all elements reachable from this state that are a
subclass of
VirtualState. |
abstract EscapeObjectState |
duplicateWithVirtualState() |
boolean |
isPartOfThisState(VirtualState state) |
VirtualObjectNode |
object() |
graphafterClone, applyInputs, applySuccessors, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, checkReplaceAtUsagesInvariants, 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, isAllowedUsageType, 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 final NodeClass<EscapeObjectState> TYPE
protected VirtualObjectNode object
public EscapeObjectState(NodeClass<? extends EscapeObjectState> c, VirtualObjectNode object)
public VirtualObjectNode object()
public abstract EscapeObjectState duplicateWithVirtualState()
duplicateWithVirtualState in class VirtualStatepublic boolean isPartOfThisState(VirtualState state)
isPartOfThisState in class VirtualStatepublic void applyToVirtual(VirtualState.VirtualClosure closure)
VirtualStateVirtualState.applyToVirtual in class VirtualStatepublic void applyToNonVirtual(VirtualState.NodePositionClosure<? super Node> closure)
applyToNonVirtual in class VirtualState