Debugger.@enter shows lowered code when types are provided

I’m using Debugger module to debug functions, which I type in REPL. Now, if I do not specify types of parameters and return value I can see source code with @enter as I expect. But if I specify types of parameters and return value I see, so called, “lowered code”. Something like:

julia> @enter leftrepeating("abba")
In leftrepeating(s) at REPL[1]:1
 1  1 ─ %1  = Int64
>2  │   %2  = (Set)()
 3  │         cid = 0
 4  │         marked = %2
 5  │   %5  = (lastindex)(s)
 6  │   %6  = (firstindex)(s)

Is this expected? Can I switch to source code instead of lowered code?

Thank you very much in advance,

Obviously I couldn’t try with your specific function, but for me it shows the source. If you can come up with a MWE you might consider reporting it as a bug to Debugger or more likely JuliaInterpreter. Please include your Julia version and versions of JuliaInterpreter, Debugger, and whether you’ve loaded Revise (if so, which version).

Just to show you what I see:

julia> function f(x)
           a = x+2
           b = 2a + x
           return a*b
       end
f (generic function with 1 method)

julia> using Debugger

julia> @enter f(3)
In f(x) at REPL[1]:1
 1  function f(x)
>2      a = x+2
 3      b = 2a + x
 4      return a*b
 5  end

About to run: (+)(3, 2)
1|debug> q

on Julia 1.6 and

(@v1.6) pkg> st JuliaInterpreter Debugger Revise
Status `~/.julia/environments/v1.6/Project.toml`
  [31a5f54b] Debugger v0.6.6
  [aa1ae85d] JuliaInterpreter v0.8.4
  [295af30f] Revise v3.1.9
1 Like