summaryrefslogtreecommitdiff
path: root/Examples/test-suite/csharp_features.i
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/csharp_features.i')
-rw-r--r--Examples/test-suite/csharp_features.i24
1 files changed, 24 insertions, 0 deletions
diff --git a/Examples/test-suite/csharp_features.i b/Examples/test-suite/csharp_features.i
new file mode 100644
index 0000000..578a56a
--- /dev/null
+++ b/Examples/test-suite/csharp_features.i
@@ -0,0 +1,24 @@
+%module csharp_features
+
+// SWIG gets the method modifiers wrong occasionally, like with private inheritance, %csmethodmodifiers can fix this
+%csmethodmodifiers Derived::VirtualMethod() "public virtual"
+%csmethodmodifiers MoreDerived::variable "public new"
+
+%inline %{
+class Base {
+public:
+ virtual ~Base() {}
+ virtual void VirtualMethod() {}
+};
+class Derived : private Base {
+public:
+ virtual ~Derived() {}
+ virtual void VirtualMethod() {}
+ int variable;
+};
+class MoreDerived : public Derived {
+public:
+ int variable;
+};
+%}
+