Mercurial > hg > truffle
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 |