Eliminated use of swigkeys.h/.c files.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9632 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
c12550e4ad
commit
ff41049b1c
20 changed files with 993 additions and 1279 deletions
|
|
@ -15,7 +15,6 @@
|
|||
char cvsroot_fragment_c[] = "$Id$";
|
||||
|
||||
#include "swig.h"
|
||||
#include "swigkeys.h"
|
||||
#include "swigwarn.h"
|
||||
|
||||
static Hash *fragments = 0;
|
||||
|
|
@ -35,8 +34,8 @@ void Swig_fragment_register(Node *fragment) {
|
|||
Swig_fragment_emit(fragment);
|
||||
return;
|
||||
} else {
|
||||
String *name = Copy(Getattr(fragment, k_value));
|
||||
String *type = Getattr(fragment, k_type);
|
||||
String *name = Copy(Getattr(fragment, "value"));
|
||||
String *type = Getattr(fragment, "type");
|
||||
if (type) {
|
||||
SwigType *rtype = SwigType_typedef_resolve_all(type);
|
||||
String *mangle = Swig_string_mangle(type);
|
||||
|
|
@ -51,11 +50,11 @@ void Swig_fragment_register(Node *fragment) {
|
|||
}
|
||||
if (!Getattr(fragments, name)) {
|
||||
String *section = Copy(Getattr(fragment, "section"));
|
||||
String *ccode = Copy(Getattr(fragment, k_code));
|
||||
Hash *kwargs = Getattr(fragment, k_kwargs);
|
||||
String *ccode = Copy(Getattr(fragment, "code"));
|
||||
Hash *kwargs = Getattr(fragment, "kwargs");
|
||||
Setmeta(ccode, "section", section);
|
||||
if (kwargs) {
|
||||
Setmeta(ccode, k_kwargs, kwargs);
|
||||
Setmeta(ccode, "kwargs", kwargs);
|
||||
}
|
||||
Setattr(fragments, name, ccode);
|
||||
if (debug)
|
||||
|
|
@ -94,11 +93,11 @@ void Swig_fragment_emit(Node *n) {
|
|||
}
|
||||
|
||||
|
||||
name = Getattr(n, k_value);
|
||||
name = Getattr(n, "value");
|
||||
if (!name) {
|
||||
name = n;
|
||||
}
|
||||
type = Getattr(n, k_type);
|
||||
type = Getattr(n, "type");
|
||||
if (type) {
|
||||
mangle = Swig_string_mangle(type);
|
||||
}
|
||||
|
|
@ -120,14 +119,14 @@ void Swig_fragment_emit(Node *n) {
|
|||
code = Getattr(fragments, name);
|
||||
if (debug)
|
||||
Printf(stdout, "looking subfragment %s\n", name);
|
||||
if (code && (Strcmp(code, k_ignore) != 0)) {
|
||||
if (code && (Strcmp(code, "ignore") != 0)) {
|
||||
String *section = Getmeta(code, "section");
|
||||
Hash *nn = Getmeta(code, k_kwargs);
|
||||
Hash *nn = Getmeta(code, "kwargs");
|
||||
if (!looking_fragments)
|
||||
looking_fragments = NewHash();
|
||||
Setattr(looking_fragments, name, "1");
|
||||
while (nn) {
|
||||
if (Equal(Getattr(nn, k_name), "fragment")) {
|
||||
if (Equal(Getattr(nn, "name"), "fragment")) {
|
||||
if (debug)
|
||||
Printf(stdout, "emitting fragment %s %s\n", nn, type);
|
||||
Setfile(nn, Getfile(n));
|
||||
|
|
@ -148,14 +147,14 @@ void Swig_fragment_emit(Node *n) {
|
|||
Printf(f, "%s\n", code);
|
||||
if (debug)
|
||||
Printf(f, "/* end fragment %s */\n\n", name);
|
||||
Setattr(fragments, name, k_ignore);
|
||||
Setattr(fragments, name, "ignore");
|
||||
Delattr(looking_fragments, name);
|
||||
}
|
||||
}
|
||||
} else if (!code && type) {
|
||||
SwigType *rtype = SwigType_typedef_resolve_all(type);
|
||||
if (!Equal(type, rtype)) {
|
||||
String *name = Copy(Getattr(n, k_value));
|
||||
String *name = Copy(Getattr(n, "value"));
|
||||
String *mangle = Swig_string_mangle(type);
|
||||
Append(name, mangle);
|
||||
Setfile(name, Getfile(n));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue