67
67
import com .oracle .graal .python .nodes .function .PythonBuiltinBaseNode ;
68
68
import com .oracle .graal .python .nodes .function .builtins .PythonTernaryBuiltinNode ;
69
69
import com .oracle .graal .python .nodes .function .builtins .PythonUnaryBuiltinNode ;
70
- import com .oracle .graal .python .nodes .object .GetClassNode ;
70
+ import com .oracle .graal .python .nodes .object .GetLazyClassNode ;
71
71
import com .oracle .graal .python .nodes .object .IsBuiltinClassProfile ;
72
72
import com .oracle .truffle .api .CompilerDirectives ;
73
73
import com .oracle .truffle .api .CompilerDirectives .TruffleBoundary ;
@@ -101,7 +101,7 @@ abstract static class GetSetNode extends PythonTernaryBuiltinNode {
101
101
@ Child private GetMroNode getMroNode ;
102
102
@ Child private GetNameNode getNameNode ;
103
103
@ Child private IsSameTypeNode isSameTypeNode ;
104
- @ Child private GetClassNode getClassNode ;
104
+ @ Child private GetLazyClassNode getLazyClassNode ;
105
105
106
106
private final IsBuiltinClassProfile isBuiltinPythonClassObject = IsBuiltinClassProfile .create ();
107
107
private final ConditionProfile isBuiltinProfile = ConditionProfile .createBinaryProfile ();
@@ -116,7 +116,7 @@ protected boolean descr_check(LazyPythonClass descrType, String name, Object obj
116
116
return true ;
117
117
}
118
118
}
119
- PythonAbstractClass type = getClass (obj );
119
+ LazyPythonClass type = getLazyClass (obj );
120
120
if (isBuiltinProfile .profile (descrType instanceof PythonBuiltinClassType )) {
121
121
PythonBuiltinClassType builtinClassType = (PythonBuiltinClassType ) descrType ;
122
122
for (PythonAbstractClass o : getMro (type )) {
@@ -135,12 +135,12 @@ protected boolean descr_check(LazyPythonClass descrType, String name, Object obj
135
135
throw raise (TypeError , "descriptor '%s' for '%s' objects doesn't apply to '%s' object" , name , getTypeName (descrType ), getTypeName (type ));
136
136
}
137
137
138
- private PythonAbstractClass getClass (Object obj ) {
139
- if (getClassNode == null ) {
138
+ private LazyPythonClass getLazyClass (Object obj ) {
139
+ if (getLazyClassNode == null ) {
140
140
CompilerDirectives .transferToInterpreterAndInvalidate ();
141
- getClassNode = insert (GetClassNode .create ());
141
+ getLazyClassNode = insert (GetLazyClassNode .create ());
142
142
}
143
- return getClassNode .execute (obj );
143
+ return getLazyClassNode .execute (obj );
144
144
}
145
145
146
146
private PythonAbstractClass [] getMro (LazyPythonClass clazz ) {
0 commit comments