comparison graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/CallTargetNode.java @ 19396:7e2c87dae93e

Create static final NodeClass field named TYPE in Node subclasses.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Mon, 16 Feb 2015 15:43:03 +0100
parents 0b05bd821399
children 61d3cb8e1280
comparison
equal deleted inserted replaced
19395:a306749d3e86 19396:7e2c87dae93e
30 import com.oracle.graal.nodeinfo.*; 30 import com.oracle.graal.nodeinfo.*;
31 import com.oracle.graal.nodes.spi.*; 31 import com.oracle.graal.nodes.spi.*;
32 32
33 @NodeInfo(allowedUsageTypes = {InputType.Extension}) 33 @NodeInfo(allowedUsageTypes = {InputType.Extension})
34 public abstract class CallTargetNode extends ValueNode implements LIRLowerable { 34 public abstract class CallTargetNode extends ValueNode implements LIRLowerable {
35 public static final NodeClass TYPE = NodeClass.get(CallTargetNode.class);
36
35 public enum InvokeKind { 37 public enum InvokeKind {
36 Interface(false), 38 Interface(false),
37 Special(true), 39 Special(true),
38 Static(true), 40 Static(true),
39 Virtual(false); 41 Virtual(false);
63 65
64 @Input protected NodeInputList<ValueNode> arguments; 66 @Input protected NodeInputList<ValueNode> arguments;
65 protected ResolvedJavaMethod targetMethod; 67 protected ResolvedJavaMethod targetMethod;
66 protected InvokeKind invokeKind; 68 protected InvokeKind invokeKind;
67 69
68 public CallTargetNode(ValueNode[] arguments, ResolvedJavaMethod targetMethod, InvokeKind invokeKind) { 70 protected CallTargetNode(NodeClass c, ValueNode[] arguments, ResolvedJavaMethod targetMethod, InvokeKind invokeKind) {
69 super(StampFactory.forVoid()); 71 super(c, StampFactory.forVoid());
70 this.targetMethod = targetMethod; 72 this.targetMethod = targetMethod;
71 this.invokeKind = invokeKind; 73 this.invokeKind = invokeKind;
72 this.arguments = new NodeInputList<>(this, arguments); 74 this.arguments = new NodeInputList<>(this, arguments);
73 } 75 }
74 76
75 public CallTargetNode(List<ValueNode> arguments, ResolvedJavaMethod targetMethod, InvokeKind invokeKind) { 77 protected CallTargetNode(NodeClass c, List<ValueNode> arguments, ResolvedJavaMethod targetMethod, InvokeKind invokeKind) {
76 super(StampFactory.forVoid()); 78 super(c, StampFactory.forVoid());
77 this.targetMethod = targetMethod; 79 this.targetMethod = targetMethod;
78 this.invokeKind = invokeKind; 80 this.invokeKind = invokeKind;
79 this.arguments = new NodeInputList<>(this, arguments); 81 this.arguments = new NodeInputList<>(this, arguments);
80 } 82 }
81 83