Commit graph

16 commits

Author SHA1 Message Date
Olly Betts
9ab3ef8e96 Update testcase comment 2022-03-19 08:55:39 +13:00
Olly Betts
314df0f71e Fix rename_camel testcase to work for Go 2022-03-07 12:36:37 +13:00
Olly Betts
cf7bdcf2df Fix and expand rename_camel.i testcase
The regex pattern to upper-case things containing an `i` had incorrect
escaping (`\\(`...`\\)` instead of `(`...`)`) so `import` didn't get
renamed.

This wasn't detected because there were no `_runme` files for this
testcase, so add rename_camel_runme.php which uses reflection to check
the wrapped PHP classes, functions and constants are all named as
expected.

Also expand coverage of converting to underscore case and add coverage
for converting to lower-camel-case.

Related to #1041.
2022-03-07 09:11:50 +13:00
Olly Betts
467c530e65 Remove support for the "command" encoder
The "command" encoder was mostly intended for use in `%rename` - most
uses can be achieved using the "regex" encoder, so we recommend using
that instead.

The "command" encoder suffers from a number of issues - as the
documentation for it admitted, "[it] is extremely slow compared to all
the other [encoders] as it involves spawning a separate process and
using it for many declarations is not recommended" and that it "should
generally be avoided because of performance considerations".

But it's also not portable.  The design assumes that `/bin/sh` supports
`<<<` but that's a bash-specific feature so it doesn't work on platforms
where `/bin/sh` is not bash - it fails on Debian, Ubuntu and probably
some other Linux distros, plus most non-Linux platforms.  Microsoft
Windows doesn't even have a /bin/sh as standard.

Finally, no escaping of the passed string is done, so it has potential
security issues (though at least with %rename the input is limited to
valid C/C++ symbol names).

Fixes #1806
2022-02-07 09:47:01 +13:00
Vadim Zeitlin
587d843521 Remove old experimental rxspencer encoder and rxsmatch function.
They are replaced with the new, officially supported PCRE-based regex and
regexmatch.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12175 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-07-22 17:02:35 +00:00
Marcelo Matus
dbe05fc50b add initial regexp support based on the coptional rxspencer library. Active it using --with-rxspencer after installing the rxspencer library
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8470 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-17 00:32:21 +00:00
Marcelo Matus
16c4a594e7 add aliases for the 'case' encoders
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8403 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-13 00:38:44 +00:00
Marcelo Matus
6ccea1d981 more %rename predicates
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8389 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-12 15:44:27 +00:00
Marcelo Matus
059a280719 add %rename predicates
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8381 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-12 00:39:59 +00:00
Marcelo Matus
a9137b3f7b another fix to utitle
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8380 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-11 23:59:14 +00:00
Marcelo Matus
72425a439c fix the way a member is added to a class, and the class node is constructed, so it can be properly matched with the match=class predicate in the %rename directive
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8373 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-11 20:14:35 +00:00
Marcelo Matus
537f3f7682 fix problem introduced by notmatch, extra not
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8367 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-11 01:02:57 +00:00
Marcelo Matus
3b1fa61912 test(and fix) the utitle encoder
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8364 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-10 23:40:07 +00:00
Marcelo Matus
41f1b86564 silence warns
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8163 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-01 11:23:08 +00:00
Marcelo Matus
2a3e528169 fixes and docs in %rename
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8160 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-01 11:01:12 +00:00
Marcelo Matus
150a8293c5 add new test for rename
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8154 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-31 10:45:00 +00:00