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

Bug 326969

Summary: [compiler] implement changed precedence among different tsupers
Product: [Tools] Objectteams Reporter: Stephan Herrmann <stephan.herrmann>
Component: OTJAssignee: Stephan Herrmann <stephan.herrmann>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3 Keywords: noteworthy
Version: 0.7.1   
Target Milestone: 0.8 M3   
Hardware: Other   
OS: Linux   
Whiteboard:
Attachments:
Description Flags
implementation none

Description Stephan Herrmann CLA 2010-10-04 16:06:13 EDT
Work on bug 326839 revealed an inconsistence in OTJLD ยง1.5(e)
"Precedence among different supers":

Precendence amond different implicit supers had to be changed to
establish consistency such that a role inherited from an implicit
super team has now precedence over one that is inherited from
an explicit super team.

This needs to be reflected in the compiler and in the expected
results of corresponding tests.
Comment 1 Stephan Herrmann CLA 2010-10-04 18:22:34 EDT
Created attachment 180215 [details]
implementation

The central changes in this patch are:

- CopyInheritance/TeamModel: if tsupers are incommensurable prefer the
  later copy (assumed to originate from an implicit super team)
  (also fixes comparison by checking name equality)

- HierarchyResolver: reverse the array of tsupers.

New test is testGetImplicitSuperclass_TA2TB2TC2R1().

All other changes are compensations for those clients of getTSuperRoleBindings
where order matters.
Comment 2 Stephan Herrmann CLA 2010-10-04 18:24:23 EDT
patch has been committed as r932, r933
Comment 3 Stephan Herrmann CLA 2010-10-04 18:55:22 EDT
Tagging as noteworthy to ensure this will be mentioned in the N&N.
Comment 4 Stephan Herrmann CLA 2010-11-11 09:40:53 EST
The immediate issue has been verified for 0.8 M3 using build 201011100445

A follow-up is in bug 330002.