summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Jezabek <jezabek@poczta.onet.pl>2009-09-04 21:43:38 +0000
committerJan Jezabek <jezabek@poczta.onet.pl>2009-09-04 21:43:38 +0000
commit1eb5446e13f752c53cab60379f7587cb1fd8cc65 (patch)
tree9d09b0939d1cd2d82eef8c8a9b3e802349260ea4
parentdbcffbb6d8be5a1080b0336bf0d2e62e8854af27 (diff)
downloadswig-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.y22
-rw-r--r--Source/Modules/com.cxx34
-rw-r--r--Source/Modules/lang.cxx73
-rw-r--r--Source/Swig/symbol.c19
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;
}