git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@492 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Dave Beazley 2000-06-18 16:24:55 +00:00
commit 8e0010c43a
22 changed files with 368 additions and 1825 deletions

View file

@ -19,6 +19,7 @@ INCLUDE = -I$(srcdir)/../Include \
-I$(srcdir)/../SWIG1.1 \
-I$(srcdir)/../SWIG1.3 \
-I$(srcdir)/../DOH/Include \
-I$(srcdir)/../Swig \
-I../Include
# Rules for creation of a .o file from .cxx

View file

@ -441,10 +441,10 @@ void JAVA::initialize()
sprintf(bigbuf, "Java_%s%s", c_pkgstr, module);
c_pkgstr = copy_string(bigbuf);
sprintf(bigbuf, "%s_%%f", c_pkgstr);
name_register((char*)"wrapper", copy_string(bigbuf));
name_register((char*)"set", (char*)"set_%v");
name_register((char*)"get", (char*)"get_%v");
name_register((char*)"member", (char*)"%c_%f");
Swig_name_register("wrapper", copy_string(bigbuf));
Swig_name_register("set", "set_%v");
Swig_name_register("get", "get_%v");
Swig_name_register("member", "%c_%m");
// Generate the java class
sprintf(bigbuf, "%s.java", module);
@ -524,7 +524,7 @@ void JAVA::create_function(char *name, char *iname, DataType *t, ParmList *l)
// Make a wrapper name for this function
char *jniname = makeValidJniName(iname);
char *wname = name_wrapper(jniname,package);
char *wname = Swig_name_wrapper(jniname);
free(jniname);
char *jnirettype = JavaTypeFromTypemap((char*)"jni", typemap_lang, t, iname);
@ -546,7 +546,7 @@ void JAVA::create_function(char *name, char *iname, DataType *t, ParmList *l)
fprintf(f_java, "native %s %s(", javarettype, iname);
if(shadow && member_func) {
String member_name = "";
if(strcmp(iname, name_set(name_member(shadow_name, shadow_classname))) == 0)
if(strcmp(iname, Swig_name_set(Swig_name_member(shadow_classname, shadow_name))) == 0)
member_name << "set";
else member_name << "get";
member_name << (char) toupper((int) *shadow_name);
@ -1032,7 +1032,7 @@ void JAVA::cpp_member_func(char *name, char *iname, DataType *t, ParmList *l) {
nativecall << "new " << shadowrettype << "(new Long(";
}
}
nativecall << module << "." << name_member(iname, shadow_classname) << "(_self";
nativecall << module << "." << Swig_name_member(shadow_classname,iname) << "(_self";
int pcount = l->nparms;
@ -1100,7 +1100,7 @@ void JAVA::cpp_static_func(char *name, char *iname, DataType *t, ParmList *l) {
nativecall << "new " << shadowrettype << "(new Long(";
}
}
nativecall << module << "." << name_member(iname, shadow_classname) << "(";
nativecall << module << "." << Swig_name_member(shadow_classname,iname) << "(";
int pcount = l->nparms;
int gencomma = 0;
@ -1162,9 +1162,9 @@ void JAVA::cpp_constructor(char *name, char *iname, ParmList *l) {
nativecall << " if(_self == 0 && " << shadow_classname << ".class == _selfClass()) {\n";
if (iname != NULL)
nativecall << tab8 << " _self = " << module << "." << name_construct(iname) << "(";
nativecall << tab8 << " _self = " << module << "." << Swig_name_construct(iname) << "(";
else
nativecall << tab8 << " _self = " << module << "." << name_construct(shadow_classname) << "(";
nativecall << tab8 << " _self = " << module << "." << Swig_name_construct(shadow_classname) << "(";
int pcount = l->nparms;
if(pcount == 0) // We must have a default constructor
@ -1227,7 +1227,7 @@ void JAVA::cpp_destructor(char *name, char *newname) {
fprintf(f_shadow, " public void _delete() {\n");
fprintf(f_shadow, " if(_self != 0 && %s.class == _selfClass()) {\n", shadow_classname);
fprintf(f_shadow, "\t%s.%s(_self);\n", module, name_destroy(realname));
fprintf(f_shadow, "\t%s.%s(_self);\n", module, Swig_name_destroy(realname));
fprintf(f_shadow, "\t_self = 0;\n");
fprintf(f_shadow, " }\n");
fprintf(f_shadow, " }\n\n");

View file

@ -5,3 +5,7 @@ extern "C" {
#include "doh.h"
}
#include "swig11.h"
extern "C" {
#include "swig.h"
}

View file

@ -314,7 +314,7 @@ MZSCHEME::create_function (char *name, char *iname, DataType *d, ParmList *l)
int argout_set = 0;
// Make a wrapper name for this
char * wname = name_wrapper (iname, prefix);
char * wname = Swig_name_wrapper (iname);
// Build the name for Scheme.
proc_name = "";

View file

@ -654,7 +654,7 @@ void PERL5::get_pointer(char *iname, char *srcname, char *src, char *dest,
// ----------------------------------------------------------------------
void PERL5::create_command(char *cname, char *iname) {
fprintf(f_init,"\t newXS(\"%s::%s\", %s, file);\n", package, iname, name_wrapper(cname,(char*)""));
fprintf(f_init,"\t newXS(\"%s::%s\", %s, file);\n", package, iname, Swig_name_wrapper(cname));
if (export_all) {
exported << iname << " ";
}
@ -683,7 +683,7 @@ void PERL5::create_function(char *name, char *iname, DataType *d, ParmList *l)
// Make a wrapper name for this
wname = name_wrapper(iname,(char*)"");
wname = Swig_name_wrapper(iname);
// Now write the wrapper function itself....this is pretty ugly
@ -1706,7 +1706,7 @@ void PERL5::cpp_close_class() {
// Output a FETCH method. This is actually common to all classes
pm << "sub FETCH {\n"
<< tab4 << "my ($self,$field) = @_;\n"
<< tab4 << "my $member_func = \"" << package << "::" << name_get(name_member((char*)"${field}",class_name,AS_IS),AS_IS) << "\";\n"
<< tab4 << "my $member_func = \"" << package << "::" << Swig_name_get(Swig_name_member(class_name,"${field}")) << "\";\n"
<< tab4 << "my $val = &$member_func($self);\n"
<< tab4 << "if (exists $BLESSEDMEMBERS{$field}) {\n"
<< tab8 << "return undef if (!defined($val));\n"
@ -1721,7 +1721,7 @@ void PERL5::cpp_close_class() {
pm << "sub STORE {\n"
<< tab4 << "my ($self,$field,$newval) = @_;\n"
<< tab4 << "my $member_func = \"" << package << "::" << name_set(name_member((char*)"${field}",class_name,AS_IS),AS_IS) << "\";\n"
<< tab4 << "my $member_func = \"" << package << "::" << Swig_name_set(Swig_name_member(class_name,"${field}")) << "\";\n"
<< tab4 << "if (exists $BLESSEDMEMBERS{$field}) {\n"
<< tab8 << "&$member_func($self,tied(%{$newval}));\n"
<< tab4 << "} else {\n"
@ -1834,7 +1834,7 @@ void PERL5::cpp_member_func(char *name, char *iname, DataType *t, ParmList *l) {
// Okay. We've made argument adjustments, now call into the package
func << tab4 << "my $result = " << package << "::" << name_member(realname,class_name)
func << tab4 << "my $result = " << package << "::" << Swig_name_member(class_name,realname)
<< "(@args);\n";
// Now check to see what kind of return result was found.
@ -1988,7 +1988,7 @@ void PERL5::cpp_constructor(char *name, char *iname, ParmList *l) {
// Constructor doesn't match classname so we'll just use the normal name
*pcode << "sub " << name_construct(realname) << " () {\n";
*pcode << "sub " << Swig_name_construct(realname) << " () {\n";
}
@ -2015,7 +2015,7 @@ void PERL5::cpp_constructor(char *name, char *iname, ParmList *l) {
i++;
}
*pcode << tab4 << "$self = " << package << "::" << name_construct(realname) << "(@args);\n"
*pcode << tab4 << "$self = " << package << "::" << Swig_name_construct(realname) << "(@args);\n"
<< tab4 << "return undef if (!defined($self));\n"
<< tab4 << "bless $self, \"" << fullclassname << "\";\n"
<< tab4 << "$OWNER{$self} = 1;\n"
@ -2055,7 +2055,7 @@ void PERL5::cpp_destructor(char *name, char *newname) {
<< tab4 << "my $self = tied(%{$_[0]});\n"
<< tab4 << "delete $ITERATORS{$self};\n"
<< tab4 << "if (exists $OWNER{$self}) {\n"
<< tab8 << package << "::" << name_destroy(realname) << "($self);\n"
<< tab8 << package << "::" << Swig_name_destroy(realname) << "($self);\n"
<< tab8 << "delete $OWNER{$self};\n"
<< tab4 << "}\n}\n\n";
@ -2077,7 +2077,7 @@ void PERL5::cpp_static_func(char *name, char *iname, DataType *t, ParmList *l) {
else realname = iname;
if (blessed) {
*pcode << "*" << realname << " = *" << realpackage << "::" << name_member(realname,class_name) << ";\n";
*pcode << "*" << realname << " = *" << realpackage << "::" << Swig_name_member(class_name,realname) << ";\n";
}
}
@ -2150,7 +2150,7 @@ void PERL5::cpp_declare_const(char *name, char *iname, DataType *type, char *val
Setattr(symbols, cname.get(),cname.get());
// Create a symbol table entry for it
*pcode << "*" << realname << " = *" << package << "::" << name_member(realname,class_name) << ";\n";
*pcode << "*" << realname << " = *" << package << "::" << Swig_name_member(class_name,realname) << ";\n";
}
}

View file

@ -161,8 +161,8 @@ void PYTHON::cpp_member_func(char *name, char *iname, DataType *t, ParmList *l)
if (!((Getattr(hash,t->name)) && (t->is_pointer <=1)) && !noopt) {
*imethod << class_name << "." << realname << " = new.instancemethod(" << module << "." << name_member(realname,class_name) << ", None, " << class_name << ")\n";
/* *pyclass << tab4 << realname << " = " << module << ".__shadow__." << name_member(realname,class_name) << "\n"; */
*imethod << class_name << "." << realname << " = new.instancemethod(" << module << "." << Swig_name_member(class_name,realname) << ", None, " << class_name << ")\n";
/* *pyclass << tab4 << realname << " = " << module << ".__shadow__." << Swig_name_member(class_name,realname) << "\n"; */
} else {
// Now add it to the class
@ -173,13 +173,13 @@ void PYTHON::cpp_member_func(char *name, char *iname, DataType *t, ParmList *l)
*pyclass << tab4 << "def " << realname << "(*args):\n";
if (use_kw)
*pyclass << tab8 << "val = apply(" << module << "." << name_member(realname,class_name) << ",args, kwargs)\n";
*pyclass << tab8 << "val = apply(" << module << "." << Swig_name_member(class_name,realname) << ",args, kwargs)\n";
else
*pyclass << tab8 << "val = apply(" << module << "." << name_member(realname,class_name) << ",args)\n";
*pyclass << tab8 << "val = apply(" << module << "." << Swig_name_member(class_name,realname) << ",args)\n";
// Check to see if the return type is an object
if ((Getattr(hash,t->name)) && (t->is_pointer <= 1)) {
if (!typemap_check((char*)"out",typemap_lang,t,name_member(realname,class_name))) {
if (!typemap_check((char*)"out",typemap_lang,t,Swig_name_member(class_name,realname))) {
if (!have_output) {
*pyclass << tab8 << "if val: val = " << GetChar(hash,t->name) << "Ptr(val) ";
if (((Getattr(hash,t->name)) && (t->is_pointer < 1)) ||
@ -244,9 +244,9 @@ void PYTHON::cpp_constructor(char *name, char *iname, ParmList *l) {
*construct << tab4 << "def __init__(self,*args):\n";
if (use_kw)
*construct << tab8 << "self.this = apply(" << module << "." << name_construct(realname) << ",args,kwargs)\n";
*construct << tab8 << "self.this = apply(" << module << "." << Swig_name_construct(realname) << ",args,kwargs)\n";
else
*construct << tab8 << "self.this = apply(" << module << "." << name_construct(realname) << ",args)\n";
*construct << tab8 << "self.this = apply(" << module << "." << Swig_name_construct(realname) << ",args)\n";
*construct << tab8 << "self.thisown = 1\n";
emitAddPragmas(*construct,(char*)"__init__",(char*)tab8);
have_constructor = 1;
@ -262,9 +262,9 @@ void PYTHON::cpp_constructor(char *name, char *iname, ParmList *l) {
*additional << tab4 << "val = " << class_name << "Ptr(apply(";
if (use_kw)
*additional << module << "." << name_construct(realname) << ",args,kwargs))\n";
*additional << module << "." << Swig_name_construct(realname) << ",args,kwargs))\n";
else
*additional << module << "." << name_construct(realname) << ",args))\n";
*additional << module << "." << Swig_name_construct(realname) << ",args))\n";
*additional << tab4 << "val.thisown = 1\n"
<< tab4 << "return val\n\n";
}
@ -294,7 +294,7 @@ void PYTHON::cpp_destructor(char *name, char *newname) {
*pyclass << tab4 << "def __del__(self," << module << "=" << module << "):\n";
emitAddPragmas(*pyclass,(char*)"__del__",(char*)tab8);
*pyclass << tab8 << "if self.thisown == 1 :\n"
<< tab8 << tab4 << module << "." << name_destroy(realname) << "(self)\n";
<< tab8 << tab4 << module << "." << Swig_name_destroy(realname) << "(self)\n";
have_destructor = 1;
}
@ -452,14 +452,14 @@ void PYTHON::cpp_variable(char *name, char *iname, DataType *t) {
if (Status & STAT_READONLY) {
// *setattr << tab8 << tab4 << "raise RuntimeError, \'Member is read-only\'\n";
} else {
*csetattr << tab8 << "\"" << realname << "\" : " << module << "." << name_set(name_member(realname,class_name)) << ",\n";
*csetattr << tab8 << "\"" << realname << "\" : " << module << "." << Swig_name_set(Swig_name_member(class_name,realname)) << ",\n";
}
// Write some code to get the variable
if (inhash) {
*cgetattr << tab8 << "\"" << realname << "\" : lambda x : " << GetChar(hash,t->name) << "Ptr(" << module << "." << name_get(name_member(realname,class_name)) << "(x)),\n";
*cgetattr << tab8 << "\"" << realname << "\" : lambda x : " << GetChar(hash,t->name) << "Ptr(" << module << "." << Swig_name_get(Swig_name_member(class_name,realname)) << "(x)),\n";
} else {
*cgetattr << tab8 << "\"" << realname << "\" : " << module << "." << name_get(name_member(realname,class_name)) << ",\n";
*cgetattr << tab8 << "\"" << realname << "\" : " << module << "." << Swig_name_get(Swig_name_member(class_name,realname)) << ",\n";
}
}
}
@ -493,7 +493,7 @@ void PYTHON::cpp_declare_const(char *name, char *iname, DataType *type, char *va
}
Setattr(symbols,cname.get(),cname.get());
*cinit << tab4 << realname << " = " << module << "." << name_member(realname,class_name) << "\n";
*cinit << tab4 << realname << " = " << module << "." << Swig_name_member(class_name,realname) << "\n";
}
}

View file

@ -532,7 +532,7 @@ char *PYTHON::convert_self(WrapperFunction &)
// ----------------------------------------------------------------------
char *PYTHON::make_funcname_wrapper(char *fnName)
{
return name_wrapper(fnName,(char*)"");
return Swig_name_wrapper(fnName);
}
// ----------------------------------------------------------------------
@ -546,7 +546,7 @@ void PYTHON::create_command(char *cname, char *iname) {
// Create the name of the wrapper function
char *wname = name_wrapper(cname,(char*)"");
char *wname = Swig_name_wrapper(cname);
// Now register the function with the interpreter.
@ -1057,7 +1057,7 @@ void PYTHON::link_variable(char *name, char *iname, DataType *t) {
// First make a sanitized version of the function name (in case it's some
// funky C++ thing).
wname = name_wrapper(name,(char*)"");
wname = Swig_name_wrapper(name);
// ---------------------------------------------------------------------
// Create a function for setting the value of the variable

View file

@ -415,7 +415,7 @@ void TCL8::get_pointer(char *iname, char *srcname, char *src, char *dest,
void TCL8::create_command(char *cname, char *iname) {
char *wname = name_wrapper(cname,prefix);
char *wname = Swig_name_wrapper(cname);
cmd_info << tab4 << "{ SWIG_prefix \"" << iname << "\", " << wname << ", NULL},\n";
@ -449,7 +449,7 @@ void TCL8::create_function(char *name, char *iname, DataType *d, ParmList *l)
// Make a wrapper name for this function
wname = name_wrapper(iname,prefix);
wname = Swig_name_wrapper(iname);
// Now write the wrapper function itself....this is pretty ugly
@ -1277,7 +1277,7 @@ void TCL8::cpp_close_class() {
if (have_destructor) {
code << "static void _swig_delete_" << class_name << "(void *obj) {\n"
<< tab4 << name_destroy(class_name) << "((" << t->print_type() << ") obj);\n"
<< tab4 << Swig_name_destroy(class_name) << "((" << t->print_type() << ") obj);\n"
<< "}\n";
}
@ -1293,7 +1293,7 @@ void TCL8::cpp_close_class() {
<< "\", &SWIGTYPE" << t->print_mangle() << ",";
if (have_constructor) {
code << name_wrapper(name_construct(class_name),prefix);
code << Swig_name_wrapper(Swig_name_construct(class_name));
} else {
code << "0";
}
@ -1326,10 +1326,10 @@ void TCL8::cpp_member_func(char *name, char *iname, DataType *t, ParmList *l) {
// Add stubs for this member to our class handler function
temp = "";
temp << name_member(realname,class_name);
temp << Swig_name_member(class_name,realname);
rname = GetChar(repeatcmd,temp);
if (!rname)
rname = name_wrapper(temp.get(),prefix);
rname = Swig_name_wrapper(temp.get());
methods << tab4 << "{\"" << realname << "\", " << rname << "}, \n";
}
@ -1354,18 +1354,18 @@ void TCL8::cpp_variable(char *name, char *iname, DataType *t) {
// Try to figure out if there is a wrapper for this function
temp = "";
temp << name_get(name_member(realname,bc));
temp << Swig_name_get(Swig_name_member(bc,realname));
rname = GetChar(repeatcmd,temp);
if (!rname)
rname = name_wrapper(temp.get(),prefix);
rname = Swig_name_wrapper(temp.get());
attributes << rname << ", ";
if (!(Status & STAT_READONLY)) {
temp = "";
temp << name_set(name_member(realname,bc));
temp << Swig_name_set(Swig_name_member(bc,realname));
rname = GetChar(repeatcmd,temp);
if (!rname)
rname = name_wrapper(temp.get(),prefix);
rname = Swig_name_wrapper(temp.get());
attributes << rname << "},\n";
} else {
attributes << "0 },\n";