swig/Examples/test-suite/java
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
..
aggregate_runme.java contract assertion test 2003-11-18 23:19:47 +00:00
allprotected_runme.java remove svn:executable property where applied incorrectly 2008-11-26 21:54:49 +00:00
apply_signed_char_runme.java %apply signed char test added 2006-08-10 21:22:12 +00:00
apply_strings_runme.java ensure %apply with char*, unsigned char* and signed char* works 2006-05-03 20:58:19 +00:00
array_member_runme.java Array member runtime test 2003-06-01 13:56:02 +00:00
arrays_global_twodim_runme.java The great merge 2002-11-30 22:01:28 +00:00
char_binary_runme.java Added some missing multi-argument typemaps: (char *STRING, size_t LENGTH) and (char *STRING, int LENGTH) - Java patch is from Volker Grabsch. Elements of the primitive_types.i testcase for this moved into char_binary.i. Documentation for this enhanced. 2011-01-14 19:06:43 +00:00
char_strings_runme.java More string tests: char const*const 2010-05-01 10:01:26 +00:00
cpp11_lambda_functions_runme.java Rename all C++0x to C++11 and cpp0x to cpp11 2013-10-07 20:37:00 +01:00
cpp11_thread_local_runme.java Rename all C++0x to C++11 and cpp0x to cpp11 2013-10-07 20:37:00 +01:00
cpp_typedef_runme.java update to use proxy terminology 2006-06-29 21:17:30 +00:00
curiously_recurring_template_pattern_runme.java Add a testcase for the Curiously Recurring Template Pattern - CRTP 2012-09-13 20:15:03 +00:00
default_args_runme.java *** empty log message *** 2004-11-09 21:24:57 +00:00
default_constructor_runme.java test non-public destructors 2003-11-29 00:31:24 +00:00
director_abstract_runme.java Fix for the imports testcase breaking - many of the tests have classes with the same names and so these were being compiled as .class files in this directory. Solved this by giving these classes unique names based on the test name. 2005-04-28 22:13:32 +00:00
director_basic_runme.java Fix director typemaps for pointers so that NULL pointers are correctly marshalled to C#/Java null in director methods 2008-07-14 21:09:23 +00:00
director_binary_string_runme.java Fix (char *STRING, size_t LENGTH) typemaps to accept NULL string 2012-09-07 06:07:20 +00:00
director_classes_runme.java Fix for some older jdks 2006-10-24 20:47:36 +00:00
director_classic_runme.java remove svn:executable property where applied incorrectly 2008-11-26 21:54:49 +00:00
director_default_runme.java Fix for the imports testcase breaking - many of the tests have classes with the same names and so these were being compiled as .class files in this directory. Solved this by giving these classes unique names based on the test name. 2005-04-28 22:13:32 +00:00
director_enum_runme.java Fix for the imports testcase breaking - many of the tests have classes with the same names and so these were being compiled as .class files in this directory. Solved this by giving these classes unique names based on the test name. 2005-04-28 22:13:32 +00:00
director_exception_runme.java Fix for the imports testcase breaking - many of the tests have classes with the same names and so these were being compiled as .class files in this directory. Solved this by giving these classes unique names based on the test name. 2005-04-28 22:13:32 +00:00
director_frob_runme.java unsigned long long test added 2006-10-11 22:36:15 +00:00
director_ignore_runme.java remove svn:executable property where applied incorrectly 2008-11-26 21:54:49 +00:00
director_nspace_runme.java Fix for SourceForge Bug #1278 2013-01-02 15:07:56 -06:00
director_primitives_runme.java comprehensive director runtime tests based on C# version 2006-07-07 10:09:46 +00:00
director_protected_runme.java Any 'using' statements in the protected section of a class were previously ignored with dirprot mode, certainly with Java and C#. Also directors - a call to a method being defined in the base class, not overridden in a subcalss, but again overridden in a class derived from the first subclass was not being dispatched correcly to the most derived class - affecting non-scripting languages. Fix for C# is based on recent fix for D. 2011-02-01 07:02:50 +00:00
director_smartptr_runme.java Added a test case for SourceForge Bug #1283. 2013-01-04 00:31:55 +00:00
director_string_runme.java test multiple calls for const string& return values 2006-11-03 21:55:24 +00:00
director_thread_runme.java Add DetachCurrentThread back in for directors. The problems occuring on Solaris look like they were jdk bugs (1.4.2 and older) 2007-10-12 21:40:01 +00:00
director_unroll_runme.java Fix for the imports testcase breaking - many of the tests have classes with the same names and so these were being compiled as .class files in this directory. Solved this by giving these classes unique names based on the test name. 2005-04-28 22:13:32 +00:00
director_wombat_runme.java test directors with classes passed by value, ref and pointer 2005-09-13 21:02:21 +00:00
dynamic_cast_runme.java The great merge 2002-11-30 22:01:28 +00:00
enum_forward_runme.java Fix C enum forward declarations in some target languages (notably Java) 2012-05-01 18:44:22 +00:00
enum_macro_runme.java Fix syntax error when preprocessor macros are defined inside of enum lists 2013-04-18 22:48:42 +01:00
enum_thorough_proper_runme.java SF bug #3195112 - fix wrapping of enums that are type char 2011-03-26 15:28:31 +00:00
enum_thorough_runme.java SF bug #3195112 - fix wrapping of enums that are type char 2011-03-26 15:28:31 +00:00
enum_thorough_simple_runme.java SF bug #3195112 - fix wrapping of enums that are type char 2011-03-26 15:28:31 +00:00
enum_thorough_typeunsafe_runme.java SF bug #3195112 - fix wrapping of enums that are type char 2011-03-26 15:28:31 +00:00
extend_constructor_destructor_runme.java keyword variable workaround in testcase 2011-12-21 07:18:45 +00:00
extend_default_runme.java mod to work on java-1.4 2004-11-06 00:13:48 +00:00
extend_special_variables_runme.java Support special variable expansion in %extend. 2012-10-11 19:28:02 +00:00
extend_typedef_class_runme.java Fix %extend on typedef classes in a namespace using the typedef name 2011-09-08 18:18:33 +00:00
extern_declaration_runme.java new test to test windows calling conventions with extern functions 2005-06-27 21:15:55 +00:00
friends_runme.java Add in missing wrappers for friend functions for some target languages 2011-04-01 23:06:40 +00:00
global_namespace_runme.java Fix unary scope operator (::) (global scope) regression introduced in 2.0.0. The mangled symbol names were incorrect, sometimes resulting in types being incorrectly treated as opaque types. 2010-10-13 05:48:59 +00:00
ignore_parameter_runme.java The great merge 2002-11-30 22:01:28 +00:00
imports_runme.java The great merge 2002-11-30 22:01:28 +00:00
inctest_runme.java test include within a structure - #1162194 2006-10-06 22:59:22 +00:00
inherit_target_language_runme.java Add test for notderived attribute in csbase/javabase typemap 2009-05-01 06:26:42 +00:00
intermediary_classname_runme.java reverse merge last commit - 11348 2009-07-02 22:40:49 +00:00
java_constants_runme.java The great merge 2002-11-30 22:01:28 +00:00
java_director_assumeoverride_runme.java Add assumeoverride feature option for Java directors to improve performance when it can be assumed that all methods are overridden by the Java derived classes 2012-08-13 21:41:08 +00:00
java_director_exception_feature_nspace_runme.java java_director_exception_feature_nspace test case changes 2013-11-07 22:50:08 +00:00
java_director_exception_feature_runme.java Add feature director:except for improved director exception handling in Java 2013-10-22 20:44:35 +01:00
java_director_runme.java Fix for %%javaexception and directors so that all the appropriate throws clauses are generated 2009-12-23 01:05:17 +00:00
java_enums_runme.java New default Java enum wrapping approach which uses the type safe enum pattern 2004-05-24 19:58:10 +00:00
java_jnitypes_runme.java fix overloading of jboolean with other JNI types at the c++ level for some platforms (64bit Linux) 2009-09-02 20:49:55 +00:00
java_lib_arrays_dimensionless_runme.java dimensionless arrays tests marshalling with proper Java arrays 2004-12-08 22:52:07 +00:00
java_lib_arrays_runme.java Marshalling char[] and char[ANY] to Java byte[] is now a bit easier 2011-06-17 06:41:53 +00:00
java_lib_various_runme.java char **STRING_ARRAY typemaps fixed to handle null pointers 2012-04-28 14:29:23 +00:00
java_pgcpp_runme.java Strip C comments from the java typemaps when determining to use the premature garbage collection prevention parameter 2007-10-12 21:41:27 +00:00
java_pragmas_runme.java The great merge 2002-11-30 22:01:28 +00:00
java_prepost_runme.java Tweak test so it works if test-suite is run using -copyctor 2012-11-13 22:17:55 +00:00
java_throws_runme.java Fix testcase comment 2009-08-16 00:09:43 +00:00
java_typemaps_proxy_runme.java Add premature garbage collection prevention parameter test 2006-10-29 22:06:35 +00:00
java_typemaps_typewrapper_runme.java The great merge 2002-11-30 22:01:28 +00:00
li_boost_intrusive_ptr_runme.java Convert to unix fileformat 2013-01-12 16:54:45 +00:00
li_boost_shared_ptr_bits_runme.java Fix #3024875 - shared_ptr of classes with non-public destructors. This also fixes the 'unref' feature when used on classes with non-public destructors. 2010-07-07 18:19:01 +00:00
li_boost_shared_ptr_runme.java add test for inheritance of 3 classes deep which exposes a problem in the python shared_ptr wrappers. Manually added the %types for now. 2008-12-06 17:10:53 +00:00
li_boost_shared_ptr_template_runme.java %shared_ptr fixes when the type is a template using template parameters that are typedef'd to another type. Also fixed %shared_ptr when the template parameter has a default value. 2011-08-13 00:36:12 +00:00
li_carrays_runme.java add in global array variable 2007-04-02 21:37:13 +00:00
li_std_except_runme.java check std::exception typemaps are working correctly and throwing the correct Java exceptions. 2006-01-03 23:28:19 +00:00
li_std_string_runme.java add in const std::string variable tests 2006-01-29 14:47:38 +00:00
li_std_vector_enum_runme.java Fix #3475492 - iterating through std::vector wrappers of enumerations. 2012-03-13 07:10:24 +00:00
li_std_vector_runme.java vector wrapper runtime tests 2005-12-26 23:31:28 +00:00
li_typemaps_runme.java lib_xxx to li_xxx name change fixes 2004-11-02 22:31:12 +00:00
long_long_runme.java More robust BigInteger runtime test 2006-01-09 23:11:17 +00:00
Makefile.in java_director_exception_feature_nspace test case changes 2013-11-07 22:50:08 +00:00
member_pointer_runme.java Remove obscure mpointer example and replace with member_pointer.i testcase and runtime examples 2007-08-09 23:47:13 +00:00
memberin_extend_runme.java add test for %extend on member variable 2009-07-09 19:56:47 +00:00
minherit2_runme.java runtime test for turning multiple inherited classes into Java interfaces 2006-10-31 22:10:34 +00:00
multiple_inheritance_runme.java multiple inheritance and ignored base classes test 2005-10-08 11:36:16 +00:00
namespace_forward_declaration_runme.java Fix using declarations combined with using directives with forward class 2012-08-04 20:23:07 +00:00
naturalvar_more_runme.java Add naturalvar_more testcase runtime test 2013-10-11 19:42:19 +01:00
nested_class_runme.java Nested classes support 2013-11-29 07:02:34 +00:00
nested_structs_runme.java Nested classes support 2013-11-29 07:02:34 +00:00
nested_workaround_runme.java add missing nested_workaround runtime test 2009-11-17 19:28:29 +00:00
nspace_extend_runme.java Test %extend and nspace feature 2010-03-08 23:02:53 +00:00
nspace_runme.java [D] nspace support. 2011-03-13 00:32:26 +00:00
operator_overload_runme.java test virtual operators 2006-09-25 20:15:24 +00:00
overload_complicated_runme.java remove svn:executable property where applied incorrectly 2008-11-26 21:54:49 +00:00
overload_template_runme.java Rename max() to maximum() as max() is a built-in function in PHP. 2009-08-14 01:33:23 +00:00
pointer_reference_runme.java Fix typecheck typemaps for SWIGTYPE *const& 2011-01-30 00:42:27 +00:00
preproc_line_file_runme.java Fix correct line number reporting in errors/warnings when a macro definition ends with '/' and it is not the end of a C comment - swig.swg has some of these macro definitions. 2010-09-11 11:02:18 +00:00
primitive_ref_runme.java Fixed bug in test 2003-05-11 21:52:19 +00:00
profiletest_runme.java added profile test 2004-06-14 18:11:38 +00:00
README The great merge 2002-11-30 22:01:28 +00:00
rename1_runme.java more thorough %rename tests including conversion operator %rename 2007-05-26 00:05:32 +00:00
rename2_runme.java more thorough %rename tests including conversion operator %rename 2007-05-26 00:05:32 +00:00
rename3_runme.java more thorough %rename tests including conversion operator %rename 2007-05-26 00:05:32 +00:00
rename4_runme.java more thorough %rename tests including conversion operator %rename 2007-05-26 00:05:32 +00:00
rename_pcre_encoder_runme.java Add support for case conversion characters in regex substitutions. 2013-10-15 07:17:56 +01:00
rename_pcre_enum_runme.java Add support for "[not]regexmatch" and "regextarget" to %rename. 2010-07-22 17:02:10 +00:00
ret_by_value_runme.java The great merge 2002-11-30 22:01:28 +00:00
rname_runme.java Fix rname testcase when run under OpenJDK icedtea on Linux because libjvm.so also contains a class called Base. Also remove need for Go specific handling in this testcase. 2011-01-05 21:15:10 +00:00
sizet_runme.java size_t tests 2006-10-17 21:41:39 +00:00
smart_pointer_const_overload_runme.java Apply patch #3066958 from Mikael Johansson to fix default smart pointer handling when the smart pointer contains both a const and non-const operator->. 2010-10-03 13:12:00 +00:00
special_variable_macros_runme.java Document patch #33 from previous commit and complete run time tests 2013-04-18 23:20:48 +01:00
special_variables_runme.java Two additional special variable are expanded in %exception - $parentname 2012-10-11 19:24:24 +00:00
template_classes_runme.java update to use proxy terminology 2006-06-29 21:17:30 +00:00
template_default_arg_runme.java runtime tests for templated functions in a namespace added (overloading and default arg tests) 2004-10-20 21:07:53 +00:00
template_default_class_parms_runme.java Add setter tests to test case 2011-07-01 20:34:38 +00:00
template_default_class_parms_typedef_runme.java Fix some scope and symbol lookup problems when template default parameters are being used with typedef - add the fully expanded template into the c symbol table and scope table. 2011-07-01 22:59:55 +00:00
template_methods_runme.java Fix %template seg fault on some cases of overloading the templated method. 2009-08-15 10:40:19 +00:00
template_namespace_forward_declaration_runme.java Fix using declarations and templates. %template was putting the 2012-08-04 20:24:22 +00:00
template_nested_runme.java Nested classes support 2013-11-29 07:02:34 +00:00
template_nested_typemaps_runme.java minor improvement to testcase 2009-10-24 21:58:06 +00:00
template_partial_specialization_runme.java Fix partial specialization and explicit specialization lookup 2009-10-20 17:50:36 +00:00
template_partial_specialization_typedef_runme.java Fix partial specialization and explicit specialization lookup 2009-10-20 17:50:36 +00:00
template_template_parameters_runme.java Fix template template parameters with default arguments 2007-12-06 22:35:43 +00:00
template_typedef_inherit_runme.java Add testcase for bug #3378145 which was fixed in r12764 2011-07-28 06:29:20 +00:00
template_using_directive_and_declaration_forward_runme.java Fix using declarations and templates. %template was putting the 2012-08-04 20:24:22 +00:00
typemap_arrays_runme.java Fix expansion in array typemaps 2010-12-14 21:38:36 +00:00
typemap_namespace_runme.java runtime test for Java added 2005-12-29 23:58:17 +00:00
typemap_out_optimal_runme.java add test for optimal attribute in out typemap 2009-04-30 06:12:32 +00:00
unions_runme.java The great merge 2002-11-30 22:01:28 +00:00
using_directive_and_declaration_forward_runme.java Fix using declarations combined with using directives with forward class 2012-08-04 20:23:07 +00:00
using_directive_and_declaration_runme.java Fix using declarations combined with using directives with forward class 2012-08-04 20:23:07 +00:00
using_pointers_runme.java test using declaration for methods with an exception specification 2005-05-25 21:17:17 +00:00
varargs_runme.java %varargs tests for Java 2005-03-21 22:04:19 +00:00
virtual_poly_runme.java added a reference polymorphic return type case, and 2003-12-24 06:53:47 +00:00
wallkw_runme.java Fix wallkw runtime test since D was added 2010-12-08 19:58:19 +00:00

See ../README for common README file.

The Java implementation of the test-suite is a little different to the other languages in that all of SWIGs output goes into a subdirectory named after the individual test case. This is so that all the shadow classes can be compiled as Java classes have to go into separate files. Otherwise the Makefile wouldn't know which .java files would be relevant to the testcase. For this to work the testcase must go into a Java package.

Any testcases which have _runme.java appended after the testcase name will be detected and run.