def get_source_ext(self):
        source = []
        if not self.inner and self.package:
            source.append(
                ('PACKAGE', [('PACKAGE_START', 'package '), (
                    'NAME_PACKAGE', '%s' % self.package), ('PACKAGE_END', ';\n')
                        ]))
        list_proto = []
        list_proto.append(
            ('PROTOTYPE_ACCESS', '%s class ' % ' '.join(self.access)))
        list_proto.append(('NAME_PROTOTYPE', '%s' % self.name, self.package))
        superclass = self.superclass
        if superclass is not None and superclass != 'Ljava/lang/Object;':
            superclass = superclass[1:-1].replace('/', '.')
            list_proto.append(('EXTEND', ' extends '))
            list_proto.append(('NAME_SUPERCLASS', '%s' % superclass))

        if len(self.interfaces) > 0:
            list_proto.append(('IMPLEMENTS', ' implements '))
            for i, interface in enumerate(self.interfaces):
                if i != 0:
                    list_proto.append(('COMMA', ', '))
                list_proto.append(
                    ('NAME_INTERFACE', interface[1:-1].replace('/', '.')))
        list_proto.append(('PROTOTYPE_END', ' {\n'))
        source.append(("PROTOTYPE", list_proto))

        for field in self.fields:
            field_access_flags = field.get_access_flags()
            access = [util.ACCESS_FLAGS_FIELDS[flag]
                      for flag in util.ACCESS_FLAGS_FIELDS
                      if flag & field_access_flags]
            f_type = util.get_type(field.get_descriptor())
            name = field.get_name()
            if access:
                access_str = ' '.join(access) % '    %s '
            else:
                access_str = '    '
            source.append(
                ('FIELD', [('FIELD_ACCESS', access_str), (
                    'FIELD_TYPE', '%s' % f_type), ('SPACE', ' '), (
                        'NAME_FIELD', '%s' % name, f_type, field), ('FIELD_END',
                                                                    ';\n')]))

        for method in self.methods:
            if isinstance(method, DvMethod):
                source.append(("METHOD", method.get_source_ext()))
        source.append(("CLASS_END", [('CLASS_END', '}\n')]))
        return source
dataset/ETHPy150Open androguard/androguard/androguard/decompiler/dad/decompile.py/DvClass.get_source_ext/swapped operands of `%`