Support for %feature("except", throws="ExceptionClass") so that any Java exception classes thrown from JNI code can be added to the throws list - handled in the same way as the 'throws' attribute in typemaps.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6000 626c5289-ae23-0410-ae9c-e8d60b6d4f22
%feature improvements for the syntax that takes the feature value within the
%feature() brackets. The value specified is no longer restricted to being just
a string. It can be a string or a number. For example, this is now acceptable
syntax:
%feature("featurename",20.0);
whereas previously it would have to have been:
%feature("featurename","20.0");
Useful for features that are implemented as a macro, for example:
#define %somefeature(value) %feature("somefeature",value)
These will now work accepting either a string or a number:
%somefeature("Fred");
%somefeature(4);
2)
%feature enhancements. Features can now take an unlimited number of attributes
in addition to the feature name and feature value. The attributes are optional
and are much the same as the typemap attributes. For example, the following
specifies two optional attributes, attrib1 and attrib2:
%feature(featurename, attrib1="attribval1", attrib2="attribval2") name "val";
%feature(featurename, val, attrib1="attribval1", attrib2="attribval2") name;
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5997 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Comeau and GCC-3.4.0, don't like the template specifier that SWIG was generating
when calling the method. This fix may break some non standard compliant compilers,
for example, Sun workshop compilers prior to version 6.2.p2. Patch submitted
by Bill Clarke.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5975 626c5289-ae23-0410-ae9c-e8d60b6d4f22
csclassmodifiers typemap now contains the class type
imclassclassmodifiers and moduleclassmodifiers pragmas now contain the class type
$module special variable support
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5969 626c5289-ae23-0410-ae9c-e8d60b6d4f22
javaclassmodifiers typemap now contains the class type
jniclassclassmodifiers and moduleclassmodifiers pragmas now contain the class type
$module special variable support
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5968 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Proper Java enums
Typesafe enum pattern
Original approach using integers for each enum item
'Type unsafe enums' - using static final integers in a Java class named after the C/C++ enum name
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5925 626c5289-ae23-0410-ae9c-e8d60b6d4f22
The typemaps were changed to use const ref typemaps (C++ only, not C).
Inconsistency removed and the pointer typemaps used again.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5890 626c5289-ae23-0410-ae9c-e8d60b6d4f22
specialize any arguments; simply re-export the primitive functions.
(This is a performance optimization which reduces load time and
execution time.)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5886 626c5289-ae23-0410-ae9c-e8d60b6d4f22
For Example, given C++:
enum AnEnum { foo, bar };
typedef AnEnum AnEnumeration;
void something(AnEnum e, AnEnumeration f);
The following is generated:
public enum AnEnum {
foo,
bar
}
public static void something(AnEnum e, AnEnum f) {...}
See the changes file for further details
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5851 626c5289-ae23-0410-ae9c-e8d60b6d4f22
enumvalue contains the enum value for an enum item (if one given/parsed)
enumvalueex fills in the missing enum values, eg enumvalueex is set to 0 if no enum value given for the first enum item,
otherwise, contains the previous enum value + 1.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5850 626c5289-ae23-0410-ae9c-e8d60b6d4f22