Commit graph

2,673 commits

Author SHA1 Message Date
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
2a59a2e6a9 Improved C++ nested class support - nested typedef'd classes now parsed and treated as forward class declaration
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11756 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-23 23:02:01 +00:00
William S Fulton
43b6292681 Nested struct pretty print rewrite and fix. The wrappers for C nested structs are now generated in the same order as declared in the parsed code.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11755 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-18 23:59:10 +00:00
William S Fulton
aa6712e3f2 pretty print the nested structs generated as global structs
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11754 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-18 20:37:23 +00:00
William S Fulton
a9ccc5a866 Fix multiple declarations of nested structs (C code)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11753 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-18 20:24:06 +00:00
William S Fulton
7cb4e902d5 Fix parsing of enum declaration and initialization
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11752 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-17 19:31:13 +00:00
William S Fulton
7fd36f5bd6 Fix parsing of struct declaration and initialization
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11750 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-17 18:45:53 +00:00
William S Fulton
0286f6d43e Fix #1960977 - Syntax error parsing derived nested class declaration and member variable instance
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11748 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-15 00:36:22 +00:00
William S Fulton
7ae45bc020 Fix #2310483 - function pointer typedef within extern C block.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11742 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-14 15:55:23 +00:00
William S Fulton
0509dbb951 some parser code comments added
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11741 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-13 19:21:33 +00:00
William S Fulton
cd53dc68ee remove SWIGMAC and SWIGWIN32/SWIGWIN macros which have no effect
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11739 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-13 18:34:54 +00:00
William S Fulton
1b951d68f4 nested classes code refactor
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11738 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-13 18:27:41 +00:00
William S Fulton
b502f4fc5a Fix usage of nested template classes within templated classes so that compileable code is generated.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11737 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-13 08:04:01 +00:00
Olly Betts
dd5714ea28 [php] Fix place where class prefix (as specified with -prefix)
wasn't being used.  Patch from gverbruggen in SF#2892647.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11736 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-13 07:15:08 +00:00
William S Fulton
aa61c716a8 Stop generating uncompileable code when using nested template classes in functions. Replace SWIGWARN_PARSE_NESTED_CLASS with SWIGWARN_PARSE_NAMED_NESTED_CLASS and SWIGWARN_PARSE_UNNAMED_NESTED_CLASS for named and unnamed nested classes respectively. Named nested class ignored warnings can now be suppressed by name using %warnfilter
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11735 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-12 19:47:04 +00:00
William S Fulton
ebed6508e4 Nested class improvements - Fixed inconsistency in handling C++ nested classes - sometimes they were treated as forward declarations, other times as if C nested struct was parsed. Added the nestedworkaround feature for C++ nested class handling. Document improved nested class handling. Numerous C and C++ nested struct/class/union test cases added.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11734 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-11 00:30:34 +00:00
William S Fulton
a0ff0a86d0 Obscure seg fault bug fix
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11733 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-11 00:22:38 +00:00
Joseph Wang
b279cd3dde add std_map
fix compact mode


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11731 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-10 02:32:29 +00:00
William S Fulton
9b318c45bc inner declared types are treated as forward declarations - consistency now between innner/nested unions/structs and classes - only relevant to C++
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11730 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-08 20:45:48 +00:00
William S Fulton
9d65c100b9 Ignored nested class/struct warnings now display the name of the ignored class/struct.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11728 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-08 01:18:45 +00:00
William S Fulton
ec6bf1ec96 Fix nested template classes within a namespace generating uncompileable code by incorrectly adding in symbols into the symbol tables and not setting the scope correctly after the nested template was parsed
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11727 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-08 00:14:47 +00:00
William S Fulton
deba0e9285 re-organise symbol debugging options - add in -debug-symbols and -debug-csymbols, and remove -debug-qsymtab
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11726 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-07 20:44:20 +00:00
William S Fulton
64d1b6f0c6 Add -debug-symtabs and -debug-qsymtabs options for debugging symbol tables
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11724 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-04 22:49:39 +00:00
Joseph Wang
e351dfceaf first pass at making fcompact work with R
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11722 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-04 03:48:17 +00:00
William S Fulton
dbe46033ee remove debug in last commit
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11721 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-03 19:57:35 +00:00
William S Fulton
57fff12d5f Fix seg fault for some template parameters which have no type, just a default value
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11720 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-03 19:52:12 +00:00
William S Fulton
da1fc3ab8f Fix some usage of global scope operator ::
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11719 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-03 19:14:37 +00:00
William S Fulton
16b8caa3de Fix seg fault when two or more %template() declarations were made within a class
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11712 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-10-23 05:59:13 +00:00
William S Fulton
678abc58fb Fix seg fault when using a named template instantiation using %template(name) within a class
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11711 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-10-23 05:41:33 +00:00
William S Fulton
f825fba4f7 fix partial specialization with many parameters
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11709 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-10-20 23:21:28 +00:00
William S Fulton
4b2ced5095 Fix partial specialization and explicit specialization lookup
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11703 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-10-20 17:50:36 +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
Olly Betts
7df94f65e5 Clean-up remnants of SWIG_GE, etc workaround which is no longer used.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11689 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-09-12 08:23:55 +00:00
William S Fulton
2726424a7f Fix constant expressions containing <= or >=
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11687 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-09-11 18:47:05 +00:00
William S Fulton
7c6aca2ebc true and false supported in constant expressions (C++ only). && || == != < > <= >= operators now return type bool (C++ only) and type int for C as per C/C++ standards.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11677 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-09-02 22:33:04 +00:00
William S Fulton
3932d02a2a fix SWIG naming convention
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11663 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-21 00:25:11 +00:00
Miklos Vajna
fc52ca3b80 PHP: handle -prefix when checking if a class has been subclassed or not
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11637 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-18 16:23:23 +00:00
Olly Betts
4540717c39 [PHP] Fix to wrap a resource returned by __get() in a PHP object (SF#2549217).
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11619 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-17 08:47:30 +00:00
Olly Betts
47e404ba5b Only have an array for properties in the base class, not in derived classes.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11611 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-17 05:24:17 +00:00
Olly Betts
c4f5f22f67 Remove some superfluous "else"s in generated PHP code.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11610 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-17 03:19:14 +00:00
Miklos Vajna
8da18d336e PHP: Optimize the previous commit a bit.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11594 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-16 21:47:24 +00:00
Miklos Vajna
b5c49c20fd PHP: fix for the valuewrapper_base testcase
The problem is the following: before director support, the return class
type of a function was hardwired. That was bad, as factory functions
wanted to instantiate abstract classes, so we switched to detecting the
class type based on the PHP resource type. That was good, but broke the
case when for example

%template(make_Interface_BP) make<Interface_<BinaryPolarization> >;

was used, as the cheap parser had no idea how to turn
'Interface_T_oss__BinaryPolarization_t' to 'make_Interface_BP'.

This patch still uses the resource type detection, but in case that
would result in a non-existing class, we just use the hardwired name.

NOTE: This still does not fix the case when abstract classes are used
with templates.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11593 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-16 21:44:05 +00:00
William S Fulton
c7b7078dd0 Fix classes not being added into Java method's throws clause when %catches is used
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11584 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-16 00:04:29 +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
d74b680a79 Fix %template seg fault on some cases of overloading the templated method.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11582 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-15 10:40:19 +00:00
Olly Betts
f3d0ebbf18 Refactor the recent support for wrapping static member variables for PHP5 so it
works for static members which are themselves classes.  With this and the previous
patch, li_std_string now passes and all other tests pass/fail as before.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11578 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-15 05:33:05 +00:00
Xavier Delacour
b81cb3bff9 try not to require -api option in octave
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11577 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-15 01:19:28 +00:00
Olly Betts
ba29cea2b5 Minor cleanups.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11571 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-14 17:01:20 +00:00