| Summary: | [compiler][generics] CCE in generic nested team | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Tools] Objectteams | Reporter: | Stephan Herrmann <stephan.herrmann> | ||||||
| Component: | OTJ | Assignee: | Stephan Herrmann <stephan.herrmann> | ||||||
| Status: | VERIFIED FIXED | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | P3 | ||||||||
| Version: | 0.7 | ||||||||
| Target Milestone: | 0.8 M4 | ||||||||
| Hardware: | PC | ||||||||
| OS: | Linux | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
Created attachment 179042 [details]
fix for the CCEs
This patch fixes the CCEs.
A full fix for the given testcase has to be deferred post 0.7.1,
since it will need significant changes for various combinations
of parameterized and weakened type bindings.
Created attachment 185023 [details] additional fix Together with recent changes in bug 331877 this patch solves the issue: + don't let the MethodVerifier analyse those ifc-methods that are placeholders for non-public methods inherited from non-role super. + experimentally use the weak type in MethodVerifier.areEqualRoleTypes() which avoids incompatibility between two _OT$create$Confined methods. Also: + don't report hiding of type parameters between class&ifc-part of the same role Patch has been released for M4 as r1148 f. Verified for M4 using build 201012150343 |
The following team causes grief in the compiler: public team class TeamA121gnt1 { public team class Mid<A1> { protected class Inner<A> {} } public team class Mid2<A2> extends Mid<A2> { } } We get two CCEs and some incorrect errors/warnings.