fix concurrent modification exception#4935
Conversation
Your approach of having it in the engine feels like the clean approach to me. Putting it in settings feels like making the settings object cross the boundary implicitly set by its classname. |
|
The significant amount of additional required That refactoring could be done in a separate and later change. To me it feels a bit weird to first request an analyzer to prepare itself for running on behalf of an engine instance and then requiring the same engine instance to be supplied again on each and every analysis. |
7653303 to
4d1c843
Compare
4d1c843 to
7a52353
Compare
|
@aikebah thank you for the feedback on the PR. The abstract suppression analyzer now stores a reference to the engine and I also moved the call in the engine to report the unused suppression rules to a new analyzer - so that it is cleaner and not a weird one off solution. |
|
@jeremylong LGTM apart from the nitpicking review comments of Checkstyle |
7a52353 to
edaba8f
Compare
Supersedes #4923.
@aikebah this is what I was thinking. currently the persistent object store is on the
engine- if it was moved to the settings object there would likely be fewer code changes needed. Thoughts on this approach?