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

Bug 343594

Summary: [compiler] VerifierError when synthetic accessor is copied during incremental build
Product: [Tools] Objectteams Reporter: Stephan Herrmann <stephan.herrmann>
Component: OTJAssignee: Stephan Herrmann <stephan.herrmann>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 0.8   
Target Milestone: 0.8 M7   
Hardware: Other   
OS: Linux   
Whiteboard:
Attachments:
Description Flags
test & proposed fix none

Description Stephan Herrmann CLA 2011-04-21 13:19:34 EDT
A synthetic access method (e.g., for this$0) will be generated with
wrong signature if tsuper role is read from .class file.

This manifests in a method signature with a role interface parameter,
but inside the method, this argument is treated as the role class.

Observed in OTSample-FlightBonus when only touching/saving role file
GUIConnector/FlightBonusDialog.
Comment 1 Stephan Herrmann CLA 2011-04-21 13:28:50 EDT
Created attachment 193864 [details]
test & proposed fix

The problem is rooted in the fact that copy inheritance triggers
(via resolveGeneratedMethod -> resolveTypesFor) wrapping of types in the
method signature even for copies of synthetic methods.

Solved by passing one more flag into resolveTypesFor.

Test results pending.
Comment 2 Stephan Herrmann CLA 2011-04-21 15:37:51 EDT
OTJLD tests pass.

Patch has been committed as r1443,4
Comment 3 Stephan Herrmann CLA 2011-04-30 15:20:13 EDT
Verified for 0.8M7 using build 201104300913