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:
parent
ae430d0ea9
commit
51becdbe09
1 changed files with 10 additions and 0 deletions
|
|
@ -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($$);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue