Merge branch 'master' of github.com:swig/swig
This commit is contained in:
commit
afc2b884a4
81 changed files with 243 additions and 318 deletions
11
.project
11
.project
|
|
@ -1,11 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<projectDescription>
|
|
||||||
<name>SWIG</name>
|
|
||||||
<comment></comment>
|
|
||||||
<projects>
|
|
||||||
</projects>
|
|
||||||
<buildSpec>
|
|
||||||
</buildSpec>
|
|
||||||
<natures>
|
|
||||||
</natures>
|
|
||||||
</projectDescription>
|
|
||||||
|
|
@ -5,6 +5,10 @@ See the RELEASENOTES file for a summary of changes in each release.
|
||||||
Version 2.0.10 (in progress)
|
Version 2.0.10 (in progress)
|
||||||
============================
|
============================
|
||||||
|
|
||||||
|
2013-01-11: Brant Kyser
|
||||||
|
[Java, C#, D] SF Bug #1299 - Fix generated names for when %nspace is used on
|
||||||
|
classes with the same name in two different namespaces.
|
||||||
|
|
||||||
2013-01-11: Vladimir Kalinin
|
2013-01-11: Vladimir Kalinin
|
||||||
[C#] Add support for csdirectorin 'pre', 'post' and 'terminator' attributes.
|
[C#] Add support for csdirectorin 'pre', 'post' and 'terminator' attributes.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
<li><a name="i8" href="#8">8. Naming Conventions</a>
|
<li><a name="i8" href="#8">8. Naming Conventions</a>
|
||||||
<li><a name="i9" href="#9">9. Visibility</a>
|
<li><a name="i9" href="#9">9. Visibility</a>
|
||||||
<li><a name="i10" href="#10">10. Miscellaneous Coding Guidelines</a>
|
<li><a name="i10" href="#10">10. Miscellaneous Coding Guidelines</a>
|
||||||
<li><a name="i11" href="#11">11. SVN Tagging Conventions</a>
|
<li><a name="i11" href="#11">11. Git Tagging Conventions</a>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<a name="1" href="#i1">
|
<a name="1" href="#i1">
|
||||||
|
|
@ -119,8 +119,8 @@ are case-insensitive on Windows so this convention will prevent you from inadver
|
||||||
creating two files that differ in case-only.
|
creating two files that differ in case-only.
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Each file should include a short abstract, license information and
|
Each file should include a short abstract and license information
|
||||||
a SVN revision tag like this:
|
like this:
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<pre>
|
<pre>
|
||||||
|
|
@ -137,8 +137,6 @@ a SVN revision tag like this:
|
||||||
* This file defines ...
|
* This file defines ...
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
static char cvs[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
|
|
||||||
/* Declarations */
|
/* Declarations */
|
||||||
|
|
@ -159,12 +157,6 @@ static int avariable;
|
||||||
</pre>
|
</pre>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
|
|
||||||
The SVN revision tag should be placed into a static string as shown
|
|
||||||
above mangled with the name of the file.
|
|
||||||
This adds the revision information to the SWIG executable and
|
|
||||||
makes it possible to extract version information from a raw binary
|
|
||||||
(sometimes useful in debugging).
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
As a general rule, files start to get unmanageable once they exceed
|
As a general rule, files start to get unmanageable once they exceed
|
||||||
about 2000 lines. Files larger than this should be broken up into
|
about 2000 lines. Files larger than this should be broken up into
|
||||||
|
|
@ -379,10 +371,10 @@ making your changes.
|
||||||
These are largely covered in the main documentation in the Extending.html file.
|
These are largely covered in the main documentation in the Extending.html file.
|
||||||
|
|
||||||
<a name="11" href="#i11">
|
<a name="11" href="#i11">
|
||||||
<h2>11. SVN Tagging Conventions</h2>
|
<h2>11. Git Tagging Conventions</h2>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
Use <tt>svn tag</tt> to declare some set of file revisions as related in some
|
Use <tt>git tag</tt> to declare some set of file revisions as related in some
|
||||||
symbolic way. This eases reference, retrieval and manipulation of these files
|
symbolic way. This eases reference, retrieval and manipulation of these files
|
||||||
later. At the moment (2001/01/16 14:02:53), the conventions are very simple;
|
later. At the moment (2001/01/16 14:02:53), the conventions are very simple;
|
||||||
let's hope they stay that way!
|
let's hope they stay that way!
|
||||||
|
|
@ -390,10 +382,10 @@ let's hope they stay that way!
|
||||||
<p>
|
<p>
|
||||||
There are two types of tags, internal (aka personal) and external.
|
There are two types of tags, internal (aka personal) and external.
|
||||||
Internal tags are used by SWIG developers primarily, whereas external
|
Internal tags are used by SWIG developers primarily, whereas external
|
||||||
tags are used when communicating with people w/ anonymous svn access.
|
tags are used when communicating with people w/ anonymous git access.
|
||||||
<ul>
|
<ul>
|
||||||
<li> Internal tags should start with the developer name and a hyphen.
|
<li> Internal tags should start with the developer name and a hyphen.
|
||||||
<li> External tags should start with "v-".
|
<li> External tags should start with "rel-".
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
That's all there is to it. Some example tags:
|
That's all there is to it. Some example tags:
|
||||||
|
|
@ -402,10 +394,8 @@ That's all there is to it. Some example tags:
|
||||||
<li> ttn-pre-xml-patch
|
<li> ttn-pre-xml-patch
|
||||||
<li> ttn-post-xml-patch
|
<li> ttn-post-xml-patch
|
||||||
<li> ttn-going-on-vacation-so-dutifully-tagging-now
|
<li> ttn-going-on-vacation-so-dutifully-tagging-now
|
||||||
<li> v-1-3-a37-fixes-bug-2432
|
<li> rel-1.3.40
|
||||||
<li> v-1-3-a37-fixes-bug-2433
|
<li> rel-2.0.9
|
||||||
<li> v-1-3-a37-fixes-bug-2432-again
|
|
||||||
<li> v-1-3-a37-release
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,7 @@ SWIG along with information about beta releases and future work.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Subversion access to the latest version of SWIG is also available. More information
|
Git and Subversion access to the latest version of SWIG is also available. More information
|
||||||
about this can be obtained at:
|
about this can be obtained at:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -178,6 +178,7 @@ CPP_TEST_CASES += \
|
||||||
director_keywords \
|
director_keywords \
|
||||||
director_namespace_clash \
|
director_namespace_clash \
|
||||||
director_nspace \
|
director_nspace \
|
||||||
|
director_nspace_director_name_collision \
|
||||||
director_nested \
|
director_nested \
|
||||||
director_overload \
|
director_overload \
|
||||||
director_overload2 \
|
director_overload2 \
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,66 @@
|
||||||
|
%module(directors="1") director_nspace_director_name_collision
|
||||||
|
|
||||||
|
#ifdef SWIGJAVA
|
||||||
|
SWIG_JAVABODY_PROXY(public, public, SWIGTYPE)
|
||||||
|
SWIG_JAVABODY_TYPEWRAPPER(public, public, public, SWIGTYPE)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
%{
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
namespace TopLevel
|
||||||
|
{
|
||||||
|
namespace A
|
||||||
|
{
|
||||||
|
class Foo {
|
||||||
|
public:
|
||||||
|
virtual ~Foo() {}
|
||||||
|
virtual std::string ping() { return "TopLevel::A::Foo::ping()"; }
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace B
|
||||||
|
{
|
||||||
|
class Foo {
|
||||||
|
public:
|
||||||
|
virtual ~Foo() {}
|
||||||
|
virtual std::string ping() { return "TopLevel::B:Foo::ping()"; }
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
%}
|
||||||
|
|
||||||
|
%include <std_string.i>
|
||||||
|
|
||||||
|
// nspace feature only supported by these languages
|
||||||
|
#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGD)
|
||||||
|
%nspace TopLevel::A::Foo;
|
||||||
|
%nspace TopLevel::B::Foo;
|
||||||
|
#else
|
||||||
|
#warning nspace feature not yet supported in this target language
|
||||||
|
#endif
|
||||||
|
|
||||||
|
%feature("director") TopLevel::A::Foo;
|
||||||
|
%feature("director") TopLevel::B::Foo;
|
||||||
|
|
||||||
|
namespace TopLevel
|
||||||
|
{
|
||||||
|
namespace A
|
||||||
|
{
|
||||||
|
class Foo {
|
||||||
|
public:
|
||||||
|
virtual ~Foo();
|
||||||
|
virtual std::string ping();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace B
|
||||||
|
{
|
||||||
|
class Foo {
|
||||||
|
public:
|
||||||
|
virtual ~Foo();
|
||||||
|
virtual std::string ping();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -46,6 +46,7 @@ SWIGOPT += -package $(JAVA_PACKAGE)
|
||||||
nspace.%: JAVA_PACKAGE = $*Package
|
nspace.%: JAVA_PACKAGE = $*Package
|
||||||
nspace_extend.%: JAVA_PACKAGE = $*Package
|
nspace_extend.%: JAVA_PACKAGE = $*Package
|
||||||
director_nspace.%: JAVA_PACKAGE = $*Package
|
director_nspace.%: JAVA_PACKAGE = $*Package
|
||||||
|
director_nspace_director_name_collision.%: JAVA_PACKAGE = $*Package
|
||||||
|
|
||||||
# Rules for the different types of tests
|
# Rules for the different types of tests
|
||||||
%.cpptest:
|
%.cpptest:
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,8 @@
|
||||||
* However, this file may be removed in future release of SWIG, so using this file to
|
* However, this file may be removed in future release of SWIG, so using this file to
|
||||||
* keep these inappropriate names in your SWIG interface file is also not recommended.
|
* keep these inappropriate names in your SWIG interface file is also not recommended.
|
||||||
* Instead, we provide a simple tool for converting your interface files to
|
* Instead, we provide a simple tool for converting your interface files to
|
||||||
* the new naming convention. You can download the tool here:
|
* the new naming convention. You can get the tool from the SWIG distribution:
|
||||||
* https://swig.svn.sourceforge.net/svnroot/swig/trunk/Tools/pyname_patch.py
|
* Tools/pyname_patch.py
|
||||||
*/
|
*/
|
||||||
|
|
||||||
%fragment("PySequence_Base", "header", fragment="SwigPySequence_Base") {}
|
%fragment("PySequence_Base", "header", fragment="SwigPySequence_Base") {}
|
||||||
|
|
|
||||||
|
|
@ -494,7 +494,7 @@ dist:
|
||||||
|
|
||||||
srcrpm:
|
srcrpm:
|
||||||
rm -fr $(srpm) $(srpm).src.rpm
|
rm -fr $(srpm) $(srpm).src.rpm
|
||||||
echo "TODO: update to use svn instead of cvs"
|
echo "TODO: update to use git instead of cvs"
|
||||||
cvs export -d $(srpm) -r HEAD SWIG
|
cvs export -d $(srpm) -r HEAD SWIG
|
||||||
cp swig.spec $(srpm)
|
cp swig.spec $(srpm)
|
||||||
tar -cf - $(srpm) | gzip --best > $(srpm).tar.gz
|
tar -cf - $(srpm) | gzip --best > $(srpm).tar.gz
|
||||||
|
|
@ -503,7 +503,7 @@ srcrpm:
|
||||||
|
|
||||||
# Update the autoconf files for detecting host/targets. Automake will do this in
|
# Update the autoconf files for detecting host/targets. Automake will do this in
|
||||||
# version 1.10 for our case of not having a top level Makefile.am. Until then we
|
# version 1.10 for our case of not having a top level Makefile.am. Until then we
|
||||||
# can fetch them manually and will have to commit them to SVN.
|
# can fetch them manually and will have to commit them to Git.
|
||||||
configfiles:
|
configfiles:
|
||||||
wget ftp://ftp.gnu.org/pub/gnu/config/config.guess -O Tools/config/config.guess
|
wget ftp://ftp.gnu.org/pub/gnu/config/config.guess -O Tools/config/config.guess
|
||||||
chmod a+x Tools/config/config.guess
|
chmod a+x Tools/config/config.guess
|
||||||
|
|
|
||||||
48
README
48
README
|
|
@ -3,9 +3,11 @@ SWIG (Simplified Wrapper and Interface Generator)
|
||||||
Version: 2.0.10 (in progress)
|
Version: 2.0.10 (in progress)
|
||||||
|
|
||||||
Tagline: SWIG is a compiler that integrates C and C++ with languages
|
Tagline: SWIG is a compiler that integrates C and C++ with languages
|
||||||
including Perl, Python, Tcl, Ruby, PHP, Java, Ocaml, Lua,
|
including Perl, Python, Tcl, Ruby, PHP, Java, C#, D, Go, Lua,
|
||||||
Scheme (Guile, MzScheme, CHICKEN), Pike, C#, Modula-3,
|
Octave, R, Scheme (Guile, MzScheme/Racket, CHICKEN), Ocaml,
|
||||||
Common Lisp (CLISP, Allegro CL, CFFI, UFFI), Octave and R.
|
Modula-3, Common Lisp (CLISP, Allegro CL, CFFI, UFFI) and Pike.
|
||||||
|
SWIG can also export its parse tree into Lisp s-expressions and
|
||||||
|
XML.
|
||||||
|
|
||||||
SWIG reads annotated C/C++ header files and creates wrapper code (glue
|
SWIG reads annotated C/C++ header files and creates wrapper code (glue
|
||||||
code) in order to make the corresponding C/C++ libraries available to
|
code) in order to make the corresponding C/C++ libraries available to
|
||||||
|
|
@ -31,6 +33,22 @@ new features for the current release. The CHANGES file contains bug fixes
|
||||||
and new features for older versions. A summary of changes in each release
|
and new features for older versions. A summary of changes in each release
|
||||||
can be found in the RELEASENOTES file.
|
can be found in the RELEASENOTES file.
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
=============
|
||||||
|
The Doc/Manual directory contains the most recent set of updated
|
||||||
|
documentation for this release. The documentation is available in
|
||||||
|
three different formats, each of which contains identical content.
|
||||||
|
These format are, pdf (Doc/Manual/SWIGDocumentation.pdf), single
|
||||||
|
page html (Doc/Manual/SWIGDocumentation.html) or multiple page html
|
||||||
|
(other files in Doc/Manual). Please select your chosen format and
|
||||||
|
copy/install to wherever takes your fancy.
|
||||||
|
|
||||||
|
There is some technical developer documentation available in the
|
||||||
|
Doc/Devel subdirectory. This is not necessarily up-to-date, but it
|
||||||
|
has some information on SWIG internals.
|
||||||
|
|
||||||
|
Documentation is also online at http://www.swig.org/doc.html.
|
||||||
|
|
||||||
Backwards Compatibility
|
Backwards Compatibility
|
||||||
=======================
|
=======================
|
||||||
The developers strive their best to preserve backwards compatibility
|
The developers strive their best to preserve backwards compatibility
|
||||||
|
|
@ -97,9 +115,6 @@ minimal effect. All they do is reduce the amount of testing done with
|
||||||
'make check'. The SWIG executable and library files installed cannot currently
|
'make check'. The SWIG executable and library files installed cannot currently
|
||||||
be configured with a subset of target languages.
|
be configured with a subset of target languages.
|
||||||
|
|
||||||
Please see the Documentation section below on installing documentation as
|
|
||||||
none is installed by default.
|
|
||||||
|
|
||||||
SWIG used to include a set of runtime libraries for some languages for working
|
SWIG used to include a set of runtime libraries for some languages for working
|
||||||
with multiple modules. These are no longer built during the installation stage.
|
with multiple modules. These are no longer built during the installation stage.
|
||||||
However, users can build them just like any wrapper module as described in
|
However, users can build them just like any wrapper module as described in
|
||||||
|
|
@ -108,7 +123,7 @@ examples which build the runtime library.
|
||||||
|
|
||||||
Notes:
|
Notes:
|
||||||
|
|
||||||
(1) If you checked the code out via SVN, you will have to run ./autogen.sh
|
(1) If you checked the code out via Git, you will have to run ./autogen.sh
|
||||||
before typing 'configure'. In addition, a full build of SWIG requires
|
before typing 'configure'. In addition, a full build of SWIG requires
|
||||||
the a number of packages to be installed. Full instructions at
|
the a number of packages to be installed. Full instructions at
|
||||||
http://www.swig.org/svn.html
|
http://www.swig.org/svn.html
|
||||||
|
|
@ -175,8 +190,9 @@ The Examples directory contains a variety of examples of using SWIG
|
||||||
and it has some browsable documentation. Simply point your browser to
|
and it has some browsable documentation. Simply point your browser to
|
||||||
the file "Example/index.html".
|
the file "Example/index.html".
|
||||||
|
|
||||||
The Examples directory also includes Visual C++ project (.dsp) files for
|
The Examples directory also includes Visual C++ project 6 (.dsp) files for
|
||||||
building some of the examples on Windows.
|
building some of the examples on Windows. Later versions of Visual Studio
|
||||||
|
will convert these old style project files into a current solution file.
|
||||||
|
|
||||||
Known Issues
|
Known Issues
|
||||||
============
|
============
|
||||||
|
|
@ -215,20 +231,6 @@ installed. To fix this:
|
||||||
If you are having other troubles, you might look at the SWIG Wiki at
|
If you are having other troubles, you might look at the SWIG Wiki at
|
||||||
http://www.dabeaz.com/cgi-bin/wiki.pl.
|
http://www.dabeaz.com/cgi-bin/wiki.pl.
|
||||||
|
|
||||||
Documentation
|
|
||||||
=============
|
|
||||||
The Doc/Manual directory contains the most recent set of updated
|
|
||||||
documentation for this release. The documentation is available in
|
|
||||||
three different formats, each of which contains identical content.
|
|
||||||
These format are, pdf (Doc/Manual/SWIGDocumentation.pdf), single
|
|
||||||
page html (Doc/Manual/SWIGDocumentation.html) or multiple page html
|
|
||||||
(other files in Doc/Manual). Please select your chosen format and
|
|
||||||
copy/install to wherever takes your fancy.
|
|
||||||
|
|
||||||
There is some technical developer documentation available in the
|
|
||||||
Doc/Devel subdirectory. This is not necessarily up-to-date, but it
|
|
||||||
has some information on SWIG internals.
|
|
||||||
|
|
||||||
Participate!
|
Participate!
|
||||||
============
|
============
|
||||||
Please report any errors and submit patches (if possible)! We only
|
Please report any errors and submit patches (if possible)! We only
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,6 @@
|
||||||
* C identifiers up into keywords and SWIG directives.
|
* C identifiers up into keywords and SWIG directives.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_cscanner_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
#include "parser.h"
|
#include "parser.h"
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,6 @@
|
||||||
|
|
||||||
#define yylex yylex
|
#define yylex yylex
|
||||||
|
|
||||||
char cvsroot_parser_y[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
#include "preprocessor.h"
|
#include "preprocessor.h"
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Expands a template into a specialized version.
|
* Expands a template into a specialized version.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_templ_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Parsing utilities.
|
* Parsing utilities.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_util_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,6 @@
|
||||||
* DOH objects. A number of small utility functions are also included.
|
* DOH objects. A number of small utility functions are also included.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_base_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "dohint.h"
|
#include "dohint.h"
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,6 @@
|
||||||
* ordinary FILE * or integer file descriptor.
|
* ordinary FILE * or integer file descriptor.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_file_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "dohint.h"
|
#include "dohint.h"
|
||||||
|
|
||||||
#ifdef DOH_INTFILE
|
#ifdef DOH_INTFILE
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,6 @@
|
||||||
* formatted output, readline, and splitting.
|
* formatted output, readline, and splitting.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_fio_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "dohint.h"
|
#include "dohint.h"
|
||||||
|
|
||||||
#define OBUFLEN 512
|
#define OBUFLEN 512
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Implements a simple hash table object.
|
* Implements a simple hash table object.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_hash_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "dohint.h"
|
#include "dohint.h"
|
||||||
|
|
||||||
extern DohObjInfo DohHashType;
|
extern DohObjInfo DohHashType;
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Implements a simple list object.
|
* Implements a simple list object.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_list_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "dohint.h"
|
#include "dohint.h"
|
||||||
|
|
||||||
typedef struct List {
|
typedef struct List {
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,6 @@
|
||||||
* of objects and checking of objects.
|
* of objects and checking of objects.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_memory_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "dohint.h"
|
#include "dohint.h"
|
||||||
|
|
||||||
#ifndef DOH_POOL_SIZE
|
#ifndef DOH_POOL_SIZE
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,6 @@
|
||||||
* file semantics.
|
* file semantics.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_string_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "dohint.h"
|
#include "dohint.h"
|
||||||
|
|
||||||
extern DohObjInfo DohStringType;
|
extern DohObjInfo DohStringType;
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,6 @@
|
||||||
* an arbitrary C object represented as a void *.
|
* an arbitrary C object represented as a void *.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_void_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "dohint.h"
|
#include "dohint.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* ALLEGROCL language module for SWIG.
|
* ALLEGROCL language module for SWIG.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_allegrocl_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,6 @@
|
||||||
* Doc/Manual/SWIGPlus.html for details.
|
* Doc/Manual/SWIGPlus.html for details.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_allocate_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,6 @@
|
||||||
* feature that's normally disabled.
|
* feature that's normally disabled.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_browser_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
|
||||||
#ifdef SWIG_SWILL
|
#ifdef SWIG_SWILL
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* cffi language module for SWIG.
|
* cffi language module for SWIG.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_cffi_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* CHICKEN language module for SWIG.
|
* CHICKEN language module for SWIG.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_chicken_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* clisp language module for SWIG.
|
* clisp language module for SWIG.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_clisp_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
|
||||||
static const char *usage = (char *) "\
|
static const char *usage = (char *) "\
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Support for Wrap by Contract in SWIG.
|
* Support for Wrap by Contract in SWIG.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_contract_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
|
||||||
/* Contract structure. This holds rules about the different kinds of contract sections
|
/* Contract structure. This holds rules about the different kinds of contract sections
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* C# language module for SWIG.
|
* C# language module for SWIG.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_csharp_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
#include <limits.h> // for INT_MAX
|
#include <limits.h> // for INT_MAX
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
|
|
@ -198,24 +196,6 @@ public:
|
||||||
return proxyname;
|
return proxyname;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
|
||||||
* directorClassName()
|
|
||||||
* ----------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
String *directorClassName(Node *n) {
|
|
||||||
String *dirclassname;
|
|
||||||
const char *attrib = "director:classname";
|
|
||||||
|
|
||||||
if (!(dirclassname = Getattr(n, attrib))) {
|
|
||||||
String *classname = Getattr(n, "sym:name");
|
|
||||||
|
|
||||||
dirclassname = NewStringf("SwigDirector_%s", classname);
|
|
||||||
Setattr(n, attrib, dirclassname);
|
|
||||||
}
|
|
||||||
|
|
||||||
return dirclassname;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ------------------------------------------------------------
|
/* ------------------------------------------------------------
|
||||||
* main()
|
* main()
|
||||||
* ------------------------------------------------------------ */
|
* ------------------------------------------------------------ */
|
||||||
|
|
@ -3407,6 +3387,7 @@ public:
|
||||||
String *sym_name = Getattr(n, "sym:name");
|
String *sym_name = Getattr(n, "sym:name");
|
||||||
String *qualified_classname = Copy(sym_name);
|
String *qualified_classname = Copy(sym_name);
|
||||||
String *nspace = getNSpace();
|
String *nspace = getNSpace();
|
||||||
|
String *dirClassName = directorClassName(n);
|
||||||
|
|
||||||
if (nspace)
|
if (nspace)
|
||||||
Insert(qualified_classname, 0, NewStringf("%s.", nspace));
|
Insert(qualified_classname, 0, NewStringf("%s.", nspace));
|
||||||
|
|
@ -3418,7 +3399,7 @@ public:
|
||||||
Printf(code_wrap->def, "SWIGEXPORT void SWIGSTDCALL %s(void *objarg", wname);
|
Printf(code_wrap->def, "SWIGEXPORT void SWIGSTDCALL %s(void *objarg", wname);
|
||||||
|
|
||||||
Printf(code_wrap->code, " %s *obj = (%s *)objarg;\n", norm_name, norm_name);
|
Printf(code_wrap->code, " %s *obj = (%s *)objarg;\n", norm_name, norm_name);
|
||||||
Printf(code_wrap->code, " SwigDirector_%s *director = dynamic_cast<SwigDirector_%s *>(obj);\n", sym_name, sym_name);
|
Printf(code_wrap->code, " %s *director = dynamic_cast<%s *>(obj);\n", dirClassName, dirClassName);
|
||||||
// TODO: if statement not needed?? - Java too
|
// TODO: if statement not needed?? - Java too
|
||||||
Printf(code_wrap->code, " if (director) {\n");
|
Printf(code_wrap->code, " if (director) {\n");
|
||||||
Printf(code_wrap->code, " director->swig_connect_director(");
|
Printf(code_wrap->code, " director->swig_connect_director(");
|
||||||
|
|
@ -3430,7 +3411,7 @@ public:
|
||||||
Printf(code_wrap->def, ", ");
|
Printf(code_wrap->def, ", ");
|
||||||
if (i != first_class_dmethod)
|
if (i != first_class_dmethod)
|
||||||
Printf(code_wrap->code, ", ");
|
Printf(code_wrap->code, ", ");
|
||||||
Printf(code_wrap->def, "SwigDirector_%s::SWIG_Callback%s_t callback%s", sym_name, methid, methid);
|
Printf(code_wrap->def, "%s::SWIG_Callback%s_t callback%s", dirClassName, methid, methid);
|
||||||
Printf(code_wrap->code, "callback%s", methid);
|
Printf(code_wrap->code, "callback%s", methid);
|
||||||
Printf(imclass_class_code, ", %s.SwigDelegate%s_%s delegate%s", qualified_classname, sym_name, methid, methid);
|
Printf(imclass_class_code, ", %s.SwigDelegate%s_%s delegate%s", qualified_classname, sym_name, methid, methid);
|
||||||
}
|
}
|
||||||
|
|
@ -3447,6 +3428,7 @@ public:
|
||||||
Delete(wname);
|
Delete(wname);
|
||||||
Delete(swig_director_connect);
|
Delete(swig_director_connect);
|
||||||
Delete(qualified_classname);
|
Delete(qualified_classname);
|
||||||
|
Delete(dirClassName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------
|
/* ---------------------------------------------------------------
|
||||||
|
|
@ -3958,7 +3940,7 @@ public:
|
||||||
Node *parent = parentNode(n);
|
Node *parent = parentNode(n);
|
||||||
String *decl = Getattr(n, "decl");
|
String *decl = Getattr(n, "decl");
|
||||||
String *supername = Swig_class_name(parent);
|
String *supername = Swig_class_name(parent);
|
||||||
String *classname = directorClassName(parent);
|
String *dirclassname = directorClassName(parent);
|
||||||
String *sub = NewString("");
|
String *sub = NewString("");
|
||||||
Parm *p;
|
Parm *p;
|
||||||
ParmList *superparms = Getattr(n, "parms");
|
ParmList *superparms = Getattr(n, "parms");
|
||||||
|
|
@ -3982,11 +3964,11 @@ public:
|
||||||
/* constructor */
|
/* constructor */
|
||||||
{
|
{
|
||||||
String *basetype = Getattr(parent, "classtype");
|
String *basetype = Getattr(parent, "classtype");
|
||||||
String *target = Swig_method_decl(0, decl, classname, parms, 0, 0);
|
String *target = Swig_method_decl(0, decl, dirclassname, parms, 0, 0);
|
||||||
String *call = Swig_csuperclass_call(0, basetype, superparms);
|
String *call = Swig_csuperclass_call(0, basetype, superparms);
|
||||||
String *classtype = SwigType_namestr(Getattr(n, "name"));
|
String *classtype = SwigType_namestr(Getattr(n, "name"));
|
||||||
|
|
||||||
Printf(f_directors, "%s::%s : %s, %s {\n", classname, target, call, Getattr(parent, "director:ctor"));
|
Printf(f_directors, "%s::%s : %s, %s {\n", dirclassname, target, call, Getattr(parent, "director:ctor"));
|
||||||
Printf(f_directors, " swig_init_callbacks();\n");
|
Printf(f_directors, " swig_init_callbacks();\n");
|
||||||
Printf(f_directors, "}\n\n");
|
Printf(f_directors, "}\n\n");
|
||||||
|
|
||||||
|
|
@ -3997,7 +3979,7 @@ public:
|
||||||
|
|
||||||
/* constructor header */
|
/* constructor header */
|
||||||
{
|
{
|
||||||
String *target = Swig_method_decl(0, decl, classname, parms, 0, 1);
|
String *target = Swig_method_decl(0, decl, dirclassname, parms, 0, 1);
|
||||||
Printf(f_directors_h, " %s;\n", target);
|
Printf(f_directors_h, " %s;\n", target);
|
||||||
Delete(target);
|
Delete(target);
|
||||||
}
|
}
|
||||||
|
|
@ -4006,6 +3988,7 @@ public:
|
||||||
Delete(sub);
|
Delete(sub);
|
||||||
Delete(supername);
|
Delete(supername);
|
||||||
Delete(parms);
|
Delete(parms);
|
||||||
|
Delete(dirclassname);
|
||||||
return Language::classDirectorConstructor(n);
|
return Language::classDirectorConstructor(n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -4014,18 +3997,18 @@ public:
|
||||||
* ------------------------------------------------------------ */
|
* ------------------------------------------------------------ */
|
||||||
|
|
||||||
int classDirectorDefaultConstructor(Node *n) {
|
int classDirectorDefaultConstructor(Node *n) {
|
||||||
String *classname = Swig_class_name(n);
|
String *dirclassname = directorClassName(n);
|
||||||
String *classtype = SwigType_namestr(Getattr(n, "name"));
|
String *classtype = SwigType_namestr(Getattr(n, "name"));
|
||||||
Wrapper *w = NewWrapper();
|
Wrapper *w = NewWrapper();
|
||||||
|
|
||||||
Printf(w->def, "SwigDirector_%s::SwigDirector_%s() : %s {", classname, classname, Getattr(n, "director:ctor"));
|
Printf(w->def, "%s::%s() : %s {", dirclassname, dirclassname, Getattr(n, "director:ctor"));
|
||||||
Printf(w->code, "}\n");
|
Printf(w->code, "}\n");
|
||||||
Wrapper_print(w, f_directors);
|
Wrapper_print(w, f_directors);
|
||||||
|
|
||||||
Printf(f_directors_h, " SwigDirector_%s();\n", classname);
|
Printf(f_directors_h, " %s();\n", dirclassname);
|
||||||
DelWrapper(w);
|
DelWrapper(w);
|
||||||
Delete(classtype);
|
Delete(classtype);
|
||||||
Delete(classname);
|
Delete(dirclassname);
|
||||||
return Language::classDirectorDefaultConstructor(n);
|
return Language::classDirectorDefaultConstructor(n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -4066,15 +4049,15 @@ public:
|
||||||
|
|
||||||
int classDirectorDestructor(Node *n) {
|
int classDirectorDestructor(Node *n) {
|
||||||
Node *current_class = getCurrentClass();
|
Node *current_class = getCurrentClass();
|
||||||
String *classname = Swig_class_name(current_class);
|
String *dirclassname = directorClassName(current_class);
|
||||||
Wrapper *w = NewWrapper();
|
Wrapper *w = NewWrapper();
|
||||||
|
|
||||||
if (Getattr(n, "throw")) {
|
if (Getattr(n, "throw")) {
|
||||||
Printf(f_directors_h, " virtual ~SwigDirector_%s() throw ();\n", classname);
|
Printf(f_directors_h, " virtual ~%s() throw ();\n", dirclassname);
|
||||||
Printf(w->def, "SwigDirector_%s::~SwigDirector_%s() throw () {\n", classname, classname);
|
Printf(w->def, "%s::~%s() throw () {\n", dirclassname, dirclassname);
|
||||||
} else {
|
} else {
|
||||||
Printf(f_directors_h, " virtual ~SwigDirector_%s();\n", classname);
|
Printf(f_directors_h, " virtual ~%s();\n", dirclassname);
|
||||||
Printf(w->def, "SwigDirector_%s::~SwigDirector_%s() {\n", classname, classname);
|
Printf(w->def, "%s::~%s() {\n", dirclassname, dirclassname);
|
||||||
}
|
}
|
||||||
|
|
||||||
Printv(w->code, "}\n", NIL);
|
Printv(w->code, "}\n", NIL);
|
||||||
|
|
@ -4082,7 +4065,7 @@ public:
|
||||||
Wrapper_print(w, f_directors);
|
Wrapper_print(w, f_directors);
|
||||||
|
|
||||||
DelWrapper(w);
|
DelWrapper(w);
|
||||||
Delete(classname);
|
Delete(dirclassname);
|
||||||
return SWIG_OK;
|
return SWIG_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -4172,8 +4155,7 @@ public:
|
||||||
String *base = Getattr(n, "classtype");
|
String *base = Getattr(n, "classtype");
|
||||||
String *class_ctor = NewString("Swig::Director()");
|
String *class_ctor = NewString("Swig::Director()");
|
||||||
|
|
||||||
String *classname = Swig_class_name(n);
|
String *directorname = directorClassName(n);
|
||||||
String *directorname = NewStringf("SwigDirector_%s", classname);
|
|
||||||
String *declaration = Swig_class_declaration(n, directorname);
|
String *declaration = Swig_class_declaration(n, directorname);
|
||||||
|
|
||||||
Printf(declaration, " : public %s, public Swig::Director", base);
|
Printf(declaration, " : public %s, public Swig::Director", base);
|
||||||
|
|
@ -4181,6 +4163,8 @@ public:
|
||||||
// Stash stuff for later.
|
// Stash stuff for later.
|
||||||
Setattr(n, "director:decl", declaration);
|
Setattr(n, "director:decl", declaration);
|
||||||
Setattr(n, "director:ctor", class_ctor);
|
Setattr(n, "director:ctor", class_ctor);
|
||||||
|
|
||||||
|
Delete(directorname);
|
||||||
}
|
}
|
||||||
|
|
||||||
}; /* class CSHARP */
|
}; /* class CSHARP */
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* D language module for SWIG.
|
* D language module for SWIG.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_d_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
@ -1897,7 +1895,7 @@ public:
|
||||||
// Write C++ director class declaration, for example:
|
// Write C++ director class declaration, for example:
|
||||||
// class SwigDirector_myclass : public myclass, public Swig::Director {
|
// class SwigDirector_myclass : public myclass, public Swig::Director {
|
||||||
String *classname = Swig_class_name(n);
|
String *classname = Swig_class_name(n);
|
||||||
String *directorname = NewStringf("SwigDirector_%s", classname);
|
String *directorname = directorClassName(n);
|
||||||
String *declaration = Swig_class_declaration(n, directorname);
|
String *declaration = Swig_class_declaration(n, directorname);
|
||||||
const String *base = Getattr(n, "classtype");
|
const String *base = Getattr(n, "classtype");
|
||||||
|
|
||||||
|
|
@ -1949,7 +1947,7 @@ public:
|
||||||
bool pure_virtual = (!(Cmp(storage, "virtual")) && !(Cmp(value, "0")));
|
bool pure_virtual = (!(Cmp(storage, "virtual")) && !(Cmp(value, "0")));
|
||||||
int status = SWIG_OK;
|
int status = SWIG_OK;
|
||||||
bool output_director = true;
|
bool output_director = true;
|
||||||
String *dirclassname = getDirectorClassName(parent);
|
String *dirclassname = directorClassName(parent);
|
||||||
String *qualified_name = NewStringf("%s::%s", dirclassname, name);
|
String *qualified_name = NewStringf("%s::%s", dirclassname, name);
|
||||||
SwigType *c_ret_type = NULL;
|
SwigType *c_ret_type = NULL;
|
||||||
String *dcallback_call_args = NewString("");
|
String *dcallback_call_args = NewString("");
|
||||||
|
|
@ -2373,10 +2371,12 @@ public:
|
||||||
Printf(director_callback_pointers, " SWIG_Callback%s_t swig_callback_%s;\n", methid, overloaded_name);
|
Printf(director_callback_pointers, " SWIG_Callback%s_t swig_callback_%s;\n", methid, overloaded_name);
|
||||||
|
|
||||||
// Write the type alias for the callback to the intermediary D module.
|
// Write the type alias for the callback to the intermediary D module.
|
||||||
String* proxy_callback_type = NewString("");
|
String *proxy_callback_type = NewString("");
|
||||||
Printf(proxy_callback_type, "SwigDirector_%s_Callback%s", classname, methid);
|
String *dirClassName = directorClassName(parent);
|
||||||
|
Printf(proxy_callback_type, "%s_Callback%s", dirClassName, methid);
|
||||||
Printf(im_dmodule_code, "alias extern(C) %s function(void*%s) %s;\n", proxy_callback_return_type, delegate_parms, proxy_callback_type);
|
Printf(im_dmodule_code, "alias extern(C) %s function(void*%s) %s;\n", proxy_callback_return_type, delegate_parms, proxy_callback_type);
|
||||||
Delete(proxy_callback_type);
|
Delete(proxy_callback_type);
|
||||||
|
Delete(dirClassName);
|
||||||
}
|
}
|
||||||
|
|
||||||
Delete(qualified_return);
|
Delete(qualified_return);
|
||||||
|
|
@ -2399,7 +2399,7 @@ public:
|
||||||
Node *parent = parentNode(n);
|
Node *parent = parentNode(n);
|
||||||
String *decl = Getattr(n, "decl");;
|
String *decl = Getattr(n, "decl");;
|
||||||
String *supername = Swig_class_name(parent);
|
String *supername = Swig_class_name(parent);
|
||||||
String *classname = getDirectorClassName(parent);
|
String *dirclassname = directorClassName(parent);
|
||||||
String *sub = NewString("");
|
String *sub = NewString("");
|
||||||
Parm *p;
|
Parm *p;
|
||||||
ParmList *superparms = Getattr(n, "parms");
|
ParmList *superparms = Getattr(n, "parms");
|
||||||
|
|
@ -2423,11 +2423,11 @@ public:
|
||||||
/* constructor */
|
/* constructor */
|
||||||
{
|
{
|
||||||
String *basetype = Getattr(parent, "classtype");
|
String *basetype = Getattr(parent, "classtype");
|
||||||
String *target = Swig_method_decl(0, decl, classname, parms, 0, 0);
|
String *target = Swig_method_decl(0, decl, dirclassname, parms, 0, 0);
|
||||||
String *call = Swig_csuperclass_call(0, basetype, superparms);
|
String *call = Swig_csuperclass_call(0, basetype, superparms);
|
||||||
String *classtype = SwigType_namestr(Getattr(n, "name"));
|
String *classtype = SwigType_namestr(Getattr(n, "name"));
|
||||||
|
|
||||||
Printf(f_directors, "%s::%s : %s, %s {\n", classname, target, call, Getattr(parent, "director:ctor"));
|
Printf(f_directors, "%s::%s : %s, %s {\n", dirclassname, target, call, Getattr(parent, "director:ctor"));
|
||||||
Printf(f_directors, " swig_init_callbacks();\n");
|
Printf(f_directors, " swig_init_callbacks();\n");
|
||||||
Printf(f_directors, "}\n\n");
|
Printf(f_directors, "}\n\n");
|
||||||
|
|
||||||
|
|
@ -2438,7 +2438,7 @@ public:
|
||||||
|
|
||||||
/* constructor header */
|
/* constructor header */
|
||||||
{
|
{
|
||||||
String *target = Swig_method_decl(0, decl, classname, parms, 0, 1);
|
String *target = Swig_method_decl(0, decl, dirclassname, parms, 0, 1);
|
||||||
Printf(f_directors_h, " %s;\n", target);
|
Printf(f_directors_h, " %s;\n", target);
|
||||||
Delete(target);
|
Delete(target);
|
||||||
}
|
}
|
||||||
|
|
@ -2447,6 +2447,7 @@ public:
|
||||||
Delete(sub);
|
Delete(sub);
|
||||||
Delete(supername);
|
Delete(supername);
|
||||||
Delete(parms);
|
Delete(parms);
|
||||||
|
Delete(dirclassname);
|
||||||
return Language::classDirectorConstructor(n);
|
return Language::classDirectorConstructor(n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2454,18 +2455,18 @@ public:
|
||||||
* D::classDirectorDefaultConstructor()
|
* D::classDirectorDefaultConstructor()
|
||||||
* --------------------------------------------------------------------------- */
|
* --------------------------------------------------------------------------- */
|
||||||
virtual int classDirectorDefaultConstructor(Node *n) {
|
virtual int classDirectorDefaultConstructor(Node *n) {
|
||||||
String *classname = Swig_class_name(n);
|
String *dirclassname = directorClassName(n);
|
||||||
String *classtype = SwigType_namestr(Getattr(n, "name"));
|
String *classtype = SwigType_namestr(Getattr(n, "name"));
|
||||||
Wrapper *w = NewWrapper();
|
Wrapper *w = NewWrapper();
|
||||||
|
|
||||||
Printf(w->def, "SwigDirector_%s::SwigDirector_%s() : %s {", classname, classname, Getattr(n, "director:ctor"));
|
Printf(w->def, "%s::%s() : %s {", dirclassname, dirclassname, Getattr(n, "director:ctor"));
|
||||||
Printf(w->code, "}\n");
|
Printf(w->code, "}\n");
|
||||||
Wrapper_print(w, f_directors);
|
Wrapper_print(w, f_directors);
|
||||||
|
|
||||||
Printf(f_directors_h, " SwigDirector_%s();\n", classname);
|
Printf(f_directors_h, " %s();\n", dirclassname);
|
||||||
DelWrapper(w);
|
DelWrapper(w);
|
||||||
Delete(classtype);
|
Delete(classtype);
|
||||||
Delete(classname);
|
Delete(dirclassname);
|
||||||
return Language::classDirectorDefaultConstructor(n);
|
return Language::classDirectorDefaultConstructor(n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2474,15 +2475,15 @@ public:
|
||||||
* --------------------------------------------------------------------------- */
|
* --------------------------------------------------------------------------- */
|
||||||
virtual int classDirectorDestructor(Node *n) {
|
virtual int classDirectorDestructor(Node *n) {
|
||||||
Node *current_class = getCurrentClass();
|
Node *current_class = getCurrentClass();
|
||||||
String *classname = Swig_class_name(current_class);
|
String *dirclassname = directorClassName(current_class);
|
||||||
Wrapper *w = NewWrapper();
|
Wrapper *w = NewWrapper();
|
||||||
|
|
||||||
if (Getattr(n, "throw")) {
|
if (Getattr(n, "throw")) {
|
||||||
Printf(f_directors_h, " virtual ~SwigDirector_%s() throw ();\n", classname);
|
Printf(f_directors_h, " virtual ~%s() throw ();\n", dirclassname);
|
||||||
Printf(w->def, "SwigDirector_%s::~SwigDirector_%s() throw () {\n", classname, classname);
|
Printf(w->def, "%s::~%s() throw () {\n", dirclassname, dirclassname);
|
||||||
} else {
|
} else {
|
||||||
Printf(f_directors_h, " virtual ~SwigDirector_%s();\n", classname);
|
Printf(f_directors_h, " virtual ~%s();\n", dirclassname);
|
||||||
Printf(w->def, "SwigDirector_%s::~SwigDirector_%s() {\n", classname, classname);
|
Printf(w->def, "%s::~%s() {\n", dirclassname, dirclassname);
|
||||||
}
|
}
|
||||||
|
|
||||||
Printv(w->code, "}\n", NIL);
|
Printv(w->code, "}\n", NIL);
|
||||||
|
|
@ -2490,7 +2491,7 @@ public:
|
||||||
Wrapper_print(w, f_directors);
|
Wrapper_print(w, f_directors);
|
||||||
|
|
||||||
DelWrapper(w);
|
DelWrapper(w);
|
||||||
Delete(classname);
|
Delete(dirclassname);
|
||||||
return SWIG_OK;
|
return SWIG_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2499,7 +2500,7 @@ public:
|
||||||
* --------------------------------------------------------------------------- */
|
* --------------------------------------------------------------------------- */
|
||||||
virtual int classDirectorEnd(Node *n) {
|
virtual int classDirectorEnd(Node *n) {
|
||||||
int i;
|
int i;
|
||||||
String *director_classname = getDirectorClassName(n);
|
String *director_classname = directorClassName(n);
|
||||||
|
|
||||||
Wrapper *w = NewWrapper();
|
Wrapper *w = NewWrapper();
|
||||||
|
|
||||||
|
|
@ -3308,7 +3309,7 @@ private:
|
||||||
// If directors are enabled for the current class, generate the
|
// If directors are enabled for the current class, generate the
|
||||||
// director connect helper function which is called from the constructor
|
// director connect helper function which is called from the constructor
|
||||||
// and write it to the class body.
|
// and write it to the class body.
|
||||||
writeDirectorConnectProxy();
|
writeDirectorConnectProxy(n);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Write all constants and enumerations first to prevent forward reference
|
// Write all constants and enumerations first to prevent forward reference
|
||||||
|
|
@ -3475,12 +3476,15 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------------
|
/* ---------------------------------------------------------------------------
|
||||||
* D::writeDirectorConnectProxy()
|
* D::writeDirectorConnectProxy(Node *classNode)
|
||||||
*
|
*
|
||||||
* Writes the helper method which registers the director callbacks by calling
|
* Writes the helper method which registers the director callbacks by calling
|
||||||
* the director connect function from the D side to the proxy class.
|
* the director connect function from the D side to the proxy class.
|
||||||
* --------------------------------------------------------------------------- */
|
* --------------------------------------------------------------------------- */
|
||||||
void writeDirectorConnectProxy() {
|
void writeDirectorConnectProxy(Node* classNode) {
|
||||||
|
String *dirClassName = directorClassName(classNode);
|
||||||
|
String *connect_name = Swig_name_member(getNSpace(),
|
||||||
|
proxy_class_name, "director_connect");
|
||||||
Printf(proxy_class_body_code, "\nprivate void swigDirectorConnect() {\n");
|
Printf(proxy_class_body_code, "\nprivate void swigDirectorConnect() {\n");
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
|
|
@ -3491,12 +3495,12 @@ private:
|
||||||
String *return_type = Getattr(udata, "return_type");
|
String *return_type = Getattr(udata, "return_type");
|
||||||
String *param_list = Getattr(udata, "param_list");
|
String *param_list = Getattr(udata, "param_list");
|
||||||
String *methid = Getattr(udata, "class_methodidx");
|
String *methid = Getattr(udata, "class_methodidx");
|
||||||
Printf(proxy_class_body_code, " %s.SwigDirector_%s_Callback%s callback%s;\n", im_dmodule_fq_name, proxy_class_name, methid, methid);
|
Printf(proxy_class_body_code, " %s.%s_Callback%s callback%s;\n", im_dmodule_fq_name, dirClassName, methid, methid);
|
||||||
Printf(proxy_class_body_code, " if (swigIsMethodOverridden!(%s delegate(%s), %s function(%s), %s)()) {\n", return_type, param_list, return_type, param_list, method);
|
Printf(proxy_class_body_code, " if (swigIsMethodOverridden!(%s delegate(%s), %s function(%s), %s)()) {\n", return_type, param_list, return_type, param_list, method);
|
||||||
Printf(proxy_class_body_code, " callback%s = &swigDirectorCallback_%s_%s;\n", methid, proxy_class_name, overloaded_name);
|
Printf(proxy_class_body_code, " callback%s = &swigDirectorCallback_%s_%s;\n", methid, proxy_class_name, overloaded_name);
|
||||||
Printf(proxy_class_body_code, " }\n\n");
|
Printf(proxy_class_body_code, " }\n\n");
|
||||||
}
|
}
|
||||||
Printf(proxy_class_body_code, " %s.%s_director_connect(cast(void*)swigCPtr, cast(void*)this", im_dmodule_fq_name, proxy_class_name);
|
Printf(proxy_class_body_code, " %s.%s(cast(void*)swigCPtr, cast(void*)this", im_dmodule_fq_name, connect_name);
|
||||||
for (i = first_class_dmethod; i < curr_class_dmethod; ++i) {
|
for (i = first_class_dmethod; i < curr_class_dmethod; ++i) {
|
||||||
UpcallData *udata = Getitem(dmethods_seq, i);
|
UpcallData *udata = Getitem(dmethods_seq, i);
|
||||||
String *methid = Getattr(udata, "class_methodidx");
|
String *methid = Getattr(udata, "class_methodidx");
|
||||||
|
|
@ -3532,6 +3536,8 @@ private:
|
||||||
director_callback_pointers = NULL;
|
director_callback_pointers = NULL;
|
||||||
Delete(director_dcallbacks_code);
|
Delete(director_dcallbacks_code);
|
||||||
director_dcallbacks_code = NULL;
|
director_dcallbacks_code = NULL;
|
||||||
|
Delete(dirClassName);
|
||||||
|
Delete(connect_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------------
|
/* ---------------------------------------------------------------------------
|
||||||
|
|
@ -3548,7 +3554,7 @@ private:
|
||||||
String *norm_name = SwigType_namestr(Getattr(n, "name"));
|
String *norm_name = SwigType_namestr(Getattr(n, "name"));
|
||||||
String *connect_name = Swig_name_member(getNSpace(),
|
String *connect_name = Swig_name_member(getNSpace(),
|
||||||
proxy_class_name, "director_connect");
|
proxy_class_name, "director_connect");
|
||||||
String *sym_name = Getattr(n, "sym:name");
|
String *dirClassName = directorClassName(n);
|
||||||
Wrapper *code_wrap;
|
Wrapper *code_wrap;
|
||||||
|
|
||||||
Printv(wrapper_loader_bind_code, wrapper_loader_bind_command, NIL);
|
Printv(wrapper_loader_bind_code, wrapper_loader_bind_command, NIL);
|
||||||
|
|
@ -3561,7 +3567,7 @@ private:
|
||||||
Printf(code_wrap->def, "SWIGEXPORT void D_%s(void *objarg, void *dobj", connect_name);
|
Printf(code_wrap->def, "SWIGEXPORT void D_%s(void *objarg, void *dobj", connect_name);
|
||||||
|
|
||||||
Printf(code_wrap->code, " %s *obj = (%s *)objarg;\n", norm_name, norm_name);
|
Printf(code_wrap->code, " %s *obj = (%s *)objarg;\n", norm_name, norm_name);
|
||||||
Printf(code_wrap->code, " SwigDirector_%s *director = dynamic_cast<SwigDirector_%s *>(obj);\n", sym_name, sym_name);
|
Printf(code_wrap->code, " %s *director = dynamic_cast<%s *>(obj);\n", dirClassName, dirClassName);
|
||||||
|
|
||||||
Printf(code_wrap->code, " if (director) {\n");
|
Printf(code_wrap->code, " if (director) {\n");
|
||||||
Printf(code_wrap->code, " director->swig_connect_director(dobj");
|
Printf(code_wrap->code, " director->swig_connect_director(dobj");
|
||||||
|
|
@ -3570,9 +3576,9 @@ private:
|
||||||
UpcallData *udata = Getitem(dmethods_seq, i);
|
UpcallData *udata = Getitem(dmethods_seq, i);
|
||||||
String *methid = Getattr(udata, "class_methodidx");
|
String *methid = Getattr(udata, "class_methodidx");
|
||||||
|
|
||||||
Printf(code_wrap->def, ", SwigDirector_%s::SWIG_Callback%s_t callback%s", sym_name, methid, methid);
|
Printf(code_wrap->def, ", %s::SWIG_Callback%s_t callback%s", dirClassName, methid, methid);
|
||||||
Printf(code_wrap->code, ", callback%s", methid);
|
Printf(code_wrap->code, ", callback%s", methid);
|
||||||
Printf(im_dmodule_code, ", SwigDirector_%s_Callback%s callback%s", sym_name, methid, methid);
|
Printf(im_dmodule_code, ", %s_Callback%s callback%s", dirClassName, methid, methid);
|
||||||
}
|
}
|
||||||
|
|
||||||
Printf(code_wrap->def, ") {\n");
|
Printf(code_wrap->def, ") {\n");
|
||||||
|
|
@ -3585,6 +3591,7 @@ private:
|
||||||
DelWrapper(code_wrap);
|
DelWrapper(code_wrap);
|
||||||
|
|
||||||
Delete(connect_name);
|
Delete(connect_name);
|
||||||
|
Delete(dirClassName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------------
|
/* ---------------------------------------------------------------------------
|
||||||
|
|
@ -4298,23 +4305,6 @@ private:
|
||||||
return proxyname;
|
return proxyname;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------------
|
|
||||||
* D::directorClassName()
|
|
||||||
* --------------------------------------------------------------------------- */
|
|
||||||
String *getDirectorClassName(Node *n) const {
|
|
||||||
String *dirclassname;
|
|
||||||
const char *attrib = "director:classname";
|
|
||||||
|
|
||||||
if (!(dirclassname = Getattr(n, attrib))) {
|
|
||||||
String *classname = Getattr(n, "sym:name");
|
|
||||||
|
|
||||||
dirclassname = NewStringf("SwigDirector_%s", classname);
|
|
||||||
Setattr(n, attrib, dirclassname);
|
|
||||||
}
|
|
||||||
|
|
||||||
return dirclassname;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------------
|
/* ---------------------------------------------------------------------------
|
||||||
* D::makeParameterName()
|
* D::makeParameterName()
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,6 @@
|
||||||
* in SWIG. --MR
|
* in SWIG. --MR
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_directors_cxx[] = "$Id";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
|
||||||
/* Swig_csuperclass_call()
|
/* Swig_csuperclass_call()
|
||||||
|
|
@ -78,9 +76,10 @@ String *Swig_class_name(Node *n) {
|
||||||
|
|
||||||
String *Swig_director_declaration(Node *n) {
|
String *Swig_director_declaration(Node *n) {
|
||||||
String *classname = Swig_class_name(n);
|
String *classname = Swig_class_name(n);
|
||||||
String *directorname = NewStringf("SwigDirector_%s", classname);
|
String *directorname = Language::instance()->directorClassName(n);
|
||||||
String *base = Getattr(n, "classtype");
|
String *base = Getattr(n, "classtype");
|
||||||
String *declaration = Swig_class_declaration(n, directorname);
|
String *declaration = Swig_class_declaration(n, directorname);
|
||||||
|
|
||||||
Printf(declaration, " : public %s, public Swig::Director {\n", base);
|
Printf(declaration, " : public %s, public Swig::Director {\n", base);
|
||||||
Delete(classname);
|
Delete(classname);
|
||||||
Delete(directorname);
|
Delete(directorname);
|
||||||
|
|
@ -280,9 +279,10 @@ void Swig_director_emit_dynamic_cast(Node *n, Wrapper *f) {
|
||||||
checkAttribute(n, "storage", "static"))
|
checkAttribute(n, "storage", "static"))
|
||||||
&& !Equal(nodeType(n), "constructor"))) {
|
&& !Equal(nodeType(n), "constructor"))) {
|
||||||
Node *parent = Getattr(n, "parentNode");
|
Node *parent = Getattr(n, "parentNode");
|
||||||
String *symname = Getattr(parent, "sym:name");
|
String *dirname;
|
||||||
String *dirname = NewStringf("SwigDirector_%s", symname);
|
String *dirdecl;
|
||||||
String *dirdecl = NewStringf("%s *darg = 0", dirname);
|
dirname = Language::instance()->directorClassName(parent);
|
||||||
|
dirdecl = NewStringf("%s *darg = 0", dirname);
|
||||||
Wrapper_add_local(f, "darg", dirdecl);
|
Wrapper_add_local(f, "darg", dirdecl);
|
||||||
Printf(f->code, "darg = dynamic_cast<%s *>(arg1);\n", dirname);
|
Printf(f->code, "darg = dynamic_cast<%s *>(arg1);\n", dirname);
|
||||||
Delete(dirname);
|
Delete(dirname);
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Useful functions for emitting various pieces of code.
|
* Useful functions for emitting various pieces of code.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_emit_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,6 @@
|
||||||
* Go language module for SWIG.
|
* Go language module for SWIG.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_go_cxx[] = "$Id";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Guile language module for SWIG.
|
* Guile language module for SWIG.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_guile_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Java language module for SWIG.
|
* Java language module for SWIG.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_java_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
#include <limits.h> // for INT_MAX
|
#include <limits.h> // for INT_MAX
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
|
|
@ -204,24 +202,6 @@ public:
|
||||||
return valid_jni_name;
|
return valid_jni_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
|
||||||
* directorClassName()
|
|
||||||
* ----------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
String *directorClassName(Node *n) {
|
|
||||||
String *dirclassname;
|
|
||||||
const char *attrib = "director:classname";
|
|
||||||
|
|
||||||
if (!(dirclassname = Getattr(n, attrib))) {
|
|
||||||
String *classname = Getattr(n, "sym:name");
|
|
||||||
|
|
||||||
dirclassname = NewStringf("SwigDirector_%s", classname);
|
|
||||||
Setattr(n, attrib, dirclassname);
|
|
||||||
}
|
|
||||||
|
|
||||||
return dirclassname;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ------------------------------------------------------------
|
/* ------------------------------------------------------------
|
||||||
* main()
|
* main()
|
||||||
* ------------------------------------------------------------ */
|
* ------------------------------------------------------------ */
|
||||||
|
|
@ -2008,7 +1988,7 @@ public:
|
||||||
Printf(dcast_wrap->code, " jobject jresult = (jobject) 0;\n");
|
Printf(dcast_wrap->code, " jobject jresult = (jobject) 0;\n");
|
||||||
Printf(dcast_wrap->code, " %s *obj = *((%s **)&jCPtrBase);\n", norm_name, norm_name);
|
Printf(dcast_wrap->code, " %s *obj = *((%s **)&jCPtrBase);\n", norm_name, norm_name);
|
||||||
Printf(dcast_wrap->code, " if (obj) director = dynamic_cast<Swig::Director *>(obj);\n");
|
Printf(dcast_wrap->code, " if (obj) director = dynamic_cast<Swig::Director *>(obj);\n");
|
||||||
Printf(dcast_wrap->code, " if (director) jresult = director->swig_get_self(jenv);\n");
|
Printf(dcast_wrap->code, " if (director) jresult = director->swig_get_self);\n");
|
||||||
Printf(dcast_wrap->code, " return jresult;\n");
|
Printf(dcast_wrap->code, " return jresult;\n");
|
||||||
Printf(dcast_wrap->code, "}\n");
|
Printf(dcast_wrap->code, "}\n");
|
||||||
|
|
||||||
|
|
@ -3380,8 +3360,8 @@ public:
|
||||||
String *norm_name = SwigType_namestr(Getattr(n, "name"));
|
String *norm_name = SwigType_namestr(Getattr(n, "name"));
|
||||||
String *swig_director_connect = Swig_name_member(getNSpace(), proxy_class_name, "director_connect");
|
String *swig_director_connect = Swig_name_member(getNSpace(), proxy_class_name, "director_connect");
|
||||||
String *swig_director_connect_jni = makeValidJniName(swig_director_connect);
|
String *swig_director_connect_jni = makeValidJniName(swig_director_connect);
|
||||||
String *sym_name = Getattr(n, "sym:name");
|
|
||||||
String *smartptr_feature = Getattr(n, "feature:smartptr");
|
String *smartptr_feature = Getattr(n, "feature:smartptr");
|
||||||
|
String *dirClassName = directorClassName(n);
|
||||||
Wrapper *code_wrap;
|
Wrapper *code_wrap;
|
||||||
|
|
||||||
Printf(imclass_class_code, " public final static native void %s(%s obj, long cptr, boolean mem_own, boolean weak_global);\n",
|
Printf(imclass_class_code, " public final static native void %s(%s obj, long cptr, boolean mem_own, boolean weak_global);\n",
|
||||||
|
|
@ -3401,12 +3381,12 @@ public:
|
||||||
Printf(code_wrap->code, " // raw pointer alive. This is done instead of using the smart pointer's dynamic cast\n");
|
Printf(code_wrap->code, " // raw pointer alive. This is done instead of using the smart pointer's dynamic cast\n");
|
||||||
Printf(code_wrap->code, " // feature since different smart pointer implementations have differently named dynamic\n");
|
Printf(code_wrap->code, " // feature since different smart pointer implementations have differently named dynamic\n");
|
||||||
Printf(code_wrap->code, " // cast mechanisms.\n");
|
Printf(code_wrap->code, " // cast mechanisms.\n");
|
||||||
Printf(code_wrap->code, " SwigDirector_%s *director = dynamic_cast<SwigDirector_%s *>(obj->operator->());\n", sym_name, sym_name);
|
Printf(code_wrap->code, " %s *director = dynamic_cast<%s *>(obj->operator->());\n", dirClassName, dirClassName);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Printf(code_wrap->code, " %s *obj = *((%s **)&objarg);\n", norm_name, norm_name);
|
Printf(code_wrap->code, " %s *obj = *((%s **)&objarg);\n", norm_name, norm_name);
|
||||||
Printf(code_wrap->code, " (void)jcls;\n");
|
Printf(code_wrap->code, " (void)jcls;\n");
|
||||||
Printf(code_wrap->code, " SwigDirector_%s *director = dynamic_cast<SwigDirector_%s *>(obj);\n", sym_name, sym_name);
|
Printf(code_wrap->code, " %s *director = dynamic_cast<%s *>(obj);\n", dirClassName, dirClassName);
|
||||||
}
|
}
|
||||||
|
|
||||||
Printf(code_wrap->code, " if (director) {\n");
|
Printf(code_wrap->code, " if (director) {\n");
|
||||||
|
|
@ -3432,7 +3412,7 @@ public:
|
||||||
"SWIGEXPORT void JNICALL Java_%s%s_%s(JNIEnv *jenv, jclass jcls, jobject jself, jlong objarg, jboolean jtake_or_release) {\n",
|
"SWIGEXPORT void JNICALL Java_%s%s_%s(JNIEnv *jenv, jclass jcls, jobject jself, jlong objarg, jboolean jtake_or_release) {\n",
|
||||||
jnipackage, jni_imclass_name, changeown_jnimethod_name);
|
jnipackage, jni_imclass_name, changeown_jnimethod_name);
|
||||||
Printf(code_wrap->code, " %s *obj = *((%s **)&objarg);\n", norm_name, norm_name);
|
Printf(code_wrap->code, " %s *obj = *((%s **)&objarg);\n", norm_name, norm_name);
|
||||||
Printf(code_wrap->code, " SwigDirector_%s *director = dynamic_cast<SwigDirector_%s *>(obj);\n", sym_name, sym_name);
|
Printf(code_wrap->code, " %s *director = dynamic_cast<%s *>(obj);\n", dirClassName, dirClassName);
|
||||||
Printf(code_wrap->code, " (void)jcls;\n");
|
Printf(code_wrap->code, " (void)jcls;\n");
|
||||||
Printf(code_wrap->code, " if (director) {\n");
|
Printf(code_wrap->code, " if (director) {\n");
|
||||||
Printf(code_wrap->code, " director->swig_java_change_ownership(jenv, jself, jtake_or_release ? true : false);\n");
|
Printf(code_wrap->code, " director->swig_java_change_ownership(jenv, jself, jtake_or_release ? true : false);\n");
|
||||||
|
|
@ -3445,6 +3425,7 @@ public:
|
||||||
Delete(changeown_method_name);
|
Delete(changeown_method_name);
|
||||||
Delete(changeown_jnimethod_name);
|
Delete(changeown_jnimethod_name);
|
||||||
Delete(norm_name);
|
Delete(norm_name);
|
||||||
|
Delete(dirClassName);
|
||||||
Delete(jni_imclass_name);
|
Delete(jni_imclass_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -3583,7 +3564,7 @@ public:
|
||||||
// we're consistent with the sym:overload name in functionWrapper. (?? when
|
// we're consistent with the sym:overload name in functionWrapper. (?? when
|
||||||
// does the overloaded method name get set?)
|
// does the overloaded method name get set?)
|
||||||
|
|
||||||
imclass_dmethod = NewStringf("SwigDirector_%s", Swig_name_member(getNSpace(), classname, overloaded_name));
|
imclass_dmethod = NewStringf("%s", Swig_name_member(getNSpace(), dirclassname, overloaded_name));
|
||||||
|
|
||||||
qualified_return = SwigType_rcaststr(returntype, "c_result");
|
qualified_return = SwigType_rcaststr(returntype, "c_result");
|
||||||
|
|
||||||
|
|
@ -4116,7 +4097,7 @@ public:
|
||||||
Node *parent = parentNode(n);
|
Node *parent = parentNode(n);
|
||||||
String *decl = Getattr(n, "decl");
|
String *decl = Getattr(n, "decl");
|
||||||
String *supername = Swig_class_name(parent);
|
String *supername = Swig_class_name(parent);
|
||||||
String *classname = directorClassName(parent);
|
String *dirclassname = directorClassName(parent);
|
||||||
String *sub = NewString("");
|
String *sub = NewString("");
|
||||||
Parm *p;
|
Parm *p;
|
||||||
ParmList *superparms = Getattr(n, "parms");
|
ParmList *superparms = Getattr(n, "parms");
|
||||||
|
|
@ -4148,11 +4129,11 @@ public:
|
||||||
/* constructor */
|
/* constructor */
|
||||||
{
|
{
|
||||||
String *basetype = Getattr(parent, "classtype");
|
String *basetype = Getattr(parent, "classtype");
|
||||||
String *target = Swig_method_decl(0, decl, classname, parms, 0, 0);
|
String *target = Swig_method_decl(0, decl, dirclassname, parms, 0, 0);
|
||||||
String *call = Swig_csuperclass_call(0, basetype, superparms);
|
String *call = Swig_csuperclass_call(0, basetype, superparms);
|
||||||
String *classtype = SwigType_namestr(Getattr(n, "name"));
|
String *classtype = SwigType_namestr(Getattr(n, "name"));
|
||||||
|
|
||||||
Printf(f_directors, "%s::%s : %s, %s {\n", classname, target, call, Getattr(parent, "director:ctor"));
|
Printf(f_directors, "%s::%s : %s, %s {\n", dirclassname, target, call, Getattr(parent, "director:ctor"));
|
||||||
Printf(f_directors, "}\n\n");
|
Printf(f_directors, "}\n\n");
|
||||||
|
|
||||||
Delete(classtype);
|
Delete(classtype);
|
||||||
|
|
@ -4162,7 +4143,7 @@ public:
|
||||||
|
|
||||||
/* constructor header */
|
/* constructor header */
|
||||||
{
|
{
|
||||||
String *target = Swig_method_decl(0, decl, classname, parms, 0, 1);
|
String *target = Swig_method_decl(0, decl, dirclassname, parms, 0, 1);
|
||||||
Printf(f_directors_h, " %s;\n", target);
|
Printf(f_directors_h, " %s;\n", target);
|
||||||
Delete(target);
|
Delete(target);
|
||||||
}
|
}
|
||||||
|
|
@ -4172,6 +4153,7 @@ public:
|
||||||
Delete(supername);
|
Delete(supername);
|
||||||
Delete(jenv_type);
|
Delete(jenv_type);
|
||||||
Delete(parms);
|
Delete(parms);
|
||||||
|
Delete(dirclassname);
|
||||||
return Language::classDirectorConstructor(n);
|
return Language::classDirectorConstructor(n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -4182,16 +4164,18 @@ public:
|
||||||
int classDirectorDefaultConstructor(Node *n) {
|
int classDirectorDefaultConstructor(Node *n) {
|
||||||
String *classname = Swig_class_name(n);
|
String *classname = Swig_class_name(n);
|
||||||
String *classtype = SwigType_namestr(Getattr(n, "name"));
|
String *classtype = SwigType_namestr(Getattr(n, "name"));
|
||||||
|
String *dirClassName = directorClassName(n);
|
||||||
Wrapper *w = NewWrapper();
|
Wrapper *w = NewWrapper();
|
||||||
|
|
||||||
Printf(w->def, "SwigDirector_%s::SwigDirector_%s(JNIEnv *jenv) : %s {", classname, classname, Getattr(n, "director:ctor"));
|
Printf(w->def, "%s::%s(JNIEnv *jenv) : %s {", dirClassName, dirClassName, Getattr(n, "director:ctor"));
|
||||||
Printf(w->code, "}\n");
|
Printf(w->code, "}\n");
|
||||||
Wrapper_print(w, f_directors);
|
Wrapper_print(w, f_directors);
|
||||||
|
|
||||||
Printf(f_directors_h, " SwigDirector_%s(JNIEnv *jenv);\n", classname);
|
Printf(f_directors_h, " %s(JNIEnv *jenv);\n", dirClassName);
|
||||||
DelWrapper(w);
|
DelWrapper(w);
|
||||||
Delete(classtype);
|
Delete(classtype);
|
||||||
Delete(classname);
|
Delete(classname);
|
||||||
|
Delete(dirClassName);
|
||||||
directorPrefixArgs(n);
|
directorPrefixArgs(n);
|
||||||
return Language::classDirectorDefaultConstructor(n);
|
return Language::classDirectorDefaultConstructor(n);
|
||||||
}
|
}
|
||||||
|
|
@ -4228,14 +4212,15 @@ public:
|
||||||
Node *current_class = getCurrentClass();
|
Node *current_class = getCurrentClass();
|
||||||
String *full_classname = Getattr(current_class, "name");
|
String *full_classname = Getattr(current_class, "name");
|
||||||
String *classname = Swig_class_name(current_class);
|
String *classname = Swig_class_name(current_class);
|
||||||
|
String *dirClassName = directorClassName(current_class);
|
||||||
Wrapper *w = NewWrapper();
|
Wrapper *w = NewWrapper();
|
||||||
|
|
||||||
if (Getattr(n, "throw")) {
|
if (Getattr(n, "throw")) {
|
||||||
Printf(f_directors_h, " virtual ~SwigDirector_%s() throw ();\n", classname);
|
Printf(f_directors_h, " virtual ~%s() throw ();\n", dirClassName);
|
||||||
Printf(w->def, "SwigDirector_%s::~SwigDirector_%s() throw () {\n", classname, classname);
|
Printf(w->def, "%s::~%s() throw () {\n", dirClassName, dirClassName);
|
||||||
} else {
|
} else {
|
||||||
Printf(f_directors_h, " virtual ~SwigDirector_%s();\n", classname);
|
Printf(f_directors_h, " virtual ~%s();\n", dirClassName);
|
||||||
Printf(w->def, "SwigDirector_%s::~SwigDirector_%s() {\n", classname, classname);
|
Printf(w->def, "%s::~%s() {\n", dirClassName, dirClassName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Ensure that correct directordisconnect typemap's method name is called
|
/* Ensure that correct directordisconnect typemap's method name is called
|
||||||
|
|
@ -4254,6 +4239,7 @@ public:
|
||||||
DelWrapper(w);
|
DelWrapper(w);
|
||||||
Delete(disconn_attr);
|
Delete(disconn_attr);
|
||||||
Delete(classname);
|
Delete(classname);
|
||||||
|
Delete(dirClassName);
|
||||||
return SWIG_OK;
|
return SWIG_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -4400,8 +4386,7 @@ public:
|
||||||
String *base = Getattr(n, "classtype");
|
String *base = Getattr(n, "classtype");
|
||||||
String *class_ctor = NewString("Swig::Director(jenv)");
|
String *class_ctor = NewString("Swig::Director(jenv)");
|
||||||
|
|
||||||
String *classname = Swig_class_name(n);
|
String *directorname = directorClassName(n);
|
||||||
String *directorname = NewStringf("SwigDirector_%s", classname);
|
|
||||||
String *declaration = Swig_class_declaration(n, directorname);
|
String *declaration = Swig_class_declaration(n, directorname);
|
||||||
|
|
||||||
Printf(declaration, " : public %s, public Swig::Director", base);
|
Printf(declaration, " : public %s, public Swig::Director", base);
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Language base class functions. Default C++ handling is also implemented here.
|
* Language base class functions. Default C++ handling is also implemented here.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_lang_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
@ -347,6 +345,27 @@ Language::~Language() {
|
||||||
this_ = 0;
|
this_ = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------------------------------
|
||||||
|
* directorClassName()
|
||||||
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
String *Language::directorClassName(Node *n) {
|
||||||
|
String *dirclassname;
|
||||||
|
String *nspace = NewString(Getattr(n, "sym:nspace"));
|
||||||
|
const char *attrib = "director:classname";
|
||||||
|
String *classname = Getattr(n, "sym:name");
|
||||||
|
|
||||||
|
Replace(nspace, NSPACE_SEPARATOR, "_", DOH_REPLACE_ANY);
|
||||||
|
if (Len(nspace) > 0)
|
||||||
|
dirclassname = NewStringf("SwigDirector_%s_%s", nspace, classname);
|
||||||
|
else
|
||||||
|
dirclassname = NewStringf("SwigDirector_%s", classname);
|
||||||
|
Setattr(n, attrib, dirclassname);
|
||||||
|
|
||||||
|
Delete(nspace);
|
||||||
|
return dirclassname;
|
||||||
|
}
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------
|
/* ----------------------------------------------------------------------
|
||||||
emit_one()
|
emit_one()
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
|
|
@ -2405,7 +2424,7 @@ int Language::classDeclaration(Node *n) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dir) {
|
if (dir) {
|
||||||
DirectorClassName = NewStringf("SwigDirector_%s", symname);
|
DirectorClassName = directorClassName(n);
|
||||||
classDirector(n);
|
classDirector(n);
|
||||||
}
|
}
|
||||||
/* check for abstract after resolving directors */
|
/* check for abstract after resolving directors */
|
||||||
|
|
|
||||||
|
|
@ -44,8 +44,6 @@
|
||||||
Added support for embedded Lua. Try swig -lua -help for more information
|
Added support for embedded Lua. Try swig -lua -help for more information
|
||||||
*/
|
*/
|
||||||
|
|
||||||
char cvsroot_lua_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
|
||||||
/**** Diagnostics:
|
/**** Diagnostics:
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Main entry point to the SWIG core.
|
* Main entry point to the SWIG core.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_main_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigconfig.h"
|
#include "swigconfig.h"
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Modula3 language module for SWIG.
|
* Modula3 language module for SWIG.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_modula3_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Text formatted with
|
Text formatted with
|
||||||
indent -sob -br -ce -nut -npsl
|
indent -sob -br -ce -nut -npsl
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* This file is responsible for the module system.
|
* This file is responsible for the module system.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_module_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
|
||||||
struct Module {
|
struct Module {
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Mzscheme language module for SWIG.
|
* Mzscheme language module for SWIG.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_mzscheme_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Ocaml language module for SWIG.
|
* Ocaml language module for SWIG.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_ocaml_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Octave language module for SWIG.
|
* Octave language module for SWIG.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_octave_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
|
||||||
static String *global_name = 0;
|
static String *global_name = 0;
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,6 @@
|
||||||
* building a dispatch function.
|
* building a dispatch function.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_overload_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
|
||||||
#define MAX_OVERLOAD 4096
|
#define MAX_OVERLOAD 4096
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Perl5 language module for SWIG.
|
* Perl5 language module for SWIG.
|
||||||
* ------------------------------------------------------------------------- */
|
* ------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_perl5_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
static int treduce = SWIG_cparse_template_reduce(0);
|
static int treduce = SWIG_cparse_template_reduce(0);
|
||||||
|
|
|
||||||
|
|
@ -37,8 +37,6 @@
|
||||||
* (may need to add more WARN_PHP_xxx codes...)
|
* (may need to add more WARN_PHP_xxx codes...)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
char cvsroot_php_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,6 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
char cvsroot_pike_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
|
||||||
#include <ctype.h> // for isalnum()
|
#include <ctype.h> // for isalnum()
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Python language module for SWIG.
|
* Python language module for SWIG.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_python_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* R language module for SWIG.
|
* R language module for SWIG.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_r_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
|
||||||
static const double DEFAULT_NUMBER = .0000123456712312312323;
|
static const double DEFAULT_NUMBER = .0000123456712312312323;
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Ruby language module for SWIG.
|
* Ruby language module for SWIG.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_ruby_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
static int treduce = SWIG_cparse_template_reduce(0);
|
static int treduce = SWIG_cparse_template_reduce(0);
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* A parse tree represented as Lisp s-expressions.
|
* A parse tree represented as Lisp s-expressions.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_s_exp_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
#include "dohint.h"
|
#include "dohint.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,6 @@
|
||||||
* to SWIG, you would modify this file.
|
* to SWIG, you would modify this file.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_swigmain_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -120,6 +120,8 @@ public:
|
||||||
virtual ~Language();
|
virtual ~Language();
|
||||||
virtual int emit_one(Node *n);
|
virtual int emit_one(Node *n);
|
||||||
|
|
||||||
|
String *directorClassName(Node *n);
|
||||||
|
|
||||||
/* Parse command line options */
|
/* Parse command line options */
|
||||||
|
|
||||||
virtual void main(int argc, char *argv[]);
|
virtual void main(int argc, char *argv[]);
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Tcl8 language module for SWIG.
|
* Tcl8 language module for SWIG.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_tcl8_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
static int treduce = SWIG_cparse_template_reduce(0);
|
static int treduce = SWIG_cparse_template_reduce(0);
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,6 @@
|
||||||
* and other information needed for compilation.
|
* and other information needed for compilation.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_typepass_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,6 @@
|
||||||
|
|
||||||
// TODO: remove remnants of lisptype
|
// TODO: remove remnants of lisptype
|
||||||
|
|
||||||
char cvsroot_uffi_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
|
||||||
static const char *usage = (char *) "\
|
static const char *usage = (char *) "\
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Various utility functions.
|
* Various utility functions.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_utils_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include <swigmod.h>
|
#include <swigmod.h>
|
||||||
|
|
||||||
int is_public(Node *n) {
|
int is_public(Node *n) {
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* An Xml parse tree generator.
|
* An Xml parse tree generator.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_xml_cxx[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swigmod.h"
|
#include "swigmod.h"
|
||||||
|
|
||||||
static const char *usage = "\
|
static const char *usage = "\
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,6 @@
|
||||||
* - Lines beginning with %# are stripped down to #... and passed through.
|
* - Lines beginning with %# are stripped down to #... and passed through.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_cpp_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
#include "preprocessor.h"
|
#include "preprocessor.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,6 @@
|
||||||
* encountered during preprocessing.
|
* encountered during preprocessing.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_expr_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
#include "preprocessor.h"
|
#include "preprocessor.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,6 @@
|
||||||
* the naming of local variables, calling conventions, and so forth.
|
* the naming of local variables, calling conventions, and so forth.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_cwrap_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
|
|
||||||
extern int cparse_cplusplus;
|
extern int cparse_cplusplus;
|
||||||
|
|
@ -855,6 +853,9 @@ int Swig_MethodToFunction(Node *n, const_String_or_char_ptr nspace, String *clas
|
||||||
String *self = 0;
|
String *self = 0;
|
||||||
int is_smart_pointer_overload = 0;
|
int is_smart_pointer_overload = 0;
|
||||||
String *qualifier = Getattr(n, "qualifier");
|
String *qualifier = Getattr(n, "qualifier");
|
||||||
|
String *directorScope = NewString(nspace);
|
||||||
|
|
||||||
|
Replace(directorScope, NSPACE_SEPARATOR, "_", DOH_REPLACE_ANY);
|
||||||
|
|
||||||
/* If smart pointer without const overload or mutable method, change self dereferencing */
|
/* If smart pointer without const overload or mutable method, change self dereferencing */
|
||||||
if (flags & CWRAP_SMART_POINTER) {
|
if (flags & CWRAP_SMART_POINTER) {
|
||||||
|
|
@ -937,7 +938,10 @@ int Swig_MethodToFunction(Node *n, const_String_or_char_ptr nspace, String *clas
|
||||||
/* If protected access (can only be if a director method) then call the extra public accessor method (language module must provide this) */
|
/* If protected access (can only be if a director method) then call the extra public accessor method (language module must provide this) */
|
||||||
String *explicit_qualifier_tmp = SwigType_namestr(Getattr(Getattr(parentNode(n), "typescope"), "qname"));
|
String *explicit_qualifier_tmp = SwigType_namestr(Getattr(Getattr(parentNode(n), "typescope"), "qname"));
|
||||||
explicitcall_name = NewStringf("%sSwigPublic", name);
|
explicitcall_name = NewStringf("%sSwigPublic", name);
|
||||||
explicit_qualifier = NewStringf("SwigDirector_%s", explicit_qualifier_tmp);
|
if (Len(directorScope) > 0)
|
||||||
|
explicit_qualifier = NewStringf("SwigDirector_%s_%s", directorScope, explicit_qualifier_tmp);
|
||||||
|
else
|
||||||
|
explicit_qualifier = NewStringf("SwigDirector_%s", explicit_qualifier_tmp);
|
||||||
Delete(explicit_qualifier_tmp);
|
Delete(explicit_qualifier_tmp);
|
||||||
} else {
|
} else {
|
||||||
explicit_qualifier = SwigType_namestr(Getattr(Getattr(parentNode(n), "typescope"), "qname"));
|
explicit_qualifier = SwigType_namestr(Getattr(Getattr(parentNode(n), "typescope"), "qname"));
|
||||||
|
|
@ -1057,6 +1061,7 @@ int Swig_MethodToFunction(Node *n, const_String_or_char_ptr nspace, String *clas
|
||||||
Delete(p);
|
Delete(p);
|
||||||
Delete(self);
|
Delete(self);
|
||||||
Delete(parms);
|
Delete(parms);
|
||||||
|
Delete(directorScope);
|
||||||
return SWIG_OK;
|
return SWIG_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1107,6 +1112,9 @@ int Swig_ConstructorToFunction(Node *n, const_String_or_char_ptr nspace, String
|
||||||
ParmList *directorparms;
|
ParmList *directorparms;
|
||||||
SwigType *type;
|
SwigType *type;
|
||||||
int use_director;
|
int use_director;
|
||||||
|
String *directorScope = NewString(nspace);
|
||||||
|
|
||||||
|
Replace(directorScope, NSPACE_SEPARATOR, "_", DOH_REPLACE_ANY);
|
||||||
|
|
||||||
use_director = Swig_directorclass(n);
|
use_director = Swig_directorclass(n);
|
||||||
|
|
||||||
|
|
@ -1167,12 +1175,17 @@ int Swig_ConstructorToFunction(Node *n, const_String_or_char_ptr nspace, String
|
||||||
Node *parent = Swig_methodclass(n);
|
Node *parent = Swig_methodclass(n);
|
||||||
int abstract = Getattr(parent, "abstracts") != 0;
|
int abstract = Getattr(parent, "abstracts") != 0;
|
||||||
String *name = Getattr(parent, "sym:name");
|
String *name = Getattr(parent, "sym:name");
|
||||||
String *directorname = NewStringf("SwigDirector_%s", name);
|
String *directorname;
|
||||||
String *action = NewStringEmpty();
|
String *action = NewStringEmpty();
|
||||||
String *tmp_none_comparison = Copy(none_comparison);
|
String *tmp_none_comparison = Copy(none_comparison);
|
||||||
String *director_call;
|
String *director_call;
|
||||||
String *nodirector_call;
|
String *nodirector_call;
|
||||||
|
|
||||||
|
if (Len(directorScope) > 0)
|
||||||
|
directorname = NewStringf("SwigDirector_%s_%s", directorScope, name);
|
||||||
|
else
|
||||||
|
directorname = NewStringf("SwigDirector_%s", name);
|
||||||
|
|
||||||
Replaceall(tmp_none_comparison, "$arg", "arg1");
|
Replaceall(tmp_none_comparison, "$arg", "arg1");
|
||||||
|
|
||||||
director_call = Swig_cppconstructor_director_call(directorname, directorparms);
|
director_call = Swig_cppconstructor_director_call(directorname, directorparms);
|
||||||
|
|
@ -1233,6 +1246,7 @@ int Swig_ConstructorToFunction(Node *n, const_String_or_char_ptr nspace, String
|
||||||
if (directorparms != parms)
|
if (directorparms != parms)
|
||||||
Delete(directorparms);
|
Delete(directorparms);
|
||||||
Delete(parms);
|
Delete(parms);
|
||||||
|
Delete(directorScope);
|
||||||
return SWIG_OK;
|
return SWIG_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,6 @@
|
||||||
* that the function and/or API needs to be changed in some future release.
|
* that the function and/or API needs to be changed in some future release.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_deprecate_c[] = "$Id: parms.c 9630 2007-01-02 21:17:19Z beazley $";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------
|
/* ---------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,6 @@
|
||||||
* error messages.
|
* error messages.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_error_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,6 @@
|
||||||
* wrapper code and to generate cleaner wrapper files.
|
* wrapper code and to generate cleaner wrapper files.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_fragment_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
#include "swigwarn.h"
|
#include "swigwarn.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,6 @@
|
||||||
* Should have cleaner error handling in general.
|
* Should have cleaner error handling in general.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_getopt_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
|
|
||||||
static char **args;
|
static char **args;
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,6 @@
|
||||||
* are provided.
|
* are provided.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_include_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
|
|
||||||
static List *directories = 0; /* List of include directories */
|
static List *directories = 0; /* List of include directories */
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Miscellaneous functions that don't really fit anywhere else.
|
* Miscellaneous functions that don't really fit anywhere else.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_misc_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,6 @@
|
||||||
* %v - variable name is substituted
|
* %v - variable name is substituted
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_naming_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* Parameter list class.
|
* Parameter list class.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_parms_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
|
|
||||||
/* ------------------------------------------------------------------------
|
/* ------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,6 @@
|
||||||
* to easily construct yacc-compatible scanners.
|
* to easily construct yacc-compatible scanners.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_scanner_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,6 @@
|
||||||
* the form of simple strings.
|
* the form of simple strings.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_stype_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* This file implements the SWIG symbol table. See details below.
|
* This file implements the SWIG symbol table. See details below.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_symbol_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
#include "swigwarn.h"
|
#include "swigwarn.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,6 @@
|
||||||
* parse trees.
|
* parse trees.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_tree_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,6 @@
|
||||||
* A somewhat generalized implementation of SWIG1.1 typemaps.
|
* A somewhat generalized implementation of SWIG1.1 typemaps.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_typemap_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,6 @@
|
||||||
* like typedef, namespaces, etc.
|
* like typedef, namespaces, etc.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_typeobj_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,6 @@
|
||||||
* run-time type checker is also handled here.
|
* run-time type checker is also handled here.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_typesys_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
#include "cparse.h"
|
#include "cparse.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,6 @@
|
||||||
* to be created in a piecemeal manner.
|
* to be created in a piecemeal manner.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
||||||
char cvsroot_wrapfunc_c[] = "$Id$";
|
|
||||||
|
|
||||||
#include "swig.h"
|
#include "swig.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# You can build the package from SVN using something like:
|
# You can build the package from Git using something like:
|
||||||
# tar -czf swig-@PACKAGE_VERSION@.tar.gz swig-@PACKAGE_VERSION@ && rpmbuild -tb swig-@PACKAGE_VERSION@.tar.gz
|
# tar -czf swig-@PACKAGE_VERSION@.tar.gz swig-@PACKAGE_VERSION@ && rpmbuild -tb swig-@PACKAGE_VERSION@.tar.gz
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
|
|
@ -36,7 +36,7 @@ its parse tree in the form of XML and Lisp s-expressions.
|
||||||
%setup -q -n %{name}-%{version}
|
%setup -q -n %{name}-%{version}
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# so we can build package from SVN source too
|
# so we can build package from Git source too
|
||||||
[ ! -r configure ] && ./autogen.sh
|
[ ! -r configure ] && ./autogen.sh
|
||||||
%configure
|
%configure
|
||||||
make
|
make
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue