Mercurial > hg > graal-compiler
changeset 14115:ed7893cae86f
Check for abstract modifier in NodeIntrinsic verification.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Fri, 07 Mar 2014 19:15:22 +0100 |
parents | 2bb17229c0d7 |
children | be7ebdf41bea |
files | graal/com.oracle.graal.replacements.verifier/src/com/oracle/graal/replacements/verifier/NodeIntrinsicVerifier.java |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.replacements.verifier/src/com/oracle/graal/replacements/verifier/NodeIntrinsicVerifier.java Fri Mar 07 13:55:06 2014 +0100 +++ b/graal/com.oracle.graal.replacements.verifier/src/com/oracle/graal/replacements/verifier/NodeIntrinsicVerifier.java Fri Mar 07 19:15:22 2014 +0100 @@ -90,8 +90,12 @@ } if (isNodeType(nodeClass)) { - TypeMirror[] constructorSignature = constructorSignature(intrinsicMethod); - findConstructor(nodeClass, constructorSignature, intrinsicMethod, annotation); + if (nodeClass.getModifiers().contains(Modifier.ABSTRACT)) { + env.getMessager().printMessage(Kind.ERROR, String.format("Cannot make @NodeIntrinsic for abstract node class %s.", nodeClass.getSimpleName()), element, annotation); + } else { + TypeMirror[] constructorSignature = constructorSignature(intrinsicMethod); + findConstructor(nodeClass, constructorSignature, intrinsicMethod, annotation); + } } else { env.getMessager().printMessage(Kind.ERROR, String.format("The class %s is not a Node subclass.", nodeClass.getSimpleName()), element, annotation); }