public abstract class AccessFieldNode extends FixedWithNextNode implements Lowerable
Node.ConstantNodeParameter, Node.InjectedNodeParameter, Node.Input, Node.NodeIntrinsic, Node.OptionalInput, Node.Successor, Node.ValueNumberable
Modifier and Type | Field and Description |
---|---|
protected ResolvedJavaField |
field |
(package private) ValueNode |
object |
static NodeClass<AccessFieldNode> |
TYPE |
next
NODE_LIST, NOT_ITERABLE, USE_UNSAFE_TO_CLONE, WithAllEdges, WithNoEdges, WithOnlyInputEdges, WithOnlySucessorEdges
Constructor and Description |
---|
AccessFieldNode(NodeClass<? extends AccessFieldNode> c,
Stamp stamp,
ValueNode object,
ResolvedJavaField field)
Constructs a new access field object.
|
Modifier and Type | Method and Description |
---|---|
ResolvedJavaField |
field()
Gets the compiler interface field for this field access.
|
boolean |
isStatic()
Checks whether this field access is an access to a static field.
|
boolean |
isVolatile()
Checks whether this field is declared volatile.
|
void |
lower(LoweringTool tool)
Expand this node into lower level nodes expressing the same semantics.
|
ValueNode |
object() |
String |
toString(Verbosity verbosity)
Creates a String representation for this node with a given
Verbosity . |
boolean |
verify() |
asNode, next, setNext
asConstant, asJavaConstant, getKind, graph, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isNullConstant, setStamp, stamp, updateStamp
acceptInputs, acceptSuccessors, afterClone, assertFalse, assertTrue, cfgPredecessors, cfgSuccessors, clearInputs, clearSuccessors, copyWithInputs, copyWithInputs, equals, fail, formatTo, getDebugProperties, getDebugProperties, getId, getNodeClass, getUsageAt, getUsageCount, hashCode, hasNoUsages, hasUsages, inputs, isAlive, isDeleted, markDeleted, modCount, newIdentityMap, newIdentityMap, newIdentityMap, newMap, newMap, newMap, newSet, newSet, predecessor, pushInputs, removeUsage, replaceAndDelete, replaceAtMatchingUsages, replaceAtPredecessor, replaceAtUsages, replaceAtUsages, replaceAtUsages, replaceFirstInput, replaceFirstSuccessor, safeDelete, simplify, successors, toString, updatePredecessor, updateUsages, updateUsagesInterface, usages, valueEquals, verifyEdges, verifyInputs
public static final NodeClass<AccessFieldNode> TYPE
protected final ResolvedJavaField field
public AccessFieldNode(NodeClass<? extends AccessFieldNode> c, Stamp stamp, ValueNode object, ResolvedJavaField field)
object
- the instruction producing the receiver objectfield
- the compiler interface representation of the fieldpublic ResolvedJavaField field()
public boolean isStatic()
true
if this field access is to a static fieldpublic boolean isVolatile()
true
if the field is resolved and declared volatilepublic void lower(LoweringTool tool)
Lowerable
public String toString(Verbosity verbosity)
Node
Verbosity
.