Commit graph

66 commits

Author SHA1 Message Date
Ian Lance Taylor
5af2978f77 Add support for the Go programming language.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12108 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-06-10 01:13:31 +00:00
William S Fulton
1253657bb4 Add improved namespace support - the nspace feature, working for Java only at the moment.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11896 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-03-04 21:27:23 +00:00
William S Fulton
931628f8b2 Remove the svn/cvs Id string in the headers
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11877 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-02-28 00:09:20 +00:00
William S Fulton
cb64f65bae SWIG license change - Source moves to GPLv3
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11876 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-02-27 23:53:33 +00:00
William S Fulton
6c275f00d9 Add in possibility to use scopes in target language module symbol table
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11855 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-02-12 23:20:58 +00:00
William S Fulton
f4cfc9bce5 Add the -debug-lsymbols option for displaying the target language layer symbols.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11854 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-02-11 22:56:39 +00:00
William S Fulton
365afcd017 minor code tidy up
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11843 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-02-06 13:42:45 +00:00
William S Fulton
bf0ee4471c (method, typelist) special variable macro fixed/enhanced and made official
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11470 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-29 20:50:39 +00:00
Haoyu Bai
6d2aef67d9 Replaced all [const] String_or_char * to const_String_or_char_ptr, by the following command:
sed -i "s/\(const \)\?String_or_char \*/const_String_or_char_ptr /g" CParse/* Include/* Modules/* Preprocessor/* Swig/*

This is a preparation for moving to new DOH, since for strong typed objects we need the const_String_or_char_ptr class to implicit convert to and from String * or const char *.



git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11080 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-01-24 13:15:51 +00:00
William S Fulton
da0b517a7f accept unix directory separators on windows for input file
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11001 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-12-24 14:50:26 +00:00
William S Fulton
6fb0f48935 customised ccache support: read the CCACHE_OUTFILES env variable and if exists, the names of all generated files are written to the filename specified in the env variable
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10898 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-11-03 12:51:45 +00:00
William S Fulton
1ebd0466f5 formatting fix
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10871 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-09-18 20:28:40 +00:00
William S Fulton
336b50b43d Add the optimal attribute to the out typemap for more optimal code generation when returning objects by value
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10450 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-05-14 22:12:31 +00:00
William S Fulton
9976dc9d75 Add allprotected mode for wrapping protected members when using directors
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10381 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-04-20 20:41:01 +00:00
Xavier Delacour
cb131bfeb9 Fixed import directive, string access segv bug, SWIG_Octave_{Get,Set}Module bug, and added partial support for boost pointers.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10301 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-03-09 20:21:14 +00:00
Xavier Delacour
13c0b040fc Fix Octave C support by adding extern "C" around header section. Fix Octave examples (simple, contract, variables, pointer, funcptr) such that example.c files are built with C compiler, and wrappers with C++ compiler.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10299 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-03-05 15:29:01 +00:00
William S Fulton
fe042d2ebc Replace cvs $Header$ with svn $Id$
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10003 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-10-17 21:42:11 +00:00
William S Fulton
7199cf2ef0 Ensure the premature garbage collection prevention parameter (pgcpp) is generated for Java wrappers
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9943 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-09-19 23:17:50 +00:00
William S Fulton
8c2b66a11d Fix director operator pointer casts
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9536 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-11-09 22:32:28 +00:00
William S Fulton
aa04c4c057 beautify/format source code with gnu indent
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9505 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-11-01 23:54:54 +00:00
William S Fulton
a510b20491 Directors are output in the order in which they are declared in the C++ class rather than in some pseudo-random order.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9393 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-10-03 22:52:31 +00:00
William S Fulton
f0d1d772fa - explicitcall feature removed.
- Instead of using the swig_up flag in each director method (Python, Ruby, Ocaml) to indicate
whether the explicit C++ call to the appropriate base class method or a normal
polymorphic C++ call should be made, the new approach makes one of these calls
directly from the wrapper method.
- Java/C# recursive director method calls fixed (no need for explicitcall feature to solve this now)


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9275 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-09-13 20:55:24 +00:00
William S Fulton
797317163a cosmetics
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8988 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-03-07 22:02:54 +00:00
William S Fulton
7f74b8e7a3 Common template for head of each file detailing licence, distribution and authors information
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8972 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-03-06 22:51:01 +00:00
William S Fulton
6b6147f03b Deal with Microsofts attempt at deprecating C standard runtime functions for proprietary ones in Visual Studio 2005
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8847 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-02-19 22:16:56 +00:00
Marcelo Matus
ae430d0ea9 implement the naturalvar feature for global vars in java and csharp, implement the 'allowexcept' feature for global variables
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8578 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-28 02:39:24 +00:00
Marcelo Matus
a275bbd30f add the 'naturalvar' option/mode/feature, to allow member variables to be treated in a natural way, as the global ones. This mean use the const SWIGTYPE &(C++)/SWIGTYPE(C) typemaps instead of the plain SWIGTYPE * typemap for the set/get methods.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8089 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-27 21:48:56 +00:00
Marcelo Matus
ae09b70a40 changes to support cast ranking for dispatch and/or overloading
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8044 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-23 00:06:27 +00:00
Marcelo Matus
251014efcb add the fast dispatch option/feature
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7950 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-08 08:54:05 +00:00
William S Fulton
ddd9f11c81 template ext mode on for all languages, not just Python now
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7130 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-04-01 19:46:06 +00:00
Marcelo Matus
00ea3d5ae8 adding missing virtual destructor
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7020 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-03-02 17:51:58 +00:00
John Lenz
67b49825cb Add support for the -external-runtime argument and update all language modules to use it
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6993 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-02-23 22:40:51 +00:00
William S Fulton
347f342fab tidyup
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6839 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-12-06 22:53:09 +00:00
Marcelo Matus
6d8ba96466 fix protected constructor by using clean_overloaded to utils.cxx
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6801 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-12-01 00:47:10 +00:00
Marcelo Matus
5c273fc110 process protected/private bases
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6736 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-15 22:53:13 +00:00
John Lenz
c65f985bc6 Revert guile_gh.swg and guile_gh_run.swg to not use new runtime system.
Added global variable to hold status of -runtime,-c,-noruntime flag for use
  in guile gh module mode.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6630 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-02 22:06:53 +00:00
Marcelo Matus
5023285fb8 Fix directors + protected pure virtual members + protected
constructor.

Now it doesn't crash, you don't need to use dirprot, and no, it is not
emitting all the protected members, unless dirprot is used.

Swig only emits the protected members or constructors needed to prevent
the compilation for crashing. The rest of the protected members
are emitted when dirprot is used.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6493 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-24 05:58:15 +00:00
Marcelo Matus
114c703acd fix director + abstract + constructors, reported by Brian Kelley
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6478 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-22 07:25:42 +00:00
Marcelo Matus
a66c87f147 fix SwigValueWrapper
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6443 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-19 23:34:04 +00:00
John Lenz
75e462baa8 Removed ability to share type information by C linking
All type sharing happens through a global variable in the target language.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6390 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-16 18:23:59 +00:00
Marcelo Matus
48d1b19bb7 fix empty throw() + directors
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6322 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-05 21:06:56 +00:00
William S Fulton
4c02e7cc0e Fix for enum forward declarations
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6117 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-08-23 20:10:51 +00:00
Marcelo Matus
405a7335a7 fix java reg. tests and add -directors flag
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5867 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-11 05:55:35 +00:00
William S Fulton
d19287dc1f enum support function for looking up the enum node from the symbol table given any enum string type
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5848 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-09 19:33:05 +00:00
Henning Thielemann
b6cf16db6d 'const' for parameters of addSymbol
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5766 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-18 19:00:23 +00:00
William S Fulton
ef24de36fb bool patch fix. Needed for NextStep.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5726 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-19 21:44:44 +00:00
William S Fulton
72618a43fb Overloading fixes for when methods cannot be disambiguated.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5713 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-12 21:48:55 +00:00
William S Fulton
c00aaf0f5b Moved non static function declarations from source files into header files
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5602 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-28 21:48:39 +00:00
Marcelo Matus
c41374becc %rename(x) Foo::y();
%inline %{
class Foo {
protected:
    void x();
public:
    void y();
};

%}

will work in plain or plain director mode, but it will complain the
same as before with director protected support.

The reason is that the parser emmits the warning, and at that stage it
is not possible to decide if the protected Foo::x() could or not
conflict with the renamed Foo::y(), since Foo::x() could be virtual,
even when no "virtual" attribute is used.



Core:
 parser.y: Detect the dirprot mode and prevents the generation of
           protected symbols at the parsing stage.
 lang.cxx: Export the director_protected_mode for parser.y and the
           director protected member detection is much cleaner.
 main.cxx: Fix the -dirprot flag, it was working in SWIG_FEATURE but
           not in the command line.(minor thing not relate to the error).
 swigmod.h: added Lang::dirprot_mode() for cleaner detection.
 utils.cxx: is_member_director() centralizes and improve the test.

Test suite:
 protected_rename.i: added %inline, so it can compile now.
 director_protected.i: more cases, checking using %rename.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5530 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-10 23:10:31 +00:00
Marcelo Matus
634b973f31 The dirprot feature is now disabled by default. Added dirprot option and ruby runtime examples.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5510 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 02:52:08 +00:00