Generation of director method declarations fixes
- Fixes generation of director method declarations containing C++11 ref-qualifiers. - Fixes generation of director method declarations returning more complex types such as const ref pointers. - Rewrite Swig_method_call to use more up to date code in the core.
This commit is contained in:
parent
280090ed4b
commit
ae044c1c2f
14 changed files with 119 additions and 201 deletions
|
|
@ -2466,7 +2466,7 @@ done:
|
|||
|
||||
// We put TSRMLS_DC after the self parameter in order to cope with
|
||||
// any default parameters.
|
||||
String *target = Swig_method_decl(0, decl, classname, parms, 0, 0);
|
||||
String *target = Swig_method_decl(0, decl, classname, parms, 0);
|
||||
const char * p = Char(target);
|
||||
const char * comma = strchr(p, ',');
|
||||
int ins = comma ? (int)(comma - p) : Len(target) - 1;
|
||||
|
|
@ -2485,7 +2485,7 @@ done:
|
|||
{
|
||||
// We put TSRMLS_DC after the self parameter in order to cope with
|
||||
// any default parameters.
|
||||
String *target = Swig_method_decl(0, decl, classname, parms, 0, 1);
|
||||
String *target = Swig_method_decl(0, decl, classname, parms, 1);
|
||||
const char * p = Char(target);
|
||||
const char * comma = strchr(p, ',');
|
||||
int ins = comma ? (int)(comma - p) : Len(target) - 1;
|
||||
|
|
@ -2534,12 +2534,12 @@ done:
|
|||
String *pclassname = NewStringf("SwigDirector_%s", classname);
|
||||
String *qualified_name = NewStringf("%s::%s", pclassname, name);
|
||||
SwigType *rtype = Getattr(n, "conversion_operator") ? 0 : Getattr(n, "classDirectorMethods:type");
|
||||
target = Swig_method_decl(rtype, decl, qualified_name, l, 0, 0);
|
||||
target = Swig_method_decl(rtype, decl, qualified_name, l, 0);
|
||||
Printf(w->def, "%s", target);
|
||||
Delete(qualified_name);
|
||||
Delete(target);
|
||||
/* header declaration */
|
||||
target = Swig_method_decl(rtype, decl, name, l, 0, 1);
|
||||
target = Swig_method_decl(rtype, decl, name, l, 1);
|
||||
Printf(declaration, " virtual %s", target);
|
||||
Delete(target);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue