src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ConstantNode.java
--- 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);
}