Exemplo n.º 1
0
 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
Exemplo n.º 2
0
    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