55
55
import com .oracle .graal .python .builtins .objects .function .PArguments ;
56
56
import com .oracle .graal .python .builtins .objects .list .PList ;
57
57
import com .oracle .graal .python .builtins .objects .module .PythonModule ;
58
- import com .oracle .graal .python .builtins .objects .object .PythonObject ;
59
58
import com .oracle .graal .python .builtins .objects .object .PythonObjectLibrary ;
60
59
import com .oracle .graal .python .builtins .objects .tuple .PTuple ;
61
60
import com .oracle .graal .python .builtins .objects .zipimporter .PZipImporter .ModuleCodeData ;
62
61
import com .oracle .graal .python .builtins .objects .zipimporter .PZipImporter .ModuleInfo ;
63
62
import com .oracle .graal .python .builtins .objects .zipimporter .ZipImporterBuiltinsClinicProviders .FindLoaderNodeClinicProviderGen ;
63
+ import com .oracle .graal .python .builtins .objects .zipimporter .ZipImporterBuiltinsClinicProviders .FindModuleNodeClinicProviderGen ;
64
+ import com .oracle .graal .python .builtins .objects .zipimporter .ZipImporterBuiltinsClinicProviders .GetCodeNodeClinicProviderGen ;
65
+ import com .oracle .graal .python .builtins .objects .zipimporter .ZipImporterBuiltinsClinicProviders .GetDataNodeClinicProviderGen ;
66
+ import com .oracle .graal .python .builtins .objects .zipimporter .ZipImporterBuiltinsClinicProviders .GetFileNameNodeClinicProviderGen ;
67
+ import com .oracle .graal .python .builtins .objects .zipimporter .ZipImporterBuiltinsClinicProviders .GetSourceNodeClinicProviderGen ;
68
+ import com .oracle .graal .python .builtins .objects .zipimporter .ZipImporterBuiltinsClinicProviders .IsPackageNodeClinicProviderGen ;
69
+ import com .oracle .graal .python .builtins .objects .zipimporter .ZipImporterBuiltinsClinicProviders .LoadModuleNodeClinicProviderGen ;
64
70
import com .oracle .graal .python .nodes .ErrorMessages ;
65
71
import com .oracle .graal .python .nodes .SpecialAttributeNames ;
66
72
import com .oracle .graal .python .nodes .function .PythonBuiltinBaseNode ;
67
73
import com .oracle .graal .python .nodes .function .builtins .PythonBinaryBuiltinNode ;
68
- import com .oracle .graal .python .nodes .function .builtins .PythonTernaryBuiltinNode ;
74
+ import com .oracle .graal .python .nodes .function .builtins .PythonBinaryClinicBuiltinNode ;
69
75
import com .oracle .graal .python .nodes .function .builtins .PythonTernaryClinicBuiltinNode ;
70
76
import com .oracle .graal .python .nodes .function .builtins .PythonUnaryBuiltinNode ;
71
77
import com .oracle .graal .python .nodes .function .builtins .clinic .ArgumentClinicProvider ;
72
- import com .oracle .graal .python .nodes .truffle .PythonArithmeticTypes ;
73
78
import com .oracle .graal .python .runtime .exception .PythonErrorType ;
74
79
import com .oracle .graal .python .runtime .sequence .storage .SequenceStorage ;
75
80
import com .oracle .graal .python .util .PythonUtils ;
81
86
import com .oracle .truffle .api .dsl .GenerateNodeFactory ;
82
87
import com .oracle .truffle .api .dsl .NodeFactory ;
83
88
import com .oracle .truffle .api .dsl .Specialization ;
84
- import com .oracle .truffle .api .dsl .TypeSystemReference ;
85
89
import com .oracle .truffle .api .frame .VirtualFrame ;
86
90
import com .oracle .truffle .api .library .CachedLibrary ;
87
91
import com .oracle .truffle .api .profiles .ConditionProfile ;
@@ -200,7 +204,6 @@ protected List<? extends NodeFactory<? extends PythonBuiltinBaseNode>> getNodeFa
200
204
}
201
205
202
206
@ Builtin (name = __INIT__ , minNumOfPositionalArgs = 1 , maxNumOfPositionalArgs = 2 )
203
- @ TypeSystemReference (PythonArithmeticTypes .class )
204
207
@ GenerateNodeFactory
205
208
public abstract static class InitNode extends PythonBinaryBuiltinNode {
206
209
@@ -355,7 +358,7 @@ public PNone init(PZipImporter self, PBytes path,
355
358
}
356
359
357
360
@ Specialization (limit = "1" )
358
- public PNone init (PZipImporter self , PythonObject path ,
361
+ public PNone init (PZipImporter self , Object path ,
359
362
@ CachedLibrary ("path" ) PythonObjectLibrary lib ) {
360
363
initZipImporter (self , lib .asPath (path ));
361
364
return PNone .NONE ;
@@ -399,10 +402,16 @@ public abstract static class ReprNode extends StrNode {
399
402
400
403
}
401
404
402
- @ Builtin (name = "find_module" , minNumOfPositionalArgs = 2 , maxNumOfPositionalArgs = 3 )
403
- @ TypeSystemReference (PythonArithmeticTypes .class )
405
+ @ Builtin (name = "find_module" , minNumOfPositionalArgs = 2 , parameterNames = {"self" , "fullname" , "path" })
406
+ @ ArgumentClinic (name = "fullname" , conversion = ArgumentClinic .ClinicConversion .String )
407
+ @ ArgumentClinic (name = "path" , defaultValue = "PNone.NONE" )
404
408
@ GenerateNodeFactory
405
- public abstract static class FindModuleNode extends PythonTernaryBuiltinNode {
409
+ public abstract static class FindModuleNode extends PythonTernaryClinicBuiltinNode {
410
+ @ Override
411
+ protected ArgumentClinicProvider getArgumentClinic () {
412
+ return FindModuleNodeClinicProviderGen .INSTANCE ;
413
+ }
414
+
406
415
/**
407
416
*
408
417
* @param self
@@ -424,7 +433,6 @@ public Object doit(PZipImporter self, String fullname, @SuppressWarnings("unused
424
433
425
434
@ Builtin (name = "find_loader" , minNumOfPositionalArgs = 2 , parameterNames = {"self" , "fullname" , "path" })
426
435
@ ArgumentClinic (name = "fullname" , conversion = ArgumentClinic .ClinicConversion .String )
427
- @ TypeSystemReference (PythonArithmeticTypes .class )
428
436
@ GenerateNodeFactory
429
437
public abstract static class FindLoaderNode extends PythonTernaryClinicBuiltinNode {
430
438
@ Override
@@ -463,10 +471,14 @@ private PList makeList(Object first) {
463
471
}
464
472
}
465
473
466
- @ Builtin (name = "get_code" , minNumOfPositionalArgs = 2 )
467
- @ TypeSystemReference ( PythonArithmeticTypes . class )
474
+ @ Builtin (name = "get_code" , minNumOfPositionalArgs = 2 , parameterNames = { "self" , "fullname" } )
475
+ @ ArgumentClinic ( name = "fullname" , conversion = ArgumentClinic . ClinicConversion . String )
468
476
@ GenerateNodeFactory
469
- public abstract static class GetCodeNode extends PythonBinaryBuiltinNode {
477
+ public abstract static class GetCodeNode extends PythonBinaryClinicBuiltinNode {
478
+ @ Override
479
+ protected ArgumentClinicProvider getArgumentClinic () {
480
+ return GetCodeNodeClinicProviderGen .INSTANCE ;
481
+ }
470
482
471
483
@ Child private CompileNode compileNode ;
472
484
@@ -499,10 +511,14 @@ public static GetCodeNode create() {
499
511
}
500
512
}
501
513
502
- @ Builtin (name = "get_data" , minNumOfPositionalArgs = 2 )
503
- @ TypeSystemReference ( PythonArithmeticTypes . class )
514
+ @ Builtin (name = "get_data" , minNumOfPositionalArgs = 2 , parameterNames = { "self" , "pathname" } )
515
+ @ ArgumentClinic ( name = "pathname" , conversion = ArgumentClinic . ClinicConversion . String )
504
516
@ GenerateNodeFactory
505
- public abstract static class GetDataNode extends PythonBinaryBuiltinNode {
517
+ public abstract static class GetDataNode extends PythonBinaryClinicBuiltinNode {
518
+ @ Override
519
+ protected ArgumentClinicProvider getArgumentClinic () {
520
+ return GetDataNodeClinicProviderGen .INSTANCE ;
521
+ }
506
522
507
523
@ Specialization
508
524
@ TruffleBoundary
@@ -565,10 +581,14 @@ public PBytes doit(PZipImporter self, String pathname) {
565
581
}
566
582
}
567
583
568
- @ Builtin (name = "get_filename" , minNumOfPositionalArgs = 2 )
569
- @ TypeSystemReference ( PythonArithmeticTypes . class )
584
+ @ Builtin (name = "get_filename" , minNumOfPositionalArgs = 2 , parameterNames = { "self" , "fullname" } )
585
+ @ ArgumentClinic ( name = "fullname" , conversion = ArgumentClinic . ClinicConversion . String )
570
586
@ GenerateNodeFactory
571
- public abstract static class GetFileNameNode extends PythonBinaryBuiltinNode {
587
+ public abstract static class GetFileNameNode extends PythonBinaryClinicBuiltinNode {
588
+ @ Override
589
+ protected ArgumentClinicProvider getArgumentClinic () {
590
+ return GetFileNameNodeClinicProviderGen .INSTANCE ;
591
+ }
572
592
573
593
@ Specialization
574
594
public Object doit (VirtualFrame frame , PZipImporter self , String fullname ,
@@ -591,10 +611,14 @@ public Object doit(VirtualFrame frame, PZipImporter self, String fullname,
591
611
592
612
}
593
613
594
- @ Builtin (name = "get_source" , minNumOfPositionalArgs = 2 )
595
- @ TypeSystemReference ( PythonArithmeticTypes . class )
614
+ @ Builtin (name = "get_source" , minNumOfPositionalArgs = 2 , parameterNames = { "self" , "fullname" } )
615
+ @ ArgumentClinic ( name = "fullname" , conversion = ArgumentClinic . ClinicConversion . String )
596
616
@ GenerateNodeFactory
597
- public abstract static class GetSourceNode extends PythonBinaryBuiltinNode {
617
+ public abstract static class GetSourceNode extends PythonBinaryClinicBuiltinNode {
618
+ @ Override
619
+ protected ArgumentClinicProvider getArgumentClinic () {
620
+ return GetSourceNodeClinicProviderGen .INSTANCE ;
621
+ }
598
622
599
623
@ Specialization
600
624
public String doit (VirtualFrame frame , PZipImporter self , String fullname ,
@@ -617,10 +641,14 @@ public String doit(VirtualFrame frame, PZipImporter self, String fullname,
617
641
618
642
}
619
643
620
- @ Builtin (name = "is_package" , minNumOfPositionalArgs = 2 )
621
- @ TypeSystemReference ( PythonArithmeticTypes . class )
644
+ @ Builtin (name = "is_package" , minNumOfPositionalArgs = 2 , parameterNames = { "self" , "fullname" } )
645
+ @ ArgumentClinic ( name = "fullname" , conversion = ArgumentClinic . ClinicConversion . String )
622
646
@ GenerateNodeFactory
623
- public abstract static class IsPackageNode extends PythonBinaryBuiltinNode {
647
+ public abstract static class IsPackageNode extends PythonBinaryClinicBuiltinNode {
648
+ @ Override
649
+ protected ArgumentClinicProvider getArgumentClinic () {
650
+ return IsPackageNodeClinicProviderGen .INSTANCE ;
651
+ }
624
652
625
653
@ Specialization
626
654
public boolean doit (PZipImporter self , String fullname ,
@@ -638,10 +666,14 @@ public boolean doit(PZipImporter self, String fullname,
638
666
639
667
}
640
668
641
- @ Builtin (name = "load_module" , minNumOfPositionalArgs = 2 )
642
- @ TypeSystemReference ( PythonArithmeticTypes . class )
669
+ @ Builtin (name = "load_module" , minNumOfPositionalArgs = 2 , parameterNames = { "self" , "fullname" } )
670
+ @ ArgumentClinic ( name = "fullname" , conversion = ArgumentClinic . ClinicConversion . String )
643
671
@ GenerateNodeFactory
644
- public abstract static class LoadModuleNode extends PythonBinaryBuiltinNode {
672
+ public abstract static class LoadModuleNode extends PythonBinaryClinicBuiltinNode {
673
+ @ Override
674
+ protected ArgumentClinicProvider getArgumentClinic () {
675
+ return LoadModuleNodeClinicProviderGen .INSTANCE ;
676
+ }
645
677
646
678
@ Specialization
647
679
public Object doit (VirtualFrame frame , PZipImporter self , String fullname ,
0 commit comments