swig/Source
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
..
CParse %rename(x) Foo::y(); 2003-12-10 23:10:31 +00:00
DOH [ 829317 ] Adds DohSplitLines function 2003-10-31 17:36:37 +00:00
Include *** empty log message *** 2003-11-20 02:49:12 +00:00
Modules %rename(x) Foo::y(); 2003-12-10 23:10:31 +00:00
Preprocessor Fixed [ 850666 ] #include extra line added 2003-11-28 18:08:13 +00:00
Swig Fixed casting problem with references to arrays in gcc-3.3 (and maybe other versions). 2003-11-28 19:06:35 +00:00
.cvsignore Missing files 2003-05-08 13:02:58 +00:00
Makefile.am *** empty log message *** 2003-12-08 15:24:50 +00:00
README *** empty log message *** 2002-12-03 20:43:22 +00:00

SWIG Source directory

This directory currently contains a mix of legacy SWIG1.1 code and
recent development work.  As a result, it's still a little messy.
Here is a rough breakdown of the directories:

 Source/DOH          -  A core set of basic datatypes including
                        strings, lists, hashes, and files.  Used
                        extensively by the rest of SWIG.

 Source/Swig         -  Swig core. Type-system, utility functions.

 Source/Preprocessor -  SWIG C Preprocessor

 Source/CParse       -  SWIG C Parser (still messy)

 Source/Modules      -  Language modules.


The following directories may be in CVS, but are largely deprecated:

 Source/Modules1.1   -  Old SWIG-1.1 modules. Empty.

 Source/LParse       -  Experimental parser.  Officially dead
                        as CParse is more capable.

 Source/SWIG1.1      -  Old SWIG1.1 core. Completely empty now.