- if indexing thread have no content from content loading thread then it loads the content itself (aka work stealing).
- use unbounded queue for loaded contents, to feed many small contents to indexing threads
- use synchronization was split to finer grained myProceedWithLoadingLock / myProceedWithProcessingLock / LinkedBlockingDeque synchronization
don't infer highlighting display level of annotation if the error is strong. just use the maximum level
IDEA-108936 Access to inner non-static class in static methods
IDEA-109473, IDEA-109475 improve parameter's type handling in 'change signature' for Groovy
IDEA-107844 Illegal warning cannot assign Closure<LinkedHashMap> to Closure<Map>