From: GitHub <no...@gi...> - 2013-12-14 22:20:23
|
Branch: refs/heads/master Home: https://github.com/swig/swig Commit: b63c4839fe60b8192809ef94d078ef07305144c5 https://github.com/swig/swig/commit/b63c4839fe60b8192809ef94d078ef07305144c5 Author: Vladimir Kalinin <vka...@op...> Date: 2013-11-28 (Thu, 28 Nov 2013) Changed paths: M Doc/Manual/SWIGPlus.html M Examples/csharp/class/example.cxx M Examples/csharp/class/example.h M Examples/csharp/class/runme.cs M Examples/java/class/example.cxx M Examples/java/class/example.h M Examples/java/class/runme.java M Examples/test-suite/derived_nested.i M Examples/test-suite/java/nested_class_runme.java M Examples/test-suite/java/nested_structs_runme.java M Examples/test-suite/java/template_nested_runme.java M Examples/test-suite/namespace_class.i M Examples/test-suite/namespace_union.i M Examples/test-suite/nested_class.i M Examples/test-suite/nested_comment.i M Examples/test-suite/nested_workaround.i M Examples/test-suite/template_nested.i M Examples/test-suite/template_nested_typemaps.i M Examples/test-suite/union_scope.i M Lib/swig.swg M Source/CParse/cparse.h M Source/CParse/cscanner.c M Source/CParse/parser.y M Source/Include/swigwarn.h M Source/Modules/allocate.cxx M Source/Modules/contract.cxx M Source/Modules/csharp.cxx M Source/Modules/java.cxx M Source/Modules/lang.cxx M Source/Modules/main.cxx M Source/Modules/octave.cxx M Source/Modules/swigmod.h M Source/Modules/typepass.cxx M Source/Swig/naming.c M Source/Swig/scanner.c M Source/Swig/swig.h M Source/Swig/swigscan.h M Source/Swig/swigtree.h M Source/Swig/tree.c Log Message: ----------- Nested classes support Closes #89 Squash merge branch 'master' of https://github.com/wkalinin/swig into wkalinin-nested By Vladimir Kalinin * 'master' of https://github.com/wkalinin/swig: CPlusPlusOut mode for Octave nested class illustration fixed "Abstract" flag for nested classes added an example enabled anonymous nested structs runtime test porting warnings disabled porting fixes java runtime tests ported nested class closing bracket offset fixed removed double nested template (not supported by %template parsing) template_nested test extended parent field made public property access fixed replaced tabs with spaces warning W-reorder deprecated warnings removed, derived_nested runtime test added optimized string indenting Nested classes indenting nested classes docs fixed the order in which flattened inner classes are added after the outer Private nested classes were getting into the type table. Java getProxyName() fix for nested classes fixes the case when nested classes is forward declared Fix for a case when a nested class inherits from the same base as the outer. (Base class constructor declaration is found first in this case) merge fix nested C struct first immediate declaration incorrectly renamed sample fixed tests updated to reflect nested classes support Java nested classes support (1) flattening should remove the link to the outer class access mode correctly set/restored for nested classes nested templates should be skipped while flattening (template nodes themselves, not expanded versions) also non-public nested classes should be ignored If nested classes are not supported, default behaviour is flattening, not ignoring flag "nested" is preserved, so, the nested classes can be ignored by user nested workaround test updated template instantiated within a class is marked as nested for ignoring purposes %ignore not applied to the nested classed, because "nested" flag is set too late typedef name takes precedence over the real name (reason?) unnamed structs should be processed for all the languages nested C struct instances are wrapped as "immutable" tree building typedef declaration for unnamed C structures fixed nested classes "flattening" fixed %ignoring nested classes renamed "nested" attribute to "nested:outer" added "nested" flag, to be used with $ignore (it is not removed while flattening) added nestedClassesSupported() function to the Language interface renamed "nested" attribute to "nested:outer" added "nested" flag, to be used with $ignore (it is not removed while flattening) added nestedClassesSupported() function to the Language interface tree iteration fix dirclassname variable names unified memory issue fixed merge error ignore unnamed structs for C++ unnamed nested C structs naming & unnesting class added to classes hash under typedef name private nested classes skipped test updated due to nested templates support anonymous structs with inheritance fixed nested_class test to allow anonymous structs w/o declarator tests updated: nested workaround removed from namespace_class.i propagated nested template declaration to the C++ file injected members scope nested tempplates fixes, nested structures in "C" mode parsing added utility function "appendSibling" (like "appendChild") nested unnamed structures parsing fixes, access mode restored on nested class end, tdname is properly patched with outer class name prefix memory management fixes nested templates (1) Nested unnamed structs Nested class support (1) Nested class support (1) Commit: 44a883a05700d3c74ce6e13aa70a49c4533052d2 https://github.com/swig/swig/commit/44a883a05700d3c74ce6e13aa70a49c4533052d2 Author: William S Fulton <ws...@fu...> Date: 2013-11-28 (Thu, 28 Nov 2013) Changed paths: M Source/CParse/cscanner.c M Source/CParse/parser.y M Source/Modules/allocate.cxx M Source/Modules/contract.cxx M Source/Modules/csharp.cxx M Source/Modules/java.cxx M Source/Modules/lang.cxx M Source/Modules/main.cxx M Source/Modules/typepass.cxx M Source/Swig/naming.c M Source/Swig/scanner.c M Source/Swig/swig.h M Source/Swig/tree.c Log Message: ----------- Cosmetics/code beautification of nested class support Commit: b65ba2a8db43b8fe377caee88fce8aa35bdfbcdb https://github.com/swig/swig/commit/b65ba2a8db43b8fe377caee88fce8aa35bdfbcdb Author: William S Fulton <ws...@fu...> Date: 2013-11-28 (Thu, 28 Nov 2013) Changed paths: M Source/CParse/parser.y M Source/Modules/lang.cxx M Source/Modules/main.cxx M Source/Swig/naming.c M Source/Swig/swigtree.h Log Message: ----------- Minor code improvements Commit: 2d518c638c008d12a7cf7e93a7711df34bd60859 https://github.com/swig/swig/commit/2d518c638c008d12a7cf7e93a7711df34bd60859 Author: William S Fulton <ws...@fu...> Date: 2013-11-30 (Sat, 30 Nov 2013) Changed paths: M Examples/csharp/check.list M Examples/csharp/class/example.cxx M Examples/csharp/class/example.h M Examples/csharp/class/runme.cs A Examples/csharp/nested/Makefile A Examples/csharp/nested/example-cs.csproj A Examples/csharp/nested/example-vc.vcproj A Examples/csharp/nested/example.cxx A Examples/csharp/nested/example.h A Examples/csharp/nested/example.i A Examples/csharp/nested/example.sln A Examples/csharp/nested/runme.cs M Examples/java/check.list M Examples/java/class/example.cxx M Examples/java/class/example.h M Examples/java/class/runme.java A Examples/java/nested/Makefile A Examples/java/nested/example.cxx A Examples/java/nested/example.dsp A Examples/java/nested/example.h A Examples/java/nested/example.i A Examples/java/nested/runme.java Log Message: ----------- Add C++ nested class example This also reverts the nested class additions to the Java/C# 'class' example so that the 'class' example remains identical across different language modules Commit: 1c7054b98a1251447ab6fda7904ea0c419396018 https://github.com/swig/swig/commit/1c7054b98a1251447ab6fda7904ea0c419396018 Author: William S Fulton <ws...@fu...> Date: 2013-11-30 (Sat, 30 Nov 2013) Changed paths: M .travis.yml Log Message: ----------- Add in Travis testing for nested branch Commit: 19f202cc163ce24756aa0493936eead05ed8ec8b https://github.com/swig/swig/commit/19f202cc163ce24756aa0493936eead05ed8ec8b Author: William S Fulton <ws...@fu...> Date: 2013-11-30 (Sat, 30 Nov 2013) Changed paths: M Examples/test-suite/nested_structs.i Log Message: ----------- C nested struct passed by value example This was causing problems in Octave as wrappers were compiled as C++. Solution has already been committed and required regenerating the inner struct into the global C++ namespace (which is where it is intended to be in C). Commit: df679071681242ec2619c82693f261f1f1c34b80 https://github.com/swig/swig/commit/df679071681242ec2619c82693f261f1f1c34b80 Author: William S Fulton <ws...@fu...> Date: 2013-12-01 (Sun, 01 Dec 2013) Changed paths: M Examples/test-suite/common.mk A Examples/test-suite/nested_private.i Log Message: ----------- Testcase of private nested class usage causing segfault Needs fixing for C#/Java Commit: e1a4e11beaaea4ebe9991ec47be8b559bf48e39f https://github.com/swig/swig/commit/e1a4e11beaaea4ebe9991ec47be8b559bf48e39f Author: Vladimir Kalinin <vka...@op...> Date: 2013-12-03 (Tue, 03 Dec 2013) Changed paths: M Examples/test-suite/common.mk M Examples/test-suite/java/nested_structs_runme.java A Examples/test-suite/nested_scope.i M Source/CParse/parser.y M Source/Modules/csharp.cxx M Source/Modules/java.cxx Log Message: ----------- 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# Commit: 053c605df047114557613339110367c3ee77ea4e https://github.com/swig/swig/commit/053c605df047114557613339110367c3ee77ea4e Author: Vladimir Kalinin <vka...@op...> Date: 2013-12-04 (Wed, 04 Dec 2013) Changed paths: M Examples/test-suite/common.mk M Source/CParse/parser.y Log Message: ----------- out-of-scope template definitions fixed nested_private test disabled again Commit: b0afa8a95c5e1958a0f9427f8f86064bb2aa67ea https://github.com/swig/swig/commit/b0afa8a95c5e1958a0f9427f8f86064bb2aa67ea Author: Vladimir Kalinin <vka...@op...> Date: 2013-12-05 (Thu, 05 Dec 2013) Changed paths: M Source/CParse/parser.y M Source/Makefile.am M Source/Modules/main.cxx A Source/Modules/nested.cxx M Source/Modules/swigmod.h M Source/Modules/typepass.cxx Log Message: ----------- nested private classes are discarded while parsing nested relate functions are moved to nested.cxx and renamed accordingly Commit: 7103a0684961a5b19e6ef5502823332b8936a0c2 https://github.com/swig/swig/commit/7103a0684961a5b19e6ef5502823332b8936a0c2 Author: William S Fulton <ws...@fu...> Date: 2013-12-05 (Thu, 05 Dec 2013) Changed paths: M Source/Modules/csharp.cxx M Source/Modules/java.cxx M Source/Modules/lang.cxx M Source/Swig/misc.c M Source/Swig/swig.h Log Message: ----------- Swig_offset_string moved to misc.c Commit: 6d97335d946a8042e84357d80ddbb67b8118696a https://github.com/swig/swig/commit/6d97335d946a8042e84357d80ddbb67b8118696a Author: William S Fulton <ws...@fu...> Date: 2013-12-05 (Thu, 05 Dec 2013) Changed paths: M Source/Modules/main.cxx M Source/Swig/naming.c M Source/Swig/swig.h Log Message: ----------- Minor tweaks in Swig_feature_set Commit: 67848e377adbc62cca118d382a587074edac21d6 https://github.com/swig/swig/commit/67848e377adbc62cca118d382a587074edac21d6 Author: William S Fulton <ws...@fu...> Date: 2013-12-07 (Sat, 07 Dec 2013) Changed paths: M Source/CParse/parser.y Log Message: ----------- Fix template partial specialization detection Fixes template definitions that should be ignored and warnings introduced after nested changes: ../../../Examples/test-suite/refcount.i:63: Warning 318: Instantiation of template 'RCPtr< A >' is ambiguous, ../../../Examples/test-suite/refcount.h:159: Warning 318: instantiation 'RCPtr< T >::RCPtr' used, ../../../Examples/test-suite/refcount.h:159: Warning 318: instantiation 'RCPtr< T >::RCPtr' ignored. ../../../Examples/test-suite/refcount.h:159: Warning 318: instantiation 'RCPtr< T >::RCPtr' ignored. ../../../Examples/test-suite/refcount.h:159: Warning 318: instantiation 'RCPtr< T >::RCPtr' ignored. Different/clearer implementation of constructor detection since Classprefix is not behaving the same since nested changes were introduced. Only accept constructors if in extend mode or in a class. Also remove unused "isextension" attribute on the nodes. Commit: 44323e14b3cb3541db5b89b43a54b443d0f4d8d1 https://github.com/swig/swig/commit/44323e14b3cb3541db5b89b43a54b443d0f4d8d1 Author: Vladimir Kalinin <vka...@op...> Date: 2013-12-07 (Sat, 07 Dec 2013) Changed paths: M Source/CParse/parser.y Log Message: ----------- Classprefix fixed after private nested classes some comments and spaces added Commit: cf3696e8f905ae4e67340a839f8f17cda4549271 https://github.com/swig/swig/commit/cf3696e8f905ae4e67340a839f8f17cda4549271 Author: Vladimir Kalinin <vka...@op...> Date: 2013-12-07 (Sat, 07 Dec 2013) Changed paths: M Source/CParse/parser.y M Source/Modules/csharp.cxx M Source/Modules/java.cxx M Source/Modules/lang.cxx M Source/Modules/main.cxx M Source/Swig/misc.c M Source/Swig/naming.c M Source/Swig/swig.h Log Message: ----------- Merge branch 'nested' of https://github.com/swig/swig into nested Commit: e95ac8265154e1f3f9f05406c7f800182f1350b9 https://github.com/swig/swig/commit/e95ac8265154e1f3f9f05406c7f800182f1350b9 Author: William S Fulton <ws...@fu...> Date: 2013-12-12 (Thu, 12 Dec 2013) Changed paths: M Examples/test-suite/nested_structs.i A Examples/test-suite/octave/nested_structs_runme.m M Lib/typemaps/swigtype.swg M Source/CParse/parser.y M Source/Swig/cwrap.c Log Message: ----------- Nested C class setters restored in c++out mode for Octave Suitable casts are required so that assignment of instances of nested classes work as the nested class is duplicated in the global namespace, eg: struct Outer { struct Nested { int bar; } bar_instance; }; Outer.bar_instance can now be assigned to. Commit: 3b4d33131096949e5dc3800a96760e096555db6b https://github.com/swig/swig/commit/3b4d33131096949e5dc3800a96760e096555db6b Author: William S Fulton <ws...@fu...> Date: 2013-12-12 (Thu, 12 Dec 2013) Changed paths: M Source/Modules/nested.cxx Log Message: ----------- Add missing header to new source file Commit: 2121e1217eae19a0a3e852fc52c89f55faf7e20a https://github.com/swig/swig/commit/2121e1217eae19a0a3e852fc52c89f55faf7e20a Author: William S Fulton <ws...@fu...> Date: 2013-12-12 (Thu, 12 Dec 2013) Changed paths: M Source/CParse/cparse.h M Source/CParse/cscanner.c M Source/CParse/parser.y M Source/Modules/main.cxx M Source/Modules/nested.cxx M Source/Modules/octave.cxx M Source/Modules/swigmod.h M Source/Swig/cwrap.c Log Message: ----------- Ensure -c++out is not used with -c++ Error checking for this combination implemented as well as correcting Octave Also refactor, replacing CPlusPlusOut variable with cparse_cplusplusout for an implementation which more closely resembles cparse_cplusplus which is also required in both .c and .cxx files. Commit: 0f4ceaf5923fd9a30eb9201048cd285a9bba8084 https://github.com/swig/swig/commit/0f4ceaf5923fd9a30eb9201048cd285a9bba8084 Author: William S Fulton <ws...@fu...> Date: 2013-12-13 (Fri, 13 Dec 2013) Changed paths: M Doc/Manual/SWIGPlus.html M Doc/Manual/Warnings.html M Lib/swig.swg M Source/CParse/parser.y M Source/Include/swigwarn.h Log Message: ----------- Deprecation of the 'nestedworkaround' feature Also add in macros for the flatnested feature which can be used in place of the nestedworkaround feature Commit: 314fae460b83389b87a83e003bfbc28271c495c1 https://github.com/swig/swig/commit/314fae460b83389b87a83e003bfbc28271c495c1 Author: William S Fulton <ws...@fu...> Date: 2013-12-14 (Sat, 14 Dec 2013) Changed paths: M .travis.yml M Doc/Manual/SWIGPlus.html M Doc/Manual/Warnings.html M Examples/csharp/check.list A Examples/csharp/nested/Makefile A Examples/csharp/nested/example-cs.csproj A Examples/csharp/nested/example-vc.vcproj A Examples/csharp/nested/example.cxx A Examples/csharp/nested/example.h A Examples/csharp/nested/example.i A Examples/csharp/nested/example.sln A Examples/csharp/nested/runme.cs M Examples/java/check.list A Examples/java/nested/Makefile A Examples/java/nested/example.cxx A Examples/java/nested/example.dsp A Examples/java/nested/example.h A Examples/java/nested/example.i A Examples/java/nested/runme.java M Examples/test-suite/common.mk M Examples/test-suite/derived_nested.i M Examples/test-suite/java/nested_class_runme.java M Examples/test-suite/java/nested_structs_runme.java M Examples/test-suite/java/template_nested_runme.java M Examples/test-suite/namespace_class.i M Examples/test-suite/namespace_union.i M Examples/test-suite/nested_class.i M Examples/test-suite/nested_comment.i A Examples/test-suite/nested_private.i A Examples/test-suite/nested_scope.i M Examples/test-suite/nested_structs.i M Examples/test-suite/nested_workaround.i A Examples/test-suite/octave/nested_structs_runme.m M Examples/test-suite/template_nested.i M Examples/test-suite/template_nested_typemaps.i M Examples/test-suite/union_scope.i M Lib/swig.swg M Lib/typemaps/swigtype.swg M Source/CParse/cparse.h M Source/CParse/cscanner.c M Source/CParse/parser.y M Source/Include/swigwarn.h M Source/Makefile.am M Source/Modules/allocate.cxx M Source/Modules/contract.cxx M Source/Modules/csharp.cxx M Source/Modules/java.cxx M Source/Modules/lang.cxx M Source/Modules/main.cxx A Source/Modules/nested.cxx M Source/Modules/octave.cxx M Source/Modules/swigmod.h M Source/Modules/typepass.cxx M Source/Swig/cwrap.c M Source/Swig/misc.c M Source/Swig/naming.c M Source/Swig/scanner.c M Source/Swig/swig.h M Source/Swig/swigscan.h M Source/Swig/swigtree.h M Source/Swig/tree.c Log Message: ----------- 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 Commit: 66ebb2a7cb0b9f001a399ff7a4066dac0659f472 https://github.com/swig/swig/commit/66ebb2a7cb0b9f001a399ff7a4066dac0659f472 Author: William S Fulton <ws...@fu...> Date: 2013-12-14 (Sat, 14 Dec 2013) Changed paths: M .travis.yml Log Message: ----------- Remove nested branch from Travis builds Compare: https://github.com/swig/swig/compare/4cf5de797f15...66ebb2a7cb0b |