Commit graph

192 commits

Author SHA1 Message Date
William S Fulton
13d9e19cdb Fix spacing in generated code for csdirectorin 'pre', 'post' and 'terminator' attributes. Add some more tests for these attributes. 2013-01-11 19:47:10 +00:00
Vladimir Kalinin
2b407f4b27 SF Patch#268 - Add 'pre', 'post' and 'terminator' attributes to the csdirectorin typemap
"csdirectorin" "pre:" and "post" code attributes in C# module. Without them it is
not trivial to marshal strings and smart-pointers back and forth
between user callback code and native code. (especially by reference)

Also fixes 2 minor issues in director code generation that are
difficult to come by until "csdirectorin" attribute is extended.
The first is that "ref" types used in directors lead to invalid
signature generation (the type array used to match methods possibly
overloaded by user). typeof(ref T) is used instead of
typeof().MakeByRefType()
The second is that ignored director methods are not completely ignored
- if there was a %typemap(imtype, "directorinattributes") it is not
skipped for ignored method.
2013-01-09 00:11:41 +00:00
William S Fulton
d93dc0f8e2 Distinguish between an "abstract" attribute on a class containing a list of abstract members and an "abstract" flag on pure virtual methods - renamed former to "abstracts"
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13935 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-24 14:13:58 +00:00
William S Fulton
0d2c459046 Remove some unused code and pointless variable assignments
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13932 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-23 07:38:00 +00:00
William S Fulton
0c7bc36122 Fix obvious copy/paste errors in some director code
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13914 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-19 19:47:48 +00:00
William S Fulton
660b15ea5a Correctly handle errors if language symbol already exists
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13913 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-19 19:46:21 +00:00
William S Fulton
e0967f3e13 Fix unnecessary and inconsistent null pointer checks
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13912 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-19 19:44:48 +00:00
William S Fulton
288e45cb15 Add some assertions to ensure NULL pointer is not used
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13910 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-19 19:42:17 +00:00
William S Fulton
d918bddfc0 Fix segfaults when using filename paths greater than 1024 characters in length - use String * and heap instead of fixed size static char array buffers.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13904 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-18 00:45:18 +00:00
William S Fulton
fd24b188e2 Fix Coverity 'Uninitialized pointer fields' - member variables are now initialized
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13887 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-14 22:17:28 +00:00
William S Fulton
46d2486115 Resource leak fixes (or hiding them from Coverity static analysis tool by using String instead of char *)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13886 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-14 22:16:54 +00:00
William S Fulton
5a1e82a2f4 Remove DohClose (Close) and replace with calls to DohDelete (Delete) to fix some minor memory leaks in most uses of NewFile.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13885 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-14 22:16:07 +00:00
William S Fulton
f6229d4b73 Fix director typemap searching so that a typemap specified with a name will be correctly matched. Previously the name was ignored during the typemap search. Implemented by ensuring the 'type' attribute in the Node is set up correctly and using the usual Swig_typemap_lookup on the Node.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13873 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-10-27 17:37:34 +00:00
William S Fulton
315dc5a879 Fix some memory issues - use of deleted memory highlighted by DOH_DEBUG_MEMORY_POOLS
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13524 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-05 22:17:32 +00:00
William S Fulton
b989e43922 Fix incorrect object deletion in C# module
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13522 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-05 16:17:32 +00:00
William S Fulton
2d24ca37d1 Fix invalid code sometimes being generated for C# director methods with many arguments
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13519 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-05 15:49:43 +00:00
William S Fulton
11185e66b1 Add support for %nspace when using directors - C#
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12892 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-01-07 22:09:28 +00:00
William S Fulton
de5a78c781 Expand symname special variable in director typemaps
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12887 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-12-23 16:27:15 +00:00
William S Fulton
468ca084fc Correct special variables in 'directorargout' typemap. This change will break any 'directorargout' typemaps you may have written. Please change: to and to \n Also fix the named 'directorargout' DIRECTOROUT typemaps for these languages which didn't previously compile and add in , etc expansion.\n [C#, Go, Java, D] Add support for the 'directorargout' typemap.\n [Java] Add (char *STRING, size_t LENGTH) director typemaps.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12877 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-12-20 20:50:36 +00:00
William S Fulton
24133bacd7 Remove numerous hard coded 'result' variable name in generated c/c++ wrappers. The variable name is now defined in just one place, making it possible to change the name easily if a target language so wishes - see cwrap.c.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12830 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-10-30 21:51:50 +00:00
William S Fulton
8b9afd0772 Fix %callback which was generating uncompileable code for C# and D
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12785 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-08-26 18:05:50 +00:00
William S Fulton
b13ec94386 SF bug #3195112 - fix wrapping of enums that are type char
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12557 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-03-26 15:28:31 +00:00
William S Fulton
a63d456f8a Remove redundant code highlighted by warnings in gcc-4.6
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12536 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-03-14 07:22:08 +00:00
William S Fulton
b69b793d8e Better consistency in usage display
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12524 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-03-09 21:42:38 +00:00
William S Fulton
4a73d986dd 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.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12419 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-02-01 07:02:50 +00:00
David Nadlinger
91523f7510 [C#, D, Java] Check for collision of parameter names with target language keywords when generating the director glue code.
The situation in which the generated could would previously be invalid is illustrated in the new 'director_keywords' test case.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12358 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-12-30 15:40:17 +00:00
William S Fulton
7f4283f684 Fix special variable not being expanded for csvarin typemaps when used for global variables
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12354 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-12-23 20:27:34 +00:00
William S Fulton
61fefd8cc4 Remove bad usage of a String rather than SwigType for csharp directors
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12325 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-12-07 20:12:17 +00:00
William S Fulton
6c094629cb File and line number corrections for warnings WARN_JAVA_MULTIPLE_INHERITANCE WARN_MODULA3_MULTIPLE_INHERITANCE WARN_CSHARP_MULTIPLE_INHERITANCE and errors 'The javabase typemap for proxy' 'No methodname attribute...' 'No methodmodifiers attribute...' 'The csbase typemap for proxy...'
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12224 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-09-20 19:11:55 +00:00
William S Fulton
45f20c7363 Fix constants wrapper warnings for visual c++
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12064 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-05-28 22:24:11 +00:00
William S Fulton
7b2c6b477a Fix segfault attempting illegal javaclassname and csclassname special variable substitution
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12058 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-05-26 19:01:12 +00:00
William S Fulton
12cfc251e4 Fix #2408232. Improve shared_ptr and intrusive_ptr wrappers for classes in an inheritance hierarchy. No special treatment is needed for derived classes, the SWIG_SHARED_PTR_DERIVED macro is deprecated.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12036 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-05-22 22:49:47 +00:00
Olly Betts
bf1d3f0714 Remove superfluous semicolons.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12034 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-05-21 07:10:12 +00:00
William S Fulton
8a169eb0cb Fix wrapping of C++ enum boolean values
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12028 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-05-14 18:46:20 +00:00
William S Fulton
31485a7b3b Fix nspace when no -namespace is used (for C#)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11949 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-03-17 19:35:45 +00:00
William S Fulton
cd317b3f1c Java/C# constants fix after last nspace commit
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11947 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-03-13 23:39:46 +00:00
William S Fulton
e81bfb86c0 Correct file and line number display for some error messages, these now also result in exiting with an error.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11945 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-03-13 23:08:02 +00:00
William S Fulton
7ed1528349 nspace fixes and adding in missing symbols in language symbol tables for Java and C#
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11937 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-03-13 00:05:31 +00:00
William S Fulton
7af8eb954b add some missing nspace support
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11936 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-03-10 22:00:14 +00:00
William S Fulton
4853346745 remove duplicate special variable replacement
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11934 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-03-10 08:07:39 +00:00
William S Fulton
8d227bce62 Slightly efficiency improvements for packages/namespaces/
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11933 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-03-10 07:50:32 +00:00
William S Fulton
bce282fa0c Minor tweaks
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11931 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-03-10 07:29:16 +00:00
William S Fulton
96f9879511 Fixes for nspace and derived classes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11930 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-03-09 21:15:34 +00:00
William S Fulton
b6b99bb148 Add nspace feature for C# and add documentation on nspace
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11920 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-03-06 19:11:32 +00:00
William S Fulton
1253657bb4 Add improved namespace support - the nspace feature, working for Java only at the moment.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11896 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-03-04 21:27:23 +00:00
William S Fulton
cb64f65bae SWIG license change - Source moves to GPLv3
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11876 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-02-27 23:53:33 +00:00
William S Fulton
4bf5049397 Improve target language symbol tables for Java and C#, using different scopes for the constants interface, module class and intermediary class rather than incorrectly putting all the symbols into one scope
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11857 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-02-13 00:42:09 +00:00
William S Fulton
65f1e47cb2 remove some unnecessary casts
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11853 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-02-11 21:59:16 +00:00
William S Fulton
83bd820285 Add typemaps used debugging option (-debug-tmused). Fix missing file/line numbers for typemap warnings and in the output from the -debug-tmsearch/-debug-tmused options
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11802 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-01-04 19:33:52 +00:00
William S Fulton
bf8ba3bf55 Fix generated quoting when using %javaconst(1)/%csconst(1) for static const char member variables.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11760 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-29 01:29:26 +00:00