aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Zeitlin <vz-swig@zeitlins.org>2019-07-30 21:12:04 +0200
committerVadim Zeitlin <vz-swig@zeitlins.org>2019-07-30 21:12:04 +0200
commita4432a68da2d85323f65f8205f18451c0979395e (patch)
tree74a1b3c582e1c1f27bb5e59923bcf3037c8fa899
parent0ff6893b2dc08b713db3ae71b125de15d629bb9a (diff)
downloadswig-a4432a68da2d85323f65f8205f18451c0979395e.tar.gz
Correct %init documentation for C#/Java
For these languages, %init doesn't inject the code into the initialization function (because there is none), but just puts it into the global scope instead. [skip ci]
-rw-r--r--Doc/Manual/SWIG.html12
1 files changed, 12 insertions, 0 deletions
diff --git a/Doc/Manual/SWIG.html b/Doc/Manual/SWIG.html
index d1492d30a..aec48ef03 100644
--- a/Doc/Manual/SWIG.html
+++ b/Doc/Manual/SWIG.html
@@ -3438,6 +3438,18 @@ initialization on module loading, you could write this:
%}
</pre></div>
+<p>
+Please note that some language backends (e.g. C# or Java) don't have any
+initialization function, hence you should define a global object performing
+the necessary initialization for them instead:
+</p>
+
+<div class="code"><pre>
+%init %{
+ static struct MyInit { MyInit() { init_variables(); } } myInit;
+%}
+</pre></div>
+
<H2><a name="SWIG_nn45">5.7 An Interface Building Strategy</a></H2>