Skip to content

Commit 409874a

Browse files
authored
Widen the signature of code_info (#16)
* widen the signature of `code_info` * add test case
1 parent 67602d1 commit 409874a

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/CodeInfoTools.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,13 @@ Alias for `Core.SSAValue` -- represents a primitive register in lowered code. Se
6363
Base.:(+)(v::Variable, id::Int) = Variable(v.id + id)
6464
Base.:(+)(id::Int, v::Variable) = Variable(v.id + id)
6565

66-
function code_info(f::Function, tt::Type{T}; generated=true, debuginfo=:default) where T <: Tuple
66+
function code_info(f, tt::Type{T}; generated=true, debuginfo=:default) where T <: Tuple
6767
ir = code_lowered(f, tt; generated = generated, debuginfo = :default)
6868
isempty(ir) && return nothing
6969
return ir[1]
7070
end
7171

72-
function code_info(f::Function, t::Type...; generated = true, debuginfo = :default)
72+
function code_info(f, t::Type...; generated = true, debuginfo = :default)
7373
return code_info(f, Tuple{t...}; generated = generated, debuginfo = debuginfo)
7474
end
7575

test/misc.jl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,14 @@ end
2929
get_slot(p, :m)
3030
end
3131

32+
@testset "code_info on constructor -- misc." begin
33+
struct T
34+
i::Int
35+
end
36+
ir = code_info(T, Int)
37+
@test Meta.isexpr(ir.code[1], :new)
38+
end
39+
3240
@testset "code_inferred -- misc." begin
3341
b = CodeInfoTools.Builder(g, Int)
3442
identity(b)

0 commit comments

Comments
 (0)