File tree Expand file tree Collapse file tree 1 file changed +6
-11
lines changed Expand file tree Collapse file tree 1 file changed +6
-11
lines changed Original file line number Diff line number Diff line change @@ -207,17 +207,12 @@ def n_classdef36(node):
207
207
elif build_class [1 ][0 ] == "load_closure" :
208
208
# Python 3 with closures not functions
209
209
load_closure = build_class [1 ]
210
- if load_closure [- 4 ] == "LOAD_CODE" :
211
- subclass_code = load_closure [- 4 ].attr
212
- elif hasattr (load_closure [- 3 ], "attr" ):
213
- # Python 3.3 classes with closures work like this.
214
- # Note have to test before 3.2 case because
215
- # index -2 also has an attr.
216
- subclass_code = load_closure [- 3 ].attr
217
- elif hasattr (load_closure [- 2 ], "attr" ):
218
- # Python 3.2 works like this
219
- subclass_code = load_closure [- 2 ].attr
220
- else :
210
+ subclass_code = None
211
+ for i in range (- 4 , - 1 ):
212
+ if load_closure [i ] == "LOAD_CODE" :
213
+ subclass_code = load_closure [i ].attr
214
+ break
215
+ if subclass_code is None :
221
216
raise RuntimeError (
222
217
"Internal Error n_classdef: cannot find " "class body"
223
218
)
You can’t perform that action at this time.
0 commit comments