Please free (or just fix) ModuleBasedConfiguration please ;-)

Jetbrainers...

In the TestNG plugin we've made use of an internal class ModuleBasedConfiguration as the basis of our RunConfiguration object since we want TestNG to be module based - no point duplicating code right?

Any chance this class could be moved out of the internal idea.jar and into the OpenAPI (or at least away from the com.intellij.execution.junit package ( as well as the RunConfigurationModule class)).

Also, I've hit a stumper in these classes which is preventing me from building a Demetra based TestNG plugin: ModuleBasedConfiguration has a clone() method returning Object, whereas its superclass RuntimeConfiguration has a clone() method returning RunConfiguration...

no wait - scratch that.... now I'm confused, IDEA shows the .class as having:

public com.intellij.execution.configurations.RunConfiguration clone() { /* compiled code */ }
public java.lang.Object clone() throws java.lang.CloneNotSupportedException { /* compiled code */ }

How the hell does a class have two methods with the same name, same params, but different return types?

Hrm......

2 comments

Looks like the RuntimeConfiguration is making use of covariant return types on the clone() method, but ModuleBasedConfiguration isn't :(

0

Please sign in to leave a comment.