Commit graph

505 commits

Author SHA1 Message Date
Marcelo Matus
409dff398b added a new broken director case. the fix is simple but
it will require to modify lang.cxx, so, it will
wait the next release.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5561 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-13 09:05:54 +00:00
William S Fulton
fc6bdd5217 Director protected method wrapping tests
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5559 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-13 00:21:17 +00:00
William S Fulton
0116de6769 Added %javamethodmodifiers check
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5558 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-13 00:20:42 +00:00
William S Fulton
87cd33a6d6 Added missing function body which was causes linker errors
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5552 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-12 23:19:07 +00:00
William S Fulton
76e67c8cee *** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5542 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-11 21:44:56 +00:00
William S Fulton
d71d6d1d85 Added test for %import
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5540 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-11 21:33:34 +00:00
William S Fulton
121f9b5740 Added test for %import
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5537 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-11 21:18:21 +00:00
William S Fulton
55c4bf307f base() changed to basemethod() - base is a C# keyword
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5536 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-11 21:16:21 +00:00
Marcelo Matus
9c372c5c64 Fixed more %rename errors, and moving
the function 'need_protected' outside parser.y,
ie, if more subtle cases appear, they can be
fixed without changing parser.y.

Now parser.y looks much more like the original 1.32.

 Source/CParse/parser.y: moving and fixing 'need_protected'
 Source/CParse/util.c:  moving and fixing 'need_protected'
 Examples/test-suite/director_protected.i: more %rename cases
 Examples/test-suite/director_using.i: fixing bad module name

The errors in question where related to the mix of
%rename + (typedef|static)  + protected + dirprot_mode:


%rename(s) Foo::p;
%rename(q) Foo::r;

