In order to fix the deadlock properly, we need to remove constants of PsiPrimitiveType from PsiType, but this would break compatibility with many plugins. So as a temporary workaround, we can ensure that initialization of PsiType is triggered before its inheritors are initialized. Since many classes refer to PsiType from they static initializers, it seems that the problem may happen only if one of PsiType's inheritors is accessed in some static initializer before PsiType is accessed. I've found only 2 such places in intellij sources, and both are fixed here.
GitOrigin-RevId: 4f4ed9d363a3c317d5719112527e64d80ba256f1
Now we have Code Vision hints which determine the author via Git history and show it in the editor automatically, and this information is more accurate than the tags which were automatically added when files were created.
GitOrigin-RevId: c9da0e5b671b6049f85db4824ea81782e2977d77
Now we have Code Vision hints which determine the author via Git history and show it in the editor automatically, and this information is more accurate than the tags which were automatically added when files were created.
GitOrigin-RevId: f2a6ec37a89b7497556ced0b92be3fa7679ba304
Now we have Code Vision hints which determine the author via Git history and show it in the editor automatically, and this information is more accurate than the tags which were automatically added when files were created.
GitOrigin-RevId: e1f798814ca7f22747768b99cbcd962d820bbfb9
Now we have Code Vision hints which determine the author via Git history and show it in the editor automatically, and this information is more accurate than the tags which were automatically added when files were created.
GitOrigin-RevId: 2a8d01dd0d66c54b47502b43899db4ca541387ed
Alternative fix for IDEA-157610 Don't shorten reference in static context when in dummy holder
GitOrigin-RevId: 7f0ec05cea2e7e762a54a76ac33a6ee1e544075f
"Core" modules are the modules that used not only from IDEA, but also from some other code (kotlin compiler for example). We don't want intellij.platform.analysis to leak into kotlin compiler. Instead, we introduce new Application level service with the ugliest possible (still comprehensible) name and provide two implementations: default (will be used by kotlin compiler and other non-IDE code), and non-default (InternalPersistentJavaLanguageLevelReaderServiceImpl), which overrides default in IDE, and delegates to JavaLanguageLevelPusher.
We want to delete this ugly InternalPersistentJavaLanguageLevelReaderServiceImpl as soon as we find a good way to quickly evaluate if some file needs to be indexed in `JavaFileElementType#isInSourceContent` (where we have no Project, nor even ProjectManager)
GitOrigin-RevId: b553d774ff529ba507b5f5b35488f9dfc28ed58e
When a reference to Set::add method is passed to it, it stop processing elements at first duplicate, because 'add' will return 'false' and it'll be interpreted as the stop signal.
GitOrigin-RevId: f0318ec0b42946f2f5d1c46ac389eb96bca15c33
Now we have Code Vision hints which determine the author via Git history and show it in the editor automatically, and this information is more accurate than the tags which were automatically added when files were created.
GitOrigin-RevId: 99ea11604b3d5dfdf838d7f3685477814e642ceb
Copied enum was created always at top-level. In fact, as we copy the whole file anyway, there's no need to do something additional with enum. Just find it in copy and return.
GitOrigin-RevId: d85c21acfc879c02be0ef85eff4264faf0c99ffb