new $imclassname special variable to fix bugs changing the intermediary classname
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8028 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
36b0436a48
commit
0345fa731e
2 changed files with 25 additions and 1 deletions
|
|
@ -311,6 +311,7 @@ class CSHARP : public Language {
|
|||
|
||||
// Add the intermediary class methods
|
||||
Replaceall(imclass_class_code, "$module", module_class_name);
|
||||
Replaceall(imclass_class_code, "$imclassname", imclass_name);
|
||||
Replaceall(imclass_class_code, "$dllimport", dllimport);
|
||||
Printv(f_im, imclass_class_code, NIL);
|
||||
Printv(f_im, imclass_cppcasts_code, NIL);
|
||||
|
|
@ -354,6 +355,9 @@ class CSHARP : public Language {
|
|||
Replaceall(module_class_code, "$module", module_class_name);
|
||||
Replaceall(module_class_constants_code, "$module", module_class_name);
|
||||
|
||||
Replaceall(module_class_code, "$imclassname", imclass_name);
|
||||
Replaceall(module_class_constants_code, "$imclassname", imclass_name);
|
||||
|
||||
Replaceall(module_class_code, "$dllimport", dllimport);
|
||||
Replaceall(module_class_constants_code, "$dllimport", dllimport);
|
||||
|
||||
|
|
@ -1188,6 +1192,7 @@ class CSHARP : public Language {
|
|||
virtual int insertDirective(Node *n) {
|
||||
String *code = Getattr(n,"code");
|
||||
Replaceall(code, "$module", module_class_name);
|
||||
Replaceall(code, "$imclassname", imclass_name);
|
||||
Replaceall(code, "$dllimport", dllimport);
|
||||
return Language::insertDirective(n);
|
||||
}
|
||||
|
|
@ -1400,6 +1405,9 @@ class CSHARP : public Language {
|
|||
Replaceall(proxy_class_def, "$module", module_class_name);
|
||||
Replaceall(proxy_class_code, "$module", module_class_name);
|
||||
|
||||
Replaceall(proxy_class_def, "$imclassname", imclass_name);
|
||||
Replaceall(proxy_class_code, "$imclassname", imclass_name);
|
||||
|
||||
Replaceall(proxy_class_def, "$dllimport", dllimport);
|
||||
Replaceall(proxy_class_code, "$dllimport", dllimport);
|
||||
|
||||
|
|
@ -1478,7 +1486,9 @@ class CSHARP : public Language {
|
|||
Replaceall(proxy_class_def, "$module", module_class_name);
|
||||
Replaceall(proxy_class_code, "$module", module_class_name);
|
||||
Replaceall(proxy_class_constants_code, "$module", module_class_name);
|
||||
|
||||
Replaceall(proxy_class_def, "$imclassname", imclass_name);
|
||||
Replaceall(proxy_class_code, "$imclassname", imclass_name);
|
||||
Replaceall(proxy_class_constants_code, "$imclassname", imclass_name);
|
||||
Replaceall(proxy_class_def, "$dllimport", dllimport);
|
||||
Replaceall(proxy_class_code, "$dllimport", dllimport);
|
||||
Replaceall(proxy_class_constants_code, "$dllimport", dllimport);
|
||||
|
|
@ -2447,6 +2457,7 @@ class CSHARP : public Language {
|
|||
|
||||
Replaceall(swigtype, "$csclassname", classname);
|
||||
Replaceall(swigtype, "$module", module_class_name);
|
||||
Replaceall(swigtype, "$imclassname", imclass_name);
|
||||
Replaceall(swigtype, "$dllimport", dllimport);
|
||||
Printv(f_swigtype, swigtype, NIL);
|
||||
|
||||
|
|
|
|||
|
|
@ -435,6 +435,7 @@ class JAVA : public Language {
|
|||
|
||||
// Add the intermediary class methods
|
||||
Replaceall(imclass_class_code, "$module", module_class_name);
|
||||
Replaceall(imclass_class_code, "$imclassname", imclass_name);
|
||||
Printv(f_im, imclass_class_code, NIL);
|
||||
Printv(f_im, imclass_cppcasts_code, NIL);
|
||||
if (Len(imclass_directors) > 0) {
|
||||
|
|
@ -495,6 +496,9 @@ class JAVA : public Language {
|
|||
Replaceall(module_class_code, "$module", module_class_name);
|
||||
Replaceall(module_class_constants_code, "$module", module_class_name);
|
||||
|
||||
Replaceall(module_class_code, "$imclassname", imclass_name);
|
||||
Replaceall(module_class_constants_code, "$imclassname", imclass_name);
|
||||
|
||||
// Add the wrapper methods
|
||||
Printv(f_module, module_class_code, NIL);
|
||||
|
||||
|
|
@ -1386,6 +1390,7 @@ class JAVA : public Language {
|
|||
virtual int insertDirective(Node *n) {
|
||||
String *code = Getattr(n,"code");
|
||||
Replaceall(code, "$module", module_class_name);
|
||||
Replaceall(code, "$imclassname", imclass_name);
|
||||
return Language::insertDirective(n);
|
||||
}
|
||||
|
||||
|
|
@ -1655,6 +1660,9 @@ class JAVA : public Language {
|
|||
Replaceall(proxy_class_def, "$module", module_class_name);
|
||||
Replaceall(proxy_class_code, "$module", module_class_name);
|
||||
|
||||
Replaceall(proxy_class_def, "$imclassname", imclass_name);
|
||||
Replaceall(proxy_class_code, "$imclassname", imclass_name);
|
||||
|
||||
// Add code to do C++ casting to base class (only for classes in an inheritance hierarchy)
|
||||
if(derived){
|
||||
Printv(imclass_cppcasts_code," public final static native long SWIG$javaclassnameUpcast(long jarg1);\n", NIL);
|
||||
|
|
@ -1740,6 +1748,9 @@ class JAVA : public Language {
|
|||
Replaceall(proxy_class_def, "$module", module_class_name);
|
||||
Replaceall(proxy_class_code, "$module", module_class_name);
|
||||
Replaceall(proxy_class_constants_code, "$module", module_class_name);
|
||||
Replaceall(proxy_class_def, "$imclassname", imclass_name);
|
||||
Replaceall(proxy_class_code, "$imclassname", imclass_name);
|
||||
Replaceall(proxy_class_constants_code, "$imclassname", imclass_name);
|
||||
Printv(f_proxy, proxy_class_def, proxy_class_code, NIL);
|
||||
|
||||
// Write out all the constants
|
||||
|
|
@ -2590,6 +2601,7 @@ class JAVA : public Language {
|
|||
|
||||
Replaceall(swigtype, "$javaclassname", classname);
|
||||
Replaceall(swigtype, "$module", module_class_name);
|
||||
Replaceall(swigtype, "$imclassname", imclass_name);
|
||||
Printv(f_swigtype, swigtype, NIL);
|
||||
|
||||
Close(f_swigtype);
|
||||
|
|
@ -3262,6 +3274,7 @@ class JAVA : public Language {
|
|||
|
||||
if (din != NULL) {
|
||||
Replaceall(din, "$module", module_class_name);
|
||||
Replaceall(din, "$imclassname", imclass_name);
|
||||
substituteClassname(pt, din);
|
||||
Replaceall(din, "$jniinput", ln);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue