more swigkey unification

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8196 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2006-01-03 09:26:42 +00:00
commit 863961030d
9 changed files with 536 additions and 473 deletions

File diff suppressed because it is too large Load diff

View file

@ -12,6 +12,7 @@
char cvsroot_util_c[] = "$Header$"; char cvsroot_util_c[] = "$Header$";
#include "swig.h" #include "swig.h"
#include "swigkeys.h"
#include "cparse.h" #include "cparse.h"
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
@ -77,13 +78,13 @@ void Swig_cparse_replace_descriptor(String *s) {
* ----------------------------------------------------------------------------- */ * ----------------------------------------------------------------------------- */
void cparse_normalize_void(Node *n) { void cparse_normalize_void(Node *n) {
String *decl = Getattr(n,"decl"); String *decl = Getattr(n,k_decl);
Parm *parms = Getattr(n,"parms"); Parm *parms = Getattr(n,k_parms);
if (SwigType_isfunction(decl)) { if (SwigType_isfunction(decl)) {
if ((ParmList_len(parms) == 1) && (SwigType_type(Getattr(parms,"type")) == T_VOID)) { if ((ParmList_len(parms) == 1) && (SwigType_type(Getattr(parms,k_type)) == T_VOID)) {
Replaceall(decl,"f(void).","f()."); Replaceall(decl,"f(void).","f().");
Delattr(n,"parms"); Delattr(n,k_parms);
} }
} }
} }

View file

@ -849,7 +849,7 @@ Swig_MethodToFunction(Node *n, String *classname, int flags) {
/* Methods with default arguments are wrapped with additional methods for each default argument, /* Methods with default arguments are wrapped with additional methods for each default argument,
* however, only one extra %extend method is generated. */ * however, only one extra %extend method is generated. */
String *defaultargs = Getattr(n,"defaultargs"); String *defaultargs = Getattr(n,k_defaultargs);
String *code = Getattr(n,k_code); String *code = Getattr(n,k_code);
String *cname = Getattr(n,k_classname) ? Getattr(n,k_classname) : classname; String *cname = Getattr(n,k_classname) ? Getattr(n,k_classname) : classname;
String *membername = Swig_name_member(cname, name); String *membername = Swig_name_member(cname, name);
@ -938,21 +938,21 @@ Swig_methodclass(Node *n) {
int int
Swig_directorbase(Node *n) { Swig_directorbase(Node *n) {
Node *classNode = Swig_methodclass(n); Node *classNode = Swig_methodclass(n);
return (classNode && (Getattr(classNode, "directorBase") != 0)); return (classNode && (Getattr(classNode, k_directorbase) != 0));
} }
int int
Swig_directorclass(Node *n) { Swig_directorclass(Node *n) {
Node *classNode = Swig_methodclass(n); Node *classNode = Swig_methodclass(n);
assert(classNode != 0); assert(classNode != 0);
return (Getattr(classNode, "vtable") != 0); return (Getattr(classNode, k_vtable) != 0);
} }
int int
Swig_directormethod(Node *n) { Swig_directormethod(Node *n) {
Node *classNode = Swig_methodclass(n); Node *classNode = Swig_methodclass(n);
if (classNode) { if (classNode) {
Node *vtable = Getattr(classNode, "vtable"); Node *vtable = Getattr(classNode, k_vtable);
if (vtable) { if (vtable) {
String *name = Getattr(n, k_name); String *name = Getattr(n, k_name);
String *decl = Getattr(n, k_decl); String *decl = Getattr(n, k_decl);
@ -962,7 +962,7 @@ Swig_directormethod(Node *n) {
Delete(method_id); Delete(method_id);
Delete(local_decl); Delete(local_decl);
if (item) { if (item) {
return (Getattr(item, "director") != 0); return (Getattr(item, k_director) != 0);
} }
} }
} }
@ -977,7 +977,7 @@ Swig_directormap(Node *module, String *type) {
String* base = SwigType_base(type); String* base = SwigType_base(type);
Node *directormap = Getattr(module, "wrap:directormap"); Node *directormap = Getattr(module, k_wrapdirectormap);
if (directormap) if (directormap)
return Getattr(directormap, base); return Getattr(directormap, base);
} }
@ -1009,7 +1009,7 @@ Swig_ConstructorToFunction(Node *n, String *classname,
parms = CopyParmList(nonvoid_parms(Getattr(n,k_parms))); parms = CopyParmList(nonvoid_parms(Getattr(n,k_parms)));
/* Prepend the list of prefix_args (if any) */ /* Prepend the list of prefix_args (if any) */
prefix_args = Getattr(n,"director:prefix_args"); prefix_args = Getattr(n,k_directorprefixargs);
if (prefix_args != NIL) { if (prefix_args != NIL) {
Parm *p2, *p3; Parm *p2, *p3;
@ -1032,7 +1032,7 @@ Swig_ConstructorToFunction(Node *n, String *classname,
* however, only one extra %extend method is generated. */ * however, only one extra %extend method is generated. */
String *call; String *call;
String *cres; String *cres;
String *defaultargs = Getattr(n,"defaultargs"); String *defaultargs = Getattr(n,k_defaultargs);
String *code = Getattr(n,k_code); String *code = Getattr(n,k_code);
String *membername = Swig_name_construct(classname); String *membername = Swig_name_construct(classname);
String *mangled = Swig_name_mangle(membername); String *mangled = Swig_name_mangle(membername);
@ -1061,7 +1061,7 @@ Swig_ConstructorToFunction(Node *n, String *classname,
/* if a C++ director class exists, create it rather than the original class */ /* if a C++ director class exists, create it rather than the original class */
if (use_director) { if (use_director) {
Node *parent = Swig_methodclass(n); Node *parent = Swig_methodclass(n);
int abstract = Getattr(parent, "abstract") != 0; int abstract = Getattr(parent, k_abstract) != 0;
String *name = Getattr(parent, k_symname); String *name = Getattr(parent, k_symname);
String* directorname = NewStringf("SwigDirector_%s", name); String* directorname = NewStringf("SwigDirector_%s", name);
String* action = NewStringEmpty(); String* action = NewStringEmpty();
@ -1295,7 +1295,7 @@ Swig_MembergetToFunction(Node *n, String *classname, int flags) {
if (flags & CWRAP_SMART_POINTER) { if (flags & CWRAP_SMART_POINTER) {
if (checkAttribute(n, k_storage, k_static)) { if (checkAttribute(n, k_storage, k_static)) {
Node *sn = Getattr(n,"cplus:staticbase"); Node *sn = Getattr(n,k_cplusstaticbase);
String *base = Getattr(sn,k_name); String *base = Getattr(sn,k_name);
self = NewStringf("%s::", base); self = NewStringf("%s::", base);
} else { } else {

View file

@ -17,6 +17,7 @@
char cvsroot_fragment_c[] = "$Header$"; char cvsroot_fragment_c[] = "$Header$";
#include "swig.h" #include "swig.h"
#include "swigkeys.h"
static Hash *fragments = 0; static Hash *fragments = 0;
static Hash *looking_fragments = 0; static Hash *looking_fragments = 0;
@ -32,12 +33,12 @@ static int debug = 0;
void void
Swig_fragment_register(Node* fragment) { Swig_fragment_register(Node* fragment) {
if (Getattr(fragment,"emitonly")) { if (Getattr(fragment,k_emitonly)) {
Swig_fragment_emit(fragment); Swig_fragment_emit(fragment);
return; return;
} else { } else {
String *name = Copy(Getattr(fragment,"value")); String *name = Copy(Getattr(fragment,k_value));
String *type = Getattr(fragment,"type"); String *type = Getattr(fragment,k_type);
if (type) { if (type) {
SwigType *rtype = SwigType_typedef_resolve_all(type); SwigType *rtype = SwigType_typedef_resolve_all(type);
String *mangle = Swig_string_mangle(type); String *mangle = Swig_string_mangle(type);
@ -50,12 +51,12 @@ Swig_fragment_register(Node* fragment) {
fragments = NewHash(); fragments = NewHash();
} }
if (!Getattr(fragments,name)) { if (!Getattr(fragments,name)) {
String *section = Copy(Getattr(fragment,"section")); String *section = Copy(Getattr(fragment,k_section));
String *ccode = Copy(Getattr(fragment,"code")); String *ccode = Copy(Getattr(fragment,k_code));
Hash *kwargs = Getattr(fragment,"kwargs"); Hash *kwargs = Getattr(fragment,k_kwargs);
Setmeta(ccode,"section",section); Setmeta(ccode,k_section,section);
if (kwargs) { if (kwargs) {
Setmeta(ccode,"kwargs",kwargs); Setmeta(ccode,k_kwargs,kwargs);
} }
Setattr(fragments,name,ccode); Setattr(fragments,name,ccode);
if (debug) Printf(stdout,"registering fragment %s %s\n",name,section); if (debug) Printf(stdout,"registering fragment %s %s\n",name,section);
@ -90,11 +91,11 @@ Swig_fragment_emit(Node *n) {
if (!fragments) return; if (!fragments) return;
name = Getattr(n,"value"); name = Getattr(n,k_value);
if (!name) { if (!name) {
name = n; name = n;
} }
type = Getattr(n,"type"); type = Getattr(n,k_type);
if (type) { if (type) {
mangle = Swig_string_mangle(type); mangle = Swig_string_mangle(type);
} }
@ -112,13 +113,13 @@ Swig_fragment_emit(Node *n) {
} }
code = Getattr(fragments,name); code = Getattr(fragments,name);
if (debug) Printf(stdout,"looking subfragment %s\n", name); if (debug) Printf(stdout,"looking subfragment %s\n", name);
if (code && (Strcmp(code,"ignore") != 0)) { if (code && (Strcmp(code,k_ignore) != 0)) {
String *section = Getmeta(code,"section"); String *section = Getmeta(code,k_section);
Hash *n = Getmeta(code,"kwargs"); Hash *n = Getmeta(code,k_kwargs);
if (!looking_fragments) looking_fragments = NewHash(); if (!looking_fragments) looking_fragments = NewHash();
Setattr(looking_fragments,name,"1"); Setattr(looking_fragments,name,"1");
while (n) { while (n) {
if (Cmp(Getattr(n,"name"),"fragment") == 0) { if (Equal(Getattr(n,k_name),k_fragment)) {
if (debug) Printf(stdout,"emitting fragment %s %s\n",n, type); if (debug) Printf(stdout,"emitting fragment %s %s\n",n, type);
Swig_fragment_emit(n); Swig_fragment_emit(n);
} }
@ -134,7 +135,7 @@ Swig_fragment_emit(Node *n) {
if (debug) Printf(f,"/* begin fragment %s */\n",name); if (debug) Printf(f,"/* begin fragment %s */\n",name);
Printf(f,"%s\n",code); Printf(f,"%s\n",code);
if (debug) Printf(f,"/* end fragment %s */\n\n",name); if (debug) Printf(f,"/* end fragment %s */\n\n",name);
Setattr(fragments,name,"ignore"); Setattr(fragments,name,k_ignore);
Delattr(looking_fragments,name); Delattr(looking_fragments,name);
} }
} }
@ -142,7 +143,7 @@ Swig_fragment_emit(Node *n) {
if (code && type) { if (code && type) {
SwigType *rtype = SwigType_typedef_resolve_all(type); SwigType *rtype = SwigType_typedef_resolve_all(type);
if (!Equal(type,rtype)) { if (!Equal(type,rtype)) {
String *name = Copy(Getattr(n,"value")); String *name = Copy(Getattr(n,k_value));
Append(name,rtype); Append(name,rtype);
Swig_fragment_emit(name); Swig_fragment_emit(name);
Delete(name); Delete(name);

View file

@ -14,6 +14,7 @@
char cvsroot_include_c[] = "$Header$"; char cvsroot_include_c[] = "$Header$";
#include "swig.h" #include "swig.h"
#include "swigkeys.h"
/* Delimeter used in accessing files and directories */ /* Delimeter used in accessing files and directories */
@ -166,7 +167,7 @@ Swig_search_path_any(int syspath) {
filename = NewStringEmpty(); filename = NewStringEmpty();
assert(filename); assert(filename);
Printf(filename, "%s%s", dirname, SWIG_FILE_DELIMETER); Printf(filename, "%s%s", dirname, SWIG_FILE_DELIMETER);
if (syspath && !Getattr(dirname,"sysdir")) { if (syspath && !Getattr(dirname,k_sysdir)) {
Append(llist,filename); Append(llist,filename);
} else { } else {
Append(slist,filename); Append(slist,filename);

View file

@ -3,7 +3,9 @@
String *empty_string = 0; String *empty_string = 0;
String *k_1 = 0; String *k_1 = 0;
String *k_SWIGTYPE = 0; String *k_SWIGTYPE = 0;
String *k_abstract = 0;
String *k_access = 0; String *k_access = 0;
String *k_alias = 0;
String *k_allowstypedef = 0; String *k_allowstypedef = 0;
String *k_alttype = 0; String *k_alttype = 0;
String *k_argbyname = 0; String *k_argbyname = 0;
@ -14,6 +16,7 @@ String *k_cdecl = 0;
String *k_class = 0; String *k_class = 0;
String *k_classforward = 0; String *k_classforward = 0;
String *k_classname = 0; String *k_classname = 0;
String *k_cplusstaticbase = 0;
String *k_code = 0; String *k_code = 0;
String *k_coloncolon = 0; String *k_coloncolon = 0;
String *k_compactdefargs = 0; String *k_compactdefargs = 0;
@ -24,12 +27,19 @@ String *k_csymnextSibling = 0;
String *k_csympreviousSibling = 0; String *k_csympreviousSibling = 0;
String *k_csymtab = 0; String *k_csymtab = 0;
String *k_decl = 0; String *k_decl = 0;
String *k_default = 0;
String *k_defaultargs = 0;
String *k_destroy = 0; String *k_destroy = 0;
String *k_destructor = 0; String *k_destructor = 0;
String *k_director = 0;
String *k_directorbase = 0;
String *k_directorprefixargs = 0;
String *k_disown = 0; String *k_disown = 0;
String *k_emitonly = 0;
String *k_enumitem = 0; String *k_enumitem = 0;
String *k_error = 0; String *k_error = 0;
String *k_extern = 0; String *k_extern = 0;
String *k_fragment = 0;
String *k_friend = 0; String *k_friend = 0;
String *k_fullname = 0; String *k_fullname = 0;
String *k_get = 0; String *k_get = 0;
@ -39,6 +49,7 @@ String *k_inherit = 0;
String *k_kwargs = 0; String *k_kwargs = 0;
String *k_lname = 0; String *k_lname = 0;
String *k_locals = 0; String *k_locals = 0;
String *k_kind = 0;
String *k_matchlist = 0; String *k_matchlist = 0;
String *k_member = 0; String *k_member = 0;
String *k_name = 0; String *k_name = 0;
@ -49,6 +60,7 @@ String *k_parent = 0;
String *k_parentnode = 0; String *k_parentnode = 0;
String *k_parm = 0; String *k_parm = 0;
String *k_parms = 0; String *k_parms = 0;
String *k_partialarg = 0;
String *k_partialargs = 0; String *k_partialargs = 0;
String *k_partials = 0; String *k_partials = 0;
String *k_pattern = 0; String *k_pattern = 0;
@ -60,6 +72,7 @@ String *k_qualifier = 0;
String *k_rename = 0; String *k_rename = 0;
String *k_result = 0; String *k_result = 0;
String *k_scope = 0; String *k_scope = 0;
String *k_section = 0;
String *k_self = 0; String *k_self = 0;
String *k_set = 0; String *k_set = 0;
String *k_sourcefmt = 0; String *k_sourcefmt = 0;
@ -76,22 +89,28 @@ String *k_symsymtab = 0;
String *k_symtab = 0; String *k_symtab = 0;
String *k_symtypename = 0; String *k_symtypename = 0;
String *k_symweak = 0; String *k_symweak = 0;
String *k_sysdir = 0;
String *k_targetfmt = 0; String *k_targetfmt = 0;
String *k_targetname = 0; String *k_targetname = 0;
String *k_template = 0; String *k_template = 0;
String *k_templateparm = 0; String *k_templateparm = 0;
String *k_templateparms = 0; String *k_templateparms = 0;
String *k_templatetype = 0; String *k_templatetype = 0;
String *k_throw = 0;
String *k_throws = 0; String *k_throws = 0;
String *k_tmapmatch = 0; String *k_tmapmatch = 0;
String *k_type = 0; String *k_type = 0;
String *k_typedef = 0; String *k_typedef = 0;
String *k_typetab = 0; String *k_typetab = 0;
String *k_uname = 0; String *k_uname = 0;
String *k_unnamed = 0;
String *k_using = 0; String *k_using = 0;
String *k_value = 0; String *k_value = 0;
String *k_view = 0;
String *k_virtual = 0; String *k_virtual = 0;
String *k_vtable = 0;
String *k_wrapaction = 0; String *k_wrapaction = 0;
String *k_wrapdirectormap = 0;
String *k_wrapdisown = 0; String *k_wrapdisown = 0;
String *k_wrapper = 0; String *k_wrapper = 0;
@ -99,7 +118,9 @@ void Swig_keys_init() {
empty_string = NewString(""); empty_string = NewString("");
k_1 = NewString("1"); k_1 = NewString("1");
k_SWIGTYPE = NewString("SWIGTYPE"); k_SWIGTYPE = NewString("SWIGTYPE");
k_abstract = NewString("abstract");
k_access = NewString("access"); k_access = NewString("access");
k_alias = NewString("alias");
k_allowstypedef = NewString("allows_typedef"); k_allowstypedef = NewString("allows_typedef");
k_alttype = NewString("alttype"); k_alttype = NewString("alttype");
k_argbyname = NewString("arg:byname"); k_argbyname = NewString("arg:byname");
@ -110,6 +131,7 @@ void Swig_keys_init() {
k_class = NewString("class"); k_class = NewString("class");
k_classforward = NewString("classforward"); k_classforward = NewString("classforward");
k_classname = NewString("classname"); k_classname = NewString("classname");
k_cplusstaticbase = NewString("cplus:staticbase");;
k_code = NewString("code"); k_code = NewString("code");
k_coloncolon = NewString("::"); k_coloncolon = NewString("::");
k_compactdefargs = NewString("compactdefargs"); k_compactdefargs = NewString("compactdefargs");
@ -120,11 +142,18 @@ void Swig_keys_init() {
k_csympreviousSibling = NewString("csym:previousSibling"); k_csympreviousSibling = NewString("csym:previousSibling");
k_csymtab = NewString("csymtab"); k_csymtab = NewString("csymtab");
k_decl = NewString("decl"); k_decl = NewString("decl");
k_default = NewString("default");
k_defaultargs = NewString("defaultargs");
k_destroy = NewString("destroy"); k_destroy = NewString("destroy");
k_destructor = NewString("destructor"); k_destructor = NewString("destructor");
k_director = NewString("director");
k_directorbase = NewString("directorBase");
k_directorprefixargs = NewString("director:prefix_args");
k_disown = NewString("disown"); k_disown = NewString("disown");
k_emitonly = NewString("emitonly");
k_enumitem = NewString("enumitem"); k_enumitem = NewString("enumitem");
k_error = NewString("error"); k_error = NewString("error");
k_fragment = NewString("fragment");
k_friend = NewString("friend"); k_friend = NewString("friend");
k_fullname = NewString("fullname"); k_fullname = NewString("fullname");
k_get = NewString("get"); k_get = NewString("get");
@ -134,6 +163,7 @@ void Swig_keys_init() {
k_kwargs = NewString("kwargs"); k_kwargs = NewString("kwargs");
k_lname = NewString("lname"); k_lname = NewString("lname");
k_locals = NewString("locals"); k_locals = NewString("locals");
k_kind = NewString("kind");
k_matchlist = NewString("matchlist"); k_matchlist = NewString("matchlist");
k_member = NewString("member"); k_member = NewString("member");
k_name = NewString("name"); k_name = NewString("name");
@ -144,6 +174,7 @@ void Swig_keys_init() {
k_parentnode = NewString("parentNode"); k_parentnode = NewString("parentNode");
k_parm = NewString("parm"); k_parm = NewString("parm");
k_parms = NewString("parms"); k_parms = NewString("parms");
k_partialarg = NewString("partialarg");
k_partialargs = NewString("partialargs"); k_partialargs = NewString("partialargs");
k_partials = NewString("partials"); k_partials = NewString("partials");
k_pattern = NewString("pattern"); k_pattern = NewString("pattern");
@ -155,6 +186,7 @@ void Swig_keys_init() {
k_rename = NewString("rename"); k_rename = NewString("rename");
k_result = NewString("result"); k_result = NewString("result");
k_scope = NewString("scope"); k_scope = NewString("scope");
k_section = NewString("section");
k_self = NewString("self"); k_self = NewString("self");
k_set = NewString("set"); k_set = NewString("set");
k_sourcefmt = NewString("sourcefmt"); k_sourcefmt = NewString("sourcefmt");
@ -171,22 +203,28 @@ void Swig_keys_init() {
k_symtab = NewString("symtab"); k_symtab = NewString("symtab");
k_symtypename = NewString("sym:typename"); k_symtypename = NewString("sym:typename");
k_symweak = NewString("sym:weak"); k_symweak = NewString("sym:weak");
k_sysdir = NewString("sysdir");
k_targetfmt = NewString("targetfmt"); k_targetfmt = NewString("targetfmt");
k_targetname = NewString("targetname"); k_targetname = NewString("targetname");
k_template = NewString("template"); k_template = NewString("template");
k_templateparm = NewString("templateparm"); k_templateparm = NewString("templateparm");
k_templateparms = NewString("templateparms"); k_templateparms = NewString("templateparms");
k_templatetype = NewString("templatetype"); k_templatetype = NewString("templatetype");
k_throw = NewString("throw");
k_throws = NewString("throws"); k_throws = NewString("throws");
k_tmapmatch = NewString("tmap:match"); k_tmapmatch = NewString("tmap:match");
k_type = NewString("type"); k_type = NewString("type");
k_typedef = NewString("typedef"); k_typedef = NewString("typedef");
k_typetab = NewString("typetab"); k_typetab = NewString("typetab");
k_uname = NewString("uname"); k_uname = NewString("uname");
k_unnamed = NewString("unnamed");
k_using = NewString("using"); k_using = NewString("using");
k_value = NewString("value"); k_value = NewString("value");
k_view = NewString("view");
k_virtual = NewString("virtual"); k_virtual = NewString("virtual");
k_vtable = NewString("vtable");
k_wrapaction = NewString("wrap:action"); k_wrapaction = NewString("wrap:action");
k_wrapdirectormap = NewString("wrap:directormap");
k_wrapdisown = NewString("wrap:disown"); k_wrapdisown = NewString("wrap:disown");
k_wrapper = NewString("wrapper"); k_wrapper = NewString("wrapper");
} }

View file

@ -8,7 +8,9 @@ extern void Swig_keys_init();
extern String *empty_string; extern String *empty_string;
extern String *k_1; extern String *k_1;
extern String *k_SWIGTYPE; extern String *k_SWIGTYPE;
extern String *k_abstract;
extern String *k_access; extern String *k_access;
extern String *k_alias;
extern String *k_allowstypedef; extern String *k_allowstypedef;
extern String *k_alttype; extern String *k_alttype;
extern String *k_argbyname; extern String *k_argbyname;
@ -19,6 +21,7 @@ extern String *k_cdecl;
extern String *k_class; extern String *k_class;
extern String *k_classforward; extern String *k_classforward;
extern String *k_classname; extern String *k_classname;
extern String *k_cplusstaticbase;
extern String *k_code; extern String *k_code;
extern String *k_coloncolon; extern String *k_coloncolon;
extern String *k_compactdefargs; extern String *k_compactdefargs;
@ -29,12 +32,19 @@ extern String *k_csymnextSibling;
extern String *k_csympreviousSibling; extern String *k_csympreviousSibling;
extern String *k_csymtab; extern String *k_csymtab;
extern String *k_decl; extern String *k_decl;
extern String *k_default;
extern String *k_defaultargs;
extern String *k_destroy; extern String *k_destroy;
extern String *k_destructor; extern String *k_destructor;
extern String *k_director;
extern String *k_directorbase;
extern String *k_directorprefixargs;
extern String *k_disown; extern String *k_disown;
extern String *k_emitonly;
extern String *k_enumitem; extern String *k_enumitem;
extern String *k_error; extern String *k_error;
extern String *k_extern; extern String *k_extern;
extern String *k_fragment;
extern String *k_friend; extern String *k_friend;
extern String *k_fullname; extern String *k_fullname;
extern String *k_get; extern String *k_get;
@ -44,6 +54,7 @@ extern String *k_inherit;
extern String *k_kwargs; extern String *k_kwargs;
extern String *k_lname; extern String *k_lname;
extern String *k_locals; extern String *k_locals;
extern String *k_kind;
extern String *k_matchlist; extern String *k_matchlist;
extern String *k_member; extern String *k_member;
extern String *k_name; extern String *k_name;
@ -54,6 +65,7 @@ extern String *k_parent;
extern String *k_parentnode; extern String *k_parentnode;
extern String *k_parm; extern String *k_parm;
extern String *k_parms; extern String *k_parms;
extern String *k_partialarg;
extern String *k_partialargs; extern String *k_partialargs;
extern String *k_partials; extern String *k_partials;
extern String *k_pattern; extern String *k_pattern;
@ -65,6 +77,7 @@ extern String *k_qualifier;
extern String *k_rename; extern String *k_rename;
extern String *k_result; extern String *k_result;
extern String *k_scope; extern String *k_scope;
extern String *k_section;
extern String *k_self; extern String *k_self;
extern String *k_set; extern String *k_set;
extern String *k_sourcefmt; extern String *k_sourcefmt;
@ -81,22 +94,28 @@ extern String *k_symsymtab;
extern String *k_symtab; extern String *k_symtab;
extern String *k_symtypename; extern String *k_symtypename;
extern String *k_symweak; extern String *k_symweak;
extern String *k_sysdir;
extern String *k_targetfmt; extern String *k_targetfmt;
extern String *k_targetname; extern String *k_targetname;
extern String *k_template; extern String *k_template;
extern String *k_templateparm; extern String *k_templateparm;
extern String *k_templateparms; extern String *k_templateparms;
extern String *k_templatetype; extern String *k_templatetype;
extern String *k_throw;
extern String *k_throws; extern String *k_throws;
extern String *k_tmapmatch; extern String *k_tmapmatch;
extern String *k_type; extern String *k_type;
extern String *k_typedef; extern String *k_typedef;
extern String *k_typetab; extern String *k_typetab;
extern String *k_uname; extern String *k_uname;
extern String *k_unnamed;
extern String *k_using; extern String *k_using;
extern String *k_value; extern String *k_value;
extern String *k_virtual; extern String *k_virtual;
extern String *k_view;
extern String *k_vtable;
extern String *k_wrapaction; extern String *k_wrapaction;
extern String *k_wrapdirectormap;
extern String *k_wrapdisown; extern String *k_wrapdisown;
extern String *k_wrapper; extern String *k_wrapper;

View file

@ -11,6 +11,7 @@
* ----------------------------------------------------------------------------- */ * ----------------------------------------------------------------------------- */
#include "swig.h" #include "swig.h"
#include "swigkeys.h"
#include <stdarg.h> #include <stdarg.h>
#include <assert.h> #include <assert.h>
@ -304,16 +305,16 @@ Swig_require(const char *ns, Node *n, ...) {
/* Save the view */ /* Save the view */
{ {
String *view = Getattr(n,"view"); String *view = Getattr(n,k_view);
if (view) { if (view) {
if (Strcmp(view,ns) != 0) { if (Strcmp(view,ns) != 0) {
strcpy(temp,ns); strcpy(temp,ns);
strcat(temp,":view"); strcat(temp,":view");
Setattr(n,temp,view); Setattr(n,temp,view);
Setattr(n,"view",ns); Setattr(n,k_view,ns);
} }
} else { } else {
Setattr(n,"view",ns); Setattr(n,k_view,ns);
} }
} }
@ -358,16 +359,16 @@ Swig_save(const char *ns, Node *n, ...) {
/* Save the view */ /* Save the view */
{ {
String *view = Getattr(n,"view"); String *view = Getattr(n,k_view);
if (view) { if (view) {
if (Strcmp(view,ns) != 0) { if (Strcmp(view,ns) != 0) {
strcpy(temp,ns); strcpy(temp,ns);
strcat(temp,":view"); strcat(temp,":view");
Setattr(n,temp,view); Setattr(n,temp,view);
Setattr(n,"view",ns); Setattr(n,k_view,ns);
} }
} else { } else {
Setattr(n,"view",ns); Setattr(n,k_view,ns);
} }
} }
@ -387,7 +388,7 @@ Swig_restore(Node *n) {
String *ns; String *ns;
Iterator ki; Iterator ki;
ns = Getattr(n,"view"); ns = Getattr(n,k_view);
assert(ns); assert(ns);
l = NewList(); l = NewList();

View file

@ -15,6 +15,7 @@
char cvsroot_typeobj_c[] = "$Header$"; char cvsroot_typeobj_c[] = "$Header$";
#include "swig.h" #include "swig.h"
#include "swigkeys.h"
#include <ctype.h> #include <ctype.h>
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
@ -663,7 +664,7 @@ SwigType_add_function(SwigType *t, ParmList *parms) {
p = parms; p = parms;
for (p = parms; p; p = nextSibling(p)) { for (p = parms; p; p = nextSibling(p)) {
if (p != parms) Putc(',',pstr); if (p != parms) Putc(',',pstr);
Append(pstr, Getattr(p,"type")); Append(pstr, Getattr(p,k_type));
} }
Insert(t,0,pstr); Insert(t,0,pstr);
Delete(pstr); Delete(pstr);
@ -757,13 +758,13 @@ SwigType_add_template(SwigType *t, ParmList *parms) {
p = parms; p = parms;
for (p = parms; p; p = nextSibling(p)) { for (p = parms; p; p = nextSibling(p)) {
String *v; String *v;
if (Getattr(p,"default")) continue; if (Getattr(p,k_default)) continue;
if (p != parms) Append(t,","); if (p != parms) Append(t,",");
v = Getattr(p,"value"); v = Getattr(p,k_value);
if (v) { if (v) {
Append(t,v); Append(t,v);
} else { } else {
Append(t,Getattr(p,"type")); Append(t,Getattr(p,k_type));
} }
} }
Append(t,")>"); Append(t,")>");