Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 358966

Summary: EClassProxy external types generating code but shouldn't
Product: z_Archived Reporter: Justin Spadea <jspadea>
Component: EDTAssignee: Project Inbox <edt.javagen-inbox>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: mheitz, svihovec
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Justin Spadea CLA 2011-09-26 15:16:44 EDT
externalType abc type EClassProxy {
	proxiedEClass = org.eclipse.edt.mof.egl.EGLClass
}
end

If you generate the system parts, you get a whole bunch of classes that shouldn't be created, each with compile errors (which doesn't surprise me since they shouldn't be created in the first place).
Comment 1 Matt Heitz CLA 2011-09-26 16:04:45 EDT
The EClassProxy type of ExternalType gets compiled into an EClassProxy, not an ExternalType.  If you look at abc.eglxml you'll see something like this.


<?xml version="1.0" encoding="iso-8859-1"?>
<EClassProxy ID="1" eClass="org.eclipse.edt.mof.egl.EClassProxy" name="abc" fileName="y/Simba.egl" hasCompileErrors="false" packageName="y" isAbstract="false" proxiedEClass="org.eclipse.edt.mof.egl.EGLClass" >
	<annotations ID="2" eClass="dynMof:org.eclipse.edt.mof.egl.Annotation:EGL_Location" len="i:94" off="i:168" line="i:12" />
	<superTypes href="egl:eglx.lang.eany"/>
</EClassProxy>


The outer tag around the other kinds of ExternalTypes is <ExternalType>.  The generator knows not to generate anything from ExternalTypes, but it's never heard of an EClassProxy.

We'll add code to properly ignore an EClassProxy sometime in the future.
Comment 2 Matt Heitz CLA 2013-01-03 14:53:42 EST
This was fixed when we added the ability for generators to indicate that they don't know how to generate something.  You'll get an error message like "IWN.JavaGen.9951.e 14/313 The part abc cannot be generated using generator named: Java."