several fixes, see CHANGES.current 10/04/2004

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6317 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2004-10-05 00:19:26 +00:00
commit 776f15623e
17 changed files with 216 additions and 97 deletions

View file

@ -43,6 +43,7 @@ extern int yylex();
/* parser.y */
extern SwigType *Swig_cparse_type(String *);
extern Node *Swig_cparse(File *);
extern Hash *Swig_cparse_features();
/* util.c */
extern void Swig_cparse_replace_descriptor(String *s);

View file

@ -171,6 +171,11 @@ static Hash *rename_hash = 0;
static Hash *namewarn_hash = 0;
static Hash *features_hash = 0;
Hash *Swig_cparse_features() {
if (!features_hash) features_hash = NewHash();
return features_hash;
}
static String *feature_identifier_fix(String *s) {
if (SwigType_istemplate(s)) {
String *tp, *ts, *ta, *tq;
@ -4620,6 +4625,7 @@ exprcompound : expr PLUS expr {
}
| type LPAREN {
skip_balanced('(',')');
$1 = Swig_symbol_type_qualify($1,0);
if (SwigType_istemplate($1)) {
$1 = SwigType_namestr($1);
}

View file

@ -21,6 +21,7 @@ static void add_parms(ParmList *p, List *patchlist, List *typelist) {
SwigType *ty = Getattr(p,"type");
SwigType *val = Getattr(p,"value");
Append(typelist,ty);
Append(typelist,val);
Append(patchlist,val);
p = nextSibling(p);
}