Return-Path: Delivered-To: apmail-lucene-lucy-dev-archive@minotaur.apache.org Received: (qmail 73251 invoked from network); 18 Aug 2009 17:22:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 18 Aug 2009 17:22:18 -0000 Received: (qmail 43603 invoked by uid 500); 18 Aug 2009 17:22:37 -0000 Delivered-To: apmail-lucene-lucy-dev-archive@lucene.apache.org Received: (qmail 43548 invoked by uid 500); 18 Aug 2009 17:22:36 -0000 Mailing-List: contact lucy-dev-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: lucy-dev@lucene.apache.org Delivered-To: mailing list lucy-dev@lucene.apache.org Received: (qmail 43538 invoked by uid 99); 18 Aug 2009 17:22:36 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 Aug 2009 17:22:36 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 Aug 2009 17:22:35 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id C70B6234C044 for ; Tue, 18 Aug 2009 10:22:14 -0700 (PDT) Message-ID: <155450275.1250616134801.JavaMail.jira@brutus> Date: Tue, 18 Aug 2009 10:22:14 -0700 (PDT) From: "Marvin Humphrey (JIRA)" To: lucy-dev@lucene.apache.org Subject: [jira] Updated: (LUCY-19) Boilerplater::ParamList In-Reply-To: <1804619803.1250614154894.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/LUCY-19?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marvin Humphrey updated LUCY-19: -------------------------------- Attachment: ParamList.pm 301-param_list.t parser_add_param_list.diff Parameter lists in Boilerplater consist of an array of Boilerplater::Variables, and sometimes an array of default values. {code:none} /** * @param capacity The number of elements that the Hash will be * asked to hold initially. */ public inert incremented Hash* new(u32_t capacity = 0); {code} The first argument to any method is always "self", and is included as the first element in the parameter list. Methods testing to see if their signatures test as "equal" are strict about parameter lists: * Variable names must match (important for parameter labeling). * Variable types must match ("self" is a special case -- it must pass an inheritance test rather than match exactly). * Initial values must match. Put another way, method signatures in Boilerplater are defined not only by types as in C, but also by variable names and default values. Once a method's public interface has been published, it is not possible to change a parameter name without breaking backwards compatibility or writing custom binding code specifically to support the legacy interface. Default values cannot be baked into C bindings, but they can for other languages: Perl using labeled parameters and testing for undef, Java using method signature overloading, etc. > Boilerplater::ParamList > ----------------------- > > Key: LUCY-19 > URL: https://issues.apache.org/jira/browse/LUCY-19 > Project: Lucy > Issue Type: Sub-task > Components: Boilerplater > Reporter: Marvin Humphrey > Assignee: Marvin Humphrey > Attachments: 301-param_list.t, ParamList.pm, parser_add_param_list.diff > > > Add support for function/method parameter lists to Boilerplater. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.