|
Re: Generated eBaseStructuralFeatureID issue [message #1140596 is a reply to message #1140514] |
Wed, 16 October 2013 13:17 |
Ed Merks Messages: 33141 Registered: July 2009 |
Senior Member |
|
|
Michael,
Just looking at your snippets doesn't really tell me what if anything is
going wrong. If you want me to have a look, please provide a
reproducible self contained test case as a zipped project attached to a
bugzilla. Please also indicate which version of EMF you're using; it
sounds vaguely like something the e4 team notices and was fixed...
On 16/10/2013 2:06 PM, Michal Kleczek wrote:
> Hi,
>
> I have the following ECore model (simplified)
>
> abstract class Package<T extends PackageElement>
> reference elements : T (containment, inverse to PackageElement.package)
>
> abstract class PackageElement
> reference package : Package (container, inverse to Package.elements)
>
> class DomainElementPackage extends Package<DomainElement>
>
> class DomainElement extends PackageElement
>
> class Entity extends DomainElement
>
>
> The generated code in EntityImpl.eBaseStructuralFeatureID:
>
> public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?>
> baseClass) {
> if (baseClass == PackageElement.class) {
> switch (derivedFeatureID) {
> case DomainPackage.ENTITY__PACKAGE: return
> DomainPackage.PACKAGE_ELEMENT__PACKAGE;
> default: return -1;
> }
> }
> if (baseClass == DomainElement.class) {
> switch (derivedFeatureID) {
> default: return -1;
> }
> }
> return super.eBaseStructuralFeatureID(derivedFeatureID,
> baseClass);
> }
>
>
> Which causes incorrect results from ECoreEList.contains() in case the
> number of Entity objects in a DomainElementPackage is greater than 4.
>
> Is it a bug or there is something wrong with my metamodel?
>
> Thanks,
> Michal
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03534 seconds