
The opcode itself is exactly the same as `LOAD_DEREF` 1) The problem is when the class is a closure (e.g. defined inside a function body) then there is a `BUILD_TUPLE` after the `LOAD_BUILD_CLASS` which makes problems. 2) There is another problem which makes the `code->name()` of the class to be part of the function locals. (e.g. `func.<locals>.my_class` instead of `my_class`) which makes the check `srcString->isEqual(code->name().cast<PycObject>())` be invalid.
7 lines
86 B
Plaintext
7 lines
86 B
Plaintext
def func ( ) : <EOL>
|
|
<INDENT>
|
|
x = 1 <EOL>
|
|
class my_class : <EOL>
|
|
<INDENT>
|
|
y = x <EOL>
|