Merge branch 'nested' - nested structs/classes support
* nested: Deprecation of the 'nestedworkaround' feature Ensure -c++out is not used with -c++ Add missing header to new source file Nested C class setters restored in c++out mode for Octave Classprefix fixed after private nested classes some comments and spaces added Fix template partial specialization detection Minor tweaks in Swig_feature_set Swig_offset_string moved to misc.c nested private classes are discarded while parsing nested relate functions are moved to nested.cxx and renamed accordingly out-of-scope template definitions fixed nested_private test disabled again fixed out-of-scope nested class definitions, added a test enabled nested C structs assignment (still disabled for Octave), added Java runtime test fixed nested_private test case for Java & C# Testcase of private nested class usage causing segfault C nested struct passed by value example Add in Travis testing for nested branch Add C++ nested class example Minor code improvements Cosmetics/code beautification of nested class support Nested classes support
This commit is contained in:
commit
314fae460b
61 changed files with 2438 additions and 1127 deletions
11
Lib/swig.swg
11
Lib/swig.swg
|
|
@ -9,7 +9,7 @@
|
|||
* User Directives
|
||||
* ----------------------------------------------------------------------------- */
|
||||
|
||||
/* Deprecated SWIG directives */
|
||||
/* Deprecated SWIG-1.1 directives */
|
||||
|
||||
#define %disabledoc %warn "104:%disabledoc is deprecated"
|
||||
#define %enabledoc %warn "105:%enabledoc is deprecated"
|
||||
|
|
@ -136,11 +136,16 @@
|
|||
#define %nocallback %feature("callback","0")
|
||||
#define %clearcallback %feature("callback","")
|
||||
|
||||
/* the %nestedworkaround directive */
|
||||
/* the %nestedworkaround directive (deprecated) */
|
||||
#define %nestedworkaround %feature("nestedworkaround")
|
||||
#define %nonestedworkaround %feature("nestedworkaround","0")
|
||||
#define %clearnestedworkaround %feature("nestedworkaround","")
|
||||
|
||||
/* the %flatnested directive */
|
||||
#define %flatnested %feature("flatnested")
|
||||
#define %noflatnested %feature("flatnested","0")
|
||||
#define %clearflatnested %feature("flatnested","")
|
||||
|
||||
/* the %fastdispatch directive */
|
||||
#define %fastdispatch %feature("fastdispatch")
|
||||
#define %nofastdispatch %feature("fastdispatch","0")
|
||||
|
|
@ -302,7 +307,7 @@ static int NAME(TYPE x) {
|
|||
%define %$ismemberset "match$memberset"="1" %enddef
|
||||
|
||||
%define %$classname %$ismember,"match$parentNode$name" %enddef
|
||||
|
||||
%define %$isnested "match$nested"="1" %enddef
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Include all the warnings labels and macros
|
||||
* ----------------------------------------------------------------------------- */
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@
|
|||
%typemap(memberin) SWIGTYPE [ANY] {
|
||||
if ($input) {
|
||||
size_t ii = 0;
|
||||
for (; ii < (size_t)$1_dim0; ++ii) $1[ii] = $input[ii];
|
||||
for (; ii < (size_t)$1_dim0; ++ii) *($1_ltype)&$1[ii] = ($*1_ltype)$input[ii];
|
||||
} else {
|
||||
%variable_nullref("$type","$name");
|
||||
}
|
||||
|
|
@ -168,7 +168,7 @@
|
|||
%typemap(globalin) SWIGTYPE [ANY] {
|
||||
if ($input) {
|
||||
size_t ii = 0;
|
||||
for (; ii < (size_t)$1_dim0; ++ii) $1[ii] = $input[ii];
|
||||
for (; ii < (size_t)$1_dim0; ++ii) *($1_ltype)&$1[ii] = ($*1_ltype)$input[ii];
|
||||
} else {
|
||||
%variable_nullref("$type","$name");
|
||||
}
|
||||
|
|
@ -181,7 +181,7 @@
|
|||
%variable_fail(res, "$type", "$name");
|
||||
} else if (inp) {
|
||||
size_t ii = 0;
|
||||
for (; ii < (size_t)$1_dim0; ++ii) $1[ii] = inp[ii];
|
||||
for (; ii < (size_t)$1_dim0; ++ii) *($1_ltype)&$1[ii] = ($*1_ltype)inp[ii];
|
||||
} else {
|
||||
%variable_nullref("$type", "$name");
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue