/** Recursively creates enclosing types first. */ private void createCompiledClass(ClassFile classFile, Map<ClassFile, CompiledClass> results) { if (results.containsKey(classFile)) { // Already created. return; } CompiledClass enclosingClass = null; if (classFile.enclosingClassFile != null) { ClassFile enclosingClassFile = classFile.enclosingClassFile; createCompiledClass(enclosingClassFile, results); enclosingClass = results.get(enclosingClassFile); assert enclosingClass != null; } String internalName = CharOperation.charToString(classFile.fileName()); CompiledClass result = new CompiledClass( classFile.getBytes(), enclosingClass, isLocalType(classFile), internalName); results.put(classFile, result); }
private void addBinaryTypes(Collection<CompiledClass> compiledClasses) { for (CompiledClass cc : compiledClasses) { binaryTypes.put(cc.getInternalName(), cc); } }