ClassPath based on the JDK 9 encapsulated runtime modules (JEP-220)
The implementation assumes that no classes exist in the empty package.
Returns the classfile for an external name, e.g., "java.lang.String". This method does not return source files.
This method is used by the classfile parser. When parsing a Java class, its own inner classes
are entered with a
ClassfileLoader that parses the classfile returned by this method.
It is also used in the backend, by the inliner, to obtain the bytecode when inlining from the
classpath. It's also used by scalap.
Empty string represents root package
Returns packages and classes (source or classfile) that are members of
inPackage string is a full package name, e.g., "scala.collection".
This is the main method uses to find classes, see class
rootMirror.rootLoader is created with
inPackage = "".