Commit Graph

348 Commits

Author SHA1 Message Date
William S Fulton 380d10aac8 Fixes for enums no longer being handled as integers in the core.
New special variable $*csclassname to compliment $&csclassname and $csclassname.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6777 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-28 19:04:28 +00:00
William S Fulton dc12af75b6 various fixes to remove warnings
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6580 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-01 21:10:06 +00:00
William S Fulton 909096be81 -dllimport commandline option and $dllimport special variable to specify the DllImport attribute
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6501 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-25 20:43:32 +00:00
John Lenz 75e462baa8 Removed ability to share type information by C linking
All type sharing happens through a global variable in the target language.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6390 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-16 18:23:59 +00:00
William S Fulton 16a711e90f Fixes to compile on some buggy Redhat gcc 2.96 versions
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6089 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-08-12 21:12:21 +00:00
William S Fulton e86362442a Support for %csconstvalue added (better compile time constants)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5999 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-06-27 20:56:54 +00:00
William S Fulton 2846e01760 csgetcptr and csptrconstructormodifiers typemap replaced by the csbody/csbody_derived typemap
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/SWIG@5969 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-06-03 22:39:16 +00:00
William S Fulton ac4df70a4c typesafe enum support for storing the enum name (for ToString)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5959 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-05-31 07:25:18 +00:00
William S Fulton 97f5ccb180 New enum wrapping options implemented and bug fixes:
Proper C# enums
Typesafe enum pattern
Original approach using integers for each enum item


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5924 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-05-24 20:19:36 +00:00
William S Fulton 9ae5f973d2 %import fix for C# enums
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5884 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-22 20:56:48 +00:00
William S Fulton 41724c135f C++ enums are no longer wrapped by integers, they are now wrapped by C# enums.
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/SWIG@5851 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-09 19:41:40 +00:00
William S Fulton 173a25a6fd New commandline option -namespace for putting all generated classes into a C# namespace.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5739 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-24 21:05:48 +00:00
William S Fulton ad5d600aeb Bill Hoffman patch to stop crashing when typewrapper class cannot be created. Overloading fixes for when methods cannot be disambiguated.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5712 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-12 21:48:37 +00:00
William S Fulton 11561b2499 Eric Sunshine patch - Mods to work on NextStep
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5674 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-22 22:42:18 +00:00
William S Fulton e848fcb3d8 Covariant return type fixes...
Fixed error where the base class was being used to wrap the derived class C++ pointer.
Emit a warning when encountering these return types as the return type is changed to the base class type.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5590 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-23 21:46:56 +00:00
William S Fulton 2e0346a3a6 %javamethodmodifiers (java) and %csmethodmodifiers (C#) operate slightly differently.
Previously this had to be present to set the method modifiers. Now this feature is only
used if it exists for the method being wrapped. The default is "public" as previous
however, when wrapping protected director methods it is "protected".


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5553 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-13 00:13:10 +00:00
William S Fulton 4d9d790028 Marcelo's suggestion for fixing polymorphic methods that return a polymorphic type.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5524 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 22:13:31 +00:00
William S Fulton e021185ad1 Use classtypeobj instead of classDeclaration:name for typemap searches.
Thanks Dave.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5462 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-02 22:16:00 +00:00
William S Fulton 164b304971 Contract assert macro modification to handle void and non-void return types
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5339 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-18 22:38:34 +00:00
William S Fulton e381e8ba60 $module name substitution to enable name mangling with the module name for the delegate registering functions.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5224 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-01 00:48:32 +00:00
William S Fulton 1035092471 void* used instead of int for IntPtr in C function declarations
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5192 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-10-16 21:34:38 +00:00
Dave Beazley 8ae4c60d39 Major refactoring of DOH List/Hash iterators. See CHANGES
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5101 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-11 20:26:57 +00:00
William S Fulton 49b83f44ed Support for throwing C# exceptions from C/C++ - $module special variable.
Pinvoke method's calling convention fix.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5020 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-08-29 20:09:32 +00:00
William S Fulton 6c71e9d478 -outdir commandline option support => directory for proxy class and other language specific files
-help tidy up


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4981 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-08-07 17:22:12 +00:00
William S Fulton a7fa8d86cc New typemap attribute which specifies the destructor wrapper method name thus making the wrapper method name configurable.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4933 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-29 21:52:26 +00:00
William S Fulton 2ef3a59918 throws attribute working for javain, javaout (Java), csout, csin (C#) and newfree typemaps
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4929 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-27 13:14:08 +00:00
William S Fulton c8d1feb8a0 Java output formatting change and tweak to protected/private destructors
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4902 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-12 19:46:27 +00:00
William S Fulton 4667d7bf2a C# typemap name change twiddle
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4897 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-12 12:32:08 +00:00
William S Fulton 4795f0012b Update so that the module doesn't look like it is wrapping Java! Variable name changes, comments etc modified.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4892 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-12 11:45:04 +00:00
William S Fulton b983da351d A number of the C# features, pragmas and typemaps have had their names changed.
They no longer have java or jni in their names. CHANGES file has complete list.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4890 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-11 19:52:27 +00:00
William S Fulton 10578504db Tweak for protected and private destructor wrapping
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4886 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-11 09:15:06 +00:00
William S Fulton 6b4726769b New typemaps csinterfaces_base and csinterfaces_derived replace
the javainterfaces typemap. Also fixes the peculiarity of all classes
in an inheritance chain individually deriving from the IDisposable
interface.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4884 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-10 23:09:47 +00:00
William S Fulton 191a2cc071 cildispose and cildisposeoverride typemaps replaced by
csdestruct_base and csdestruct_derived typemaps. The delete()
method has been removed and its functionality put into these
typemaps designed for the Dispose method.
New typemaps: csfinalize for finalizers.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4877 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-10 21:43:58 +00:00
William S Fulton da8d51c30b Fix for proxy class typemaps so that they use the C++ type and not the proxy class name.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4786 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-05-11 21:37:52 +00:00
William S Fulton 89e0c9b214 constants and enums are wrapped as C# constants rather than variables now
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4663 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-04-03 15:31:19 +00:00
William S Fulton a9dd72b92d warning fix
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4634 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-27 00:33:41 +00:00
William S Fulton 93b9d5e23f Reserved word checking removed - a #define can be used in interface instead
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4583 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-19 23:02:51 +00:00
William S Fulton c201cb7376 vararg support for Java and C#
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4575 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-19 20:44:33 +00:00
William S Fulton 087fb8dba2 Global variables use properties instead of get and set functions.
All member variables working as properties.
pragma used for module class and pinvoke class import statements


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4539 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-15 22:47:28 +00:00
William S Fulton 3bd5ee539a Missing using System; statement in the module class, needed by mono compiler
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4533 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-12 23:09:39 +00:00
William S Fulton a7bc7a6ba9 Virtual methods in C# proxy classes now use the appropriate keyword, virtual or override.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4526 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-12 20:42:52 +00:00
William S Fulton c172b2e5e6 Java module enhancements/bug fixes since the C# module was derived off the Java one.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4501 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-10 19:47:38 +00:00
Dave Beazley e19c73746d Enhancement to Swig_require(), Swig_save(), Swig_restore()
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4436 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-06 21:10:49 +00:00
William S Fulton 22faae5ec6 Remove package statement when using -package commandline. Perhaps this needs to be replaced by assemblies? Gets the test-suite under way for the moment.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4430 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-04 22:35:29 +00:00
William S Fulton 6116a681bc gcc -Wall warnings fix
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4426 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-03 23:29:53 +00:00
William S Fulton 5e63459fd9 CSharp module. Neil Cawse version.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4421 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-03 20:26:07 +00:00
Tiger Feng 4721789c66 csharp module added
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4376 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-02-21 20:34:52 +00:00
Tiger Feng 876f9fa094 *** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4375 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-02-21 19:39:27 +00:00