-
Notifications
You must be signed in to change notification settings - Fork 35
more thorough testing of commands #157
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
d25eb6c
to
d4b06cd
Compare
Once this merges, OK to tag a new version? What should we call it? v0.2.0? There are definitely some breaking behavior changes (e.g., stepping through wrappers) as well as the lovely new LoweredCodeUtils was registered this morning. Because of that, theoretically the Revise/Rebugger stack could release at any time. Obviously we are still fixing up the rules for debug-stepping, so I'm in no hurry. You should make the call regarding when to |
Was going to suggest the same thing. I think a tag is very much in order. |
Seems we are not out of the woods yet with |
Hmm, I think testing "sg" this way doesn't really make sense. If I understand @Keno's original intention wrt sg, this lets you debug the generator, meaning the method that creates the expressions returned by the But the following also seems wrong to me: julia> @generated function f(x)
:(return x)
end
f (generic function with 1 method)
julia> callf() = f("Hello")
callf (generic function with 1 method)
julia> using JuliaInterpreter
julia> fr = JuliaInterpreter.enter_call(callf)
Frame for callf() in Main at REPL[2]:1
1 1 1 ─ %1 = (f)("Hello")
2 1 └── return %1
julia> fr, pc = debug_command(fr, "s")
(Frame for f(x) in Main at REPL[1]:2
1 2 1 ─ return x
x = "Hello"
caller: callf() in Main at REPL[2]:1, breakpoint(f(x) in Main at REPL[1]:2, %0))
julia> JuliaInterpreter.locals(fr)
2-element Array{JuliaInterpreter.Variable,1}:
#self# = f
x = "Hello"
julia> fr = JuliaInterpreter.enter_call(callf)
Frame for callf() in Main at REPL[2]:1
1 1 1 ─ %1 = (f)("Hello")
2 1 └── return %1
julia> fr, pc = debug_command(fr, "sg")
(Frame for f(x) in Main at REPL[1]:2
1 2 CodeInfo(quote
x = "Hello"
caller: callf() in Main at REPL[2]:1, breakpoint(f(x) in Main at REPL[1]:2, %0))
julia> JuliaInterpreter.locals(fr)
2-element Array{JuliaInterpreter.Variable,1}:
#self# = f
x = "Hello" Shouldn't julia> fr.framecode.src
CodeInfo(quote
return x
end) |
I'd say drop |
Yeah, I also had some hunch that |
Stepping with "sg" currently errors with