javaclass

Changeset

172:3b608fcfbf34
2005-02-20 Paul Boddie raw files shortlog changelog graph Fixed multiple imports - the loaded_classes attribute was not removed. Added interfaces as base classes.
javaclass/classhook.py (file)
     1.1 --- a/javaclass/classhook.py	Sun Feb 20 23:02:23 2005 +0100
     1.2 +++ b/javaclass/classhook.py	Sun Feb 20 23:02:23 2005 +0100
     1.3 @@ -251,7 +251,7 @@
     1.4  
     1.5          if top_level:
     1.6              self._init_classes()
     1.7 -            self.loaded_classes = {}
     1.8 +            delattr(self, "loaded_classes")
     1.9  
    1.10          return main_module
    1.11  
    1.12 @@ -350,18 +350,17 @@
    1.13  
    1.14          init_order = []
    1.15          for class_name, (module, translator) in self.loaded_classes.items():
    1.16 -            super_class = translator.get_super_class()
    1.17  
    1.18 -            # Insert the super class before any mention of the current class.
    1.19 +            # Insert the base classes before any mention of the current class.
    1.20  
    1.21 -            if super_class is not None:
    1.22 -                super_class_name = str(super_class.get_name())
    1.23 -                if super_class_name not in init_order:
    1.24 +            for base_class in translator.get_base_class_references():
    1.25 +                base_class_name = str(base_class.get_name())
    1.26 +                if base_class_name not in init_order:
    1.27                      if class_name not in init_order:
    1.28 -                        init_order.append(super_class_name)
    1.29 +                        init_order.append(base_class_name)
    1.30                      else:
    1.31                          index = init_order.index(class_name)
    1.32 -                        init_order.insert(index, super_class_name)
    1.33 +                        init_order.insert(index, base_class_name)
    1.34  
    1.35              if class_name not in init_order:
    1.36                  init_order.append(class_name)