summaryrefslogtreecommitdiff
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Fix abort using template default parametersWilliam S Fulton2014-12-281-6/+6
| | | | Closes #280
* Fix use of preprocessor null directiveWilliam S Fulton2014-12-201-0/+2
| | | | | This was broken recently in commit 255c929c5636f54c16261bd92b8eea2005d61b11 for issue #217
* Partial support for %constant and structsWilliam S Fulton2014-12-185-48/+9
| | | | | | | 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.
* Fix templated constructors regressionWilliam S Fulton2014-12-091-1/+2
| | | | | | | Templated constructors were incorrectly ignored because SWIG thought they were methods without a return type. Regression introduced in swig-3.0.0 Closes #245.
* Fix regression in introduced in merge of C++11 strongly typed enums supportWilliam S Fulton2014-12-072-4/+5
| | | | | | | - Guile constants bad casts generated - Go non-public enum value wrappers assert failure Also cosmetic test comment correction
* Merge master and C++11 strongly typed enum supportWilliam S Fulton2014-12-073-10/+16
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merging from master: * 'master' of github.com:/swig/swig: Add more docs about _global_ prefix in typemap temporary variables Add clarification on _global_ prefix. fix for nested template defined out of class (issue #265) using an unknown constant emits a notice, not a warning Fix typo Consistently put whitespace outside of <tt>...</tt> and not inside wording tweak Go: Document memory management of C++ classes allocated in Go. Fixes #266. revert unrelated file Fix #224 Fixes for clang -fsanitize=undefined-trap -fsanitize-undefined-trap-on-error delete unmeaningful macro Go: fix overload functions with polymorphic issue del tmp files GoLang:fix overload functions with polymorphic issue
| * fix for nested template defined out of class (issue #265)Vladimir Kalinin2014-11-251-4/+10
| |
| * Merge pull request #235 from dontpanic92/masterianlancetaylor2014-11-171-1/+1
| |\ | | | | | | Go: fix overload functions with polymorphic
| | * del tmp filesAnthony Li2014-10-061-5385/+0
| | |
| | * GoLang:fix overload functions with polymorphic issueAnthony Li2014-10-062-1/+5386
| | |
| * | Fixes for clang -fsanitize=undefined-trap -fsanitize-undefined-trap-on-errorWilliam S Fulton2014-11-081-5/+5
| | | | | | | | | | | | | | | | | | | | | Fixes 'Illegal instruction' when SWIG executes and compiled with above compiler options Fixes #263
* | | Add c++11 strongly typed enum support for GuileWilliam S Fulton2014-11-281-1/+1
| | |
* | | Add c++11 strongly typed enum support for GoWilliam S Fulton2014-11-281-3/+16
| | |
* | | Add c++11 strongly typed enum support for LuaWilliam S Fulton2014-11-281-1/+10
| | |
* | | C++11 strongly typed enum supportWilliam S Fulton2014-11-251-2/+10
| | | | | | | | | | | | This should provide support for most of the scripting languages
* | | Add C# support for wrapping C++11 strongly typed enumsWilliam S Fulton2014-11-251-4/+22
| | |
* | | Fix strongly typed enums for Java when using simple enum wrappersWilliam S Fulton2014-11-241-2/+10
| | |
* | | Fix incorrect symbol clash error in C# and Java when using %rename for enumsWilliam S Fulton2014-11-212-2/+2
| | | | | | | | | | | | When using using 'simple enum' wrappers
* | | Cosmetic formattingWilliam S Fulton2014-11-212-8/+4
| | |
* | | Merge branch 'alexey-pelykh-cpp11_strongly_typed_enums__direct_inject_in_java'William S Fulton2014-11-213-20/+59
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * alexey-pelykh-cpp11_strongly_typed_enums__direct_inject_in_java: Enhance cpp11_strongly_typed_enumerations testcase and turn it on Simplify/improve strongly typed enum implementation for Java Rewrite some Java director nested class support code for strongly typed enums Expand director_nested_class test to test more than one level of nesting Add director_nested_class testcase Removed useless code (it does not affect output, at least on our testcases) Java/Fix: swig_connect_director used not-fully-qualified classname (proper) Java/Fix: swig_connect_director used not-fully-qualified classname Java: fix generation of ProxyName when JNI descriptor is requested - for inner classes '$' should be used as separator instead of '/' Java: fix invalid director 'self' variable type name (wasn't fully qualified) Clean-up test suite and fix issue with nspace, as well as keep the fix for Class::Struct::EnumClass being JNI-referenced as Struct_EnumClass C++11 strongly-typed enums fix for Java only (proper) Revert "C++11 strongly-typed enums fix for Java only" Additional test cases for C++11 strongly-typed enums C++11 strongly-typed enums fix for Java only
| * | Simplify/improve strongly typed enum implementation for JavaWilliam S Fulton2014-11-213-92/+49
| | |
| * | Rewrite some Java director nested class support code for strongly typed enumsWilliam S Fulton2014-11-201-35/+4
| | |
| * | Removed useless code (it does not affect output, at least on our testcases)Alexey Pelykh2014-11-031-23/+0
| | |
| * | Java/Fix: swig_connect_director used not-fully-qualified classname (proper)Alexey Pelykh2014-09-041-1/+2
| | |
| * | Java/Fix: swig_connect_director used not-fully-qualified classnameAlexey Pelykh2014-09-041-0/+8
| | |
| * | Java: fix generation of ProxyName when JNI descriptor is requested - for ↵Alexey Pelykh2014-09-031-1/+1
| | | | | | | | | | | | inner classes '$' should be used as separator instead of '/'
| * | Java: fix invalid director 'self' variable type name (wasn't fully qualified)Alexey Pelykh2014-08-311-1/+11
| | |
| * | Clean-up test suite and fix issue with nspace, as well as keep the fix for ↵Alexey Pelykh2014-08-311-1/+12
| | | | | | | | | | | | Class::Struct::EnumClass being JNI-referenced as Struct_EnumClass
| * | C++11 strongly-typed enums fix for Java only (proper)Alexey Pelykh2014-08-302-2/+108
| | |
| * | Revert "C++11 strongly-typed enums fix for Java only"Alexey Pelykh2014-08-301-23/+2
| | | | | | | | | | | | This reverts commit cf139a90db852446269b0ce7b7ed5f2bf623eafb.
| * | C++11 strongly-typed enums fix for Java onlyAlexey Pelykh2014-08-291-2/+23
| | |
* | | Remove bogus ; after } in documentationOlly Betts2014-11-071-1/+1
| | |
* | | D: Emit empty enums as int aliases instead of omitting them.David Nadlinger2014-11-061-15/+15
| | | | | | | | | | | | This fixes test-suite/enum_forward.i.
* | | D: Fix name collision between im D module function pointer and actual C ↵David Nadlinger2014-11-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function. Previously, the function pointers were not only declared with extern(C) calling convention, but actually had C linkage themselves. Thus, they were exported under their bare names, potentially colliding with the actual function definitions in the wrapped library if the dynamic linker decided to resolve them the wrong way. This fixes the sneaky1 test case, although I have no idea why the add() reference in D_add() (via the PLT) is rebound to the function pointer there and not in all other test cases and real-world libraries. As far as I can see, there don't seem to be any special symbol visibility/binding settings involved in our build system.
* | | D: Fix allprotected_not.i compilation.David Nadlinger2014-11-061-1/+1
| | | | | | | | | | | | | | | | | | The director cycle breaking code was emitted when protectors were not actually enabled on the parent class, leading to swigIsMethodOverridden being called but not declared.
* | | fixes "flatnested" feature for out-of-scope defined nested classesVladimir Kalinin2014-11-041-3/+11
| | |
* | | Fix 'self' parameter name clash when generating for Python builtinWilliam S Fulton2014-10-311-0/+10
| | |
* | | Fix for 'self' being used as a parameter nameWilliam S Fulton2014-10-302-8/+8
| | |
* | | Minor cosmetic source code changesWilliam S Fulton2014-10-282-2/+3
| | |
* | | Merge remote-tracking branch 'vadz/py-args'William S Fulton2014-10-277-207/+124
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * | | Allow using enum elements as default values for Python functions.Vadim Zeitlin2014-08-171-31/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enum values are just (integer) constants in Python and so can be used as the function default values just as well as literal numbers, account for this when checking whether function parameters can be represented in Python. Also rename is_primitive_defaultargs() to is_representable_as_pyargs() to describe better what this function does.
| * | | Don't always use "*args" for all Python wrapper functions.Vadim Zeitlin2014-08-171-32/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to what seems like a bug introduced during Python 3 support merge, all the generated Python functions used the general "*args" signature instead of using the named parameters when possible. This happened due to is_primitive_defaultargs() always returning false for the functions without any default arguments as "value" passed to convertValue() was NULL in this case and convertValue() always returns false for NULL. Fix this by checking for value being non-NULL before calling convertValue(). Doing this exposed several problems with the handling of unnamed, duplicate (happens for parameters called INOUT, for example) or clashing with keywords parameter names, so the code dealing with them had to be fixed too. Basically just use makeParameterName() consistently everywhere.
| * | | No real changes, just make PYTHON::check_kwargs() const.Vadim Zeitlin2014-08-161-1/+1
| | | | | | | | | | | | | | | | This will allow calling it from const methods too.
| * | | Refactor: move makeParameterName() to common Language base class.Vadim Zeitlin2014-08-166-137/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Remove long line wrapping from Python parameter list generation code.Vadim Zeitlin2014-08-101-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This doesn't play well with PEP8 checks which imposes very strict continuation line indentation rules which need to be _visually_ aligned, i.e. the subsequent lines must be indented by the position of the opening bracket in the function declaration line, but the code generating the parameter lists doesn't have this information and so it's impossible to do it while avoiding either E128 or E123 ("continuation line {under,over}-indented for visual indent" respectively) error from pep8. Moreover, the wrapping code didn't work correctly anyhow as it only took into account the length of the parameter list itself and not the total line length, which should include the function name as well. So just disable wrapping entirely, long lines shouldn't be a problem anyhow in auto-generated code.
* | | | Spelling fixWilliam S Fulton2014-10-211-1/+1
| | | |
* | | | The kwargs feature no longer turns on compactdefaultargs for languages that ↵William S Fulton2014-10-216-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | don't support kwargs. Affects all languages except Python and Ruby. Closes #242
* | | | Cosmetic comment changesWilliam S Fulton2014-10-215-5/+15
| | | | | | | | | | | | | | | | Note: copyrights are in the COPYRIGHT file
* | | | [Go] Adjust last patch to avoid write-after-write data race on globalIan Lance Taylor2014-10-141-14/+31
| | | | | | | | | | | | | | | | | | | | | | | | variable. Only set the variable if another global variable is true, but that variable is always false. The effect is that the variable is never written, but as far as the compiler is concerned it might escape.
* | | | [Go] More fixes for Go 1.4. Ensure that values with argout or freeargIan Lance Taylor2014-10-111-8/+42
| | | | | | | | | | | | | | | | | | | | | | | | typemapes escape, and refer to them using local variables loaded at the start of the function, in case the argout or freearg template causes a stack copy.