Skip to content

Commit 6ec5af3

Browse files
committed
PythonManagedClass: set name and qualname before MRO
1 parent aa56fad commit 6ec5af3

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/type/PythonManagedClass.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,14 @@
2525
*/
2626
package com.oracle.graal.python.builtins.objects.type;
2727

28+
import static com.oracle.graal.python.builtins.PythonBuiltinClassType.TypeError;
29+
import static com.oracle.graal.python.nodes.SpecialAttributeNames.__DOC__;
30+
2831
import java.util.Collections;
2932
import java.util.Set;
3033
import java.util.WeakHashMap;
3134

3235
import com.oracle.graal.python.PythonLanguage;
33-
import static com.oracle.graal.python.builtins.PythonBuiltinClassType.TypeError;
3436
import com.oracle.graal.python.builtins.objects.PNone;
3537
import com.oracle.graal.python.builtins.objects.cext.PythonClassNativeWrapper;
3638
import com.oracle.graal.python.builtins.objects.object.PythonObject;
@@ -48,8 +50,6 @@
4850
import com.oracle.truffle.api.object.DynamicObject;
4951
import com.oracle.truffle.api.object.Shape;
5052

51-
import static com.oracle.graal.python.nodes.SpecialAttributeNames.__DOC__;
52-
5353
public abstract class PythonManagedClass extends PythonObject implements PythonAbstractClass {
5454

5555
@CompilationFinal(dimensions = 1) private PythonAbstractClass[] baseClasses;
@@ -69,6 +69,8 @@ public abstract class PythonManagedClass extends PythonObject implements PythonA
6969
@TruffleBoundary
7070
protected PythonManagedClass(Object typeClass, DynamicObject storage, Shape instanceShape, String name, PythonAbstractClass... baseClasses) {
7171
super(typeClass, storage);
72+
this.name = getBaseName(name);
73+
this.qualName = name;
7274

7375
this.methodResolutionOrder = new MroSequenceStorage(name, 0);
7476

@@ -85,8 +87,6 @@ protected PythonManagedClass(Object typeClass, DynamicObject storage, Shape inst
8587
this.methodResolutionOrder.setInitialized();
8688
this.needsNativeAllocation = computeNeedsNativeAllocation();
8789

88-
this.name = getBaseName(name);
89-
this.qualName = name;
9090
setAttribute(__DOC__, PNone.NONE);
9191

9292
if (instanceShape != null) {

0 commit comments

Comments
 (0)