Marcelo Matus
4221c3e12c
fix C + struct + enums
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8766 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-02-09 23:14:33 +00:00
Marcelo Matus
d9bd8fff41
implement the naturalvar feature for global vars in java and csharp
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8577 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-28 02:38:00 +00:00
Marcelo Matus
a9ab040ef5
Move rename/namewarn engine from parser.y to naming.c. The code was getting
...
too large to be in the parser.
Centralize the swig keys to avoid replication and wrong spellings.
Use more HashGetAttr where possible and other speed improvements
to compensate for the extra work introduced by the new rename/namewarn
mechanism.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8170 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-02 04:33:19 +00:00
Marcelo Matus
2bdd8b07c0
add support for options in rename/namewarn and central methods to access the rename/warning hashs
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8150 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-31 10:41:54 +00:00
William S Fulton
0345fa731e
new $imclassname special variable to fix bugs changing the intermediary classname
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8028 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-21 22:54:47 +00:00
William S Fulton
6dd816f564
Portability warning for files which will overwrite each other on case
...
insensitive file systems such as FAT32/NTFS.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7832 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-09 22:57:09 +00:00
Marcelo Matus
2ff3dd0d4e
replace bad parameter names when neccessary
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7699 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-21 10:43:41 +00:00
William S Fulton
6b8a5d06f8
Fix for constants attempting to generate setters with %feature(immutable,"0")
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7659 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-15 01:14:21 +00:00
William S Fulton
4bff2bc406
Multiple inheritance warnings and ignored base classes fixes
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7618 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-08 11:42:20 +00:00
William S Fulton
16b6452238
Modify following features to work as flags, so that they can be truely set and unset:
...
cs:const
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7570 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-09-30 23:20:54 +00:00
William S Fulton
75972cd1df
Modify following features to work as flags, so that they can be truely set and unset:
...
new
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7564 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-09-30 22:10:17 +00:00
William S Fulton
6247abbd01
Better error message displayed when file cannot be opened
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7416 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-09-08 22:31:21 +00:00
William S Fulton
2390eebd4f
Support for the null attribute in the out typemap to support return by value struct types
...
SWIG_exception changes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7340 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-07-22 21:23:17 +00:00
William S Fulton
0edd1dee4d
Make variable accessor functions the same across all modules for %extend with member variables to work consistently across all language modules and as documented. Use -oldvarnames commandline option to get the original variable names.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7313 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-06-23 20:30:14 +00:00
William S Fulton
3c361ac244
more patches for dodgy gcc-2.96 compiler from Hugo van der Sanden
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7303 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-06-17 20:31:08 +00:00
William S Fulton
635077a698
fix for dodgy gcc-2.96 compilers
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7291 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-06-16 21:21:21 +00:00
William S Fulton
27270d050d
Uniform handling of SWIGEXPORT across SWIG (was DllExport)
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7233 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-05-27 22:40:40 +00:00
William S Fulton
56bd6e048b
%csmethodmodifiers can be applied to variables as well as methods now.
...
%csmethodmodifiers will replace the virtual/new/override modifiers that SWIG thinks is
appropriate in addition to the default 'public'. This is necessary for some obscure cases
where SWIG might get the modifiers incorrect, for example with private inheritance.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7227 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-05-26 20:49:03 +00:00
William S Fulton
96c3123156
Covariant return types fixes
...
Any method which hides a base method is marked (for C# 'new' method modifier)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7209 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-05-23 21:03:50 +00:00
William S Fulton
79ee75daf4
covariant and override attributes better name
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7196 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-05-20 22:32:34 +00:00
William S Fulton
d2c036b5e7
whitespace fixes
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7191 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-05-13 21:40:55 +00:00
William S Fulton
43a6363856
C# attribute support added - %csattributes feature, %csattributes typemap
...
and inattributes & outattributes typemap attributes for the imtype and cstype typemaps.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7184 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-05-12 20:19:47 +00:00
William S Fulton
5b0b80a964
support for asymmetric type marshalling - added out attribute for ctype, imtype and cstype typemaps
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7172 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-04-28 21:59:17 +00:00
William S Fulton
419ae77b1a
Fix typemap matching when wrapping variables (global, member and static member variables).
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7152 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-04-14 20:19:59 +00:00
William S Fulton
99310ae64c
warning change
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7090 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-03-20 22:11:11 +00:00
William S Fulton
2906fc959e
swig -help prints to stdout not stderr now
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6964 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-02-15 23:04:10 +00:00
William S Fulton
5f49d9db1a
Code using SWIG_exception macro will now correctly return immediately back to managed code.
...
When wrapping member variables, the PInvoke code is emitted before the C# code - fixes subtle bugs in typemap matching rules.
More fixes to ensure typemap matching rules work for member variable and global variable properties.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6948 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-02-15 21:57:15 +00:00
William S Fulton
1462927909
More of the new C# exceptions
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6935 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-02-05 00:45:57 +00:00
William S Fulton
a78579ec3f
C# exception handling improvements - they are robust and don't leak anymore. Requires typemap modifications using attribute canthrow in any unmanaged code typemaps that throw an exception and excode attribute in csout and csconstruct typemaps.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6934 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-02-02 22:44:32 +00:00
William S Fulton
74cf6ee4c2
new typemap: csconstruct. This typemap contains the code that goes into the proxy constructor.
...
The generated code is slightly different. A method called swigSetup is called during construction of the proxy object.
This is for a future change where a try finally block needs to be put around an unmanaged call during construction (for a new c++ to c# exception conversion handling mechanism)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6922 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-01-10 22:35:37 +00:00
William S Fulton
27f09fac81
tidyup
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6839 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-12-06 22:53:09 +00:00
William S Fulton
0c9b24e339
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@6777 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-28 19:04:28 +00:00
William S Fulton
11d77ef9ae
various fixes to remove warnings
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6580 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-01 21:10:06 +00:00
William S Fulton
83247f3df4
-dllimport commandline option and $dllimport special variable to specify the DllImport attribute
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6501 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-25 20:43:32 +00:00
John Lenz
4645346381
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@6390 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-16 18:23:59 +00:00
William S Fulton
06c6ab33f8
Fixes to compile on some buggy Redhat gcc 2.96 versions
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6089 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-08-12 21:12:21 +00:00
William S Fulton
56182e04f1
Support for %csconstvalue added (better compile time constants)
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5999 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-06-27 20:56:54 +00:00
William S Fulton
ad46ed2214
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@5969 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-06-03 22:39:16 +00:00
William S Fulton
0517402cea
typesafe enum support for storing the enum name (for ToString)
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5959 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-05-31 07:25:18 +00:00
William S Fulton
3e9b0bde05
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@5924 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-05-24 20:19:36 +00:00
William S Fulton
18ad5f64b1
%import fix for C# enums
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5884 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-22 20:56:48 +00:00
William S Fulton
5b0ea529f9
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@5851 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-09 19:41:40 +00:00
William S Fulton
9f9ba96e8e
New commandline option -namespace for putting all generated classes into a C# namespace.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5739 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-24 21:05:48 +00:00
William S Fulton
aed0e94056
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@5712 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-12 21:48:37 +00:00
William S Fulton
238e948bbe
Eric Sunshine patch - Mods to work on NextStep
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5674 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-22 22:42:18 +00:00
William S Fulton
cf3a5e6222
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@5590 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-23 21:46:56 +00:00
William S Fulton
baa06d2509
%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@5553 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-13 00:13:10 +00:00
William S Fulton
6acb22fbfc
Marcelo's suggestion for fixing polymorphic methods that return a polymorphic type.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5524 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-09 22:13:31 +00:00
William S Fulton
e6b5758132
Use classtypeobj instead of classDeclaration:name for typemap searches.
...
Thanks Dave.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5462 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-02 22:16:00 +00:00
William S Fulton
8d7f52dfc6
Contract assert macro modification to handle void and non-void return types
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5339 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-18 22:38:34 +00:00