scott's fix for director + def. const.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6519 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2004-10-26 18:13:48 +00:00
commit 4f8b04f0bf

View file

@ -1698,16 +1698,23 @@ int Language::classDirectorConstructors(Node *n) {
} }
classDirectorDefaultConstructor(n); classDirectorDefaultConstructor(n);
default_ctor = 1; default_ctor = 1;
} else { }
/* this is just to support old java behavior, ie, the default /* this is just to support old java behavior, ie, the default
constructor is always emitted, even when protected, and not constructor is always emitted, even when protected, and not
needed, since there is a public constructor already defined. */ needed, since there is a public constructor already defined.
if (!default_ctor && !protected_ctor) {
if (Getattr(parent,"allocate:default_base_constructor")) { (scottm) This code is needed here to make the director_abstract +
classDirectorDefaultConstructor(n); test generate compileable code (Example2 in director_abastract.i).
}
(mmatus) This is very strange, since swig compiled with gcc3.2.3
doesn't need it here....
*/
if (!default_ctor && !protected_ctor) {
if (Getattr(parent,"allocate:default_base_constructor")) {
classDirectorDefaultConstructor(n);
} }
} }
return SWIG_OK; return SWIG_OK;
} }