Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(151)

Side by Side Diff: swig/Lib/python/defarg.swg

Issue 553095: Checkin swig binaries for win, linux and Mac... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/
Patch Set: '' Created 10 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « swig/Lib/python/cwstring.i ('k') | swig/Lib/python/director.swg » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /* This file defines an internal function for processing default arguments
2 with proxy classes.
3
4 There seems to be no straightforward way to write proxy functions
5 involving default arguments. For example :
6
7 def foo(arg1,arg2,*args):
8 proxyc.foo(arg1,arg2,args)
9
10 This fails because args is now a tuple and SWIG doesn't know what to
11 do with it.
12
13 This file allows a different approach :
14
15 def foo(arg1,arg2,*args):
16 proxyc.__call_defarg(proxyc.foo,(arg1,arg2,)+args)
17
18 Basically, we form a new tuple from the object, call this special
19 __call_defarg method and it passes control to the real wrapper function.
20 An ugly hack, but it works.
21 */
22
23 SWIGINTERN PyObject *swig_call_defargs(PyObject *self, PyObject *args) {
24 PyObject *func;
25 PyObject *parms;
26
27 if (!PyArg_ParseTuple(args,"OO",&func,&parms))
28 return NULL;
29
30 if (!PyCallable_Check(func)) {
31 SWIG_PYTHON_THREAD_BEGIN_BLOCK;
32 PyErr_SetString(PyExc_TypeError, "__call_defarg : Need a callable object!");
33 SWIG_PYTHON_THREAD_END_BLOCK;
34 return NULL;
35 }
36 return PyEval_CallObject(func,parms);
37 }
OLDNEW
« no previous file with comments | « swig/Lib/python/cwstring.i ('k') | swig/Lib/python/director.swg » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698