summaryrefslogtreecommitdiff
path: root/Source/Modules/csharp.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Remove support for $source and $targetOlly Betts2021-04-301-10/+0
| | | | | | | | These were officially deprecated in 2001, and attempts to use them have resulted in a warning (including a pointer to what to update them to) for most if not all of that time. Fixes #1984
* Add access modifier support for interface featureWilliam S Fulton2020-09-251-1/+2
| | | | | | | | | | | | | | Add ability to change the modifiers for the C# and Java interface generated when using the %interface macros. For C# use the 'csinterfacemodifiers' typemap. For Java use the 'javainterfacemodifiers' typemap. For example: %typemap(csinterfacemodifiers) X "internal interface" Closes #1874
* Add some comments about shared_ptr upcast codeWilliam S Fulton2020-01-241-0/+1
|
* Refactor upcasts codeWilliam S Fulton2020-01-231-25/+27
| | | | | | In preparation for possible improvement in usage of SwigType_typedef_resolve_all - a SwigType* should be used, not a readable name in a String*.
* Merge branch 'shared-ptr-template-upcast'William S Fulton2020-01-171-5/+6
|\ | | | | | | | | | | | | | | | | | | | | | | * shared-ptr-template-upcast: comments Applying shared_ptr template upcast fix to CSharp, adding CSharp test, and cleanup Adding test case demonstrating issue where SWIG does not generate a correctly typed, upcasted shared_ptr for a template instantiation deriving from a base class WIP - Use the non-encoded type string for upcasting a shared_ptr of a derived type to a shared_ptr of the base type comments Applying shared_ptr template upcast fix to CSharp, adding CSharp test, and cleanup Adding test case demonstrating issue where SWIG does not generate a correctly typed, upcasted shared_ptr for a template instantiation deriving from a base class WIP - Use the non-encoded type string for upcasting a shared_ptr of a derived type to a shared_ptr of the base type
| * Applying shared_ptr template upcast fix to CSharp, adding CSharp test, and ↵etse2019-05-061-5/+6
| | | | | | | | cleanup
* | C# 'out' or 'ref' removal improvements in director typemaps.William S Fulton2019-11-261-1/+1
| | | | | | | | | | | | | | | | - Add support to DOH Replace for not replacing inside C comments - Fix removing 'out' or 'ref' when these are present in C comments in cstype typemaps. Closes #1628
* | 'out' or 'ref' usage in a cstype typemap in directorsWilliam S Fulton2019-11-261-4/+3
| | | | | | | | | | | | | | 'out' / 'ref' was not always stripped out in parts of the director code generation. Issue #1628
* | Fix invalid code generated for "%constant enum EnumType ..." and add a test.Rokas Kupstys2019-08-011-1/+1
| |
* | Fix class name for nested classesIsaac Pascual Monells2019-07-081-1/+1
|/
* Fix C# CA1063 warning by implementing the recommended Dispose methods.William S Fulton2019-04-081-19/+55
| | | | | | | | | | | | | | | Previously just the Dispose() method was generated. Now the Dispose() and Dispose(bool disposing) methods are generated. Changes are required if custom "csfinalize", "csdestruct" or "csdestruct_derived" typemaps are being used. Details in #421 on Github. SWIG will error out if one of the "csfinalize, "csdestruct" or "csdestruct_derived" typemaps are found. Example error message: foo.h:60: Error: A deprecated csfinalize typemap was found for Foo, please remove it and replace all csdestruct, csdestruct_derived and csfinalize typemaps by the csdispose, csdispose_derived, csdisposing and csdisposing_derived typemaps. Closes #421
* Fix class having method `Connect()` creating a name collision with ↵Rokas Kupstys2018-09-061-2/+2
| | | | | | `SwigDirectorConnect()`. Issue is fixed by prepending director methods with `SwigDirectorMethod` instead of `SwigDirector`.
* Misc. typosluz.paz2018-05-171-2/+2
| | | found via `codespell` and `grep`
* Fix lookup of csconstruct, dconstructor and javaconstruct typemapsWilliam S Fulton2018-05-151-1/+2
| | | | The C++ namespace was previously ignored in the lookup type
* C#, D, Java methodmodifiers on destructorsWilliam S Fulton2018-05-111-3/+13
| | | | | | | | | | | Add support so that the %csmethodmodifiers, %dmethodmodifiers, %javamethodmodifiers can modify the method modifiers for the destructor wrappers in the proxy class: dispose, Dispose, delete. With this feature, it is now possible to make a C# proxy class sealed, eg when wrapping a class X, the virtual method modifiers can be removed using: %typemap(csclassmodifiers) X "public sealed class" %csmethodmodifiers X::~X "public /*virtual*/";
* Consistent spacing in generated exception specificationsWilliam S Fulton2018-05-061-2/+2
|
* Correct C# warning for missing cstype typemapWilliam S Fulton2018-03-091-1/+1
|
* Add director typemaps for pointer const ref typesWilliam S Fulton2017-10-241-9/+11
|
* Generation of director method declarations fixesWilliam S Fulton2017-10-231-4/+4
| | | | | | | - Fixes generation of director method declarations containing C++11 ref-qualifiers. - Fixes generation of director method declarations returning more complex types such as const ref pointers. - Rewrite Swig_method_call to use more up to date code in the core.
* Enhancements for directorin typemapsWilliam S Fulton2017-10-161-1/+1
| | | | | | | | | The directorin typemaps will now generate a temporary variable (specified after the type), such as: %typemap(directorin) MyType (MyType *temp) { ... use temp ... } The shared_ptr director typemaps have been fixed for use in functions that take more than one parameter.
* Remove undocumented features used in directorsWilliam S Fulton2017-05-211-31/+0
| | | | | The jsdowncast and csdowncast features are not documented and I think these are a relic of something that was never finished.
* Remove unnecessary dynamic_cast in C#/D/Java directorsWilliam S Fulton2017-05-211-7/+3
| | | | Also revert the removal of dynamic_cast in the csdowncast feature.
* Merge branch 'Sghirate-master'William S Fulton2017-05-211-3/+3
|\ | | | | | | | | * Sghirate-master: [C#] static_cast for native directors
| * [C#] static_cast for native directorsFrederick Parotat2015-06-271-3/+3
| | | | | | Replaced dynamic_cast with static_cast. In the case of directors it seems dynamic_cast is not necessary, yet demands compilation of the generated native wrapper code with RTTI flag (which can impact an application's performance).
* | Add missing return for pure virtual director wrappers for D and C#William S Fulton2017-05-131-1/+5
| |
* | Add raise methods for throwing c++ exceptions in C#, Java, DWilliam S Fulton2017-05-131-1/+1
| | | | | | | | | | | | | | | | | | The director c++ exceptions are thrown in a helper method instead of in the director overloaded method. This circumvents compiler warnings about throwing exceptions when the method has an exception specification or noexcept. If the exception is thrown, abort will still be called! In Java, the "director:noexcept" typemap can be used to do something else. This typemap should be ported to the other languages too.
* | Revert "csharp : noexcept method can't raise Swig::DirectorPureVirtualException"William S Fulton2017-05-131-7/+1
| | | | | | | | This reverts commit 9dcf10138e5053d50a37a7837dc86e58d6b96dae.
* | csharp : noexcept method can't raise Swig::DirectorPureVirtualExceptionChristophe Duvernois2017-04-281-1/+7
| |
* | #526 : propagate c++11 noexcept to director classesChristophe Duvernois2017-04-271-1/+8
| |
* | Fix missing filename in error messages when writing out C# filesWilliam S Fulton2017-01-271-1/+1
| | | | | | | | Closes #882
* | Merge branch 'wkalinin-override_fix'William S Fulton2017-01-161-43/+1
|\ \ | | | | | | | | | | | | | | | * wkalinin-override_fix: test case added for "override" from imported module #733 - wrong "override" calculation in import mode
| * | #733 - wrong "override" calculation in import modeVladimir Kalinin2016-06-271-43/+1
| | |
* | | Add %proxycode directive for adding code into proxy classes for C#, D and JavaWilliam S Fulton2017-01-131-1/+13
| | |
* | | Add %feature("csdirectordelegatemodifiers") for C#William S Fulton2016-12-241-2/+6
| | | | | | | | | | | | | | | Enable customization of the delegate access modifiers generated in director classes. Fixes https://github.com/swig/swig/issues/748
* | | fix for nested ignored typesVladimir Kalinin2016-05-181-2/+6
|/ /
* | Merge branch 'char-escaping'William S Fulton2016-03-121-6/+13
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * char-escaping: Add missing string_constant.i testcase changes file update for char wrappers C# char wrappers fixes for enum values, static const member char values and %csconst D testing added for %dmanifestconst and char constants Fix wrapping D constants using %dmanifestconst Php fix for enum value of '\0' Fix static const char member variables wrappers with %javaconst(1). Expand char testing in enums and %constant Java char changes file update Java enum and static member variable escaping fix for chars Add tests for enum values and static const member variables chars containing escape sequences Minor documentation tweak Conflicts: CHANGES.current
| * | C# char wrappers fixes for enum values, static const member char values and ↵William S Fulton2016-03-121-6/+13
| | | | | | | | | | | | | | | | | | %csconst Use hex escaping for char values used as C# constants
* | | Add limited support for %interface_impl and %shared_ptrWilliam S Fulton2016-03-061-50/+51
| | |
* | | Multiple inheritance warning wording tweakWilliam S Fulton2016-03-061-2/+2
| | |
* | | C# "override" fix for "extend" caseVladimir Kalinin2016-03-051-7/+11
| | |
* | | Add checks for interface name symbol clashesWilliam S Fulton2016-03-031-3/+6
| | |
* | | Re-organization of the interface feature common codeWilliam S Fulton2016-03-031-4/+1
| | | | | | | | | | | | | | | Move code to new feature.cxx file. Activate it in the allocate phase rather than in individual languages.
* | | Add $interfacename family of special variable expansionsWilliam S Fulton2016-02-291-8/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a simple expansion expanding to the name of the interface and is not qualified like $javainterfacename and $csinterfacename. Expansion within typemaps is much like $javainterfacename otherwise. Note that expansion within the pure java code typemap, 'javainterfacecode' and similarly pure C# code typemap, 'csinterfacecode' works like $javaclassname/$csclassname and $&interfacename should not be used, just $interfacename.
* | | Interface name handling improvements and special variable changesWilliam S Fulton2016-02-291-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support expansion of name attribute in: %feature("interface", name="%s") %s expands to the proxy class name and all the usual %rename functions can be used (regex, strip, camelcase etc) to derive the interface name from the proxy class name. Rename $interfacename family of special variables to $javainterfacename for Java Rename $interfacename family of special variables to $csinterfacename for C# This is to free up $interfacename for simple interface name expansion in forthcoming commit
* | | Support namespaces and nspace with the interface feature for C#William S Fulton2016-02-261-4/+51
| | |
* | | Create javainterfacecode and csinterfacecode typemapsWilliam S Fulton2016-02-231-22/+58
| | | | | | | | | | | | | | | The interface feature is no longer hard coded and can be controlled by a user via these new typemaps.
* | | Merge branch 'interfaces' of github.com:/swig/swig into interfacesWilliam S Fulton2016-02-231-3/+35
|\ \ \ | | | | | | | | | | | | | | | | | | | | * 'interfaces' of github.com:/swig/swig: IntPtr & HandleRef absolute names used virtual/override fix
| * | | virtual/override fixVladimir Kalinin2016-02-141-3/+35
| | | |
* | | | Improve interface feature checksWilliam S Fulton2016-02-131-4/+0
|/ / / | | | | | | | | | | | | Use common code for missing feature:interface:name attribute checks Check that all base classes are also marked as interfaces
* | | Comments added to interface feature implementation and cosmetic code changesWilliam S Fulton2016-02-121-15/+15
| | |