| Summary: | [otjld] Method bindings in role with binding ambiguity? | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Tools] Objectteams | Reporter: | Stephan Herrmann <stephan.herrmann> | ||||||
| Component: | OTJ | Assignee: | Stephan Herrmann <stephan.herrmann> | ||||||
| Status: | VERIFIED FIXED | QA Contact: | |||||||
| Severity: | enhancement | ||||||||
| Priority: | P3 | ||||||||
| Version: | 1.4 | ||||||||
| Target Milestone: | 0.7 M4 | ||||||||
| Hardware: | PC | ||||||||
| OS: | Linux | ||||||||
| Whiteboard: | trac | ||||||||
| Attachments: |
|
||||||||
|
Description
Stephan Herrmann
Created attachment 171473 [details]
OTJLD additions
These additions to the OTJLD define how the error message in question
can be configured/suppressed (using token "def-bind-ambiguity").
2.3.4(b) talks about the root error, 4.1(b) about how this can be
leveraged to define callin bindings even in an "unliftable" role.
Created attachment 171474 [details]
implementation
This patch implements:
- best effort lifting: even for ambiguous roles still check the cache
- always generate callin wrappers, even if role has binding ambiguity
- new configurable irritant DefiniteBindingAmbiguity
(deliberately no UI-configurability - should always be individually checked)
Corresponding tests can be found in test73M_ambiguousBinding1() and
test73M_ambiguousBinding2(), which indeed test for both corner cases
mentioned in OTJLD 2.3.4(b).
Implementation has been committed as r440. Two small fups have been committed in r442,r443. Verified for M4 using build 201006111053. |