Commit graph

70 commits

Author SHA1 Message Date
Marcelo Matus
3023f3aad7 fix %callback and add %pythoncallback
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6279 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-01 21:44:26 +00:00
William S Fulton
3a56cbeaa9 memory leak fix
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6219 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-09-03 22:13:41 +00:00
William S Fulton
7e5ec7742c Fix for enum forward declarations
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6117 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-08-23 20:10:51 +00:00
William S Fulton
9705ff87be patch by Kevin Smith to emit directors when %feature("director") is specified for a class with no virtual methods, but a virtual destructor
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5905 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-05-12 21:18:09 +00:00
William S Fulton
594773a7e3 Revert typemaps changes for member variables (and static members and globals for some languages ).
The typemaps were changed to use const ref typemaps (C++ only, not C).
Inconsistency removed and the pointer typemaps used again.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5890 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-26 20:24:18 +00:00
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
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
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
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
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
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
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
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
Marcelo Matus
4e40e430cf more comments and cases in the unrollVirtual method, still there is one that is not working...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5668 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-22 07:07:41 +00:00
Marcelo Matus
7b6925d8ca better treatment of the '0' director methods case
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5658 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-21 01:04:50 +00:00
Marcelo Matus
6b0485b6b5 fixes for the nodirector feature and the '0' director member case
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5657 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-21 00:46:08 +00:00
William S Fulton
8377edf02a Various warning fixes for .NET 2003 cl /W4 to work barring one warning and for gcc -ansi -Wall -pedantic to be warning free:
const fixes and function prototype declarations matching the definition etc


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5639 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-15 22:46:07 +00:00
Marcelo Matus
48d11474ee - Normalize the 'Swig_error' calls and formats, before some
of the strings start like "Error. XXX", others like "XXX".
  The format is now defined in 'error.c:Swig_error_msg_format()'.

- Normalize the multiline error/warning messages to correctly
  use -Fformat definition.

- Centralize the error/warning format definitions in
  'error.c:Swig_error_msg_format()'.

- Fix a minor error in cpp.c, that after finding an error, still
  was emitting a redefined macro, producing duplicated error/warning
  messages in parser.y.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5635 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-15 08:33:12 +00:00
Marcelo Matus
826771ec31 added support for friend declarations and clean/fix the
unrollVirtualMethods for the error shown in the director_redefined.i
example.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5621 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-13 01:12:53 +00:00
Dave Beazley
b29f77f801 Weakened constructor name check to work around nested-class hack reported by
Gustavo Niemeyer.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5565 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-14 15:42:32 +00:00
Marcelo Matus
7335663344 %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@5530 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-10 23:10:31 +00:00
Marcelo Matus
9bc97cf587 minor clean up
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5528 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 23:57:53 +00:00
Marcelo Matus
3a2ad32d92 promote the 'using' methods to public. Also, fix a sef. fault for using with pointers, see using_pointers.i
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5525 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 23:24:37 +00:00
Marcelo Matus
86edc68494 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@5510 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 02:52:08 +00:00
Marcelo Matus
80baf404c3 fix problem with protected members, and add some of them to the test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5507 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-08 22:50:46 +00:00
Marcelo Matus
7ea7abf7ff preventing generation of director protected members for languages with no director support
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5506 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-08 22:21:11 +00:00
Marcelo Matus
c7d4362896 director protected support cleanup
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5505 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-08 21:56:14 +00:00
Dave Beazley
9f9b71ed6c Fixed bus error. Removed inline functions. Minor cleanup.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5500 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-08 15:24:39 +00:00
Marcelo Matus
7bbbe3b274 Moving the director protected member support to the top level. Now it should works in all the languages. Test it.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5498 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-07 23:00:02 +00:00
Dave Beazley
3631c27ad3 Restored patch that added "classtypeobj" attribute.
Guys..... please be careful when committing.  I added this patch a couple of days
ago and now it's suddenly gone.  What's the deal?  Did someone commit an old version
of lang.cxx on top of this patch?

-- Dave


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5488 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-05 18:50:16 +00:00
Marcelo Matus
75c1713b2d Fixes to support protected members with director, proper virtual member recognition and support of the nodirector feature
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5485 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-05 01:59:28 +00:00
Dave Beazley
65734165ca Added new attribute to class nodes
"classtypeobj"

This is the raw, SWIG type-system representation of the class type.  This
should be used in all typemap lookups and operations involving the class name.

Note:  There is inconsistent use of the "classtype" attribute across language modules--
especially in code related to directors.   To avoid breaking the universe, I have
decided to store the correct type encoding as "classtypeobj" instead of replacing
"classtype".   As modules are checked they can elect to use "classtype" or "classtypeobj"
as appropriate.

Note: William, you should use "classtypeobj" to fix the typemap problem (probably).


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5457 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-02 18:56:59 +00:00
William S Fulton
3772663815 extern method declarations moved to header file
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5334 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-18 20:21:15 +00:00
Dave Beazley
306683fc3c Contract checking now turned on by default. Some other cleanup.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5313 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-13 04:17:52 +00:00
William S Fulton
d725be7f9e Warning fix
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5276 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-08 11:16:53 +00:00
Art Yerkes
4951d70c53 Director related changes, other edits.
director_wombat testcase, as well as all others except director_abstract
compile.
Four test cases fail.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5196 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-10-22 04:01:27 +00:00
Dave Beazley
133ff57579 Fixed problem with smart pointers and overloaded static methods.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5190 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-10-14 19:02:10 +00:00
Dave Beazley
138ffca579 Fixed [ 812528 ] externs not correct when throw is in signature.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5162 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-26 20:37:30 +00:00
William S Fulton
108bb7aeb0 Director code mods:
- Compliance with ISO/IEC 14882:1998(E) 17.4.3.1.2 -> eg double underscores removed
- Potential member variable and method name clashes remove by preceding with 'swig'
- consistent use of C++ booleans for the swig_disown flag across and within the modules that use this it in director code.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5140 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-22 22:57:16 +00:00
William S Fulton
f569dd135d __DIRECTOR__ renamed Swig::Director
SWIG_DIRECTOR_EXCEPTION renamed Swig::DirectorException (similarly for derived classes)


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5138 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-22 20:13:42 +00:00
Dave Beazley
4cf4dad108 Major refactoring of DOH List/Hash iterators. See CHANGES
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5101 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-11 20:26:57 +00:00
William S Fulton
c4d545bd5d new method abstractClassTest - by Scott Michel
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5085 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-06 15:39:31 +00:00
William S Fulton
f87e2f574a Java directors implementation contributed by Scott Michel.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5075 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-04 23:15:05 +00:00
Mark Rose
c1b57370b6 Abstract directors and typemap fixes.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5024 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-08-30 05:03:34 +00:00
Mark Rose
e87d1bb79b Directors ignore private ctors
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4988 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-08-11 01:05:05 +00:00
William S Fulton
4e364b0007 Re-introduces warning for missing globalin and memberin typemaps. Same warning as missing varin typemap.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4840 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-01 22:52:28 +00:00
William S Fulton
c6321fbf08 Re-instated warning about except typemap deprecation
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4838 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-01 18:09:41 +00:00
Dave Beazley
693edf6836 Minor cleanup.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4830 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-05-29 18:27:46 +00:00