diff options
author | Jan Jezabek <jezabek@poczta.onet.pl> | 2009-09-04 21:43:38 +0000 |
---|---|---|
committer | Jan Jezabek <jezabek@poczta.onet.pl> | 2009-09-04 21:43:38 +0000 |
commit | 1eb5446e13f752c53cab60379f7587cb1fd8cc65 (patch) | |
tree | 9d09b0939d1cd2d82eef8c8a9b3e802349260ea4 | |
parent | dbcffbb6d8be5a1080b0336bf0d2e62e8854af27 (diff) | |
download | swig-1eb5446e13f752c53cab60379f7587cb1fd8cc65.tar.gz |
Revert of the case-insensitivity commits - the changes that were required with this approach were massive.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-jezabek@11685 626c5289-ae23-0410-ae9c-e8d60b6d4f22
-rw-r--r-- | Source/CParse/parser.y | 22 | ||||
-rw-r--r-- | Source/Modules/com.cxx | 34 | ||||
-rw-r--r-- | Source/Modules/lang.cxx | 73 | ||||
-rw-r--r-- | Source/Swig/symbol.c | 19 |
4 files changed, 33 insertions, 115 deletions
diff --git a/Source/CParse/parser.y b/Source/CParse/parser.y index efff274f4..0babfbbb8 100644 --- a/Source/CParse/parser.y +++ b/Source/CParse/parser.y @@ -272,7 +272,6 @@ static int add_only_one = 0; static void add_symbols(Node *n) { String *decl; String *wrn = 0; - int case_insensitive_target = Swig_symbol_get_case_insensitive_target(); if (inclass && n) { cparse_normalize_void(n); } @@ -458,37 +457,24 @@ static void add_symbols(Node *n) { if (c != n) { /* symbol conflict attempting to add in the new symbol */ if (Getattr(n,"sym:weak")) { - if (case_insensitive_target) { - String *lower_case_name = Swig_string_lower(symname); - Setattr(n,"sym:name",lower_case_name); - Setattr(n,"sym:casePreservingName",symname); - Delete(lower_case_name); - } else { - Setattr(n,"sym:name",symname); - } + Setattr(n,"sym:name",symname); } else { String *e = NewStringEmpty(); String *en = NewStringEmpty(); String *ec = NewStringEmpty(); - String *csymname; int redefined = Swig_need_redefined_warn(n,c,inclass); - if (case_insensitive_target) { - csymname = Getattr(c, "sym:casePreservingName"); - } else { - csymname = Getattr(c, "sym:name"); - } if (redefined) { Printf(en,"Identifier '%s' redefined (ignored)",symname); - Printf(ec,"previous definition of '%s'",csymname); + Printf(ec,"previous definition of '%s'",symname); } else { Printf(en,"Redundant redeclaration of '%s'",symname); - Printf(ec,"previous declaration of '%s'",csymname); + Printf(ec,"previous declaration of '%s'",symname); } if (Cmp(symname,Getattr(n,"name"))) { Printf(en," (Renamed from '%s')", SwigType_namestr(Getattr(n,"name"))); } Printf(en,","); - if (Cmp(csymname,Getattr(c,"name"))) { + if (Cmp(symname,Getattr(c,"name"))) { Printf(ec," (Renamed from '%s')", SwigType_namestr(Getattr(c,"name"))); } Printf(ec,"."); diff --git a/Source/Modules/com.cxx b/Source/Modules/com.cxx index 8be564288..cd3a0cf4b 100644 --- a/Source/Modules/com.cxx +++ b/Source/Modules/com.cxx @@ -264,7 +264,7 @@ public: if (proxy_flag) { Node *n = classLookup(t); if (n) { - return Getattr(n, "sym:casePreservingName"); + return Getattr(n, "sym:name"); } } return NULL; @@ -622,7 +622,7 @@ public: * ----------------------------------------------------------------------------- */ virtual int functionWrapper(Node *n) { - String *symname = Getattr(n, "sym:casePreservingName"); + String *symname = Getattr(n, "sym:name"); SwigType *t = Getattr(n, "type"); ParmList *l = Getattr(n, "parms"); String *tm; @@ -882,7 +882,7 @@ public: virtual int globalvariableHandler(Node *n) { generate_property_declaration_flag = true; - variable_name = Getattr(n, "sym:casePreservingName"); + variable_name = Getattr(n, "sym:name"); global_variable_flag = true; int ret = Language::globalvariableHandler(n); global_variable_flag = false; @@ -902,7 +902,7 @@ public: if (!wrapping_member_flag) { global_variable_flag = true; - variable_name = Getattr(n, "sym:casePreservingName"); + variable_name = Getattr(n, "sym:name"); } else { static_flag = true; } @@ -926,9 +926,9 @@ public: if (proxy_flag) { // FIXME: String *overloaded_name = getOverloadedName(n); - String *overloaded_name = Getattr(n, "sym:casePreservingName"); + String *overloaded_name = Getattr(n, "sym:name"); String *intermediary_function_name = Swig_name_member(proxy_class_name, overloaded_name); - Setattr(n, "proxyfuncname", Getattr(n, "sym:casePreservingName")); + Setattr(n, "proxyfuncname", Getattr(n, "sym:name")); proxyClassFunctionHandler(n); Delete(overloaded_name); } @@ -942,7 +942,7 @@ public: virtual int membervariableHandler(Node *n) { generate_property_declaration_flag = true; - variable_name = Getattr(n, "sym:casePreservingName"); + variable_name = Getattr(n, "sym:name"); wrapping_member_flag = true; variable_wrapper_flag = true; Language::membervariableHandler(n); @@ -962,7 +962,7 @@ public: bool static_const_member_flag = (Getattr(n, "value") == 0); generate_property_declaration_flag = true; - variable_name = Getattr(n, "sym:casePreservingName"); + variable_name = Getattr(n, "sym:name"); wrapping_member_flag = true; static_flag = true; Language::staticmembervariableHandler(n); @@ -979,7 +979,7 @@ public: virtual int memberconstantHandler(Node *n) { - variable_name = Getattr(n, "sym:casePreservingName"); + variable_name = Getattr(n, "sym:name"); wrapping_member_flag = true; Language::memberconstantHandler(n); wrapping_member_flag = false; @@ -1050,7 +1050,7 @@ public: if (proxy_flag && global_variable_flag) { func_name = NewString(""); - setter_flag = (Cmp(Getattr(n, "sym:casePreservingName"), Swig_name_set(variable_name)) == 0); + setter_flag = (Cmp(Getattr(n, "sym:name"), Swig_name_set(variable_name)) == 0); Printf(func_name, "%s", variable_name); if (setter_flag) { @@ -1060,7 +1060,7 @@ public: } } else { /* FIXME: ... */ - func_name = Getattr(n, "sym:casePreservingName"); + func_name = Getattr(n, "sym:name"); } if (hresult_flag) { @@ -1379,7 +1379,7 @@ public: virtual int classHandler(Node *n) { if (proxy_flag) { - proxy_class_name = NewString(Getattr(n, "sym:casePreservingName")); + proxy_class_name = NewString(Getattr(n, "sym:name")); List *bases = NULL; if (!addSymbol(proxy_class_name, n)) @@ -1466,7 +1466,7 @@ public: base = Next(base); if (base.item) { - Printf(proxy_class_vtable_code, " ||\n SWIGIsEqual(iid, &IID_I%s)", Getattr(base.item, "sym:casePreservingName")); + Printf(proxy_class_vtable_code, " ||\n SWIGIsEqual(iid, &IID_I%s)", Getattr(base.item, "sym:name")); /* Get next base */ bases = Getattr(base.item, "bases"); } else { @@ -1539,7 +1539,7 @@ public: base = Next(base); if (base.item) { - Printf(proxy_class_vtable_code, " ||\n SWIGIsEqual(iid, &IID_I%s)", Getattr(base.item, "sym:casePreservingName")); + Printf(proxy_class_vtable_code, " ||\n SWIGIsEqual(iid, &IID_I%s)", Getattr(base.item, "sym:name")); /* Get next base */ bases = Getattr(base.item, "bases"); } else { @@ -1758,9 +1758,9 @@ public: if (proxy_flag) { // FIXME: String *overloaded_name = getOverloadedName(n); - String *overloaded_name = Getattr(n, "sym:casePreservingName"); + String *overloaded_name = Getattr(n, "sym:name"); String *intermediary_function_name = Swig_name_member(proxy_class_name, overloaded_name); - Setattr(n, "proxyfuncname", Getattr(n, "sym:casePreservingName")); + Setattr(n, "proxyfuncname", Getattr(n, "sym:name")); proxyClassFunctionHandler(n); Delete(overloaded_name); } @@ -1875,7 +1875,7 @@ public: if (wrapping_member_flag && !enum_constant_flag) { // Properties - setter_flag = (Cmp(Getattr(n, "sym:casePreservingName"), Swig_name_set(Swig_name_member(proxy_class_name, variable_name))) == 0); + setter_flag = (Cmp(Getattr(n, "sym:name"), Swig_name_set(Swig_name_member(proxy_class_name, variable_name))) == 0); if (setter_flag) { Printf(function_code, " [ propput ]\n"); diff --git a/Source/Modules/lang.cxx b/Source/Modules/lang.cxx index 6a42111f4..38658ce9c 100644 --- a/Source/Modules/lang.cxx +++ b/Source/Modules/lang.cxx @@ -1379,22 +1379,15 @@ int Language::globalvariableHandler(Node *n) { int Language::membervariableHandler(Node *n) { - Swig_require("membervariableHandler", n, "*name", "*sym:name", "*type", "?sym:casePreservingName", NIL); + Swig_require("membervariableHandler", n, "*name", "*sym:name", "*type", NIL); Swig_save("membervariableHandler", n, "parms", NIL); String *name = Getattr(n, "name"); String *symname = Getattr(n, "sym:name"); SwigType *type = Getattr(n, "type"); - String *case_preserving_name = 0; - int case_insensitive_target = Swig_symbol_get_case_insensitive_target(); - - if (case_insensitive_target) - case_preserving_name = Getattr(n, "sym:casePreservingName"); if (!AttributeFunctionGet) { - String *mname = case_insensitive_target ? - Swig_name_member(ClassPrefix, case_preserving_name) : - Swig_name_member(ClassPrefix, symname); + String *mname = Swig_name_member(ClassPrefix, symname); String *mrename_get = Swig_name_get(mname); String *mrename_set = Swig_name_set(mname); Delete(mname); @@ -1463,14 +1456,7 @@ int Language::membervariableHandler(Node *n) { Delete(target); if (make_set_wrapper) { - if (!case_insensitive_target) { - Setattr(n, "sym:name", mrename_set); - } else { - String *mrename_set_lower = Swig_string_lower(mrename_set); - Setattr(n, "sym:name", mrename_set_lower); - Setattr(n, "sym:casePreservingName", mrename_set); - Delete(mrename_set_lower); - } + Setattr(n, "sym:name", mrename_set); functionWrapper(n); } else { SetFlag(n, "feature:immutable"); @@ -1479,8 +1465,6 @@ int Language::membervariableHandler(Node *n) { Setattr(n, "type", type); Setattr(n, "name", name); Setattr(n, "sym:name", symname); - if (case_insensitive_target) - Setattr(n, "sym:casePreservingName", case_preserving_name); /* Delete all attached typemaps and typemap attributes */ Iterator ki; @@ -1495,14 +1479,7 @@ int Language::membervariableHandler(Node *n) { if (is_non_virtual_protected_access(n)) flags = flags | CWRAP_ALL_PROTECTED_ACCESS; Swig_MembergetToFunction(n, ClassType, flags); - if (!case_insensitive_target) { - Setattr(n, "sym:name", mrename_get); - } else { - String *mrename_get_lower = Swig_string_lower(mrename_get); - Setattr(n, "sym:name", mrename_get_lower); - Setattr(n, "sym:casePreservingName", mrename_get); - Delete(mrename_get_lower); - } + Setattr(n, "sym:name", mrename_get); Setattr(n, "memberget", "1"); functionWrapper(n); } @@ -2348,8 +2325,7 @@ int Language::classDeclaration(Node *n) { String *symname = Getattr(n, "sym:name"); char *classname = tdname ? Char(tdname) : Char(name); - char *iname = Swig_symbol_get_case_insensitive_target() ? - Char(Getattr(n, "sym:casePreservingName")) : Char(symname); + char *iname = Char(symname); int strip = (tdname || CPlusPlus) ? 1 : 0; @@ -2860,15 +2836,10 @@ int Language::constantWrapper(Node *n) { * ---------------------------------------------------------------------- */ int Language::variableWrapper(Node *n) { - Swig_require("variableWrapper", n, "*name", "*sym:name", "*type", "?parms", "?sym:casePreservingName", NIL); + Swig_require("variableWrapper", n, "*name", "*sym:name", "*type", "?parms", NIL); String *symname = Getattr(n, "sym:name"); SwigType *type = Getattr(n, "type"); String *name = Getattr(n, "name"); - String *case_preserving_name = 0; - int case_insensitive_target = Swig_symbol_get_case_insensitive_target(); - - if (case_insensitive_target) - case_preserving_name = Getattr(n, "sym:casePreservingName"); /* If no way to set variables. We simply create functions */ int assignable = is_assignable(n); @@ -2881,18 +2852,9 @@ int Language::variableWrapper(Node *n) { String *tm = Swig_typemap_lookup("globalin", n, name, 0); Swig_VarsetToFunction(n, flags); - if (!case_insensitive_target) { - String *sname = Swig_name_set(symname); - Setattr(n, "sym:name", sname); - Delete(sname); - } else { - String *sname = Swig_name_set(case_preserving_name); - String *sname_lower = Swig_string_lower(sname); - Setattr(n, "sym:name", sname_lower); - Setattr(n, "sym:casePreservingName", sname); - Delete(sname_lower); - Delete(sname); - } + String *sname = Swig_name_set(symname); + Setattr(n, "sym:name", sname); + Delete(sname); if (!tm) { if (SwigType_isarray(type)) { @@ -2913,8 +2875,6 @@ int Language::variableWrapper(Node *n) { } /* Restore parameters */ Setattr(n, "sym:name", symname); - if (case_insensitive_target) - Setattr(n, "sym:casePreservingName", case_preserving_name); Setattr(n, "type", type); Setattr(n, "name", name); @@ -2927,18 +2887,9 @@ int Language::variableWrapper(Node *n) { } Swig_VargetToFunction(n, flags); - if (!case_insensitive_target) { - String *gname = Swig_name_get(symname); - Setattr(n, "sym:name", gname); - Delete(gname); - } else { - String *gname = Swig_name_get(case_preserving_name); - String *gname_lower = Swig_string_lower(gname); - Setattr(n, "sym:name", gname_lower); - Setattr(n, "sym:casePreservingName", gname); - Delete(gname_lower); - Delete(gname); - } + String *gname = Swig_name_get(symname); + Setattr(n, "sym:name", gname); + Delete(gname); functionWrapper(n); Swig_restore(n); return SWIG_OK; diff --git a/Source/Swig/symbol.c b/Source/Swig/symbol.c index c864956a7..7854a1b9e 100644 --- a/Source/Swig/symbol.c +++ b/Source/Swig/symbol.c @@ -604,7 +604,6 @@ Node *Swig_symbol_add(const_String_or_char_ptr symname, Node *n) { int pn = 0; int u1 = 0, u2 = 0; String *name, *overname; - String *case_preserving_name; /* See if the node has a name. If so, we place in the C symbol table for this scope. We don't worry about overloading here---the primary purpose of this @@ -644,12 +643,6 @@ Node *Swig_symbol_add(const_String_or_char_ptr symname, Node *n) { if (GetFlag(n, "feature:ignore")) return n; - /* If the target language is case insensitive, use a lower case string */ - if (case_insensitive_target) { - case_preserving_name = NewString(symname); - symname = Swig_string_lower(case_preserving_name); - } - /* See if the symbol already exists in the table */ c = Getattr(current, symname); @@ -688,8 +681,6 @@ Node *Swig_symbol_add(const_String_or_char_ptr symname, Node *n) { Setattr(pcl, "sym:nextSibling", n); Setattr(n, "sym:symtab", current_symtab); Setattr(n, "sym:name", symname); - if (case_insensitive_target) - Setattr(n, "sym:casePreservingName", case_preserving_name); Setattr(n, "sym:previousSibling", pcl); return n; } @@ -725,8 +716,6 @@ Node *Swig_symbol_add(const_String_or_char_ptr symname, Node *n) { Setattr(current, symname, td); Setattr(td, "sym:symtab", current_symtab); Setattr(td, "sym:name", symname); - if (case_insensitive_target) - Setattr(td, "sym:casePreservingName", case_preserving_name); } return n; } @@ -801,8 +790,6 @@ Node *Swig_symbol_add(const_String_or_char_ptr symname, Node *n) { /* Well, we made it this far. Guess we can drop the symbol in place */ Setattr(n, "sym:symtab", current_symtab); Setattr(n, "sym:name", symname); - if (case_insensitive_target) - Setattr(n, "sym:casePreservingName", case_preserving_name); /* Printf(stdout,"%s %x\n", Getattr(n,"sym:overname"), current_symtab); */ assert(!Getattr(n, "sym:overname")); overname = NewStringf("__SWIG_%d", pn); @@ -819,18 +806,12 @@ Node *Swig_symbol_add(const_String_or_char_ptr symname, Node *n) { /* No conflict. Just add it */ Setattr(n, "sym:symtab", current_symtab); Setattr(n, "sym:name", symname); - if (case_insensitive_target) - Setattr(n, "sym:casePreservingName", case_preserving_name); /* Printf(stdout,"%s\n", Getattr(n,"sym:overname")); */ overname = NewStringf("__SWIG_%d", pn); Setattr(n, "sym:overname", overname); Delete(overname); /* Printf(stdout,"%s %s %s\n", symname, Getattr(n,"decl"), Getattr(n,"sym:overname")); */ Setattr(current, symname, n); - if (case_insensitive_target) { - Delete(symname); - Delete(case_preserving_name); - } return n; } |