From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16467 invoked by alias); 15 Aug 2011 19:09:50 -0000 Received: (qmail 16459 invoked by uid 22791); 15 Aug 2011 19:09:50 -0000 X-SWARE-Spam-Status: No, hits=-7.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 15 Aug 2011 19:09:36 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p7FJ9ZWi004799 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 15 Aug 2011 15:09:35 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id p7FJ9YZf013854; Mon, 15 Aug 2011 15:09:35 -0400 Received: from barimba (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id p7FJ9XtQ015679; Mon, 15 Aug 2011 15:09:34 -0400 From: Tom Tromey To: Paul Koning Cc: gdb-patches@sourceware.org Subject: Re: [Python] Allow attribute references to gdb.Value objects References: <3A56CC74-0A48-47E8-BBA2-6E2BEB2FB588@comcast.net> Date: Mon, 15 Aug 2011 19:09:00 -0000 In-Reply-To: <3A56CC74-0A48-47E8-BBA2-6E2BEB2FB588@comcast.net> (Paul Koning's message of "Fri, 12 Aug 2011 15:27:33 -0400") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-08/txt/msg00309.txt.bz2 >>>>> "Paul" == Paul Koning writes: Paul> It would be more natural to be able to reference fields of a Paul> gdb.Value by the standard field (attribute) syntax, e.g., Paul> "val1.field2" as opposed to "val1['field2']". The attached patch Paul> does this. It acts like the Python standard method __getattr__ in Paul> that it first looks for a predefined attribute (such as "type"), Paul> and only if that fails will it look for a value field with the Paul> given name. So val1.type means what it always did (and if you Paul> want the "type" field of some structure value, you'd need to use Paul> val1['type'] as before). We considered this initially, but decided on the current approach instead. The current approach lets us add attributes to Value without breaking any existing code. Tom