Issue description
When compiling a MontiCore class diagram, an invalid import is accepted without an error. The problem is only detected later when the generated Java code is compiled.
Reproduction
montiarc.generator.meta.Java.cd:
classdiagram Java {
public abstract class Class { }
}
montiarc.generator.meta.MA2Jsim.cd:
import montiarc.generator.Java.Class;
classdiagram MA2Jsim {
public class MCConcept extends Class { }
}
The import in MA2Jsim.cd is invalid. The declared type is actually:
montiarc.generator.meta.Java.Class
Actual behavior
The CD compilation succeeds and generates Java code containing:
import montiarc.generator.Java.Class;
Java compilation then fails, for example:
ERROR in ...\MA2Jsim\Transition.java (at line 21)
import montiarc.generator.Java.Class;
^^^^^^^^^^^^^^^^^^^^^^^
The import montiarc.generator.Java cannot be resolved
Expected behavior
The CD compiler should report an error during CD processing because montiarc.generator.Java.Class cannot be resolved.
The correct import is:
import montiarc.generator.meta.Java.Class;
Impact
Invalid cross-CD dependencies remain undetected until the Java-generation/Java-compilation phase. This delays feedback and makes the error appear as a generated-code or Java classpath problem rather than an invalid CD import.
Issue description
When compiling a MontiCore class diagram, an invalid import is accepted without an error. The problem is only detected later when the generated Java code is compiled.
Reproduction
montiarc.generator.meta.Java.cd:montiarc.generator.meta.MA2Jsim.cd:The import in
MA2Jsim.cdis invalid. The declared type is actually:Actual behavior
The CD compilation succeeds and generates Java code containing:
Java compilation then fails, for example:
Expected behavior
The CD compiler should report an error during CD processing because
montiarc.generator.Java.Classcannot be resolved.The correct import is:
Impact
Invalid cross-CD dependencies remain undetected until the Java-generation/Java-compilation phase. This delays feedback and makes the error appear as a generated-code or Java classpath problem rather than an invalid CD import.