Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 318083 - [compiler] "Cannot externalize non-public role" from generated code
Summary: [compiler] "Cannot externalize non-public role" from generated code
Status: VERIFIED FIXED
Alias: None
Product: Objectteams
Classification: Tools
Component: OTJ (show other bugs)
Version: 0.7   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 0.7   Edit
Assignee: Stephan Herrmann CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-26 11:49 EDT by Stephan Herrmann CLA
Modified: 2010-07-06 07:50 EDT (History)
0 users

See Also:


Attachments
Fix (734 bytes, patch)
2010-06-26 11:53 EDT, Stephan Herrmann CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Stephan Herrmann CLA 2010-06-26 11:49:37 EDT
In a role-of-role context a callout binding can cause the error mentioned
in the title although the source code does not have an explicit reference
to the non-public role.
This is witnessed by test1122_layeredTeams8() where the callout
  void k() -> void k()
is implemented using a call to the internal bridge method
  _OT$R1$private$k(R1<@theTeam>)

That first parameter is generated and actually is a baseclass reference
that shouldn't be checked for this kind of access issue.
Comment 1 Stephan Herrmann CLA 2010-06-26 11:53:07 EDT
Created attachment 172838 [details]
Fix

One-line fix, by marking the argument reference as a baseclass reference.
Comment 2 Stephan Herrmann CLA 2010-06-26 11:54:40 EDT
Patch has been committed as r530.
Comment 3 Stephan Herrmann CLA 2010-07-06 07:50:52 EDT
Verified using build 201007050931.