char[][] cname = CharOperation.splitOn('.',name.toCharArray());
NameEnvironmentAnswer answer = nameEnv.findType(cname);
if (answer == null || !answer.isBinaryType()) {
return null;
} else {
IBinaryType binType = answer.getBinaryType();
// XXX - but better than the alternative hacks
if (binType instanceof ClassFileReader) {
ClassFileReader cfr = (ClassFileReader) binType;
cf = new ClassFileReaderBackedClassFile(cfr);
} else {
throw new IllegalArgumentException(
"I'm only geared up to handle ClassFileReaders, and you gave me a " +
binType.getClass().getName());
}
return cf;
}
}