swig/Source/CParse
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
..
.cvsignore *** empty log message *** 2003-01-22 08:11:51 +00:00
cparse.h swigver.h removed 2002-12-11 22:30:54 +00:00
cscanner.c Further patch to :: space handling. 2003-08-11 17:55:04 +00:00
parser.y Fixed more %rename errors, and moving 2003-12-11 03:59:18 +00:00
templ.c Major refactoring of DOH List/Hash iterators. See CHANGES 2003-09-11 20:26:57 +00:00
util.c Fixed more %rename errors, and moving 2003-12-11 03:59:18 +00:00