[452682] Guard against broken references for used package analysis
Change-Id: Ib9869756ec5e1d3524b422c60e0f4bd53e70a449
Signed-off-by: Miro Spönemann <miro.spoenemann@itemis.de>
diff --git a/plugins/org.eclipse.emf.ecore.xcore/src/org/eclipse/emf/ecore/xcore/util/XcoreGenModelBuilder.xtend b/plugins/org.eclipse.emf.ecore.xcore/src/org/eclipse/emf/ecore/xcore/util/XcoreGenModelBuilder.xtend
index bbcad56..f21675a 100644
--- a/plugins/org.eclipse.emf.ecore.xcore/src/org/eclipse/emf/ecore/xcore/util/XcoreGenModelBuilder.xtend
+++ b/plugins/org.eclipse.emf.ecore.xcore/src/org/eclipse/emf/ecore/xcore/util/XcoreGenModelBuilder.xtend
@@ -168,8 +168,11 @@
EClassifier:
{
val EPackage referencedEPackage = eCrossReference.getEPackage
- ePackages.add(referencedEPackage)
- referencedEPackages.add(referencedEPackage)
+ if (referencedEPackage != null)
+ {
+ ePackages.add(referencedEPackage)
+ referencedEPackages.add(referencedEPackage)
+ }
}
EStructuralFeature:
{
@@ -177,8 +180,11 @@
if (eContainingClass != null)
{
val EPackage referencedEPackage = eContainingClass.getEPackage
- ePackages.add(referencedEPackage)
- referencedEPackages.add(referencedEPackage)
+ if (referencedEPackage != null)
+ {
+ ePackages.add(referencedEPackage)
+ referencedEPackages.add(referencedEPackage)
+ }
}
}
}
diff --git a/plugins/org.eclipse.emf.ecore.xcore/xtend-gen/org/eclipse/emf/ecore/xcore/util/XcoreGenModelBuilder.java b/plugins/org.eclipse.emf.ecore.xcore/xtend-gen/org/eclipse/emf/ecore/xcore/util/XcoreGenModelBuilder.java
index 8b8df99..da26294 100644
--- a/plugins/org.eclipse.emf.ecore.xcore/xtend-gen/org/eclipse/emf/ecore/xcore/util/XcoreGenModelBuilder.java
+++ b/plugins/org.eclipse.emf.ecore.xcore/xtend-gen/org/eclipse/emf/ecore/xcore/util/XcoreGenModelBuilder.java
@@ -249,8 +249,11 @@
if (eCrossReference instanceof EClassifier) {
_matched=true;
final EPackage referencedEPackage = ((EClassifier)eCrossReference).getEPackage();
- ePackages.add(referencedEPackage);
- referencedEPackages.add(referencedEPackage);
+ boolean _notEquals = (!Objects.equal(referencedEPackage, null));
+ if (_notEquals) {
+ ePackages.add(referencedEPackage);
+ referencedEPackages.add(referencedEPackage);
+ }
}
}
if (!_matched) {
@@ -260,8 +263,11 @@
boolean _notEquals = (!Objects.equal(eContainingClass, null));
if (_notEquals) {
final EPackage referencedEPackage = eContainingClass.getEPackage();
- ePackages.add(referencedEPackage);
- referencedEPackages.add(referencedEPackage);
+ boolean _notEquals_1 = (!Objects.equal(referencedEPackage, null));
+ if (_notEquals_1) {
+ ePackages.add(referencedEPackage);
+ referencedEPackages.add(referencedEPackage);
+ }
}
}
}