# HG changeset patch # User Roland Schatz # Date 1394216122 -3600 # Node ID ed7893cae86fb35aa8526bd43832e192c518c28f # Parent 2bb17229c0d778aafe12a5a6e6293317ae35f89a Check for abstract modifier in NodeIntrinsic verification. diff -r 2bb17229c0d7 -r ed7893cae86f graal/com.oracle.graal.replacements.verifier/src/com/oracle/graal/replacements/verifier/NodeIntrinsicVerifier.java --- 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); }