mirror of https://github.com/exaloop/codon.git
Add PyFunction::keywords field
parent
7f82194c06
commit
691c1b8fec
|
@ -756,16 +756,20 @@ void LLVMVisitor::writeToPythonExtension(const PyModule &pymod,
|
|||
std::vector<llvm::Constant *> pyMethods;
|
||||
for (auto &pyfunc : functions) {
|
||||
int flag = 0;
|
||||
switch (pyfunc.nargs) {
|
||||
case 0:
|
||||
flag = PYEXT_METH_NOARGS;
|
||||
break;
|
||||
case 1:
|
||||
flag = PYEXT_METH_O;
|
||||
break;
|
||||
default:
|
||||
flag = PYEXT_METH_FASTCALL;
|
||||
break;
|
||||
if (pyfunc.keywords) {
|
||||
flag = PYEXT_METH_FASTCALL | PYEXT_METH_KEYWORDS;
|
||||
} else {
|
||||
switch (pyfunc.nargs) {
|
||||
case 0:
|
||||
flag = PYEXT_METH_NOARGS;
|
||||
break;
|
||||
case 1:
|
||||
flag = PYEXT_METH_O;
|
||||
break;
|
||||
default:
|
||||
flag = PYEXT_METH_FASTCALL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
switch (pyfunc.type) {
|
||||
|
|
|
@ -18,6 +18,7 @@ struct PyFunction {
|
|||
Func *func = nullptr;
|
||||
Type type = Type::TOPLEVEL;
|
||||
int nargs = 0;
|
||||
bool keywords = false;
|
||||
bool coexist = false;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue