4444
4545import com .oracle .graal .python .builtins .Builtin ;
4646import com .oracle .graal .python .builtins .CoreFunctions ;
47+ import com .oracle .graal .python .builtins .PythonBuiltinClassType ;
4748import com .oracle .graal .python .builtins .PythonBuiltins ;
4849import com .oracle .graal .python .builtins .objects .PNone ;
50+ import com .oracle .graal .python .builtins .objects .type .PythonClass ;
4951import com .oracle .graal .python .nodes .function .PythonBuiltinBaseNode ;
5052import com .oracle .graal .python .nodes .function .PythonBuiltinNode ;
51- import com .oracle .truffle .api .CompilerDirectives .TruffleBoundary ;
5253import com .oracle .truffle .api .dsl .GenerateNodeFactory ;
5354import com .oracle .truffle .api .dsl .NodeFactory ;
5455import com .oracle .truffle .api .dsl .Specialization ;
@@ -61,13 +62,13 @@ protected List<? extends NodeFactory<? extends PythonBuiltinBaseNode>> getNodeFa
6162 }
6263
6364 // socket(family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None)
64- @ Builtin (name = "socket" , minNumOfPositionalArgs = 0 , maxNumOfPositionalArgs = 4 , keywordArguments = {"family" , "type" , "proto" , "fileno" })
65+ @ Builtin (name = "socket" , minNumOfPositionalArgs = 1 , maxNumOfPositionalArgs = 5 , keywordArguments = {"family" , "type" , "proto" , "fileno" },
66+ constructsClass = PythonBuiltinClassType .PSocket )
6567 @ GenerateNodeFactory
6668 public abstract static class SocketNode extends PythonBuiltinNode {
67- @ TruffleBoundary
6869 @ Specialization
69- Object socket (int family , int type , int proto , PNone fileno ) {
70- return factory ().createSocket (family , type , proto );
70+ Object socket (PythonClass cls , int family , int type , int proto , PNone fileno ) {
71+ return factory ().createSocket (cls , family , type , proto );
7172 }
7273 }
7374}
0 commit comments