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 |
nextNODE_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, setNextasConstant, asJavaConstant, getKind, graph, inferStamp, isAllowedUsageType, isConstant, isConstantPredicate, isNullConstant, setStamp, stamp, updateStampacceptInputs, 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, verifyInputspublic 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)
Lowerablepublic String toString(Verbosity verbosity)
NodeVerbosity.