The jimage file system provider creates a FileSystem per jimage file. This needs to change so that a FileSystem per runtime image, obtained with:
FileSystem fs = FileSystems.getFileSystem( URI.create("jrt:/" );
This allows the API to be used without knowing about the locations of the jimage files. It also hides the fact that there are currently three files.
The resulting FileSystem will have the module names as the names of the files in the top-level directory. The path to Object.class is obtained with:
fs.getPath("/java.base/java/lang/Object.class);
The current file type detection should be removed.