summaryrefslogtreecommitdiff
path: root/Doc
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2013-12-13 08:11:17 +0000
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2013-12-13 08:11:17 +0000
commit0f4ceaf5923fd9a30eb9201048cd285a9bba8084 (patch)
tree7fb4c9fcf4be2e96f512d1ab79efeb2eeca5c38d /Doc
parent2121e1217eae19a0a3e852fc52c89f55faf7e20a (diff)
downloadswig-0f4ceaf5923fd9a30eb9201048cd285a9bba8084.tar.gz
Deprecation of the 'nestedworkaround' feature
Also add in macros for the flatnested feature which can be used in place of the nestedworkaround feature
Diffstat (limited to 'Doc')
-rw-r--r--Doc/Manual/SWIGPlus.html26
-rw-r--r--Doc/Manual/Warnings.html1
2 files changed, 22 insertions, 5 deletions
diff --git a/Doc/Manual/SWIGPlus.html b/Doc/Manual/SWIGPlus.html
index 2ec98f33a..20c03cc71 100644
--- a/Doc/Manual/SWIGPlus.html
+++ b/Doc/Manual/SWIGPlus.html
@@ -4992,11 +4992,27 @@ class Bar {
<p>
<b>Compatibility Note:</b>
-In SWIG 2.0 and earlier, nested classes were treated as opaque pointers.
-Also there was a workaround, implementing approximately the same behaviour as the
-%feature ("flatnested") with an additional help from the user:
-nested class had to be manually redeclared in the global scope, typedef name and %feature nestedworkaround
-added for the inner class.
+Prior to SWIG-3.0.0, there was limited nested class support. Nested classes were treated as opaque pointers.
+However, there was a workaround for nested class support in these older versions requiring the user to replicate
+the nested class in the global scope, adding in a typedef for the nested class in the global scope and
+using the "nestedworkaround" feature on the nested class. This resulted in approximately the
+same behaviour as the "flatnested" feature. With proper nested class support now available in SWIG-3.0.0, this
+feature has been deprecated and no longer works requiring code changes. If you see the following warning:
+</p>
+
+<div class="shell">
+<pre>
+example.i:8: Warning 126: The nestedworkaround feature is deprecated
+</pre>
+</div>
+
+<p>
+consider using the "flatnested" feature discussed above which generates a non-nested proxy class, like the
+"nestedworkaround" feature did. Alternatively, use the default nested class code generation, which may generate an
+equivalent to a nested proxy class in the target language, depending on the target language support.
+</p>
+
+<p>
SWIG-1.3.40 and earlier versions did not have the <tt>nestedworkaround</tt> feature
and the generated code resulting from parsing nested classes did not always compile.
Nested class warnings could also not be suppressed using %warnfilter.
diff --git a/Doc/Manual/Warnings.html b/Doc/Manual/Warnings.html
index e0debe41c..b4d27872c 100644
--- a/Doc/Manual/Warnings.html
+++ b/Doc/Manual/Warnings.html
@@ -382,6 +382,7 @@ example.i(4) : Syntax error in input.
<li>119. Deprecated <tt>%typemap(ignore)</tt>.
<li>120. Deprecated command line option (-runtime, -noruntime).
<li>121. Deprecated <tt>%name</tt> directive.
+<li>126. The 'nestedworkaround' feature is deprecated.
</ul>
<H3><a name="Warnings_nn11"></a>14.9.2 Preprocessor (200-299)</H3>