You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucy.apache.org by "Marvin Humphrey (JIRA)" <ji...@apache.org> on 2009/08/18 18:49:14 UTC

[jira] Created: (LUCY-19) Boilerplater::ParamList

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


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.


[jira] Updated: (LUCY-19) Boilerplater::ParamList

Posted by "Marvin Humphrey (JIRA)" <ji...@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.


[jira] Resolved: (LUCY-19) Boilerplater::ParamList

Posted by "Marvin Humphrey (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCY-19?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marvin Humphrey resolved LUCY-19.
---------------------------------

    Resolution: Fixed

Committed as r806144.

> 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.