Commit graph

19 commits

Author SHA1 Message Date
Vladimir Kalinin
69d849b56c filtered warnings, turned on "flatnested" for nested template test 2014-02-02 23:38:23 +04:00
Vladimir Kalinin
b63c4839fe 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)
2013-11-29 07:02:34 +00:00
David Nadlinger
a355d2d46a Added special cases to the test-suite as required for D.
This is a part of the pending merge of the D module.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12298 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-11-18 00:17:37 +00:00
William S Fulton
aa61c716a8 Stop generating uncompileable code when using nested template classes in functions. Replace SWIGWARN_PARSE_NESTED_CLASS with SWIGWARN_PARSE_NAMED_NESTED_CLASS and SWIGWARN_PARSE_UNNAMED_NESTED_CLASS for named and unnamed nested classes respectively. Named nested class ignored warnings can now be suppressed by name using %warnfilter
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11735 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-12 19:47:04 +00:00
William S Fulton
80f1901570 nested class method test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9532 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-11-08 00:59:17 +00:00
Marcelo Matus
89579815ab more fixes for %copyctor
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9021 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-03-20 10:39:01 +00:00
Marcelo Matus
8547fe7842 better fix for typedef + inheritance
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8788 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-02-11 06:20:02 +00:00
Marcelo Matus
9e4e7d9dab better fix for typedef + inheritance
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8787 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-02-11 06:17:45 +00:00
Marcelo Matus
9f8a08ff35 better fix for typedef + inheritance
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8786 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-02-11 06:13:44 +00:00
Marcelo Matus
082f050258 fix namespace issue reported by Nero, in short, types must be resolved first in the parent scope, then in the base class list
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8780 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-02-10 23:58:17 +00:00
Marcelo Matus
89e7497ac6 add support for named warning codes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8249 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-06 11:42:24 +00:00
Marcelo Matus
e1534a90e0 add more support for operators + templates
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7807 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-05 10:26:37 +00:00
Marcelo Matus
bf2dac0672 fix bug #1347853 and better and/or/not operator management
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7799 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-04 16:47:07 +00:00
Marcelo Matus
54ac86798a recover pseudo nested class support
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6724 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-13 01:25:56 +00:00
Marcelo Matus
a0c0486d76 making sure the resolve_scope_node is working fine before release, and fix for unnamed namespace
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6641 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-03 08:07:02 +00:00
Marcelo Matus
cb15d93f18 fix %template + static class members
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6623 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-02 20:04:59 +00:00
Marcelo Matus
9cdd5195ab fix %template + static class members
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6622 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-02 19:40:41 +00:00
Marcelo Matus
c4aa8eb597 last fixes for namespaces
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6608 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-02 01:59:33 +00:00
Marcelo Matus
3fc7b773d9 fixes for namespaces + class declarations + %template directive
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6576 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-01 08:38:21 +00:00