Hello,
I desire to have an intermediate EMF Parsley module that's extended by a sub-project. The intermediate module is based on the Java Guice module and not the OSGi-enhanced one. However, the derived code within the sub-project contains errors. Is this a bug or possibly a feature?
The error occurs in the derived code, and the EMF Parsley page warns against modifying derived classes:
Quote:The contents of this folder should never be modified manually, since their contents will be overwritten by the DSL compiler.
As a workaround I'll extend the OSGi module, which works as expected.
Details:
Intermediate.parsley:
import org.eclipse.emf.parsley.EmfParsleyJavaGuiceModule
/* intermediate EMF Parsley Dsl Module file */
module intermediate extends EmfParsleyJavaGuiceModule {
}
Parsley generates the following module:
package intermediate;
import org.eclipse.emf.parsley.EmfParsleyJavaGuiceModule;
import org.eclipse.ui.plugin.AbstractUIPlugin;
/**
* intermediate EMF Parsley Dsl Module file
*/
@SuppressWarnings("all")
public class IntermediateEmfParsleyGuiceModule extends EmfParsleyJavaGuiceModule {
public IntermediateEmfParsleyGuiceModule(final AbstractUIPlugin plugin) {
// not used
}
}
Subproject.parsley:import intermediate.IntermediateEmfParsleyGuiceModule
/* subproject EMF Parsley Dsl Module file */
module subproject extends IntermediateEmfParsleyGuiceModule {
}
Parsley generates the following module:
package subproject;
import intermediate.IntermediateEmfParsleyGuiceModule;
import org.eclipse.ui.plugin.AbstractUIPlugin;
/**
* subproject EMF Parsley Dsl Module file
*/
@SuppressWarnings("all")
public class SubprojectEmfParsleyGuiceModule extends IntermediateEmfParsleyGuiceModule {
public SubprojectEmfParsleyGuiceModule(final AbstractUIPlugin plugin) {
// not used
}
}
An error marker appears on the subproject derived constructor with the following text:
Quote:Implicit super constructor IntermediateEmfParsleyGuiceModule() is undefined. Must explicitly invoke another constructor