sourceReaderFactory.getSourceReader(className);
if (sourceReader != null) {
ICompilationUnit compilationUnit =
new CompilationUnit(className);
return
new NameEnvironmentAnswer(compilationUnit);
}
JavaClassReader classReader =
classReaderFactory.getClassReader(className);
if (classReader != null) {
byte[] classBytes;
byte[] buf = new byte[8192];
ByteArrayOutputStream baos =
new ByteArrayOutputStream(buf.length);
int count;
InputStream is = classReader.getInputStream();
while ((count = is.read(buf, 0, buf.length)) > 0) {
baos.write(buf, 0, count);
}
baos.flush();
classBytes = baos.toByteArray();
char[] fileName =
classReader.getClassName().toCharArray();
ClassFileReader classFileReader =
new ClassFileReader(classBytes, fileName,
true);
return
new NameEnvironmentAnswer(classFileReader);
}
} catch (IOException exc) {
errorHandler.handleError(className, -1, -1,
exc.getMessage());
} catch (org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException exc) {