@@ -2287,11 +2287,13 @@ private static void addDictDescrAttribute(PythonAbstractClass[] basesArray, Pyth
2287
2287
2288
2288
@ TruffleBoundary
2289
2289
private static void addWeakrefDescrAttribute (PythonClass pythonClass , PythonObjectFactory factory ) {
2290
- Builtin builtin = GetWeakRefsNode .class .getAnnotation (Builtin .class );
2291
- RootCallTarget callTarget = PythonLanguage .get (null ).createCachedCallTarget (
2292
- l -> new BuiltinFunctionRootNode (l , builtin , WeakRefModuleBuiltinsFactory .GetWeakRefsNodeFactory .getInstance (), true ), GetWeakRefsNode .class ,
2293
- WeakRefModuleBuiltinsFactory .class );
2294
- setAttribute (T___WEAKREF__ , builtin , callTarget , pythonClass , factory );
2290
+ if (LookupAttributeInMRONode .lookupSlowPath (pythonClass , T___WEAKREF__ ) == PNone .NO_VALUE ) {
2291
+ Builtin builtin = GetWeakRefsNode .class .getAnnotation (Builtin .class );
2292
+ RootCallTarget callTarget = PythonLanguage .get (null ).createCachedCallTarget (
2293
+ l -> new BuiltinFunctionRootNode (l , builtin , WeakRefModuleBuiltinsFactory .GetWeakRefsNodeFactory .getInstance (), true ), GetWeakRefsNode .class ,
2294
+ WeakRefModuleBuiltinsFactory .class );
2295
+ setAttribute (T___WEAKREF__ , builtin , callTarget , pythonClass , factory );
2296
+ }
2295
2297
}
2296
2298
2297
2299
private static void setAttribute (TruffleString name , Builtin builtin , RootCallTarget callTarget , PythonClass pythonClass , PythonObjectFactory factory ) {
0 commit comments