Merge branch 'master' into gsoc2017-php7-classes-via-c-api
This commit is contained in:
commit
3e8373b09a
20 changed files with 76 additions and 20 deletions
|
|
@ -183,7 +183,7 @@ information by including a directive like this in the interface file:
|
|||
</div>
|
||||
|
||||
<p>
|
||||
(The <code>%scheme</code> directive allows to insert arbitrary Scheme
|
||||
(The <code>%scheme</code> directive allows inserting arbitrary Scheme
|
||||
code into the generated file <code><var>module.scm</var></code>; it is
|
||||
placed between the <code>define-module</code> form and the
|
||||
<code>export</code> form.)
|
||||
|
|
|
|||
|
|
@ -406,7 +406,7 @@ the main window.</p>
|
|||
|
||||
<p>
|
||||
As known from <code>node.js</code> one can use <code>require</code> to load javascript modules.
|
||||
Additionally, <code>node-webkit</code> provides an API that allows to manipulate the window's menu,
|
||||
Additionally, <code>node-webkit</code> provides an API that allows manipulating the window's menu,
|
||||
open new windows, and many more things.
|
||||
</p>
|
||||
|
||||
|
|
|
|||
|
|
@ -2020,7 +2020,7 @@ and a more descriptive one, but the two functions are otherwise equivalent:
|
|||
<tr>
|
||||
<td><span style="white-space: nowrap;"><tt>regex:/pattern/subst/</tt></span></td>
|
||||
<td>String after (Perl-like) regex substitution operation. This function
|
||||
allows to apply arbitrary regular expressions to the identifier names. The
|
||||
allows applying arbitrary regular expressions to the identifier names. The
|
||||
<i>pattern</i> part is a regular expression in Perl syntax (as supported
|
||||
by the <a href="http://www.pcre.org/">Perl Compatible Regular Expressions (PCRE)</a>)
|
||||
library and the <i>subst</i> string
|
||||
|
|
|
|||
|
|
@ -418,6 +418,7 @@ CPP_TEST_CASES += \
|
|||
struct_value \
|
||||
swig_exception \
|
||||
symbol_clash \
|
||||
sym \
|
||||
template_arg_replace \
|
||||
template_arg_scope \
|
||||
template_arg_typename \
|
||||
|
|
|
|||
|
|
@ -46,7 +46,6 @@ CPP_TEST_CASES = \
|
|||
java_typemaps_typewrapper \
|
||||
nested_scope \
|
||||
li_std_list \
|
||||
li_std_map \
|
||||
li_std_set \
|
||||
# li_boost_intrusive_ptr
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,8 @@ char *Person_name_get(Person *p) {
|
|||
}
|
||||
|
||||
void Person_name_set(Person *p, char *val) {
|
||||
strncpy(p->name,val,50);
|
||||
p->name[0] = '\0';
|
||||
strncat(p->name, val, sizeof(p->name) - 1);
|
||||
make_upper(p->name);
|
||||
}
|
||||
%}
|
||||
|
|
|
|||
|
|
@ -16,11 +16,13 @@ CPP_TEST_CASES += \
|
|||
li_cstring \
|
||||
li_cdata_carrays_cpp \
|
||||
li_reference \
|
||||
memberin1 \
|
||||
director_nestedmodule \
|
||||
|
||||
C_TEST_CASES += \
|
||||
li_cstring \
|
||||
li_cdata_carrays \
|
||||
multivalue \
|
||||
|
||||
include $(srcdir)/../common.mk
|
||||
|
||||
|
|
|
|||
20
Examples/test-suite/perl5/multivalue_runme.pl
Normal file
20
Examples/test-suite/perl5/multivalue_runme.pl
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use Test::More tests => 8;
|
||||
|
||||
BEGIN { use_ok('multivalue') }
|
||||
require_ok('multivalue');
|
||||
|
||||
my ($q, $r);
|
||||
|
||||
($q, $r) = multivalue::divide_l(37, 5);
|
||||
is($q, 7, "Test divide_l quotient");
|
||||
is($r, 2, "Test divide_l remainder");
|
||||
|
||||
($q, $r) = multivalue::divide_v(41, 7);
|
||||
is($q, 5, "Test divide_v quotient");
|
||||
is($r, 6, "Test divide_v remainder");
|
||||
|
||||
($q, $r) = multivalue::divide_mv(91, 13);
|
||||
is($q, 7, "Test divide_mv quotient");
|
||||
is($r, 0, "Test divide_mv remainder");
|
||||
|
|
@ -11,12 +11,20 @@ top_builddir = @top_builddir@
|
|||
|
||||
CPP_TEST_CASES += \
|
||||
callback \
|
||||
director_stl \
|
||||
exception_partial_info \
|
||||
inout \
|
||||
li_cdata_carrays_cpp \
|
||||
li_factory \
|
||||
php_iterator \
|
||||
php_namewarn_rename \
|
||||
php_pragma \
|
||||
prefix \
|
||||
|
||||
C_TEST_CASES += \
|
||||
li_cdata_carrays \
|
||||
multivalue \
|
||||
|
||||
include $(srcdir)/../common.mk
|
||||
|
||||
# Overridden variables here
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
require "tests.php";
|
||||
require "director_profile.php";
|
||||
|
||||
// New functions
|
||||
check::functions(array('b_fn','b_vfi','b_fi','b_fj','b_fk','b_fl','b_get_self','b_vfs','b_fs'));
|
||||
// No new functions
|
||||
check::functions(array());
|
||||
// New classes
|
||||
check::classes(array('A','B'));
|
||||
// No new vars
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
require "tests.php";
|
||||
require "director_stl.php";
|
||||
|
||||
// New functions
|
||||
check::functions(array('foo_bar','foo_ping','foo_pong','foo_tping','foo_tpong','foo_pident','foo_vident','foo_vsecond','foo_tpident','foo_tvident','foo_tvsecond','foo_vidents','foo_tvidents'));
|
||||
// No new functions
|
||||
check::functions(array());
|
||||
// New classes
|
||||
check::classes(array('Foo'));
|
||||
// No new vars
|
||||
|
|
|
|||
25
Examples/test-suite/php/multivalue_runme.php
Normal file
25
Examples/test-suite/php/multivalue_runme.php
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
<?php
|
||||
|
||||
require "tests.php";
|
||||
require "multivalue.php";
|
||||
|
||||
// New functions
|
||||
check::functions(array('divide_l','divide_v','divide_mv'));
|
||||
// New classes
|
||||
check::classes(array('multivalue'));
|
||||
// No new vars
|
||||
check::globals(array());
|
||||
|
||||
$r = multivalue::divide_l(37, 5);
|
||||
check::equal($r[0], 7, "Test divide_l quotient");
|
||||
check::equal($r[1], 2, "Test divide_l remainder");
|
||||
|
||||
$r = multivalue::divide_v(41, 7);
|
||||
check::equal($r[0], 5, "Test divide_v quotient");
|
||||
check::equal($r[1], 6, "Test divide_v remainder");
|
||||
|
||||
$r = multivalue::divide_mv(91, 13);
|
||||
check::equal($r[0], 7, "Test divide_mv quotient");
|
||||
check::equal($r[1], 0, "Test divide_mv remainder");
|
||||
|
||||
check::done();
|
||||
|
|
@ -6,7 +6,7 @@ require "sym.php";
|
|||
// No new functions
|
||||
check::functions(array());
|
||||
// New classes
|
||||
check::classes(array('flim','flam'));
|
||||
check::classes(array('Flim','Flam'));
|
||||
// No new vars
|
||||
check::globals(array());
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
The typemaps here allow to handle functions returning std::auto_ptr<>,
|
||||
The typemaps here allow handling functions returning std::auto_ptr<>,
|
||||
which is the most common use of this type. If you have functions taking it
|
||||
as parameter, these typemaps can't be used for them and you need to do
|
||||
something else (e.g. use shared_ptr<> which SWIG supports fully).
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
The typemaps here allow to handle functions returning std::auto_ptr<>,
|
||||
The typemaps here allow handling functions returning std::auto_ptr<>,
|
||||
which is the most common use of this type. If you have functions taking it
|
||||
as parameter, these typemaps can't be used for them and you need to do
|
||||
something else (e.g. use shared_ptr<> which SWIG supports fully).
|
||||
|
|
|
|||
|
|
@ -1344,14 +1344,14 @@ SWIGRUNTIME int SWIG_Lua_resolve_metamethod(lua_State *L); /*forward declaration
|
|||
|
||||
/* The real function that resolves a metamethod.
|
||||
* Function searches given class and all it's bases(recursively) for first instance of something that is
|
||||
* not equal to SWIG_Lua_resolve_metatmethod. (Almost always this 'something' is actual metamethod implementation
|
||||
* not equal to SWIG_Lua_resolve_metamethod. (Almost always this 'something' is actual metamethod implementation
|
||||
* and it is a SWIG-generated C function.). It returns value on the top of the L and there is no garbage below the
|
||||
* answer.
|
||||
* Returns 1 if found, 0 otherwise.
|
||||
* clss is class which metatable we will search for method
|
||||
* metamethod_name_idx is index in L where metamethod name (as string) lies
|
||||
* skip_check allows to skip searching metamethod in givel clss and immideatelly go to searching in bases. skip_check
|
||||
* is not caried to subsequent recursive calls - false is always passed. It is set to true only at first call from
|
||||
* skip_check allows skipping searching metamethod in the given class and immediately going to searching in bases. skip_check
|
||||
* is not carried to subsequent recursive calls - false is always passed. It is set to true only at first call from
|
||||
* SWIG_Lua_resolve_metamethod
|
||||
* */
|
||||
SWIGINTERN int SWIG_Lua_do_resolve_metamethod(lua_State *L, const swig_lua_class *clss, int metamethod_name_idx,
|
||||
|
|
@ -1497,7 +1497,7 @@ SWIGINTERN void SWIG_Lua_add_class_user_metamethods(lua_State *L, swig_lua_class
|
|||
}
|
||||
}
|
||||
|
||||
lua_pop(L,1); /* remove inheritable metatmethods table */
|
||||
lua_pop(L,1); /* remove inheritable metamethods table */
|
||||
|
||||
/* Special handling for __tostring method */
|
||||
lua_pushstring(L, "__tostring");
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
The typemaps here allow to handle functions returning std::auto_ptr<>,
|
||||
The typemaps here allow handling functions returning std::auto_ptr<>,
|
||||
which is the most common use of this type. If you have functions taking it
|
||||
as parameter, these typemaps can't be used for them and you need to do
|
||||
something else (e.g. use shared_ptr<> which SWIG supports fully).
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
The typemaps here allow to handle functions returning std::auto_ptr<>,
|
||||
The typemaps here allow handling functions returning std::auto_ptr<>,
|
||||
which is the most common use of this type. If you have functions taking it
|
||||
as parameter, these typemaps can't be used for them and you need to do
|
||||
something else (e.g. use shared_ptr<> which SWIG supports fully).
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@
|
|||
SWIG errors code.
|
||||
|
||||
Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
|
||||
allows to return the 'cast rank', for example, if you have this
|
||||
allows returning the 'cast rank', for example, if you have this
|
||||
|
||||
int food(double)
|
||||
int fooi(int);
|
||||
|
|
|
|||
|
|
@ -727,7 +727,7 @@ Node *JSEmitter::getBaseClass(Node *n) {
|
|||
/* -----------------------------------------------------------------------------
|
||||
* JSEmitter::emitWrapperFunction() : dispatches emitter functions.
|
||||
*
|
||||
* This allows to have small sized, dedicated emitting functions.
|
||||
* This allows having small sized, dedicated emitting functions.
|
||||
* All state dependent branching is done here.
|
||||
* ----------------------------------------------------------------------------- */
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue