Revision: 12298
http://swig.svn.sourceforge.net/swig/?rev=12298&view=rev
Author: klickverbot
Date: 2010-11-18 00:17:37 +0000 (Thu, 18 Nov 2010)
Log Message:
-----------
Added special cases to the test-suite as required for D.
This is a part of the pending merge of the D module.
Modified Paths:
--------------
trunk/Examples/test-suite/abstract_virtual.i
trunk/Examples/test-suite/contract.i
trunk/Examples/test-suite/default_constructor.i
trunk/Examples/test-suite/dynamic_cast.i
trunk/Examples/test-suite/enums.i
trunk/Examples/test-suite/evil_diamond.i
trunk/Examples/test-suite/evil_diamond_ns.i
trunk/Examples/test-suite/evil_diamond_prop.i
trunk/Examples/test-suite/import_nomodule.i
trunk/Examples/test-suite/inherit_target_language.i
trunk/Examples/test-suite/li_boost_shared_ptr.i
trunk/Examples/test-suite/li_boost_shared_ptr_bits.i
trunk/Examples/test-suite/li_std_combinations.i
trunk/Examples/test-suite/minherit2.i
trunk/Examples/test-suite/multiple_inheritance.i
trunk/Examples/test-suite/namespace_class.i
trunk/Examples/test-suite/preproc_line_file.i
trunk/Examples/test-suite/pure_virtual.i
trunk/Examples/test-suite/samename.i
trunk/Examples/test-suite/special_variable_macros.i
trunk/Examples/test-suite/static_const_member.i
trunk/Examples/test-suite/template_enum.i
trunk/Examples/test-suite/template_inherit_abstract.i
trunk/Examples/test-suite/typemap_namespace.i
trunk/Examples/test-suite/typemap_out_optimal.i
trunk/Examples/test-suite/typemap_subst.i
trunk/Examples/test-suite/using_composition.i
trunk/Examples/test-suite/using_extend.i
trunk/Examples/test-suite/using_namespace.i
Modified: trunk/Examples/test-suite/abstract_virtual.i
===================================================================
--- trunk/Examples/test-suite/abstract_virtual.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/abstract_virtual.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -2,10 +2,12 @@
%warnfilter(SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
- SWIGWARN_PHP_MULTIPLE_INHERITANCE) D; /* C#, Java, PHP multiple inheritance */
+ SWIGWARN_D_MULTIPLE_INHERITANCE,
+ SWIGWARN_PHP_MULTIPLE_INHERITANCE) D; /* C#, D, Java, PHP multiple inheritance */
%warnfilter(SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
- SWIGWARN_PHP_MULTIPLE_INHERITANCE) E; /* C#, Java, PHP multiple inheritance */
+ SWIGWARN_D_MULTIPLE_INHERITANCE,
+ SWIGWARN_PHP_MULTIPLE_INHERITANCE) E; /* C#, D, Java, PHP multiple inheritance */
%inline %{
#if defined(_MSC_VER)
Modified: trunk/Examples/test-suite/contract.i
===================================================================
--- trunk/Examples/test-suite/contract.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/contract.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -3,12 +3,17 @@
%warnfilter(SWIGWARN_RUBY_MULTIPLE_INHERITANCE,
SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
- SWIGWARN_PHP_MULTIPLE_INHERITANCE) C; /* Ruby, C#, Java, PHP multiple inheritance */
+ SWIGWARN_D_MULTIPLE_INHERITANCE,
+ SWIGWARN_PHP_MULTIPLE_INHERITANCE) C; /* Ruby, C#, D, Java, PHP multiple inheritance */
#ifdef SWIGCSHARP
%ignore B::bar; // otherwise get a warning: `C.bar' no suitable methods found to override
#endif
+#ifdef SWIGD
+%ignore B::bar; // Prevents getting an error that C.bar does not override any function because multiple inheritance is not supported.
+#endif
+
%contract test_preassert(int a, int b) {
require:
a > 0;
Modified: trunk/Examples/test-suite/default_constructor.i
===================================================================
--- trunk/Examples/test-suite/default_constructor.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/default_constructor.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -5,11 +5,13 @@
%warnfilter(SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
- SWIGWARN_PHP_MULTIPLE_INHERITANCE) EB; /* C#, Java, PHP multiple inheritance */
+ SWIGWARN_D_MULTIPLE_INHERITANCE,
+ SWIGWARN_PHP_MULTIPLE_INHERITANCE) EB; /* C#, D, Java, PHP multiple inheritance */
%warnfilter(SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
- SWIGWARN_PHP_MULTIPLE_INHERITANCE) AD; /* C#, Java, PHP multiple inheritance */
+ SWIGWARN_D_MULTIPLE_INHERITANCE,
+ SWIGWARN_PHP_MULTIPLE_INHERITANCE) AD; /* C#, D, Java, PHP multiple inheritance */
%warnfilter(SWIGWARN_LANG_FRIEND_IGNORE) F; /* friend function */
Modified: trunk/Examples/test-suite/dynamic_cast.i
===================================================================
--- trunk/Examples/test-suite/dynamic_cast.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/dynamic_cast.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -1,7 +1,7 @@
/* File : example.i */
%module dynamic_cast
-#if !defined(SWIGJAVA) && !defined(SWIGCSHARP) && !defined(SWIGGO)
+#if !defined(SWIGJAVA) && !defined(SWIGCSHARP) && !defined(SWIGGO) && !defined(SWIGD)
%apply SWIGTYPE *DYNAMIC { Foo * };
#endif
@@ -17,7 +17,7 @@
};
%}
-#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGGO)
+#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGGO) || defined(SWIGD)
%typemap(out) Foo *blah {
Bar *downcast = dynamic_cast<Bar *>($1);
*(Bar **)&$result = downcast;
@@ -37,6 +37,13 @@
}
#endif
+#if defined(SWIGD)
+%typemap(dout, excode=SWIGEXCODE) Foo * {
+ Bar ret = new Bar($wcall, $owner);$excode
+ return ret;
+}
+#endif
+
#if defined(SWIGGO)
%insert(go_runtime) %{
func FooToBar(f Foo) Bar {
@@ -62,7 +69,7 @@
}
%}
-#if !defined(SWIGJAVA) && !defined(SWIGCSHARP) && !defined(SWIGGO)
+#if !defined(SWIGJAVA) && !defined(SWIGCSHARP) && !defined(SWIGGO) && !defined(SWIGD)
// A general purpose function for dynamic casting of a Foo *
%{
static swig_type_info *
Modified: trunk/Examples/test-suite/enums.i
===================================================================
--- trunk/Examples/test-suite/enums.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/enums.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -58,6 +58,11 @@
%warnfilter(SWIGWARN_RUBY_WRONG_NAME) _iFoo;
+#ifdef SWIGD
+/* Work around missing support for proper char quoting due to parser shortcomings. */
+%dconstvalue("'a'") _iFoo::Char;
+#endif
+
#ifndef __cplusplus
%inline %{
typedef struct _iFoo
Modified: trunk/Examples/test-suite/evil_diamond.i
===================================================================
--- trunk/Examples/test-suite/evil_diamond.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/evil_diamond.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -6,7 +6,8 @@
%warnfilter(SWIGWARN_RUBY_WRONG_NAME,
SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
- SWIGWARN_PHP_MULTIPLE_INHERITANCE) spam; // Ruby, wrong class name - C# & Java, PHP multiple inheritance
+ SWIGWARN_D_MULTIPLE_INHERITANCE,
+ SWIGWARN_PHP_MULTIPLE_INHERITANCE) spam; // Ruby, wrong class name - C#, D & Java, PHP multiple inheritance
%inline %{
Modified: trunk/Examples/test-suite/evil_diamond_ns.i
===================================================================
--- trunk/Examples/test-suite/evil_diamond_ns.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/evil_diamond_ns.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -6,7 +6,8 @@
%warnfilter(SWIGWARN_RUBY_WRONG_NAME,
SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
- SWIGWARN_PHP_MULTIPLE_INHERITANCE) Blah::spam; // Ruby, wrong class name - C# & Java, PHP multiple inheritance
+ SWIGWARN_D_MULTIPLE_INHERITANCE,
+ SWIGWARN_PHP_MULTIPLE_INHERITANCE) Blah::spam; // Ruby, wrong class name - C#, D & Java, PHP multiple inheritance
%inline %{
namespace Blah {
Modified: trunk/Examples/test-suite/evil_diamond_prop.i
===================================================================
--- trunk/Examples/test-suite/evil_diamond_prop.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/evil_diamond_prop.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -6,6 +6,7 @@
%warnfilter(SWIGWARN_RUBY_WRONG_NAME,
SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
+ SWIGWARN_D_MULTIPLE_INHERITANCE,
SWIGWARN_PHP_MULTIPLE_INHERITANCE) spam; // Ruby, wrong class name - C# & Java, PHP multiple inheritance
%inline %{
Modified: trunk/Examples/test-suite/import_nomodule.i
===================================================================
--- trunk/Examples/test-suite/import_nomodule.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/import_nomodule.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -8,16 +8,16 @@
%import "import_nomodule.h"
-#if !defined(SWIGJAVA) && !defined(SWIGRUBY) && !defined(SWIGCSHARP)
+#if !defined(SWIGJAVA) && !defined(SWIGRUBY) && !defined(SWIGCSHARP) && !defined(SWIGD)
/**
* The proxy class does not have Bar derived from Foo, yet an instance of Bar
* can successfully be passed to a proxy function taking a Foo pointer (for some
* language modules).
*
- * This violation of the type system is not possible in Java and C# due to static
- * type checking. It's also not (currently) possible in Ruby, but this may be
- * fixable (needs more investigation).
+ * This violation of the type system is not possible in Java, C# and D due to
+ * static type checking. It's also not (currently) possible in Ruby, but this may
+ * be fixable (needs more investigation).
*/
%newobject create_Foo;
Modified: trunk/Examples/test-suite/inherit_target_language.i
===================================================================
--- trunk/Examples/test-suite/inherit_target_language.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/inherit_target_language.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -1,4 +1,4 @@
-// Test using a target language specified base class, primarily for Java/C# and possibly other single inheritance languages
+// Test using a target language specified base class, primarily for Java/C#/D and possibly other single inheritance languages
// Note the multiple inheritance warnings don't appear because of the two techniques used in here: typemaps and %ignore
@@ -6,6 +6,8 @@
#if defined(SWIGJAVA)
# define csbase javabase
+#elif defined(SWIGD)
+# define csbase dbase
#endif
%pragma(csharp) moduleimports=%{
@@ -20,6 +22,10 @@
class TargetLanguageBase2 { public void targetLanguageBase2Method() {} };
%}
+%pragma(d) globalproxyimports=%{
+private class TargetLanguageBase { public void targetLanguageBaseMethod() {} };
+private class TargetLanguageBase2 { public void targetLanguageBase2Method() {} };
+%}
%typemap(csbase) SWIGTYPE "TargetLanguageBase"
Modified: trunk/Examples/test-suite/li_boost_shared_ptr.i
===================================================================
--- trunk/Examples/test-suite/li_boost_shared_ptr.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/li_boost_shared_ptr.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -34,7 +34,7 @@
# define SWIG_SHARED_PTR_NAMESPACE SwigBoost
#endif
-#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGPYTHON)
+#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGPYTHON) || defined(SWIGD)
#define SHARED_PTR_WRAPPERS_IMPLEMENTED
#endif
Modified: trunk/Examples/test-suite/li_boost_shared_ptr_bits.i
===================================================================
--- trunk/Examples/test-suite/li_boost_shared_ptr_bits.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/li_boost_shared_ptr_bits.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -1,6 +1,6 @@
%module li_boost_shared_ptr_bits
-#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGPYTHON)
+#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGPYTHON) || defined(SWIGD)
#define SHARED_PTR_WRAPPERS_IMPLEMENTED
#endif
Modified: trunk/Examples/test-suite/li_std_combinations.i
===================================================================
--- trunk/Examples/test-suite/li_std_combinations.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/li_std_combinations.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -14,7 +14,7 @@
%template(VectorVectorString) std::vector< std::vector<std::string> >;
%template(PairIntPairIntString) std::pair< int, std::pair<int, std::string> >;
-#if defined(SWIGCSHARP)
+#if defined(SWIGCSHARP) || defined(SWIGD)
// Checks macro containing a type with a comma
SWIG_STD_VECTOR_ENHANCED(std::pair< double, std::string >)
#endif
Modified: trunk/Examples/test-suite/minherit2.i
===================================================================
--- trunk/Examples/test-suite/minherit2.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/minherit2.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -1,16 +1,18 @@
%module minherit2
-// A multiple inheritance example, mainly for Java and C#.
-// The example shows how it is possible to turn C++ abstract base classes into Java/C# interface.
+// A multiple inheritance example, mainly for Java, C# and D.
+// The example shows how it is possible to turn C++ abstract base classes into
+// Java/C#/D interfaces.
// In the future, all this trouble might be more automated.
%warnfilter(SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
+ SWIGWARN_D_MULTIPLE_INHERITANCE,
SWIGWARN_RUBY_MULTIPLE_INHERITANCE,
SWIGWARN_PHP_MULTIPLE_INHERITANCE) RemoteMpe;
-#if defined(SWIGJAVA) || defined(SWIGCSHARP)
+#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGD)
#if defined(SWIGCSHARP)
#define javaclassmodifiers csclassmodifiers
@@ -22,6 +24,21 @@
#define javabase csbase
#endif
+#if defined(SWIGD)
+#define javaclassmodifiers dclassmodifiers
+#define javabody dbody
+#define javafinalize ddestructor
+#define javadestruct ddispose
+#define javaout dout
+#define javainterfaces dinterfaces
+#define javabase dbase
+
+%typemap(dimports) RemoteMpe %{
+$importtype(IRemoteSyncIO)
+$importtype(IRemoteAsyncIO)
+%}
+#endif
+
// Modify multiple inherited base classes into inheriting interfaces
%typemap(javainterfaces) RemoteMpe "IRemoteSyncIO, IRemoteAsyncIO";
%typemap(javabase, replace="1") RemoteMpe "";
@@ -51,6 +68,12 @@
// Features are inherited by derived classes, so override this
%csmethodmodifiers RemoteMpe::syncmethod "public"
%csmethodmodifiers RemoteMpe::asyncmethod "public"
+#elif defined(SWIGD)
+%dmethodmodifiers IRemoteSyncIO::syncmethod "";
+%dmethodmodifiers IRemoteAsyncIO::asyncmethod "";
+// Features are inherited by derived classes, so override this
+%dmethodmodifiers RemoteMpe::syncmethod "public"
+%dmethodmodifiers RemoteMpe::asyncmethod "public"
#endif
#endif
Modified: trunk/Examples/test-suite/multiple_inheritance.i
===================================================================
--- trunk/Examples/test-suite/multiple_inheritance.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/multiple_inheritance.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -5,11 +5,13 @@
%warnfilter(SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
- SWIGWARN_PHP_MULTIPLE_INHERITANCE) FooBar; /* C#, Java, PHP multiple inheritance */
+ SWIGWARN_D_MULTIPLE_INHERITANCE,
+ SWIGWARN_PHP_MULTIPLE_INHERITANCE) FooBar; /* C#, D, Java, PHP multiple inheritance */
%warnfilter(SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
- SWIGWARN_PHP_MULTIPLE_INHERITANCE) FooBarSpam; /* C#, Java, PHP multiple inheritance */
+ SWIGWARN_D_MULTIPLE_INHERITANCE,
+ SWIGWARN_PHP_MULTIPLE_INHERITANCE) FooBarSpam; /* C#, D, Java, PHP multiple inheritance */
%inline %{
Modified: trunk/Examples/test-suite/namespace_class.i
===================================================================
--- trunk/Examples/test-suite/namespace_class.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/namespace_class.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -2,6 +2,10 @@
%warnfilter(SWIGWARN_PARSE_NAMED_NESTED_CLASS) Ala::Ola;
+#ifdef SWIGD
+%warnfilter(SWIGWARN_IGNORE_OPERATOR_LT);
+#endif
+
%inline %{
template<class T> void foobar(T t) {}
namespace test {
Modified: trunk/Examples/test-suite/preproc_line_file.i
===================================================================
--- trunk/Examples/test-suite/preproc_line_file.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/preproc_line_file.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -33,12 +33,12 @@
%javaconst(1);
#elif defined(SWIGCSHARP)
%csconst(1);
+#elif defined(SWIGD)
+%dnativeconst;
#else
%ignore LINE_NUMBER;
%ignore LINE_NUM;
/* spare space */
-
-
#endif
%{
Modified: trunk/Examples/test-suite/pure_virtual.i
===================================================================
--- trunk/Examples/test-suite/pure_virtual.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/pure_virtual.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -9,7 +9,8 @@
%warnfilter(SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
- SWIGWARN_PHP_MULTIPLE_INHERITANCE) E; /* C#, Java, PHP multiple inheritance */
+ SWIGWARN_D_MULTIPLE_INHERITANCE,
+ SWIGWARN_PHP_MULTIPLE_INHERITANCE) E; /* C#, D, Java, PHP multiple inheritance */
%nodefaultctor C;
%nodefaultdtor C;
@@ -65,7 +66,7 @@
%}
/* Fill in method from AA. This class should be constructable */
-#ifdef SWIGCSHARP
+#if defined(SWIGCSHARP) || defined(SWIGD)
%ignore F::method2(); // Work around for lack of multiple inheritance support - base AA is ignored.
#endif
Modified: trunk/Examples/test-suite/samename.i
===================================================================
--- trunk/Examples/test-suite/samename.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/samename.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -1,6 +1,6 @@
%module samename
-#if !(defined(SWIGCSHARP) || defined(SWIGJAVA))
+#if !(defined(SWIGCSHARP) || defined(SWIGJAVA) || defined(SWIGD))
class samename {
public:
void do_something() {
Modified: trunk/Examples/test-suite/special_variable_macros.i
===================================================================
--- trunk/Examples/test-suite/special_variable_macros.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/special_variable_macros.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -165,7 +165,21 @@
return new $typemap(jstype, Space::RenameMe)( new $typemap(jstype, Name)(s) );
}
%}
+#elif defined(SWIGD)
+#if (SWIG_D_VERSION == 1)
+%typemap(dcode) Space::RenameMe %{
+ public static NewName factory(char[] s) {
+ return new $typemap(dptype, Space::RenameMe)( new $typemap(dptype, Name)(s) );
+ }
+%}
+#else
+%typemap(dcode) Space::RenameMe %{
+ public static NewName factory(string s) {
+ return new $typemap(dptype, Space::RenameMe)( new $typemap(dptype, Name)(s) );
+ }
+%}
#endif
+#endif
%rename(NewName) Space::RenameMe;
%inline %{
Modified: trunk/Examples/test-suite/static_const_member.i
===================================================================
--- trunk/Examples/test-suite/static_const_member.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/static_const_member.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -11,6 +11,9 @@
#elif SWIGCSHARP
%csconst(1) EN;
%csconst(1) CHARTEST;
+#elif SWIGD
+%dnativeconst EN;
+%dnativeconst CHARTEST;
#endif
%inline %{
Modified: trunk/Examples/test-suite/template_enum.i
===================================================================
--- trunk/Examples/test-suite/template_enum.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/template_enum.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -13,6 +13,10 @@
%template(foo_i) foo<int>;
%template(foo_d) foo<double>;
+#ifdef SWIGD
+// Workaround for the D module which uses the literal value in the generated wrapper code.
+%dconstvalue("3") Manta::ColorSpace<Manta::RGBTraits>::NumComponents;
+#endif
%inline {
Modified: trunk/Examples/test-suite/template_inherit_abstract.i
===================================================================
--- trunk/Examples/test-suite/template_inherit_abstract.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/template_inherit_abstract.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -4,7 +4,8 @@
%warnfilter(SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
- SWIGWARN_PHP_MULTIPLE_INHERITANCE) oss::Module; /* C#, Java, PHP multiple inheritance */
+ SWIGWARN_D_MULTIPLE_INHERITANCE,
+ SWIGWARN_PHP_MULTIPLE_INHERITANCE) oss::Module; /* C#, D, Java, PHP multiple inheritance */
%inline %{
@@ -56,7 +57,7 @@
%inline %{
namespace oss
{
-#if defined(SWIG) && defined(SWIGCSHARP)
+#if defined(SWIG) && (defined(SWIGCSHARP) || defined(SWIGD))
%ignore HModule<B>::get(); // Work around for lack of multiple inheritance support - base ModuleBase is ignored.
#endif
struct test : HModule<B>
Modified: trunk/Examples/test-suite/typemap_namespace.i
===================================================================
--- trunk/Examples/test-suite/typemap_namespace.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/typemap_namespace.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -29,8 +29,15 @@
#ifdef SWIGGO
%typemap(gotype) Str1 * = char *;
#endif
+#ifdef SWIGD
+ %typemap(cwtype) Str1 * = char *;
+ %typemap(dwtype) Str1 * = char *;
+ %typemap(dptype) Str1 * = char *;
+ %typemap(din) Str1 * = char *;
+ %typemap(dout) Str1 * = char *;
+#endif
%typemap(in) Str1 * = char *;
-#if !(defined(SWIGCSHARP) || defined(SWIGLUA) || defined(SWIGPHP) || defined(SWIGMZSCHEME) || defined(SWIGOCAML) || defined(SWIGGO))
+#if !(defined(SWIGCSHARP) || defined(SWIGLUA) || defined(SWIGPHP) || defined(SWIGMZSCHEME) || defined(SWIGOCAML) || defined(SWIGGO) || defined(SWIGD))
%typemap(freearg) Str1 * = char *;
#endif
%typemap(typecheck) Str1 * = char *;
Modified: trunk/Examples/test-suite/typemap_out_optimal.i
===================================================================
--- trunk/Examples/test-suite/typemap_out_optimal.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/typemap_out_optimal.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -2,7 +2,7 @@
%module typemap_out_optimal
// Just the following languages tested
-#if defined (SWIGCSHARP)
+#if defined (SWIGCSHARP) || defined (SWIGD)
%typemap(out, optimal="1") SWIGTYPE %{
$result = new $1_ltype((const $1_ltype &)$1);
%}
@@ -18,6 +18,10 @@
%ignore XX::operator=;
+#ifdef SWIGD
+%rename(trace) XX::debug;
+#endif
+
%inline %{
#include <iostream>
using namespace std;
Modified: trunk/Examples/test-suite/typemap_subst.i
===================================================================
--- trunk/Examples/test-suite/typemap_subst.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/typemap_subst.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -61,8 +61,8 @@
$1 = ($ltype) temp;
}
-/* Java, C# and Go modules don't use SWIG's runtime type system */
-#if !defined(SWIGJAVA) && !defined(SWIGCSHARP) && !defined(SWIGGO)
+/* Java, C#, Go and D modules don't use SWIG's runtime type system */
+#if !defined(SWIGJAVA) && !defined(SWIGCSHARP) && !defined(SWIGGO) && !defined(SWIGD)
%inline %{
void foo(const struct xyzzy **TEST) {}
%}
Modified: trunk/Examples/test-suite/using_composition.i
===================================================================
--- trunk/Examples/test-suite/using_composition.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/using_composition.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -2,13 +2,16 @@
%warnfilter(SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
- SWIGWARN_PHP_MULTIPLE_INHERITANCE) FooBar; // C#, Java, PHP multiple inheritance
+ SWIGWARN_D_MULTIPLE_INHERITANCE,
+ SWIGWARN_PHP_MULTIPLE_INHERITANCE) FooBar; // C#, D, Java, PHP multiple inheritance
%warnfilter(SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
- SWIGWARN_PHP_MULTIPLE_INHERITANCE) FooBar2; // C#, Java, PHP multiple inheritance
+ SWIGWARN_D_MULTIPLE_INHERITANCE,
+ SWIGWARN_PHP_MULTIPLE_INHERITANCE) FooBar2; // C#, D, Java, PHP multiple inheritance
%warnfilter(SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
- SWIGWARN_PHP_MULTIPLE_INHERITANCE) FooBar3; // C#, Java, PHP multiple inheritance
+ SWIGWARN_D_MULTIPLE_INHERITANCE,
+ SWIGWARN_PHP_MULTIPLE_INHERITANCE) FooBar3; // C#, D, Java, PHP multiple inheritance
#ifdef SWIGLUA // lua only has one numeric type, so some overloads shadow each other creating warnings
%warnfilter(SWIGWARN_LANG_OVERLOAD_SHADOW) blah;
#endif
Modified: trunk/Examples/test-suite/using_extend.i
===================================================================
--- trunk/Examples/test-suite/using_extend.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/using_extend.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -2,7 +2,8 @@
%warnfilter(SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
- SWIGWARN_PHP_MULTIPLE_INHERITANCE) FooBar; // C#, Java, PHP multiple inheritance
+ SWIGWARN_D_MULTIPLE_INHERITANCE,
+ SWIGWARN_PHP_MULTIPLE_INHERITANCE) FooBar; // C#, D, Java, PHP multiple inheritance
#ifdef SWIGLUA // lua only has one numeric type, so some overloads shadow each other creating warnings
%warnfilter(SWIGWARN_LANG_OVERLOAD_SHADOW) blah;
#endif
Modified: trunk/Examples/test-suite/using_namespace.i
===================================================================
--- trunk/Examples/test-suite/using_namespace.i 2010-11-18 00:16:23 UTC (rev 12297)
+++ trunk/Examples/test-suite/using_namespace.i 2010-11-18 00:17:37 UTC (rev 12298)
@@ -5,7 +5,8 @@
%warnfilter(SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
- SWIGWARN_PHP_MULTIPLE_INHERITANCE) Hi<hello::Hello, hi::hi0>; // C#, Java, PHP multiple inheritance
+ SWIGWARN_D_MULTIPLE_INHERITANCE,
+ SWIGWARN_PHP_MULTIPLE_INHERITANCE) Hi<hello::Hello, hi::hi0>; // C#, D, Java, PHP multiple inheritance
%inline %{
namespace hello
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|