Changeset 7161 for trunk/tools


Ignore:
Timestamp:
Oct 23, 2001, 4:30:54 AM (24 years ago)
Author:
bird
Message:

Fixed enumeration of '...' parameter. odin32_funcbox now insert parameters with defaults.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/vslick/odin32.e

    r7160 r7161  
    1 /* $Id: odin32.e,v 1.9 2001-10-23 02:14:02 bird Exp $
     1/* $Id: odin32.e,v 1.10 2001-10-23 02:30:54 bird Exp $
    22 *
    33 * Visual SlickEdit Documentation Macros.
     
    226226    else
    227227    {
     228        int     cArgs = 1;
     229        _str    sArgs = "";
     230        boolean fFoundFn = !odin32_func_goto_nearest();
     231        if (fFoundFn)
     232        {
     233            sArgs = odin32_getparams();
     234            cArgs = odin32_countparams(sArgs);
     235        }
     236
    228237        _insert_text("/**\n");
    229238        _insert_text(" * \n");
    230239        _insert_text(" * @returns \n");
    231         _insert_text(" * @param   \n");
     240        if (fFoundFn)
     241        {
     242            int     i;
     243            /*
     244             * Determin parameter description indent.
     245             */
     246            int     cchMaxLen = 0;
     247            for (i = 0; i < cArgs; i++)
     248            {
     249                _str sName, sType, sDefault;
     250                if (!odin32_enumparams(sArgs, i, sType, sName, sDefault)
     251                    && cchMaxLen < length(sName))
     252                    cchMaxLen = length(sName);
     253            }
     254            cchMaxLen += length(" * @param   ");
     255            cchMaxLen = ((cchMaxLen + 2 + p_SyntaxIndent-1) intdiv p_SyntaxIndent) * p_SyntaxIndent;
     256
     257            /*
     258             * Insert parameter.
     259             */
     260            for (i = 0; i < cArgs; i++)
     261            {
     262                _str sName, sType, sDefault;
     263                if (!odin32_enumparams(sArgs, i, sType, sName, sDefault))
     264                {
     265                    _insert_text(" * @param   "sName"");
     266                    while (p_col <= cchMaxLen)
     267                        _insert_text(" ");
     268                    if (sDefault != "")
     269                        _insert_text("(default="sDefault")");
     270                    _insert_text("\n");
     271                }
     272                else
     273                    _insert_text(" * @param   \n");
     274            }
     275        }
     276        else
     277            _insert_text(" * @param   \n");
    232278        _insert_text(" * @equiv   \n");
    233279        _insert_text(" * @time    \n");
     
    237283        _insert_text(" * @remark  \n");
    238284        _insert_text(" */\n");
    239         up(10);
     285        up(9 + cArgs);
    240286        p_col = 4;
    241287    }
     
    312358    if (file_eq(p_extension, 'asm'))
    313359    {
    314         _insert_text("; $Id: odin32.e,v 1.9 2001-10-23 02:14:02 bird Exp $\n");
     360        _insert_text("; $Id: odin32.e,v 1.10 2001-10-23 02:30:54 bird Exp $\n");
    315361        _insert_text("; \n");
    316362        _insert_text("; \n");
     
    325371    else
    326372    {
    327         _insert_text("/* $Id: odin32.e,v 1.9 2001-10-23 02:14:02 bird Exp $\n");
     373        _insert_text("/* $Id: odin32.e,v 1.10 2001-10-23 02:30:54 bird Exp $\n");
    328374        _insert_text(" * \n");
    329375        _insert_text(" * \n");
     
    9721018                break;
    9731019        }
     1020        if (sArg == "...")
     1021            i = 0;
    9741022        sName = strip(substr(sArg, i + 1));
    9751023        sType = strip(substr(sArg, 1, i));
Note: See TracChangeset for help on using the changeset viewer.