%inline {
class Foo {
public:
  virtual ~Foo() {}

  int p(){ return 1;}
  int r(){ return 1;}

protected:

  typedef int q();
  static int s();
};

since q and s look like functions, the parser was adding them
completly to the symbol table, and clashing latter with the
attemped renames.

The error was only visible when dirprot was enabled, with
the old behavior it was ok.

Marcelo


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5533 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-11 03:59:18 +00:00
Marcelo Matus
72984676ca Lateral change to add runtime "reprotection" at the python
side for protected director members.

Lib/python/director.swg: added needed code for runtime checking
Source/Modules/python.cxx: added needed code for runtime checking
director_protected_runme.py: checks now that the runtime protection is working


The extra runtime checking is only done for protected members,
so, the old public directors members don't feel any overhead.

This finished the director protected support for the python language.
Java and Ocalm will need to add the "reprotection" mechanism latter.
But as in the python case, the changes will be localized in the
languages files, and there will be no need to touch the core
files anymore.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5532 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-11 01:59:12 +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
Logan Johnson
b3b75149de *** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5529 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-10 14:28:29 +00:00
Marcelo Matus
45ffdc02a3 added the using_pointers test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5527 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 23:48:54 +00:00
Marcelo Matus
f7e02f46fc fixed the problem with 'using' and protected mebers. now it seems to be safe to generate the protected members as protected again. all the test are running and the director_protected_runme.rb now test for the right access control
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5526 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 23:46:39 +00:00
Marcelo Matus
66ae9df8b1 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/SWIG@5525 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 23:24:37 +00:00
Dave Beazley
d18e73017f PHP OS X changes.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5519 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 18:53:39 +00:00
Logan Johnson
97f6d6a50d *** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5518 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 18:49:26 +00:00
Logan Johnson
91a3f9fc4f *** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5517 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 18:39:19 +00:00
Dave Beazley
b4a8805a9f Added test case just to check a few things with protected/private virtual methods
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5515 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 17:50:29 +00:00
Marcelo Matus
ae75ec65dd emitting and testing protected methods for director protected members
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5512 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 10:38:34 +00:00
Marcelo Matus
833b2f7f0a detecting polymorphic virtual methods properly
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5511 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 10:36:15 +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
Art Yerkes
65a0e91dc2 value_wrapper -> valuewrapper. My test suite depends on the module name
matching the file name.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5509 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 02:06:57 +00:00
Marcelo Matus
93dd1e228e fix problem with protected members, and add some of them to the test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5507 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-08 22:50:46 +00:00
William S Fulton
05b947216a Multiple inheritance workarounds for C#
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5503 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-08 21:31:05 +00:00
Marcelo Matus
bbde8dafa9 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/SWIG@5498 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-07 23:00:02 +00:00
Marcelo Matus
825058f7e5 Moved director+protected members test to BROKEN
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5497 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-07 04:07:46 +00:00
William S Fulton
e1fd92428f Added STRING_OUT typemap test.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5494 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-06 23:03:30 +00:00
Art Yerkes
3cfd2c7fee String from ptr example. Demonstrates use of out typemap and handling of
return value with argout.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5490 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-05 22:59:42 +00:00
Art Yerkes
4639f09df5 Added string-from-ptr example.
-- Response to a question asked by Thaddeus L. Olczyk


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5489 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-05 22:58:56 +00:00
Marcelo Matus
0f19564193 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/SWIG@5485 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-05 01:59:28 +00:00
Dave Beazley
9297f1b229 Fixed configure bug
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5482 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-04 19:15:07 +00:00
Art Yerkes
b2fa1eab8b Added checklist entry and corrected warning.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5479 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-04 06:59:49 +00:00
Art Yerkes
35e21e1c68 This example both shows the new enum literal facility, and is a regression
test against the enum scoping problem I had.

Ocaml.cxx: Accidentally reintroduced the enum scoping problem, so I added
an example that will fail if this is ever broken again.

I encountered the actual problem in avifile.h


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5478 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-04 06:57:57 +00:00
Art Yerkes
e0dca0ec65 shapes example: slight correction to depth map.
makedebugtop: include swig.cmo
Lib: factored out more common code, slightly reorganized class type.
     added director define and exceptions.
     std_string: length from the original ocaml string (no longer depends on
      null termination)
     ocamldec.swg/ocaml.swg: added caml_string_len
Examples/Makefile.in: quiet about checking out files.
Ocaml.cxx:
     Fixed abstract director test case.
     Include/exclude director.swg based on directors being enabled.
Final edits for 1.3.20, barring bugs being discovered.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5477 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-04 06:15:07 +00:00
Dave Beazley
0a0bdd880b mzscheme tweaks.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5475 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-03 20:29:30 +00:00
Dave Beazley
e868cd6d42 Added OS X tweaks for guile. Note: some guile examples don't use this makefile and remain broken.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5472 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-03 18:10:45 +00:00
William S Fulton
89ca78ce96 Added test for javacode typemap for a templated class
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5464 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-02 22:18:09 +00:00
William S Fulton
9f6df388f1 Added test for arrays of C structs (not typedef'd)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5463 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-02 22:17:44 +00:00
Dave Beazley
da53ad7bf2 Consolidated some of the C test cases.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5456 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-02 18:37:42 +00:00
Logan Johnson
8f235b29c2 Suppress warning about multiple inheritance for Ruby.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5454 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-01 23:11:46 +00:00
Dave Beazley
2f45812b98 Warning messages.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5453 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-01 13:38:08 +00:00
Dave Beazley
d9dc0ad9d9 new example
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5444 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-30 18:51:05 +00:00
William S Fulton
930a6922c5 test non-public destructors
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5443 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-29 00:31:24 +00:00
William S Fulton
9e61b5f619 Added a protected destructor in derived class
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5442 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-29 00:29:54 +00:00
Dave Beazley
f56c57274e new example
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5435 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-28 20:38:59 +00:00
Dave Beazley
4edf93a7f2 *** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5427 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-27 16:54:26 +00:00
Dave Beazley
5d6988caa4 *** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5423 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-26 20:57:53 +00:00
Marcelo Matus
0bfce10a2b Added test for simple template +typedef combinations that produce an inf. recursion, and then seg fault
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5415 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-26 08:49:55 +00:00
William S Fulton
5a286c6c10 SWIG-1.1 documentation directive removed
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5414 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-25 22:47:39 +00:00