From: <wsf...@us...> - 2007-12-16 20:42:49
|
Revision: 10194 http://swig.svn.sourceforge.net/swig/?rev=10194&view=rev Author: wsfulton Date: 2007-12-16 12:42:44 -0800 (Sun, 16 Dec 2007) Log Message: ----------- Add some comments. Add extra assertions in SwigType_parmlist Modified Paths: -------------- trunk/Source/Swig/typeobj.c Modified: trunk/Source/Swig/typeobj.c =================================================================== --- trunk/Source/Swig/typeobj.c 2007-12-16 20:37:25 UTC (rev 10193) +++ trunk/Source/Swig/typeobj.c 2007-12-16 20:42:44 UTC (rev 10194) @@ -231,7 +231,7 @@ * ----------------------------------------------------------------------------- */ List *SwigType_split(const SwigType *t) { - DOH *item; + String *item; List *list; char *c; int len; @@ -253,19 +253,32 @@ /* ----------------------------------------------------------------------------- * SwigType_parmlist() * - * Splits a comma separated list of type components into strings. + * Splits a comma separated list of parameters into its component parts + * The input is expected to contain the parameter list within () brackets + * returns 0 if no argument list in the input, ie there are no round brackets () + * returns a List containing a single empty string if there are no parameters in the () brackets + * For example: + * + * Foo(std::string,p.f().Bar<(int,double)>) + * + * returns 2 elements in the list: + * std::string + * p.f().Bar<(int,double)> * ----------------------------------------------------------------------------- */ - + List *SwigType_parmlist(const String *p) { - DOH *item; + String *item; List *list; - char *c, *itemstart; + char *c; + char *itemstart; + assert(p); c = Char(p); while (*c && (*c != '(') && (*c != '.')) c++; - if (!*c || (*c == '.')) + if (!*c) return 0; + assert(*c != '.'); /* p is expected to contain sub elements of a type */ c++; list = NewList(); itemstart = c; @@ -804,7 +817,7 @@ * * Foo<(p.int)>::bar * - * Results in "Foo" + * returns "Foo" * ----------------------------------------------------------------------------- */ String *SwigType_templateprefix(const SwigType *t) { @@ -848,7 +861,12 @@ /* ----------------------------------------------------------------------------- * SwigType_templateargs() * - * Returns the template part + * Returns the template arguments + * For example: + * + * Foo<(p.int)>::bar + * + * returns "<(p.int)>" * ----------------------------------------------------------------------------- */ String *SwigType_templateargs(const SwigType *t) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |