Commit graph

1,061 commits

Author SHA1 Message Date
Marcelo Matus
23ea59435d fix dirprot mode
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5874 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-11 12:20:04 +00:00
Marcelo Matus
64c0b01733 error fix in lang.cxx and more comments
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5871 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-11 08:09:57 +00:00
Marcelo Matus
1eba66b31b fix java reg. tests and add -directors flag
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5867 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-11 05:55:35 +00:00
Marcelo Matus
a9b4a82eae fix inplace python opers
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5859 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-09 21:58:47 +00:00
William S Fulton
5b0ea529f9 C++ enums are no longer wrapped by integers, they are now wrapped by C# enums.
For Example, given C++:

                enum AnEnum { foo, bar };
                typedef AnEnum AnEnumeration;
                void something(AnEnum e, AnEnumeration f);

            The following is generated:

                public enum AnEnum {
                  foo,
                  bar
                }
                public static void something(AnEnum e, AnEnum f) {...}

See the changes file for further details


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5851 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-09 19:41:40 +00:00
William S Fulton
152a5661a4 Mods for enumvalue being split into enumvalue and enumvalueex.
enumvalue contains the enum value for an enum item (if one given/parsed)
enumvalueex fills in the missing enum values, eg enumvalueex is set to 0 if no enum value given for the first enum item,
otherwise, contains the previous enum value + 1.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5850 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-09 19:37:33 +00:00
William S Fulton
374b5b7b44 Fix enums in the type system
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5849 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-09 19:34:00 +00:00
William S Fulton
678139bb95 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@5848 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-09 19:33:05 +00:00
William S Fulton
c369bc25ef mods for adding enums to the symbol table
enumvalue split into enumvalue and enumvalueex


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5847 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-09 19:28:16 +00:00
William S Fulton
1e5687070e Comments on the symbol table added
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5846 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-09 19:23:01 +00:00
William S Fulton
ef291371d5 enum fixes for the typesystem
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5845 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-09 19:22:01 +00:00
Henning Thielemann
c146a39d2e fixed NIL pointer problem for 'generaterename', nameToModula3 creates capitals after digits
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5844 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-08 16:05:57 +00:00
Marcelo Matus
4e64b1e7be fix array + typedef
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5827 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-03 08:45:22 +00:00
William S Fulton
c919e3a01c Fixes to compile under VC++ 6:
enum block_type needs to be public
can't use any + operators on enums


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5821 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-01 20:42:30 +00:00
Henning Thielemann
1cca8352ef made enum block_type a protected member of class MODULA3, hope that VC++ 6 is satisfied with that
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5818 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-01 15:49:16 +00:00
Marcelo Matus
ecff58b6bb fix casting type
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5814 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-01 03:58:47 +00:00
Marcelo Matus
facee0d359 slightly better support for template const/dest and features
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5811 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-31 11:29:54 +00:00
Marcelo Matus
0a3d3c0d0d added support for unnamed C++ enum members
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5805 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-31 01:35:44 +00:00
Marcelo Matus
d990cc031a better support for member vars
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5794 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-28 14:05:53 +00:00
Marcelo Matus
b1291b5a7b fixes some compiler warnings, and add better support
for member variables (in C++/python).


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5793 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-28 14:04:36 +00:00
Marcelo Matus
40e6464045 simpler mangling method
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5791 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-23 01:47:54 +00:00
Marcelo Matus
1e70ba49e7 Using the same mangling method whenever is needed.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5786 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-23 00:59:26 +00:00
Matthias Köppe
035bb2c955 Constness fix.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5781 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-21 13:15:06 +00:00
Matthias Köppe
e6d686e16f Fix the documentation strings of functions with anonymous arguments.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5779 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-21 11:49:44 +00:00
Henning Thielemann
483d8b4367 added basic Modula-3 support
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5776 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-19 11:45:29 +00:00
Marcelo Matus
48df694c7b add missing Swig_typedef_resolve_all
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5769 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-18 20:35:15 +00:00
Marcelo Matus
b6119293f3 fix director call for the single container argument case
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5768 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-18 20:32:14 +00:00
Henning Thielemann
a8340335f8 'const' for parameters of addSymbol
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5766 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-18 19:00:23 +00:00
Henning Thielemann
1a39907bd9 'const' for parameters of addSymbol
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5765 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-18 18:40:26 +00:00
Marcelo Matus
6c150e4328 Fragments can now be "type especialized", as the typemaps. The
syntax is as follows

 %fragment("name","header") { /* an old fragment */ }
 %fragment("name" {Type}, "header") { /* the fragment is type dependent */}

