| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Closes #280
|
|
|
|
|
| |
This was broken recently in commit 255c929c5636f54c16261bd92b8eea2005d61b11
for issue #217
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Templated constructors were incorrectly ignored because SWIG thought they were
methods without a return type.
Regression introduced in swig-3.0.0
Closes #245.
|
|
|
|
|
|
|
| |
- Guile constants bad casts generated
- Go non-public enum value wrappers assert failure
Also cosmetic test comment correction
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| |\
| | |
| | | |
Go: fix overload functions with polymorphic
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes 'Illegal instruction' when SWIG executes and compiled with above
compiler options
Fixes #263
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
This should provide support for most of the scripting languages
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
When using using 'simple enum' wrappers
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
inner classes '$' should be used as separator instead of '/'
|
| | | |
|
| | |
| | |
| | |
| | | |
Class::Struct::EnumClass being JNI-referenced as Struct_EnumClass
|
| | | |
|
| | |
| | |
| | |
| | | |
This reverts commit cf139a90db852446269b0ce7b7ed5f2bf623eafb.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
This fixes test-suite/enum_forward.i.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* 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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | | |
This will allow calling it from const methods too.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
don't support kwargs.
Affects all languages except Python and Ruby.
Closes #242
|
| | | |
| | | |
| | | |
| | | | |
Note: copyrights are in the COPYRIGHT file
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|