This PR alters the ArchiveBasedFileType base class to ensure getDescription() returns a non-null string.
getDescription() is used to sort the various FileTypes for display in the Editor > File Types settings window; when a null is returned, the sorting throws a NullPointerException and all file types fail to display.
The Hunt
A while back, I noticed the list of File Types in the Settings were missing. I'm not sure which version it started with, but I'm primarily using PyCharm 2019.2.1 (PY-192.6262.12) right now. This is what the File Types settings window looked like (mind, this image was taken while running under DevKit)
In the IDEA log, I found this stacktrace
I traced back to the FileTypeConfigurable.updateFileTypeList method, and found this source
Figuring some FileType was returning null for getDescription(), I whipped up a little Groovy script using LivePlugin (super handy) to list all the FileTypes and their descriptions
Description
This PR alters the
ArchiveBasedFileType
base class to ensuregetDescription()
returns a non-null string.getDescription()
is used to sort the various FileTypes for display in the Editor > File Types settings window; when anull
is returned, the sorting throws aNullPointerException
and all file types fail to display.The Hunt
A while back, I noticed the list of File Types in the Settings were missing. I'm not sure which version it started with, but I'm primarily using PyCharm 2019.2.1 (PY-192.6262.12) right now. This is what the File Types settings window looked like (mind, this image was taken while running under DevKit)
In the IDEA log, I found this stacktrace
I traced back to the
FileTypeConfigurable.updateFileTypeList
method, and found this sourceFiguring some FileType was returning
null
forgetDescription()
, I whipped up a little Groovy script using LivePlugin (super handy) to list all the FileTypes and their descriptionsThe culprits were found ;)
I added a basic little
getDescription()
based ongetName()
, and all is well in the world