Now fragments can also be used inside templates:

 template <class T>
 struct A {
   %fragment("incode"{A<T>},"header") {
     /* 'incode' especialized fragment */
   }

   %typemap(in,fragment="incode"{A<T>}) {
     /*
       here we use the 'type especialized' fragment
       "incode"{A<T> }
      */
   }
 };


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5753 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-17 08:36:06 +00:00
Marcelo Matus
238cc1455c Added the #@ mangling extension
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5752 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-17 08:32:11 +00:00
Marcelo Matus
2e88f79ace Using the unused 'Swig_string_mangle' method to
implement the #@ preprocessor mangling


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5751 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-17 08:27:02 +00:00
Marcelo Matus
eae815451e Allowing the empty %template directive, such as
%template() std::vector<int>;

to process the class "typedef"s and "typemap"s. Before
only the internal "typedef"s were processed.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5750 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-17 08:18:17 +00:00
Marcelo Matus
22d2c01b50 Fragments can now be "type especialized", as the typemaps. The
syntax is as follows

 %fragment("name","header") { /* an old fragment */ }
 %fragment("name" {Type}, "header") { /* the fragment is type dependent */}

Now fragments can also be used inside templates:

 template <class T>
 struct A {
   %fragment("incode"{A<T>},"header") {
     /* 'incode' especialized fragment */
   }

   %typemap(in,fragment="incode"{A<T>}) {
     /*
       here we use the 'type especialized' fragment
       "incode"{A<T> }
      */
   }
 };

Also, there is a minor templ.c fix when expanding '#T'.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5749 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-17 08:01:06 +00:00
William S Fulton
82c4109a2d Director fix. Some director callback methods were not being called on all operating systems.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5746 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-11 21:26:47 +00:00
William S Fulton
9f9ba96e8e New commandline option -namespace for putting all generated classes into a C# namespace.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5739 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-24 21:05:48 +00:00
William S Fulton
e1d89a2cdc Generate package statement after the SWIG banner
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5738 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-24 21:03:47 +00:00
Matthias Köppe
61668907c8 Define FUNC_NAME also in the dispatch wrapper for overloaded
functions.  Patch by John Lenz, SF #896255.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5736 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-23 13:56:29 +00:00
William S Fulton
5998ecb442 bool patch code removal
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5729 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-20 22:52:49 +00:00
William S Fulton
0d2ef5a3ce Fixes for compilation by the Digital Mars Compiler. Submitted by Scott Michel.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5728 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-20 22:51:47 +00:00
William S Fulton
43f49bae98 boring warning fix
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5727 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-19 21:45:10 +00:00
William S Fulton
3fd2fa5dcc bool patch fix. Needed for NextStep.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5726 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-19 21:44:44 +00:00
Matthias Köppe
aa3f0b2b30 Don't produce invalid C code when invoked with the
-declaremodule option.  Reported by Tim Brown, SF #891108.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5723 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-13 16:03:24 +00:00
Matthias Köppe
335a2d4621 New command-line argument -init.
We use it for building the runtime library, where we don't want the
functions scheme_initialize et al.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5720 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-13 15:47:55 +00:00
Dave Beazley
f64d62c80c Removed 'bool' datatype. Not portable. Please don't use.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5719 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-13 00:20:12 +00:00
William S Fulton
1236b0bfcb Overloading fixes for when methods cannot be disambiguated.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5713 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-12 21:48:55 +00:00
William S Fulton
aed0e94056 Bill Hoffman patch to stop crashing when typewrapper class cannot be created. Overloading fixes for when methods cannot be disambiguated.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5712 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-12 21:48:37 +00:00
Matthias Köppe
b661ffa634 Replace the "known_classes" hash table by a node attribute. Methods
of classes in C++ namespaces now get the proper specializer in the
GOOPS declaration.  Reported by rm@mh-freiburg.de.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5709 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-10 15:26:22 +00:00
Marcelo Matus
15923cd8b8 Added the ref/unref 'recursive' featues. See refcount.i for details
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5705 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-10 09:21:36 +00:00
Marcelo Matus
d29dbe752d Keep the old non-resolved type str and add the fully
resolved one if is needed.

Add examples showing the problem with SWIG_TypeQuery
and template+typedef and the old type str, and how
it works now.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5704 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-10 08:37:30 +00:00