diff --git a/base/reflection.jl b/base/reflection.jl index 6dcf5c2c58189..2f368d5529468 100644 --- a/base/reflection.jl +++ b/base/reflection.jl @@ -967,10 +967,10 @@ function may_invoke_generator(method::Method, @nospecialize(atypes), sparams::Si # For now, only handle the (common, generated by the frontend case) that the # generator only has one method isa(method.generator, Core.GeneratedFunctionStub) || return false - generator_mt = typeof(method.generator.gen).name.mt - length(generator_mt) == 1 || return false + gen_mthds = methods(method.generator.gen) + length(gen_mthds) == 1 || return false - generator_method = first(MethodList(generator_mt)) + generator_method = first(gen_mthds) nsparams = length(sparams) isdefined(generator_method, :source) || return false code = generator_method.source