From: <Paul_Koning@Dell.com>
To: <psmith@gnu.org>
Cc: <gdb@sourceware.org>
Subject: Re: Python gdb.Function is an old-style class?
Date: Thu, 21 Jul 2016 17:38:00 -0000 [thread overview]
Message-ID: <442ECA9F-4670-4B4A-8172-8AA7418EF332@dell.com> (raw)
In-Reply-To: <1469121732.5880.128.camel@gnu.org>
> On Jul 21, 2016, at 1:22 PM, Paul Smith <psmith@gnu.org> wrote:
>
> Hi all; I am writing some Python functions that subclass from
> gdb.Function, and I use super() to call the superclass __init__()
>
> It works, but pylint is failing with an error "Use of super on an old
> style class". This is usually shown when a Python2 class does not
> inherit, ultimately, from the object.
>
> Is there something magic that needs to happen to make gdb.Function
> recognized as a new-style class?
You could just call gdb.Function.__init__(self) explicitly rather than the syntactic sugar of super(). But does subclassing work at all? I had the impression that many gdb classes don't allow subclassing. Or it might not be rejected but it may not work. I haven't looked at how to make a class in C that can be subclassed; my impression is that it definitely takes work and I don't know if the necessary magic has been implemented.
For example, method calls in subclassable classes have to be via attribute lookups and Python calls, they can't be direct calls. Ditto data attribute references.
paul
next prev parent reply other threads:[~2016-07-21 17:38 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-21 17:22 Paul Smith
2016-07-21 17:38 ` Paul_Koning [this message]
2016-07-21 18:06 ` Paul_Koning
2016-07-21 18:37 ` Paul Smith
2016-07-21 18:50 ` Phil Muldoon
2016-07-21 19:13 ` Paul_Koning
2016-07-21 19:17 ` Paul Smith
2016-07-21 19:20 ` Paul Smith
2016-07-21 19:26 ` Phil Muldoon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=442ECA9F-4670-4B4A-8172-8AA7418EF332@dell.com \
--to=paul_koning@dell.com \
--cc=gdb@sourceware.org \
--cc=psmith@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox