From 6ec42cda5901d70cac510fc5ef3ed03bf5ea0a3e Mon Sep 17 00:00:00 2001 From: Dave Beazley Date: Wed, 19 Mar 2003 00:28:47 +0000 Subject: [PATCH] Minor tweak to earlier const-smart-pointer fix. git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4571 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Source/Modules/lang.cxx | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Source/Modules/lang.cxx b/Source/Modules/lang.cxx index 62384d8da..42c029061 100644 --- a/Source/Modules/lang.cxx +++ b/Source/Modules/lang.cxx @@ -1032,7 +1032,15 @@ Language::variableHandler(Node *n) { staticmembervariableHandler(n); } } else { + Swig_save("variableHandler",n,"feature:immutable",NIL); + /* If a smart-pointer and it's a constant access, we have to set immutable */ + if (SmartPointer) { + if (Getattr(CurrentClass,"allocate:smartpointerconst")) { + Setattr(n,"feature:immutable","1"); + } + } membervariableHandler(n); + Swig_restore(n); } } return SWIG_OK; @@ -1058,7 +1066,7 @@ int Language::membervariableHandler(Node *n) { Swig_require("membervariableHandler",n,"*name","*sym:name","*type",NIL); - Swig_save("membervariableHandler",n,"parms","feature:immutable",NIL); + Swig_save("membervariableHandler",n,"parms",NIL); String *name = Getattr(n,"name"); String *symname = Getattr(n,"sym:name"); @@ -1073,13 +1081,6 @@ Language::membervariableHandler(Node *n) { Delattr(n,"feature:except"); } - /* If a smart-pointer and it's a constant access, we have to set immutable */ - if (SmartPointer) { - if (Getattr(CurrentClass,"allocate:smartpointerconst")) { - Setattr(n,"feature:immutable","1"); - } - } - if (!AttributeFunctionGet) { String *mrename_get, *mrename_set;