eclipse-ocl / org.eclipse.ocl

Eclipse Public License 2.0
0 stars 0 forks source link

[pivot] Unresolved proxy loading AS #2018

Open eclipse-ocl-bot opened 1 month ago

eclipse-ocl-bot commented 1 month ago

| --- | --- | | Bugzilla Link | 542534 | | Status | NEW | | Importance | P3 normal | | Reported | Dec 07, 2018 15:49 EDT | | Modified | Dec 08, 2018 04:27 EDT | | Depends on | 542544 | | Reporter | Ed Willink |

Description

After adding Class.resolvedBy/resolutionFor and making DataType.behavioralClass derived, two OCLstdlib tests fail with unresolved proxies, but the tests pass in isolation. The unresolved proxies are on Ecore.oclas and are of traditional E<F-style @ownedPackages.0 style rather tha pivot LUSSIDs.

Investigating reveals that these proxies are created when Ecore.oclas is unloaded.

This is inelegant since creating proxy ids for a dead resource is a waste of time. We can improve this.

These proxies should bever be used since an unloaded *.oclas is never reloaded. Except that perhaps it is as part of the sequence of tests.

eclipse-ocl-bot commented 1 month ago

By Ed Willink on Dec 07, 2018 16:33

Problem is that the new Class.resolvedBy/resolutionFor have a modelld oposite so that after EBoolean is destroyed, Boolean still has a resolutionFor to it.

eclipse-ocl-bot commented 1 month ago

By Ed Willink on Dec 08, 2018 04:27

(In reply to Ed Willink from comment #1)

Problem is that the new Class.resolvedBy/resolutionFor have a modelld oposite

Fixing the pivot synthesis to allow the unnavigable opposite is Bug 542544.

(In reply to Ed Willink from comment #0)

This is inelegant since creating proxy ids for a dead resource is a waste of time. We can improve this.

This bug.

Ideally we never have unsound navigable oppoisites to trash.

But if we do the Ecore ids should work even if we choose to create LUSSIDs.