mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
some fix
This commit is contained in:
parent
150af1b714
commit
0d0261c069
11
src/vm.cpp
11
src/vm.cpp
@ -887,13 +887,12 @@ PyObject* VM::vectorcall(int ARGC, int KWARGC, bool op_call){
|
||||
if(s_data.is_overflow()) StackOverflowError();
|
||||
|
||||
const Function& fn = PK_OBJ_GET(Function, callable);
|
||||
const FuncDecl_& decl = fn.decl;
|
||||
const CodeObject* co = decl->code.get();
|
||||
const CodeObject* co = fn.decl->code.get();
|
||||
int co_nlocals = co->varnames.size();
|
||||
if(decl->is_simple){
|
||||
if(args.size() != decl->args.size()){
|
||||
if(fn.decl->is_simple){
|
||||
if(args.size() != fn.decl->args.size()){
|
||||
TypeError(_S(
|
||||
co->name, "() takes ", decl->args.size(), " positional arguments but ", args.size(), " were given"
|
||||
co->name, "() takes ", fn.decl->args.size(), " positional arguments but ", args.size(), " were given"
|
||||
));
|
||||
}
|
||||
if(!kwargs.empty()) TypeError(_S(co->name, "() takes no keyword arguments"));
|
||||
@ -905,7 +904,7 @@ PyObject* VM::vectorcall(int ARGC, int KWARGC, bool op_call){
|
||||
goto __FAST_CALL;
|
||||
}
|
||||
|
||||
_prepare_py_call(buffer, args, kwargs, decl);
|
||||
_prepare_py_call(buffer, args, kwargs, fn.decl);
|
||||
|
||||
if(co->is_generator){
|
||||
s_data.reset(p0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user