%extend for nested unnamed C structs
This commit is contained in:
parent
caaf224b59
commit
2aa540b9c0
3 changed files with 12 additions and 9 deletions
|
|
@ -198,6 +198,7 @@ static String *external_runtime_name = 0;
|
|||
enum { STAGE1=1, STAGE2=2, STAGE3=4, STAGE4=8, STAGEOVERFLOW=16 };
|
||||
static List *libfiles = 0;
|
||||
static List *all_output_files = 0;
|
||||
extern "C" void check_extensions();
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* check_extension()
|
||||
|
|
@ -1172,6 +1173,7 @@ int SWIG_main(int argc, char *argv[], Language *l) {
|
|||
Printf(stdout, "Processing unnamed structs...\n");
|
||||
Swig_nested_name_unnamed_c_structs(top);
|
||||
}
|
||||
check_extensions();
|
||||
|
||||
if (Verbose) {
|
||||
Printf(stdout, "Processing types...\n");
|
||||
|
|
|
|||
|
|
@ -338,7 +338,9 @@ static void insertNodeAfter(Node *n, Node *c) {
|
|||
set_nextSibling(n, c);
|
||||
set_previousSibling(c, n);
|
||||
}
|
||||
|
||||
extern "C" Hash *extendhash;
|
||||
extern "C" void merge_extensions(Node *cls, Node *am);
|
||||
extern "C" void append_previous_extension(Node *cls, Node *am);
|
||||
void Swig_nested_name_unnamed_c_structs(Node *n) {
|
||||
if (!classhash)
|
||||
classhash = Getattr(n, "classes");
|
||||
|
|
@ -377,15 +379,15 @@ void Swig_nested_name_unnamed_c_structs(Node *n) {
|
|||
}
|
||||
Delete(ty);
|
||||
// Check for extensions
|
||||
/* // TODO: we can save extensions hash like class hash and move check_extensions() after nesting processing
|
||||
// TODO: we can save extensions hash like class hash and move check_extensions() after nesting processing
|
||||
if (extendhash) {
|
||||
if (Node *am = Getattr(extendhash, name)) {
|
||||
// Merge the extension into the symbol table
|
||||
merge_extensions(c, am);
|
||||
append_previous_extension(c, am);
|
||||
Delattr(extendhash, clsname);
|
||||
Delattr(extendhash, name);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
Swig_symbol_setscope(Swig_symbol_global_scope());
|
||||
add_symbols_c(c);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue