Bug 467415 - Weaver created bridge methods missing ACC_SYNTHETIC
Summary: Weaver created bridge methods missing ACC_SYNTHETIC
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.8.5   Edit
Hardware: PC Mac OS X
: P3 normal (vote)
Target Milestone: 1.8.6   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-15 11:18 EDT by Andrew Clement CLA
Modified: 2015-05-15 11:19 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Clement CLA 2015-05-15 11:18:10 EDT
Related to the issue about methods incorrectly having ACC_INTERFACE on them, bridge methods created by the weaver seem to be missing ACC_SYNTHETIC.
Comment 1 Andrew Clement CLA 2015-05-15 11:19:44 EDT
Fixed. Added ACC_SYNTHETIC. There is something else to investigate though, we seem to be generating more bridge methods than are strictly necessary:

class A implements Comparable<A> {
  public int compareTo(A) { return 0; }
}

class B extends A { }

If bridge method creation is triggered in the weaver (due to a type change - either ITD or implicit type change like a visibility raise) then we create a bridge method in B for (int compareTo(Object)) - that method has already been created in the parent.
Comment 2 Andrew Clement CLA 2015-05-15 11:19:58 EDT
fixed