Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:24010 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 5980 invoked by uid 1010); 8 Jun 2006 19:43:41 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 5965 invoked from network); 8 Jun 2006 19:43:41 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 8 Jun 2006 19:43:41 -0000 X-PHP-List-Original-Sender: hannes.magnusson@gmail.com X-Host-Fingerprint: 66.249.82.206 wx-out-0102.google.com Linux 2.4/2.6 Received: from ([66.249.82.206:37435] helo=wx-out-0102.google.com) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id AD/6C-00946-DED78844 for ; Thu, 08 Jun 2006 15:43:41 -0400 Received: by wx-out-0102.google.com with SMTP id s14so424324wxc for ; Thu, 08 Jun 2006 12:43:37 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=Um4xVFg/g0lv91RP1w7HvhGbr2KjvRIHclrjvyQcfWsF8RmAxQpKbVlNTKlr7l5uJk3nCT8hMw/nRhdjYFdricPbyzv1eOO3wli08Um+S6cJfU+hELSIOzKDCdk3G9YlEPrvUsypOFXd3v8vYl4G+l+6Z2+DPe95a1XK61CeC5c= Received: by 10.70.32.7 with SMTP id f7mr2485443wxf; Thu, 08 Jun 2006 12:43:37 -0700 (PDT) Received: by 10.70.91.5 with HTTP; Thu, 8 Jun 2006 12:43:37 -0700 (PDT) Message-ID: <7f3ed2c30606081243j305f62e6ycecc56128588fc53@mail.gmail.com> Date: Thu, 8 Jun 2006 21:43:37 +0200 Sender: hannes.magnusson@gmail.com To: "Marcus Boerger" Cc: "Andi Gutmans" , "Zeev Suraski" , internals@lists.php.net In-Reply-To: <658900708.20060608212456@marcus-boerger.de> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <7f3ed2c30605291152o2e99b579u6a2b1e38684aaad9@mail.gmail.com> <409415054.20060608004903@marcus-boerger.de> <7f3ed2c30606080337t67779ba3rfa266232506520cf@mail.gmail.com> <658900708.20060608212456@marcus-boerger.de> X-Google-Sender-Auth: c74a68d82af2c79c Subject: Re: [PHP-DEV] [PATCH] arg_info and friends From: bjori@php.net ("Hannes Magnusson") Hi Marcus On 6/8/06, Marcus Boerger wrote: > 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. Pretty much, yes - bundled with ZEND_ACC_PUBLIC -Hannes