[512800] Cleanup spurious GenOperations and GenParameters Bug: 512800 Change-Id: I5b1cf7a769d94ba6044912fed647b7b95643e26c
diff --git a/org.eclipse.emf.ecoretools.design/src/org/eclipse/emf/ecoretools/design/service/GenModelAutoReload.java b/org.eclipse.emf.ecoretools.design/src/org/eclipse/emf/ecoretools/design/service/GenModelAutoReload.java index 08a2dce..56fdf07 100644 --- a/org.eclipse.emf.ecoretools.design/src/org/eclipse/emf/ecoretools/design/service/GenModelAutoReload.java +++ b/org.eclipse.emf.ecoretools.design/src/org/eclipse/emf/ecoretools/design/service/GenModelAutoReload.java
@@ -17,7 +17,9 @@ import org.eclipse.emf.codegen.ecore.genmodel.GenClass; import org.eclipse.emf.codegen.ecore.genmodel.GenFeature; import org.eclipse.emf.codegen.ecore.genmodel.GenModel; +import org.eclipse.emf.codegen.ecore.genmodel.GenOperation; import org.eclipse.emf.codegen.ecore.genmodel.GenPackage; +import org.eclipse.emf.codegen.ecore.genmodel.GenParameter; import org.eclipse.emf.common.command.Command; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EObject; @@ -144,9 +146,7 @@ } for (GenModel genmodel : genmodels) { - if (!genmodel.reconcile()) { - System.out.println("Genmodel reconcile was not successful"); - } + genmodel.reconcile(); } } @@ -179,6 +179,19 @@ toDelete.add(feat); } } + for (GenOperation op : genclass.getGenOperations()) { + if (op.getEcoreOperation() != null + && op.getEcoreOperation().getEContainingClass() != op.getGenClass().getEcoreClassifier()) { + toDelete.add(op); + } + for (GenParameter param : op.getGenParameters()) { + if (param.getEcoreParameter() != null + && param.getEcoreParameter().getEOperation() != op.getEcoreOperation()) { + toDelete.add(param); + } + } + } + } } }