Skip to content

Commit eb070a9

Browse files
committed
[GR-34916] Intrinsify python_cext - PythonCextBuiltins refactoring.
PullRequest: graalpython/2066
2 parents 3d6204a + a0935d9 commit eb070a9

20 files changed

+8705
-7811
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/CoreFunctions.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
public @interface CoreFunctions {
3333
String defineModule() default "";
3434

35+
String extendsModule() default "";
36+
3537
/**
3638
* Most builtins are not OS specific. If specified, the builtin is included only if the os
3739
* matches

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/Python3Core.java

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@
8484
import com.oracle.graal.python.builtins.modules.PosixShMemModuleBuiltins;
8585
import com.oracle.graal.python.builtins.modules.PosixSubprocessModuleBuiltins;
8686
import com.oracle.graal.python.builtins.modules.PwdModuleBuiltins;
87-
import com.oracle.graal.python.builtins.modules.PythonCextBuiltins;
87+
import com.oracle.graal.python.builtins.modules.cext.PythonCextBuiltins;
8888
import com.oracle.graal.python.builtins.modules.QueueModuleBuiltins;
8989
import com.oracle.graal.python.builtins.modules.RandomModuleBuiltins;
9090
import com.oracle.graal.python.builtins.modules.ReadlineModuleBuiltins;
@@ -109,6 +109,15 @@
109109
import com.oracle.graal.python.builtins.modules.bz2.BZ2CompressorBuiltins;
110110
import com.oracle.graal.python.builtins.modules.bz2.BZ2DecompressorBuiltins;
111111
import com.oracle.graal.python.builtins.modules.bz2.BZ2ModuleBuiltins;
112+
import com.oracle.graal.python.builtins.modules.cext.PythonCextBytesBuiltins;
113+
import com.oracle.graal.python.builtins.modules.cext.PythonCextComplexBuiltins;
114+
import com.oracle.graal.python.builtins.modules.cext.PythonCextDictBuiltins;
115+
import com.oracle.graal.python.builtins.modules.cext.PythonCextFloatBuiltins;
116+
import com.oracle.graal.python.builtins.modules.cext.PythonCextListBuiltins;
117+
import com.oracle.graal.python.builtins.modules.cext.PythonCextLongBuiltins;
118+
import com.oracle.graal.python.builtins.modules.cext.PythonCextAbstractBuiltins;
119+
import com.oracle.graal.python.builtins.modules.cext.PythonCextSetBuiltins;
120+
import com.oracle.graal.python.builtins.modules.cext.PythonCextUnicodeBuiltins;
112121
import com.oracle.graal.python.builtins.modules.csv.CSVDialectBuiltins;
113122
import com.oracle.graal.python.builtins.modules.csv.CSVModuleBuiltins;
114123
import com.oracle.graal.python.builtins.modules.csv.CSVReaderBuiltins;
@@ -395,8 +404,7 @@ private static void filterBuiltins(List<PythonBuiltins> builtins) {
395404
}
396405

397406
private static PythonBuiltins[] initializeBuiltins(boolean nativeAccessAllowed) {
398-
List<PythonBuiltins> builtins = new ArrayList<>(Arrays.asList(
399-
new BuiltinConstructors(),
407+
List<PythonBuiltins> builtins = new ArrayList<>(Arrays.asList(new BuiltinConstructors(),
400408
new BuiltinFunctions(),
401409
new DecoratedMethodBuiltins(),
402410
new ClassmethodBuiltins(),
@@ -467,6 +475,15 @@ private static PythonBuiltins[] initializeBuiltins(boolean nativeAccessAllowed)
467475
new RandomModuleBuiltins(),
468476
new RandomBuiltins(),
469477
new PythonCextBuiltins(),
478+
new PythonCextAbstractBuiltins(),
479+
new PythonCextBytesBuiltins(),
480+
new PythonCextComplexBuiltins(),
481+
new PythonCextDictBuiltins(),
482+
new PythonCextFloatBuiltins(),
483+
new PythonCextListBuiltins(),
484+
new PythonCextLongBuiltins(),
485+
new PythonCextSetBuiltins(),
486+
new PythonCextUnicodeBuiltins(),
470487
new WeakRefModuleBuiltins(),
471488
new ReferenceTypeBuiltins(),
472489
new WarningsModuleBuiltins(),
@@ -942,6 +959,9 @@ private void populateBuiltins() {
942959
if (annotation.defineModule().length() > 0) {
943960
addBuiltinsTo(builtinModules.get(annotation.defineModule()), builtin);
944961
}
962+
if (annotation.extendsModule().length() > 0) {
963+
addBuiltinsTo(builtinModules.get(annotation.extendsModule()), builtin);
964+
}
945965
for (PythonBuiltinClassType klass : annotation.extendClasses()) {
946966
addBuiltinsTo(lookupType(klass), builtin);
947967
}

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/PythonBuiltins.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ public void initialize(Python3Core core) {
7575
CoreFunctions annotation = getClass().getAnnotation(CoreFunctions.class);
7676
final boolean declaresExplicitSelf;
7777
PythonBuiltinClassType constructsClass = builtin.constructsClass();
78-
if (annotation.defineModule().length() > 0 && constructsClass == PythonBuiltinClassType.nil) {
78+
if ((annotation.defineModule().length() > 0 || annotation.extendsModule().length() > 0) && constructsClass == PythonBuiltinClassType.nil) {
79+
assert annotation.defineModule().isEmpty() && !annotation.extendsModule().isEmpty() || !annotation.defineModule().isEmpty() && annotation.extendsModule().isEmpty();
7980
assert !builtin.isGetter();
8081
assert !builtin.isSetter();
8182
assert annotation.extendClasses().length == 0;

0 commit comments

Comments
 (0)