Skip to content

Commit 1105d3a

Browse files
committed
Fix missing specialization in socket.recv
1 parent 976af01 commit 1105d3a

File tree

1 file changed

+9
-2
lines changed
  • graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/socket

1 file changed

+9
-2
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/socket/SocketBuiltins.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
import com.oracle.graal.python.nodes.function.builtins.PythonBinaryBuiltinNode;
8282
import com.oracle.graal.python.nodes.function.builtins.PythonBinaryClinicBuiltinNode;
8383
import com.oracle.graal.python.nodes.function.builtins.PythonTernaryBuiltinNode;
84+
import com.oracle.graal.python.nodes.function.builtins.PythonTernaryClinicBuiltinNode;
8485
import com.oracle.graal.python.nodes.function.builtins.PythonUnaryBuiltinNode;
8586
import com.oracle.graal.python.nodes.function.builtins.clinic.ArgumentClinicProvider;
8687
import com.oracle.graal.python.nodes.util.CannotCastException;
@@ -330,9 +331,11 @@ Object listen(PSocket socket, PNone backlog) {
330331
}
331332

332333
// 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")
334337
@GenerateNodeFactory
335-
abstract static class RecvNode extends PythonTernaryBuiltinNode {
338+
abstract static class RecvNode extends PythonTernaryClinicBuiltinNode {
336339
@Specialization
337340
Object recv(VirtualFrame frame, PSocket socket, int bufsize, int flags) {
338341
ByteBuffer readBytes = PythonUtils.allocateByteBuffer(bufsize);
@@ -346,6 +349,10 @@ Object recv(VirtualFrame frame, PSocket socket, int bufsize, int flags) {
346349
}
347350
}
348351

352+
@Override
353+
protected ArgumentClinicProvider getArgumentClinic() {
354+
return SocketBuiltinsClinicProviders.RecvNodeClinicProviderGen.INSTANCE;
355+
}
349356
}
350357

351358
// recvfrom(bufsize[, flags])

0 commit comments

Comments
 (0)