[544672] Compilation errors on first import for Xcore
diff --git a/plugins/org.eclipse.emf.ecore.xcore/src/org/eclipse/emf/ecore/xcore/generator/XcoreGenerator.xtend b/plugins/org.eclipse.emf.ecore.xcore/src/org/eclipse/emf/ecore/xcore/generator/XcoreGenerator.xtend
index 7422e4a..d0a52d2 100644
--- a/plugins/org.eclipse.emf.ecore.xcore/src/org/eclipse/emf/ecore/xcore/generator/XcoreGenerator.xtend
+++ b/plugins/org.eclipse.emf.ecore.xcore/src/org/eclipse/emf/ecore/xcore/generator/XcoreGenerator.xtend
@@ -145,7 +145,8 @@
 			EcoreUtil::setAnnotation(target, GenModelPackage::eNS_URI, key, extractBody(appendable.toString))
 		}
 		catch (Throwable throwable) {
-			EcoreUtil::setAnnotation(target, GenModelPackage::eNS_URI, key, "throw new <%java.lang.Error%>(\"Unresolved compilation problems: " + CodeGenUtil.unicodeEscapeEncode(throwable.message) + "\");");
+			val message = if (throwable.message === null) "throw new <%java.lang.Error%>(\"Unresolved compilation problem\");" else "throw new <%java.lang.Error%>(\"Unresolved compilation problems: " + CodeGenUtil.unicodeEscapeEncode(throwable.message) + "\");"
+			EcoreUtil::setAnnotation(target, GenModelPackage::eNS_URI, key, message)
 		}
 	}
 
diff --git a/plugins/org.eclipse.emf.ecore.xcore/xtend-gen/org/eclipse/emf/ecore/xcore/generator/XcoreGenerator.java b/plugins/org.eclipse.emf.ecore.xcore/xtend-gen/org/eclipse/emf/ecore/xcore/generator/XcoreGenerator.java
index 5839719..29d79d7 100644
--- a/plugins/org.eclipse.emf.ecore.xcore/xtend-gen/org/eclipse/emf/ecore/xcore/generator/XcoreGenerator.java
+++ b/plugins/org.eclipse.emf.ecore.xcore/xtend-gen/org/eclipse/emf/ecore/xcore/generator/XcoreGenerator.java
@@ -181,10 +181,18 @@
     } catch (final Throwable _t) {
       if (_t instanceof Throwable) {
         final Throwable throwable = (Throwable)_t;
-        String _unicodeEscapeEncode = CodeGenUtil.unicodeEscapeEncode(throwable.getMessage());
-        String _plus = ("throw new <%java.lang.Error%>(\"Unresolved compilation problems: " + _unicodeEscapeEncode);
-        String _plus_1 = (_plus + "\");");
-        EcoreUtil.setAnnotation(target, GenModelPackage.eNS_URI, key, _plus_1);
+        String _xifexpression = null;
+        String _message = throwable.getMessage();
+        boolean _tripleEquals = (_message == null);
+        if (_tripleEquals) {
+          _xifexpression = "throw new <%java.lang.Error%>(\"Unresolved compilation problem\");";
+        } else {
+          String _unicodeEscapeEncode = CodeGenUtil.unicodeEscapeEncode(throwable.getMessage());
+          String _plus = ("throw new <%java.lang.Error%>(\"Unresolved compilation problems: " + _unicodeEscapeEncode);
+          _xifexpression = (_plus + "\");");
+        }
+        final String message = _xifexpression;
+        EcoreUtil.setAnnotation(target, GenModelPackage.eNS_URI, key, message);
       } else {
         throw Exceptions.sneakyThrow(_t);
       }