81
81
import com .oracle .graal .python .nodes .function .builtins .PythonBinaryBuiltinNode ;
82
82
import com .oracle .graal .python .nodes .function .builtins .PythonBinaryClinicBuiltinNode ;
83
83
import com .oracle .graal .python .nodes .function .builtins .PythonTernaryBuiltinNode ;
84
+ import com .oracle .graal .python .nodes .function .builtins .PythonTernaryClinicBuiltinNode ;
84
85
import com .oracle .graal .python .nodes .function .builtins .PythonUnaryBuiltinNode ;
85
86
import com .oracle .graal .python .nodes .function .builtins .clinic .ArgumentClinicProvider ;
86
87
import com .oracle .graal .python .nodes .util .CannotCastException ;
@@ -330,9 +331,11 @@ Object listen(PSocket socket, PNone backlog) {
330
331
}
331
332
332
333
// recv(bufsize[, flags])
333
- @ Builtin (name = "recv" , minNumOfPositionalArgs = 2 , maxNumOfPositionalArgs = 3 )
334
+ @ Builtin (name = "recv" , minNumOfPositionalArgs = 2 , numOfPositionalOnlyArgs = 3 , parameterNames = {"$self" , "nbytes" , "flags" })
335
+ @ ArgumentClinic (name = "nbytes" , conversion = ArgumentClinic .ClinicConversion .Index )
336
+ @ ArgumentClinic (name = "flags" , conversion = ArgumentClinic .ClinicConversion .Int , defaultValue = "0" )
334
337
@ GenerateNodeFactory
335
- abstract static class RecvNode extends PythonTernaryBuiltinNode {
338
+ abstract static class RecvNode extends PythonTernaryClinicBuiltinNode {
336
339
@ Specialization
337
340
Object recv (VirtualFrame frame , PSocket socket , int bufsize , int flags ) {
338
341
ByteBuffer readBytes = PythonUtils .allocateByteBuffer (bufsize );
@@ -346,6 +349,10 @@ Object recv(VirtualFrame frame, PSocket socket, int bufsize, int flags) {
346
349
}
347
350
}
348
351
352
+ @ Override
353
+ protected ArgumentClinicProvider getArgumentClinic () {
354
+ return SocketBuiltinsClinicProviders .RecvNodeClinicProviderGen .INSTANCE ;
355
+ }
349
356
}
350
357
351
358
// recvfrom(bufsize[, flags])
0 commit comments