|
88 | 88 |
|
89 | 89 | get_source(meth::Method) = Base.uncompressed_ast(meth) |
90 | 90 |
|
91 | | -function get_source(g::GeneratedFunctionStub, env, file, line::Int) |
92 | | - b = g(Base.get_world_counter(), LineNumberNode(line, file), env..., g.argnames...) |
93 | | - b isa CodeInfo && return b |
94 | | - return eval(b) |
| 91 | +@static if VERSION < v"1.12.0-DEV.1968" # julia #57230 |
| 92 | + function get_source(g::GeneratedFunctionStub, env, file, line::Int) |
| 93 | + b = g(Base.get_world_counter(), LineNumberNode(line, file), env..., g.argnames...) |
| 94 | + b isa CodeInfo && return b |
| 95 | + return eval(b) |
| 96 | + end |
| 97 | +else |
| 98 | + function get_source(g::GeneratedFunctionStub, source::Method, env) |
| 99 | + b = g(Base.get_world_counter(), source, env..., g.argnames...) |
| 100 | + b isa CodeInfo && return b |
| 101 | + return eval(b) |
| 102 | + end |
95 | 103 | end |
96 | 104 |
|
97 | 105 | """ |
@@ -151,7 +159,11 @@ function prepare_framecode(method::Method, @nospecialize(argtypes); enter_genera |
151 | 159 | generator = false |
152 | 160 | else |
153 | 161 | if is_generated(method) |
154 | | - code = get_source(method.generator, lenv, method.file, Int(method.line)) |
| 162 | + code = @static if VERSION < v"1.12.0-DEV.1968" # julia #57230 |
| 163 | + get_source(method.generator, lenv, method.file, Int(method.line)) |
| 164 | + else |
| 165 | + get_source(method.generator, method, lenv) |
| 166 | + end |
155 | 167 | generator = true |
156 | 168 | else |
157 | 169 | code = get_source(method) |
|
0 commit comments