Skip to content

Commit e5a9d7e

Browse files
committed
Don't error on undefined names
1 parent 354df18 commit e5a9d7e

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

src/signatures.jl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,11 @@ function rename_framemethods!(@nospecialize(recurse), frame::Frame, methodinfos,
245245
replacements = Dict{Symbol,Symbol}()
246246
for (callee, caller) in calledby
247247
(!startswith(String(callee), '#') || haskey(replacements, callee)) && continue
248-
set_to_running_name!(recurse, replacements, frame, methodinfos, calledby, callee, caller)
248+
try
249+
set_to_running_name!(recurse, replacements, frame, methodinfos, calledby, callee, caller)
250+
catch err
251+
@warn "skipping callee $callee (called by $caller) due to $err"
252+
end
249253
end
250254
for (linetop, linebody, callee, caller) in selfcalls
251255
cname = get(replacements, callee, nothing)

test/signatures.jl

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,4 +348,22 @@ bodymethtest5(x, y=Dict(1=>2)) = 5
348348
rename_framemethods!(frame)
349349
pc = methoddefs!(signatures, frame; define=false)
350350
@test typeof(Lowering422.fneg) Set(Base.unwrap_unionall(sig).parameters[1] for sig in signatures)
351+
352+
# Undefined names
353+
# This comes from FileWatching; WindowsRawSocket is only defined on Windows
354+
ex = quote
355+
if Sys.iswindows()
356+
using Base: WindowsRawSocket
357+
function wait(socket::WindowsRawSocket; readable=false, writable=false)
358+
fdw = _FDWatcher(socket, readable, writable)
359+
try
360+
return wait(fdw, readable=readable, writable=writable)
361+
finally
362+
close(fdw, readable, writable)
363+
end
364+
end
365+
end
366+
end
367+
frame = JuliaInterpreter.prepare_thunk(Lowering, ex)
368+
rename_framemethods!(frame)
351369
end

0 commit comments

Comments
 (0)