Commit Graph

348 Commits

Author SHA1 Message Date
William S Fulton a7370b7bc0 Formatting fixes in generated code for interface feature 2016-02-06 16:34:24 +00:00
Johan Gustavsson 1458326f4c Update csharp.cxx
When people use the -namespace option, they often intend for the input to swig to wrap a particular namespace in a single module. This option should also have an effect on how C++ wrapper function names are mangled, and not just the C# proxy code.
2016-02-06 08:59:50 +00:00
Petre Eftime 0a07cd4c30 Prevent redefinition warnings when compiling with SWIG<module> defined
Signed-off-by: Petre Eftime <petre.p.eftime@intel.com>
2015-12-22 14:33:21 +02:00
William S Fulton faeaacf112 smartptr feature support - factor out common code 2015-09-25 22:57:59 +01:00
Frederick Parotat dcf8d13f81 [C#] static_cast for native directors
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).
2015-06-27 01:33:18 +02:00
William S Fulton 8bd6e596d1 Cosmetics - remove references to Java in C# module 2015-06-11 19:39:51 +01:00
William S Fulton 2b9b007027 C# -outfile cosmetic code fixes 2015-06-11 07:42:50 +01:00
Frederick Parotat b83307e354 [C#] Single file mode (fixes)
Renamed argument '-csout' to '-outfile'.
Reformatting (Tab spacing; Pointer style).
Chagned html documentation.
2015-06-04 14:15:00 +02:00
Frederick Parotat 0b09978219 [C#] Single file mode (minor fix)
Removed debug output
2015-06-03 14:26:38 +02:00
Frederick Parotat 747e22f714 [C#] Single file mode
Added "-csout <path>" parameter. If supplied all generated C# code will
be written to the given file. Makes it easier to integrate SWIG into
automated script based build processes.
2015-06-03 14:19:13 +02:00
Olly Betts 084f72452f Fix javadowncast to csdowncast in C# backend
See issue#367.
2015-03-30 08:38:24 +13:00
James Athey 7a050461c6 When warning about multiple inheritance in C#, say C# in the message instead of Java 2015-03-26 11:11:11 -04:00
Olly Betts 7ba0652677 Create director_common.swg for language-indep code
Move -DSWIG_DIRECTOR_STATIC handling there, so this is now supported for
all languages with director support, not just Python and PHP.
2015-03-12 19:51:11 +13:00
William S Fulton 2e01533b23 Partial support for %constant and structs
Test case is slightly modified from the test case in issue #250

Use of constant objects does not seem to work in Python - the type is
SwigPyObject instead of constant_directive.Type1.
2014-12-18 07:01:08 +00:00
William S Fulton 366948079f Add C# support for wrapping C++11 strongly typed enums 2014-11-25 07:07:47 +00:00
William S Fulton fcef37d682 Fix incorrect symbol clash error in C# and Java when using %rename for enums
When using using 'simple enum' wrappers
2014-11-21 19:50:23 +00:00
William S Fulton ede58b8744 Cosmetic formatting 2014-11-21 18:58:08 +00:00
William S Fulton 36ae32e941 Merge remote-tracking branch 'vadz/py-args'
* vadz/py-args:
  Allow using enum elements as default values for Python functions.
  Don't always use "*args" for all Python wrapper functions.
  No real changes, just make PYTHON::check_kwargs() const.
  Refactor: move makeParameterName() to common Language base class.
  Remove long line wrapping from Python parameter list generation code.
2014-10-27 20:02:59 +00:00
William S Fulton b57a675d00 Cosmetic comment changes
Note: copyrights are in the COPYRIGHT file
2014-10-21 07:34:51 +01:00
Vadim Zeitlin 9f1af8921f Refactor: move makeParameterName() to common Language base class.
This method was duplicated more or less identically for 4 languages and will
be needed for another one soon, so put it in the base class from which it can
be simply reused instead.

No changes in the program behaviour whatsoever.
2014-08-16 13:11:22 +02:00
William S Fulton 69736cc0cb Tweak generated C# .cs files header 2014-08-04 19:41:38 +01:00
gpetrou 8433539849 Changed CSharp license header to include auto-generated tag so that StyleCop ignores the files. 2014-08-02 08:35:15 +01:00
Olly Betts 36be36d618 Eliminate needless casting away const from string constants 2014-04-30 12:00:23 +12:00
William S Fulton dc8428889e Ignored enum fixes.
C#/Java - Enums which have been ignored via %ignore and are subsequently
used are handled slightly differently. Type wrapper classes are now generated
which are effectively a wrapper of an empty enum. Previously in Java uncompilable
code was generated and in C# an int was used.
2014-04-08 23:25:27 +01:00
William S Fulton cd2085aae7 Fixes for C enums used in an API and the definition of the enum has not been parsed.
For D, this fixes a segfault in SWIG.

Java, C#, D, Go now produce code that compiles, although the definition of the
enum is needed in order to use the enum properly from the target language.
2014-03-28 07:54:03 +00:00
William S Fulton bbd8f85de4 Forward null fix for Coverity analysis 2014-03-20 19:14:53 +00:00
Vladimir Kalinin e18044185e fixes for director class naming when nested classes are used 2014-03-13 18:58:29 +04:00
Vladimir Kalinin 2f3d93e93a Nested classes support is diversified, depending on the language capability. If the language cannot support nested classes, they will be unconditionally moved to the global namespace. If language module does not override Language::nestedClassesSupport() function, nested classes will be ignored, unless "feature:flatnested" is used. 2014-02-02 22:38:13 +04:00
Vladimir Kalinin 715e254e05 fixed enums & enum values language symbol table namespace
fixed skipping of %templates in %extend if they are in the wrong scope
2013-12-20 07:37:49 +04:00
Vladimir Kalinin b4fef06c42 fixed %template within %extend, test added
fixed language symbol table nested classes name separator, test added
fixed %feature "flatnested" working with %extend
fixed Swig_offset_string for empty string
added simple template to save/restore values in current scope (readability reasons)
2013-12-19 02:11:22 +04:00
William S Fulton 7103a06849 Swig_offset_string moved to misc.c 2013-12-05 20:59:09 +00:00
Vladimir Kalinin e1a4e11bea fixed out-of-scope nested class definitions, added a test
enabled nested C structs assignment (still disabled for Octave), added Java runtime test
fixed nested_private test case for Java & C#
2013-12-04 01:53:42 +04:00
William S Fulton 44a883a057 Cosmetics/code beautification of nested class support 2013-11-29 07:29:58 +00:00
Vladimir Kalinin b63c4839fe Nested classes support
Closes #89
Squash merge branch 'master' of https://github.com/wkalinin/swig into wkalinin-nested

By Vladimir Kalinin
* 'master' of https://github.com/wkalinin/swig:
  CPlusPlusOut mode for Octave
  nested class illustration
  fixed "Abstract" flag for nested classes added an example enabled anonymous nested structs runtime test
  porting
  warnings disabled
  porting fixes
  java runtime tests ported
  nested class closing bracket offset fixed
  removed double nested template (not supported by %template parsing)
  template_nested test extended
  parent field made public
  property access fixed
  replaced tabs with spaces
  warning W-reorder
  deprecated warnings removed, derived_nested runtime test added
  optimized string indenting
  Nested classes indenting
  nested classes docs
  fixed the order in which flattened inner classes are added after the outer
  Private nested classes were getting into the type table.
  Java getProxyName() fix for nested classes fixes the case when nested classes is forward declared
  Fix for a case when a nested class inherits from the same base as the outer. (Base class constructor declaration is found first in this case)
  merge fix
  nested C struct first immediate declaration incorrectly renamed sample fixed
  tests updated to reflect nested classes support
  Java nested classes support (1)
  flattening should remove the link to the outer class
  access mode correctly set/restored for nested classes
  nested templates should be skipped while flattening (template nodes themselves, not expanded versions) also non-public nested classes should be ignored
  If nested classes are not supported, default behaviour is flattening, not ignoring flag "nested" is preserved, so, the nested classes can be ignored by user
  nested workaround test updated
  template instantiated within a class is marked as nested for ignoring purposes
  %ignore not applied to the nested classed, because "nested" flag is set too late
  typedef name takes precedence over the real name (reason?)
  unnamed structs should be processed for all the languages
  nested C struct instances are wrapped as "immutable"
  tree building
  typedef declaration for unnamed C structures fixed
  nested classes "flattening"
  fixed %ignoring nested classes
  renamed "nested" attribute to "nested:outer" added "nested" flag, to be used with $ignore (it is not removed while flattening) added nestedClassesSupported() function to the Language interface
  renamed "nested" attribute to "nested:outer" added "nested" flag, to be used with $ignore (it is not removed while flattening) added nestedClassesSupported() function to the Language interface
  tree iteration fix
  dirclassname variable names unified memory issue fixed
  merge error
  ignore unnamed structs for C++
  unnamed nested C structs naming & unnesting
  class added to classes hash under typedef name
  private nested classes skipped
  test updated due to nested templates support
  anonymous structs with inheritance fixed nested_class test to allow anonymous structs w/o declarator
  tests updated: nested workaround removed from namespace_class.i propagated nested template declaration to the C++ file
  injected members scope
  nested tempplates fixes, nested structures in "C" mode parsing added utility function "appendSibling" (like "appendChild")
  nested unnamed structures parsing fixes, access mode restored on nested class end, tdname is properly patched with outer class name prefix
  memory management fixes
  nested templates (1)
  Nested unnamed structs
  Nested class support (1)
  Nested class support (1)
2013-11-29 07:02:34 +00:00
Brant K. Kyser adb93980f2 Remove using directives from the generated C# code and fully qualify the use of all .NET framework types in order to minimize potential name collisions from input files defining types, namespace, etc with the same name as .NET framework members. 2013-10-17 15:44:24 -05:00
Brant K. Kyser 3235570619 Globablly qualify the use of types from the .NET framework's System namespace in the C# module and library. 2013-10-17 13:27:48 -05:00
William S Fulton 67659773cc Remove some Java references from C# module 2013-09-02 19:14:20 +01:00
Vladimir Kalinin 9b0f385a50 interface implementation visibility 2013-05-23 00:11:58 +04:00
Vladimir Kalinin 77bb7673ed interface inheritance (2) 2013-05-22 18:47:45 +04:00
Vladimir Kalinin 766d55255b feature:interface ported to Java 2013-05-21 20:05:54 +04:00
Vladimir Kalinin 50685b512f Merge branch 'interfaces' of https://github.com/wkalinin/swig into interfaces 2013-05-21 14:18:03 +04:00
Vladimir Kalinin a61b45d1a2 propagate non-abstract "interface" base methods (3) 2013-05-21 03:49:52 +04:00
Vladimir Kalinin 9c0ceb2adf propagate non-abstract "interface" base methods (2) 2013-05-20 18:19:46 +04:00
Vladimir Kalinin 1a40b9a1ed propagate non-abstract "interface" base methods (1) 2013-05-20 14:11:58 +04:00
William S Fulton 3f9d7ed416 Minor fixes after Coverity analysis 2013-05-16 08:13:56 +01:00
William S Fulton 296498c159 Cosmetic tidyup in smartptr feature code and document smartptr fix in previous commit 2013-04-17 21:56:23 +01:00
Brant K. Kyser 25eaee49f3 Add check for smart pointer type in generated code for director connection. This fixes a crash in the generated code caused by the dynamic_cast returning 0 because the specified types are incorrect for smart pointer types.
Add runtime test to the C# test suite's director smartptr test that demonstrates crash in generated code when directors are used with smart pointer types.

Closes #34
2013-04-17 21:55:11 +01:00
Vladimir Kalinin 9c317fae90 namespace support added
GetCPtr now returns HandleRef
"feature:interface:name" is now mandatory attribute
2013-04-16 23:53:21 +04:00
Vladimir Kalinin 0898d6435d interfaces (1) 2013-04-16 04:49:23 +04:00
Vladimir Kalinin 753120d76b interfaces (1) 2013-03-22 15:47:41 +04:00
William S Fulton e182b4844c Fix seg fault in SWIG using directors when class and virtual method names are the same except being in different namespaces when the %nspace feature is not being used. 2013-03-19 19:50:44 +00:00
William S Fulton 0e6af5c0ea Fix cstype typemap lookup for member variables so that a fully qualified variable name matches 2013-01-15 06:45:47 +00:00
William S Fulton 7841a0d097 Remove cvs/svn Id strings 2013-01-12 01:21:16 +00:00
William S Fulton 5889d7bfdd Merge branch 'SFbug1299' of https://github.com/BrantKyser/swig into BrantKyser-SFbug1299 2013-01-11 23:12:06 +00:00
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
Brant K. Kyser e1a59ae2c7 Clean up local variable name that store the director class's name to prevent confusion with the class name. 2013-01-08 21:38:57 -06: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
Brant K. Kyser c62cd63f71 Patch for SourceForge Bug #1299 broke D and C#. Update C# module to reflect these changes. 2013-01-05 05:25:33 -06: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
William S Fulton 1dd50f5ea8 Fix %javaconst(1)/%csconst(1) for static const member variables to use the actual constant value if available
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11758 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-26 19:20:31 +00:00
William S Fulton 5eeab68e21 Add %csattributes for adding C# attributes to enum values, see docs for example.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11691 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-09-14 19:37:55 +00:00
William S Fulton 4ebb9b0db2 minor rewrite of enum value handling
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11690 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-09-13 20:20:11 +00:00
William S Fulton 4516c1d3f3 Fix exception handling when %catches is used in C#
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11583 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-15 23:22:20 +00:00
William S Fulton 7f0e632ddd typemap method name: use consistent terminology in code
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11473 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-30 06:06:49 +00:00
William S Fulton bf0ee4471c (method, typelist) special variable macro fixed/enhanced and made official
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11470 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-29 20:50:39 +00:00
William S Fulton 224c83ef09 Typemap API changes to facilitate more uniform typemap handling across language modules - in particular some typemaps usage did not respect the warning attribute and other warning handling and $typemap special variable (which will be refined in future commit) as well as local typemap variable handling:
- remove Swig_typemap_search, Swig_typemap_search_multi and Swig_typemap_attach_kwargs from access outside of typemaps.c (made static)
  - all static methods in typemap.c renamed dropping Swig_ prefix


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11380 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-08 12:17:45 +00:00
William S Fulton c7d90e58d8 improve some director warning messages
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11316 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-06-25 06:01:11 +00:00
William S Fulton 0a1c7c91b1 fix Java and C# enums when one of the enum items is ignored
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11279 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-06-16 19:29:08 +00:00
William S Fulton 7e8d19cec0 Add the 'notderived' attribute to the javabase and csbase typemaps
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11196 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-04-29 17:58:32 +00:00
William S Fulton efa11dee52 add new %begin directive for inserting code at top of wrapper file
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11133 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-02-20 07:52:24 +00:00
Haoyu Bai 6d2aef67d9 Replaced all [const] String_or_char * to const_String_or_char_ptr, by the following command:
sed -i "s/\(const \)\?String_or_char \*/const_String_or_char_ptr /g" CParse/* Include/* Modules/* Preprocessor/* Swig/*

This is a preparation for moving to new DOH, since for strong typed objects we need the const_String_or_char_ptr class to implicit convert to and from String * or const char *.



git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11080 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-01-24 13:15:51 +00:00
William S Fulton 5ec2d8c166 All languages now define a macro in the generated C/C++ wrapper file indicating which language is being wrapped, eg #define SWIGJAVA
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11018 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-12-30 00:38:34 +00:00
William S Fulton cc522323d7 create a common banner header for all target language specific files
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11016 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-12-29 22:56:25 +00:00
William S Fulton 6fb0f48935 customised ccache support: read the CCACHE_OUTFILES env variable and if exists, the names of all generated files are written to the filename specified in the env variable
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10898 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-11-03 12:51:45 +00:00
William S Fulton 044895ef6e Add new terminator attribute for the csin typemap for C#
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10808 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-09-02 20:56:52 +00:00
William S Fulton b02017c658 fix potential null pointer usage as reported by Coverity Prevent
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10608 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-06-29 00:50:27 +00:00
William S Fulton dfcd771463 Fix enums when using -noproxy
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10516 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-06-02 20:15:39 +00:00
William S Fulton 9ecf676f70 Fix variable wrappers when using -noproxy
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10506 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-05-29 00:45:28 +00:00
William S Fulton dac30b0de2 Fix variable wrappers when using -proxy. Patch from Jan Jezabek
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10503 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-05-28 09:44:37 +00:00
William S Fulton dfcb1640bf Remove old swig-1.1 Swig_typemap_lookup function. Rename Swig_typemap_lookup_new() to Swig_typemap_lookup()
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10453 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-05-15 21:18:44 +00:00
William S Fulton 336b50b43d Add the optimal attribute to the out typemap for more optimal code generation when returning objects by value
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10450 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-05-14 22:12:31 +00:00
William S Fulton 46a0db50fe enforce consistency in wrap:action wrt line spacing
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10411 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-05-01 21:47:23 +00:00
William S Fulton 9976dc9d75 Add allprotected mode for wrapping protected members when using directors
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10381 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-04-20 20:41:01 +00:00
William S Fulton bc94eeb6a0 Add 'directorinattributes' and 'directoroutattributes' typemap attributes for the imtype typemap. These should contain C# attributes which will be generated into the C# director delegates methods.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10212 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-01-18 23:35:49 +00:00
William S Fulton 39abd80eef Changes to compile with VC++6
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10099 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-11-10 21:10:17 +00:00
William S Fulton 421eb7ae60 New templated method SwigValueInit to initialise all types - used initially for return types in director methods
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10063 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-10-28 23:07:33 +00:00
William S Fulton 30964be253 Fix uninitialised variable usage on error in director methods. Minor formatting change for director methods variable declaration.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10019 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-10-22 21:30:19 +00:00
William S Fulton a43e50ac07 fix generated code for derived classes when csbase or javabase typemaps are used with the replace=1 attribute.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10016 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-10-19 21:48:05 +00:00
William S Fulton fe042d2ebc Replace cvs $Header$ with svn $Id$
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10003 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-10-17 21:42:11 +00:00
William S Fulton 8a17d9dcfa Back out valueparm attribute in the csvarin typemap. Add example usage of temporary variables in the csvarin typemap into docs. Modify CDate C# example. Add in special variable expansion in the csvarin typemap.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9949 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-09-21 23:58:00 +00:00
William S Fulton d737022daa More flexible variable wrappers (C# properties). The property set can now support a different type to that used in the intermediary layer. This is achieved by using a temporary variable and specifying the name of the temporary variable in a new 'valueparm' attribute in the csvarin typemap. Also Fix bug reported by Glenn A Watson and #1795260 where the cstype typemap used the 'ref' keyword in the typemap body. The type for the property now correctly comes from the 'out' attribute in the cstype typemap.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9946 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-09-19 23:54:19 +00:00
William S Fulton 2824efe6ba Fix bug #1776651 - bug when the director class name is similar to other symbols being used
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9908 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-08-20 19:48:45 +00:00
John Lenz fb51964d01 Fix a bunch of minor bugs found by Coverity scanner
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9889 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-08-10 02:55:27 +00:00
William S Fulton aa32a6b094 Add support for in the out typemaps.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9885 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-08-09 22:17:12 +00:00
William S Fulton d269f9cd16 Fix directors for some overloaded methods where the imtype resulted in identical methods being generated in the C# director class
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9862 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-07-03 22:39:35 +00:00
Olly Betts 6ffb9fa179 Remove unused Printf() parameter, and simplify resultant code.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9821 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-05-17 22:53:50 +00:00
William S Fulton 0090cac1d0 Add in pre, post and cshin attributes for the csin typemap
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9678 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-04-17 22:45:17 +00:00
Dave Beazley c12550e4ad API cleanup. Documentation
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9631 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-01-03 05:23:20 +00:00
William S Fulton 97b1fbaa02 -fakeversion appears in generated files. Made comment with version number at top of generated files consistent.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9563 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-11-15 23:45:47 +00:00
William S Fulton 8c2b66a11d Fix director operator pointer casts
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9536 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-11-09 22:32:28 +00:00
William S Fulton 91b880e01c warning fix for vc++
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9509 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-11-02 00:43:55 +00:00
William S Fulton aa04c4c057 beautify/format source code with gnu indent
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9505 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-11-01 23:54:54 +00:00
William S Fulton 01cc0b2bd8 Fix %csmethodmodifiers for smart pointers
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9494 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-10-31 21:59:33 +00:00