From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sonic306-20.consmr.mail.ir2.yahoo.com (sonic306-20.consmr.mail.ir2.yahoo.com [77.238.176.206]) by sourceware.org (Postfix) with ESMTPS id D550B3858CD1 for ; Fri, 26 Jan 2024 17:02:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D550B3858CD1 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=yahoo.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=yahoo.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D550B3858CD1 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=77.238.176.206 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706288580; cv=none; b=CJL2IDqD05b3ug4U1NFS00Q2PaZrTYqLCHs7dbPkfDw5MnK2akzFDucBr3zHL1EBzQuneI+2y8xzX4r+TgsnJM2qU7JeMV61Q/PIW9ipgyRzjAeQ1DToC3DlSZj2gcNnTZTfCLMOeN2d9eeaCUctAc6fdnQYbZn4ocFjbEaCFAM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706288580; c=relaxed/simple; bh=b1hzngTlEUhy4Bb21GiePUqieVFvzwouFwzL6PKH70M=; h=DKIM-Signature:Date:From:To:Message-ID:Subject:MIME-Version; b=NfBKXhPPEbm5NLquHwYwu7X2vhuyADZbSy7cJc1I6aC8MQzNKy8FtkqNuDfGTjBRJKsv94/sIWIulZEY4K93XyKdlmg1fA71ptzeFJfGiOAnhMnnP5j5mEGe30gX6IWWneY8D4/t7rhTPgF2ZLmFa3aytvf0u2J/k1lsv1lUylk= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.de; s=s2048; t=1706288577; bh=b1hzngTlEUhy4Bb21GiePUqieVFvzwouFwzL6PKH70M=; h=Date:From:To:Cc:In-Reply-To:References:Subject:From:Subject:Reply-To; b=bqoHbu4I48XHbBQ0pCmsC92o1w60tnonLxOluWYwed0/1mB7gVn1ubL7KM/zAswCvBVVwOj95VEDVce065gVoCjrKyvGxP3gpMLKcyDikciiO4LSU8hfzJgKAX7SKDssHK7qO9mLcx67TwBeyIwRov4ijQeZ8DkhhbGfaXTUCCq5BrxjzgAOhd+YWl54zudm8YS9+3Cyul3FglD9mUOoLqC1E6V305XKd7dzX+FYaG6Gkln7Xz2tnqI8NotAuJEMSSSB/J+ev613h1zLiA/EzY82G26/Ax94cFOHwX4itHo7b4eu/ZsXjFsQkaF1kwwW7FLIEumu9epvn2qHNniOKg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1706288577; bh=4O+iLEJNYdw1cgKr1aV/1LAc1R7nModTrn2vdMd74OR=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=NyWIdgAEe4PqBZ1bUZbnn5FuF+OdN7+fWbXPaqaZ3E/D4ReMdreR75rVRUbUD4hes7NoDXTBmIkictt7Sc9os+gN+pjeZMLm/ddMDjTjnyAh2fUwHw6FbUWk6Ga80aiss19virEDehphpIML0u8aw1qOeN6mNQlw6kMkI1+uBH5AoI58HZfrN3nw8LUk4ye3MrMemgMeklUepRSIdUbbLWv3gJlURuTeVNCkIcS598chDq41ErA6XVGH0mTsb+iUg5PRPfRnYfi1QOaLB+rXb/Ykoqb5g+TfGNCeMooAthw1vRTW28v6uE3zBfNwLu6GdgtEHX9mvqHdxEDZUp9G5Q== X-YMail-OSG: UZLiV8cVM1nK5FAPTsPFZmWPtMP2QmJqmJNjQasCg4jvmgb74aszU2KeH8quXcJ yNFQbfRnjfJIeW0q0KUYiUwS5.7vAd.odb3xzQHYtjLIX6QLWK8Mvn3AVs8eo7Pzsnvk0IYWoafx QMgF6ou7ieGC6CloTT7WQielpppPkEogF4hqmI5pbhcstSY.M.i3E2kkFQgJ7nef8OsSWfENkwHa 37krPM7BnIU7bvHmGOKf7ZHvwnS_b98Md6BwlbnHOFFTaOAOPy_QVRmxHoW6s3ZZHI7L5uN1zTkf A9GRho2NTEbWN4_p59inMI7__w7aP5pcUDe3O94KyX7LhtF6qgPLt2yKIThzSLOOo5RBGUAcPbEL e8FRyEr_2vteEtOcymw35GzMFpQaqbGwViTgxyfaPuKoggBCcaZJH0wW.YhN5kby_06ZXSBPKr3c 0pJnTCQsltAEZ7VTUJiHwOY0ekF6OgY2Sr1dQxRBQdVpvoUndcIW_zIs_D6ROcqO5xNmCPMeFPYc se7q5jsMtcMlJJPTz80NLfrjoFwKMHvwPHZTU.NfzRge3t0bR3FeI8QQ_CPwtCQp8SlpUkw9lKUB kTgEg9RcZ0j2VWkLZ467XN5Xm1MqRXegwTjkx6.eXxinfBfHdOe5fnRhX1iizJqmRVuDvNUMYv9w sW6hM8nt9lQgf9Yv0utH_oq7JyjtebmzsQJrH6MdElyvMIRmX64SpU3d50EkesZoVaE7HWsCmC_7 7Qv0jd6ace3poKRJX6x9Df0RwS3w1qsc5PdwYKjT4Qs_li5EGWxON8UY48pcA8MyOFcFDKFK3LHv 5QRSeL94jHVfaUQlZRX77FWmmLiaLDLnmDyLUbpSdW9uVV6.2qiAmLMzXnUinKSOPpfNZRWbFQya OsyZvF.8jTprGiX6K5PtZo4Lw.vTsyn2Wos2oHISx0fIXwff5JaGb.PwWTZ4FLS55wxIWeVj7Kol X_Nf0AIxVMsxIhEcx5VGPJrhEXm8NZ95IaRkTHlUxlb171Ob3NRsVoM7ctqrby3USiZ39dVzz9ia nFHL29oUhQLWsby4MakSPU5zsj8mv86Iqy48_Jz7iL1k2fGnB2TvtpQlbjqYi3t5D2f9SoHPQGSC ngsPF.F39SJzeHX5CN7EozGzQJxCYRrWfqP5aYaqlSUOhMlkKL7u6lhq9sr0nUR7.vh5l8nbo6zJ aGwIWKkYPqKOMMKUfkSRH5syzfWnBbGRCO9y1fgNbDWbClYeRTO31eYsFKHfSZQIsQlnD4bI.iYk SgcK4aM1eauISo1Gl45cO7GEXnY2107L0ONF14DWq3QFSjU1PB9r4HjAR1J32lcxxA289SD6VlRP yo2jROXyupT5_b9z1DVYxq9je9uykkMNfsH2KYLJo1nWygfnuIVS.pdiUJTq6QtJgT.sN9IOt_.F POE.imGVpS2SOxEZUjhUyLBppeIdKT3Y.HkcDW9TYf4yj5RDZ1Qqp8SbfcrvV6aZ8v2hzf.suod7 PA8jf07P5C5833PiaDQRTmFkcQ00Ytowrto7omJV4wq46bZNEYuJfpQa8PtnMHLp0.KPg6dh4XSW adZkJ9MaH9Xbh94.sE7zyax.crM_MgXDT4CUVfiLfGq9JUL4Ewm.Q_pIULn6wizqaOp0dmWc_vhQ jgUTwtJG78sCL_GvUvEFGZePEjg6NHDvAg9_HlFP8A8KBFb_JGHkuScPBbzXrDyonU6KWRuzPL6Y rZYppUSyBWMN8XehnWSxhp3Z2MC3M7D48VrdJLTpqE3etEAik03ETVSyf5gGj_tdI5hReklYNkSm 0CtvuV0YU8MgiEu_4dIm3oFw.oRjuazWz8DsnCAZpOQ39.rDedPSfgh0.D7Sypj_iNDgL03qLwvk spMttf8RJjr6z3n7YnsXOuWyeLIPVDUCJU0jnK4F20y4MYp6eE3or_NgQniVwOXn_MZ35sHIRHGj xECkf3tZ0hRSox3krB0dBPixVqxvlSjqSbtdH_9K9xILVj9QCwNyumAC2o3HYcHTcgbINTFCefpG 9cJOrUEoPffDqCx_3aWxnv9vKA.SUeA2kMO8YL9kXkcqwNC3muziGzDGCzRQPNtHEkcYNSh639yf fWN6bwykV6zvWD5_L4TTxdztoS9IyHOj6gwv221h1ydBLBxW1aoIV_7YYUPtask8cpLnCvJSGhld xBC8OL.gg.d17CgEMeMS3uT6fsVFCLE5TXmRnHZnO0dEOfGZUwSUlt3epDBLEejSTc5z7groo5ek M7BmhbhLfyaVcsXdMbqg0POuV28EEFFq19xQw6OruZNVT X-Sonic-MF: X-Sonic-ID: 529b6cc7-1e49-421f-8a78-37d3b05942dd Received: from sonic.gate.mail.ne1.yahoo.com by sonic306.consmr.mail.ir2.yahoo.com with HTTP; Fri, 26 Jan 2024 17:02:57 +0000 Date: Fri, 26 Jan 2024 17:02:55 +0000 (UTC) From: Hannes Domani To: Tom Tromey Cc: "gdb-patches@sourceware.org" Message-ID: <643792321.2203203.1706288575949@mail.yahoo.com> In-Reply-To: <1873948624.4546753.1705506739648@mail.yahoo.com> References: <20231215151938.3887-1-ssbssa.ref@yahoo.de> <20231215151938.3887-1-ssbssa@yahoo.de> <87msub56qk.fsf@tromey.com> <1291602277.3277863.1702726805678@mail.yahoo.com> <598141770.11460649.1704278288174@mail.yahoo.com> <1873948624.4546753.1705506739648@mail.yahoo.com> Subject: Re: [PATCH] Allow calling of C++ methods from python MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Mailer: WebService/1.1.22046 YMailNorrin X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Ping. Am Mittwoch, 17. Januar 2024, 16:52:56 MEZ hat Hannes Domani Folgendes geschrieben: > Ping. > > > Am Mittwoch, 3. Januar 2024, 11:38:57 MEZ hat Hannes Domani Folgendes geschrieben: > > > Ping. > > > > > > Am Samstag, 16. Dezember 2023, 12:40:25 MEZ hat Hannes Domani Folgendes geschrieben: > > > > > Am Samstag, 16. Dezember 2023, 01:30:31 MEZ hat Tom Tromey Folgendes geschrieben: > > > > > > > >>>>> "Hannes" =3D=3D Hannes Domani writes: > > > > > > > > Hannes>=C2=A0 static int static_func (); > > > > > > > > Hannes> (gdb) py b_obj =3D gdb.parse_and_eval('b_obj') > > > > Hannes> (gdb) py print(b_obj['static_func']()) > > > > Hannes> Traceback (most recent call last): > > > > Hannes>=C2=A0 File "", line 1, in > > > > Hannes> RuntimeError: Value is not callable (not TYPE_CODE_FUNC). > > > > > > > > I'm a bit surprised that a static method is not TYPE_CODE_FUNC. > > > > It seems like it should be, because these are really just functions= . > > > > > > I never really questioned it being TYPE_CODE_METHOD, I was just wonde= ring > > > instead if there is a flag that tells us that it is a static method. > > > > > > > > > > Hannes> (gdb) py print(b_obj['arg0_func']()) > > > > Hannes> Traceback (most recent call last): > > > > Hannes>=C2=A0 File "", line 1, in > > > > Hannes> gdb.error: Too few arguments in function call. > > > > Hannes> Error while executing Python code. > > > > Hannes> (gdb) py print(b_obj['arg0_func'](b_obj)) > > > > Hannes> 198 > > > > > > > > How does this interact with overloading? > > > > > > Probably as you expected, it doesn't work, since the [] operator > > > of gdb.Value doesn't know what to do: > > > > > > (gdb) py print(b_obj['overloaded_func']) > > > Traceback (most recent call last): > > >=C2=A0=C2=A0 File "", line 1, in > > > gdb.error: cannot resolve overloaded method `overloaded_func': no arg= uments supplied > > > Error while executing Python code. > > > > > > > > > > It seems to me that either b_obj['name'] has to return some kind of > > > > overload set, or we need a different API, like b_obj.call_method('n= ame', ...). > > > > > > > > In the latter case we could have it automatically supply 'this', at > > > > least when it's needed. > > > > > > The overload set would probably be relatively easy to implement, whil= e > > > the call_method would be easier to use, if it automatically chooses t= he > > > right one based on the arguments. > > > > > > > > > Regards > > > > > > Hannes