src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ConstantNode.java
changeset 54084 84f10bbf993f
parent 52910 583fd71c47d6
child 57537 ecc6e394475f
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ConstantNode.java	Tue Mar 12 12:12:01 2019 -0700
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ConstantNode.java	Tue Mar 12 19:17:42 2019 +0100
@@ -54,6 +54,7 @@
 import jdk.vm.ci.meta.JavaKind;
 import jdk.vm.ci.meta.MetaAccessProvider;
 import jdk.vm.ci.meta.PrimitiveConstant;
+import jdk.vm.ci.meta.ResolvedJavaType;
 
 /**
  * The {@code ConstantNode} represents a {@link Constant constant}.
@@ -99,6 +100,10 @@
         }
     }
 
+    public ConstantNode(@InjectedNodeParameter Stamp stamp, @InjectedNodeParameter ConstantReflectionProvider constantReflection, @ConstantNodeParameter ResolvedJavaType type) {
+        this(constantReflection.asJavaClass(type), stamp);
+    }
+
     /**
      * @return the constant value represented by this node
      */
@@ -546,4 +551,7 @@
         }
         return ConstantNode.forInt(length);
     }
+
+    @NodeIntrinsic
+    public static native Class<?> forClass(@ConstantNodeParameter ResolvedJavaType type);
 }