fix missed check for director_prot_ctor_code

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6487 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2004-10-22 23:34:10 +00:00
commit 1ecf1e4726

View file

@ -1672,7 +1672,8 @@ int Language::classDirectorConstructors(Node *n) {
for (ni = Getattr(n, "firstChild"); ni; ni = nextSibling(ni)) {
nodeType = Getattr(ni, "nodeType");
if (!Cmp(nodeType, "constructor")) {
if (is_public(ni) || (dirprot_mode() && is_protected(ni))) {
int need_prot = director_prot_ctor_code && dirprot_mode() && is_protected(ni);
if (is_public(ni) || need_prot) {
classDirectorConstructor(ni);
constructor = 1;
}
@ -1967,7 +1968,6 @@ int Language::classHandler(Node *n) {
Iterator k;
int old_mode = cplus_mode;
cplus_mode = CPLUS_PROTECTED;
for (k = First(vtable); k.key; k = Next(k)) {
item = k.item;
Node *method = Getattr(item, "methodNode");
@ -2089,13 +2089,8 @@ Language::constructorHandler(Node *n) {
String *symname = Getattr(n,"sym:name");
String *mrename = Swig_name_construct(symname);
String *director_ctor = director_ctor_code;
if (!is_public(n)) {
if (director_prot_ctor_code && is_protected(n)) {
director_ctor = director_prot_ctor_code;
}
}
if (Getattr(Swig_methodclass(n),"abstract")) {
if (director_prot_ctor_code) {
if (director_prot_ctor_code) {
if (is_protected(n) || Getattr(Swig_methodclass(n),"abstract")) {
director_ctor = director_prot_ctor_code;
}
}
@ -2610,7 +2605,6 @@ int Language::abstractClassTest(Node *n) {
return dirabstract;
}
void Language::setSubclassInstanceCheck(String *nc) {
none_comparison = nc;
}