Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:24008 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 97101 invoked by uid 1010); 8 Jun 2006 19:24:50 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 97086 invoked from network); 8 Jun 2006 19:24:50 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 8 Jun 2006 19:24:50 -0000 X-PHP-List-Original-Sender: helly@php.net X-Host-Fingerprint: 81.169.182.136 ajaxatwork.net Linux 2.4/2.6 Received: from ([81.169.182.136:45099] helo=strato.aixcept.de) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id 50/7B-00946-18978844 for ; Thu, 08 Jun 2006 15:24:49 -0400 Received: from baumbart.mbo (dslb-084-063-047-230.pools.arcor-ip.net [84.63.47.230]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by strato.aixcept.de (Postfix) with ESMTP id 3211C35C1C1; Thu, 8 Jun 2006 21:24:45 +0200 (CEST) Date: Thu, 8 Jun 2006 21:24:56 +0200 Reply-To: Marcus Boerger X-Priority: 3 (Normal) Message-ID: <658900708.20060608212456@marcus-boerger.de> To: Hannes Magnusson Cc: Andi Gutmans , Zeev Suraski , In-Reply-To: <7f3ed2c30606080337t67779ba3rfa266232506520cf@mail.gmail.com> References: <7f3ed2c30605291152o2e99b579u6a2b1e38684aaad9@mail.gmail.com> <409415054.20060608004903@marcus-boerger.de> <7f3ed2c30606080337t67779ba3rfa266232506520cf@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [PATCH] arg_info and friends From: helly@php.net (Marcus Boerger) Hello Hannes, Thursday, June 8, 2006, 12:37:09 PM, you wrote: > Hi Marcus > On 6/8/06, Marcus Boerger wrote: >> Hello Hannes, >> >> Monday, May 29, 2006, 8:52:51 PM, you wrote: >> >> > Hi all >> >> > I've created a patch[1] that welcomes new friend into the >> > zend_arg_info family, resource, and a new flag for ZEND_ME_MAPPING and >> > pals, ZEND_ACC_INFO_MAP_TO_FUNCTION. >> >> > The idea is to make it easier to define argument info for those >> > extensions who map methods to functions which require some kind of >> > resource as its first argument. >> >> > Since the methods don't take any resource argument one would need to >> > define two arg_info, one for the function and one for the method, with >> > the only difference being the first parameter. >> > This patch lets you however define the first argument as a resource >> > (ZEND_ARG_RESOURCE_INFO) and then when you register the method you can >> > pass the ZEND_ACC_INFO_MAP_TO_FUNCTION flag so the first argument >> > (*if* it's defined as resource) will be skipped. >> >> > On a related note, I find it kinda silly we don't offer argument info >> > (except from spl) so I made a patch for ext/dom[2], ext/xsl[3] and >> > ext/reflection[4]. >> > I'd like to take down the rest, of at least the OO once.. >> > Any thoughts? >> >> > -Hannes >> >> > [1] http://php.is/bugs/arg_info/ZEND_ARG_RESOURCE.HEAD.patch.txt >> > [2] http://php.is/bugs/arg_info/arginfo.dom.patch.txt >> > [3] http://php.is/bugs/arg_info/arginfo.xsl.patch.txt >> > [4] http://php.is/bugs/arg_info/arginfo.reflection.patch.txt >> >> I comitted the last one and you have commit rights so you can apply >> the rest to php-src. > Thanks! :) >> For the engine stuff you still need somebody >> else to commit but first you need to discuss the change. To me that >> patch looks good, though i'd change ZEND_ACC_INFO_MAP_TO_FUNCTION >> to ZEND_ACC_MAP_TO_FUNCTION. Andi, Zeev? > I think ZEND_ACC_MAP_TO_FUNCTION sound like it does more then filter > the arginfo..., ZEND_ACC_INFO_MAP_TO_FUNCTION is more clear, imo, that > it "only cares about" the arginfo. So it is more a ZEND_COPY_ARGINFO_FROM_FUNCTION and not an ACC flag we want to store in the flags of struct zend_function. Best regards, Marcus