diff graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/ElementUtils.java @ 16809:7eeae4545685

Truffle-DSL: fixed ElementUtils#getType should not throw NPE if type is not on the classpath.
author Christian Humer <christian.humer@gmail.com>
date Wed, 13 Aug 2014 18:06:18 +0200
parents 7977cb9fa21f
children c22fc3f48c60
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/ElementUtils.java	Wed Aug 13 14:06:36 2014 +0200
+++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/ElementUtils.java	Wed Aug 13 18:06:18 2014 +0200
@@ -41,7 +41,6 @@
 public class ElementUtils {
 
     public static TypeMirror getType(ProcessingEnvironment processingEnv, Class<?> element) {
-        TypeMirror mirror;
         if (element.isPrimitive()) {
             if (element == void.class) {
                 return processingEnv.getTypeUtils().getNoType(TypeKind.VOID);
@@ -67,11 +66,14 @@
                 assert false;
                 return null;
             }
-            mirror = processingEnv.getTypeUtils().getPrimitiveType(typeKind);
+            return processingEnv.getTypeUtils().getPrimitiveType(typeKind);
         } else {
-            mirror = processingEnv.getElementUtils().getTypeElement(element.getCanonicalName()).asType();
+            TypeElement typeElement = processingEnv.getElementUtils().getTypeElement(element.getCanonicalName());
+            if (typeElement == null) {
+                return null;
+            }
+            return typeElement.asType();
         }
-        return mirror;
     }
 
     public static ExecutableElement findExecutableElement(DeclaredType type, String name) {