| Summary: | [compiler] Internal Role pattern with deeply nested team gives compile error in generated code | ||
|---|---|---|---|
| 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.8 | ||
| Target Milestone: | 2.1 M6 | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Whiteboard: | |||
|
Description
Stephan Herrmann
Should address this as soon as bug 247564 has been backed out of the OTDT, too. Currently, the new id-computation from that bug complicates the issue at hand. Resolved for 2.1 M6 via commit a26c24944ff8b879c9ea9d6e51de47467ea9a30f Translation in DeclaredLifting.prepareArgLifting() wrongly detected a lifting constructor as a team constructor needing preparation for declared lifting. The point is we need better detection of a role *of the current team*, to distinguish this from an *enclosing* role. With the above mis-detection, the "base" argument was renamed to "_OT$base" thus hiding the field we need to assign in the lifting constructor. The compiler error was actually correct, the generated AST was wrong. Verified using 2.2.0 M5. |