def getClass(self, name, subclasses=tuple(), partial=False): if name in subclasses: raise ClassLoaderError('ClassCircularityError', (name, subclasses)) try: result = self.classes[name] except KeyError: result = self._loadClass(name, subclasses) if not partial: result.loadElements() return result
def _loadClass(self, name, subclasses): print "Loading", name.encode('utf8')[:70] data = self._searchForFile(name) if data is None: raise ClassLoaderError('ClassNotFoundException', name) stream = binUnpacker.binUnpacker(data=data) new = ClassFile(stream) new.loadSupers(self, name, subclasses) self.classes[new.name] = new return new