| Summary: | [compiler][reconciler] reporting of non-externalized string constants in role files | ||||||
|---|---|---|---|---|---|---|---|
| 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.7 | ||||||
| Target Milestone: | 0.7.1 | ||||||
| Hardware: | PC | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Stephan Herrmann
Created attachment 175584 [details]
test and fix
Tests are OTReconcilerTests.testNLSinRoFi1 f. and testA113_suppressWarnings1 f.
The issue was caused by multiply processing the same CUD, which caused trouble
because the nlsTags are consumed during analysis, thus subsequent analysis
would no longer find the tags to silence the warning:
- TypeDeclaration.resolve caused duplication (class/ifc part)
- the reconciler additionally calls CompilationUnitDeclaration.resolve
(compiler normally descends via team unit -> team type -> role type)
Fixed by additional guards before calling unit.reportNLSProblems()
Patch has been committed as r648 f. Verified using I201009211735 |