eclipse-ocl / org.eclipse.ocl

Eclipse Public License 2.0
1 stars 0 forks source link

[pivot] Support Property.opposite despite EReference.eOpposite limitation #2290

Open eclipse-ocl-bot opened 2 months ago

eclipse-ocl-bot commented 2 months ago

| --- | --- | | Bugzilla Link | 582029 | | Status | NEW | | Importance | P3 normal | | Reported | Jun 03, 2023 12:25 EDT | | Modified | Jun 03, 2023 16:48 EDT | | Blocks | 509309 | | See also | 582030 | | Reporter | Ed Willink |

Description

Ecore does not support a bidirectional opposite thus the EReference for EReference.eOpposite has a null eOpposite.

This prevents the EReference for Property.opposite having a self-opposite.

And so the Property for Property.opposite has an erroneous opposite to support Ecore conversion. This is irregular / wrong and so triggers some bogus implicits in 'regular' code.

Let the Pivot be regular; the Property for Property.opposite has a self-opposite.

In order to support round-tripping, add an EAnnotation

http://www.eclipse.org/OCL/Property

with a

self=true

detail.

eclipse-ocl-bot commented 2 months ago

By Ed Willink on Jun 03, 2023 16:48

(In reply to Ed Willink from comment #0)

Ecore does not support a bidirectional opposite thus the EReference for EReference.eOpposite has a null eOpposite.

Bug 582030 raised very belatedly.