add support for options in rename/namewarn and central methods to access the rename/warning hashs
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8150 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
79acadb777
commit
b034e6c266
8 changed files with 211 additions and 67 deletions
|
|
@ -2392,7 +2392,7 @@ class CSHARP : public Language {
|
|||
count++;
|
||||
plist = nextSibling(plist);
|
||||
}
|
||||
String *wrn = pn ? Swig_name_object_get(Swig_cparse_namewarn(),0,pn,0) : 0;
|
||||
String *wrn = pn ? Swig_cparse_name_warning(0,0,pn,0) : 0;
|
||||
arg = (!pn || (count > 1) || wrn) ? NewStringf("arg%d",arg_num) : Copy(pn);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2546,7 +2546,7 @@ class JAVA : public Language {
|
|||
count++;
|
||||
plist = nextSibling(plist);
|
||||
}
|
||||
String *wrn = pn ? Swig_name_object_get(Swig_cparse_namewarn(),0,pn,0) : 0;
|
||||
String *wrn = pn ? Swig_cparse_name_warning(0, 0, pn, 0) : 0;
|
||||
arg = (!pn || (count > 1) || wrn) ? NewStringf("arg%d",arg_num) : Copy(pn);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1970,6 +1970,10 @@ int Language::classDirector(Node *n) {
|
|||
* ---------------------------------------------------------------------- */
|
||||
static void addCopyConstructor(Node *n)
|
||||
{
|
||||
Node *cn = NewHash();
|
||||
set_nodeType(cn,"constructor");
|
||||
Setattr(cn,"access","public");
|
||||
|
||||
String *cname = Getattr(n,"name");
|
||||
SwigType *type = Copy(cname);
|
||||
String *last = Swig_scopename_last(cname);
|
||||
|
|
@ -1977,14 +1981,12 @@ static void addCopyConstructor(Node *n)
|
|||
String *cc = NewStringf("r.q(const).%s", type);
|
||||
String *decl = NewStringf("f(%s).",cc);
|
||||
String *csymname = Getattr(n,"sym:name");
|
||||
String *symname = Swig_name_object_get(Swig_cparse_rename(), cname, last, decl);
|
||||
String *symname = Swig_cparse_symbol_name(cn, cname, last, decl, 0);
|
||||
if (!symname) {
|
||||
symname = Copy(csymname);
|
||||
}
|
||||
Parm *p = NewParm(cc,"_swig_self");
|
||||
|
||||
Node *cn = NewHash();
|
||||
set_nodeType(cn,"constructor");
|
||||
Setattr(cn,"name",name);
|
||||
Setattr(cn,"sym:name",symname);
|
||||
SetFlag(cn,"feature:new");
|
||||
|
|
@ -2018,18 +2020,20 @@ static void addCopyConstructor(Node *n)
|
|||
|
||||
static void addDefaultConstructor(Node *n)
|
||||
{
|
||||
Node *cn = NewHash();
|
||||
set_nodeType(cn,"constructor");
|
||||
Setattr(cn,"access","public");
|
||||
|
||||
String *cname = Getattr(n,"name");
|
||||
String *last = Swig_scopename_last(cname);
|
||||
String *name = NewStringf("%s::%s",cname,last);
|
||||
String *decl = NewString("f().");
|
||||
String *csymname = Getattr(n,"sym:name");
|
||||
String *symname = Swig_name_object_get(Swig_cparse_rename(), cname, last, decl);
|
||||
String *symname = Swig_cparse_symbol_name(cn, cname, last, decl, 0);
|
||||
if (!symname) {
|
||||
symname = Copy(csymname);
|
||||
}
|
||||
|
||||
Node *cn = NewHash();
|
||||
set_nodeType(cn,"constructor");
|
||||
Setattr(cn,"name",name);
|
||||
Setattr(cn,"sym:name",symname);
|
||||
SetFlag(cn,"feature:new");
|
||||
|
|
@ -2061,18 +2065,20 @@ static void addDefaultConstructor(Node *n)
|
|||
|
||||
static void addDestructor(Node *n)
|
||||
{
|
||||
Node *cn = NewHash();
|
||||
set_nodeType(cn,"destructor");
|
||||
Setattr(cn,"access","public");
|
||||
|
||||
String *cname = Getattr(n,"name");
|
||||
String *last = Swig_scopename_last(cname);
|
||||
Insert(last,0,"~");
|
||||
String *name = NewStringf("%s::%s",cname,last);
|
||||
String *decl = NewString("f().");
|
||||
String *symname = Swig_name_object_get(Swig_cparse_rename(), cname, last, decl);
|
||||
String *symname = Swig_cparse_symbol_name(cn, cname, last, decl, 0);
|
||||
if (!symname) {
|
||||
symname = NewStringf("~%s",Getattr(n,"sym:name"));
|
||||
}
|
||||
|
||||
Node *cn = NewHash();
|
||||
set_nodeType(cn,"destructor");
|
||||
Setattr(cn,"name",name);
|
||||
Setattr(cn,"sym:name",symname);
|
||||
Setattr(cn,"decl","f().");
|
||||
|
|
|
|||
|
|
@ -1575,7 +1575,7 @@ public:
|
|||
if (i == num_required) Putc('|', parse_args); /* Optional argument separator */
|
||||
|
||||
/* Keyword argument handling */
|
||||
String *wrn = (allow_kwargs && pn) ? Swig_name_object_get(Swig_cparse_namewarn(),0,pn,0) : 0;
|
||||
String *wrn = (allow_kwargs && pn) ? Swig_cparse_name_warning(0,0,pn,0) : 0;
|
||||
if (!wrn && Len(pn)) {
|
||||
Printf(kwargs,"(char *) \"%s\",", pn);
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue