Commit graph

1,044 commits

Author SHA1 Message Date
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
Marcelo Matus
9f9e05ad30 Fixes for SWIG_TypeQuery and templates/typedefs,
before the swig_type_info fields 'str' and 'name'
where not consistent, one was fully resolved (name),
the other not, therefore

  typedef int Int;
  template <class C> struct Class {};

  SWIG_TypeQuery($descriptor(Class<int>*))

wasn't necessary the same that

  typedef int Int;
  template <class C> struct Class {};

  SWIG_TypeQuery("Class<int> *")

the problem was visible only when the latter form was used,
like in a static auxiliar function outside a typemap.

also, relax type name comparison with blanks, ie

  SWIG_TypeQuery("Class<int> *") := SWIG_TypeQuery("Class<int > *")


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5703 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-10 03:42:38 +00:00
Logan Johnson
c28431b42b Omit unused parameter names for C++ code only; this is illegal in C.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5702 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-09 23:08:54 +00:00
Logan Johnson
d43a3d22e4 Be sure to initialize all of the fields of a PyMethodDef struct to some
value, to avoid numerous compiler warnings.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5701 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-06 17:46:50 +00:00
Logan Johnson
48cd3f8afc Make sure that all fields of the swig_type_info struct are initialized
to something, to avoid numerous compiler warnings.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5699 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-06 17:44:13 +00:00
William S Fulton
11ed0bc80b fix classLookup() to return consistent results when %ignore specified
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5697 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-03 21:19:19 +00:00
Matthias Köppe
6cf25c39da Fix typos in help text.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5695 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-01 12:01:49 +00:00
Marcelo Matus
2f9749cb04 cosmetic fix to avoid warnings in the generated code
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5694 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-28 01:47:19 +00:00
Marcelo Matus
9b4df57aa4 Simple patch to allow fragments to include other fragments:
%fragment("Hello","header") "..."

%fragment("Hi","header",fragment="Hello") "..."

the latter fragment will include the first one if is invoked.

more than one fragment can be included at the time, just
keep adding fragment="f1",fragment="f2", etc.

this is used to emulate typemaps reuse, where all the
reusable typemap code is put in a fragment static method,
and then it can be included from another fragment typemap
as needed.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5690 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-27 23:39:35 +00:00
Marcelo Matus
8a9803addf fix memory leak with director and NewPointerObjects
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5688 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-26 10:20:06 +00:00
Marcelo Matus
f2995151b1 fix expansion for templates, ie from Type<(int)> to Type<int>
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5686 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-25 09:22:35 +00:00
Marcelo Matus
2625795a82 add support for 'throw' declarations in director classes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5682 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-24 00:28:54 +00:00
Marcelo Matus
94405ed6eb add support for 'throw' declarations in director classes and some fixes to compile the primitive_types.i test file
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5681 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-24 00:25:31 +00:00
Marcelo Matus
330628162e saves the rawval constant attribute when presents. this simplifies the generation of typemaps for char/strings
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5679 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-23 23:26:46 +00:00
Matthias Köppe
13aa3aa794 Uniquify the argument names used in GOOPS method declarations.
Reported by rm@mh-freiburg.de.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5677 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-23 15:05:34 +00:00
William S Fulton
238e948bbe Eric Sunshine patch - Mods to work on NextStep
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5674 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-22 22:42:18 +00:00
Marcelo Matus
4a50816ddb simple in fix the %new cleanup and the destructor handler
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5670 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-22 08:00:49 +00:00
Marcelo Matus
d02ce4b533 sorry, last commit was from an older version
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5669 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-22 07:17:05 +00:00