add forward class to the classhash

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8579 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2006-01-28 02:40:47 +00:00
commit 51becdbe09

View file

@ -1471,6 +1471,7 @@ static void default_arguments(Node *n) {
* ====================================================================== */
program : interface {
if (!classes) classes = NewHash();
Setattr($1,"classes",classes);
Setattr($1,k_name,ModuleName);
@ -3438,12 +3439,21 @@ cpp_forward_class_decl : storage_class cpptype idcolon SEMI {
/* Ignore */
$$ = 0;
} else {
String *scpname = Swig_symbol_qualifiedscopename(0);
$$ = new_node("classforward");
Setfile($$,cparse_file);
Setline($$,cparse_line);
Setattr($$,k_kind,$2);
Setattr($$,k_name,$3);
Setattr($$,k_symweak, "1");
if (!classes) classes = NewHash();
if (scpname && Len(scpname)) {
String *fname = NewStringf("%s::%s",scpname,$3);
Setattr(classes,fname,$$);
Delete(fname);
} else {
Setattr(classes,$3,$$);
}
add_symbols($$);
}
}