@@ -103,11 +103,23 @@ end
103
103
@test @interpret (10.0 ^ 4 ) == 10.0 ^ 4
104
104
# issue #6
105
105
@test @interpret (Array. body. body. name) === Array. body. body. name
106
- @test @interpret (Vararg. body. body. name) === Vararg. body. body. name
106
+ if Vararg isa UnionAll
107
+ @test @interpret (Vararg. body. body. name) === Vararg. body. body. name
108
+ else
109
+ @test @interpret (Vararg{Int}. T) === Vararg{Int}. T
110
+ @test @interpret (Vararg{Any,3 }. N) === Vararg{Any,3 }. N
111
+ end
107
112
@test ! JuliaInterpreter. is_vararg_type (Union{})
108
- frame = Frame (Main, :(Vararg. body. body. name))
109
- @test JuliaInterpreter. finish_and_return! (frame, true ) === Vararg. body. body. name
110
- frame = Frame (Base, :(Union{AbstractChar,Tuple{Vararg{<: AbstractChar }},AbstractVector{<: AbstractChar },Set{<: AbstractChar }}))
113
+ if Vararg isa UnionAll
114
+ frame = Frame (Main, :(Vararg. body. body. name))
115
+ @test JuliaInterpreter. finish_and_return! (frame, true ) === Vararg. body. body. name
116
+ else
117
+ frame = Frame (Main, :(Vararg{Int}. T))
118
+ @test JuliaInterpreter. finish_and_return! (frame, true ) === Vararg{Int}. T
119
+ frame = Frame (Main, :(Vararg{Any,3 }. N))
120
+ @test JuliaInterpreter. finish_and_return! (frame, true ) === Vararg{Any,3 }. N
121
+ end
122
+ frame = Frame (Base, :(Union{AbstractChar,Tuple{Vararg{AbstractChar}},AbstractVector{<: AbstractChar },Set{<: AbstractChar }}))
111
123
@test JuliaInterpreter. finish_and_return! (frame, true ) isa Union
112
124
113
125
# issue #8
@@ -475,7 +487,7 @@ g_3(x) = error("foo")
475
487
line_g = @__LINE__
476
488
try
477
489
break_on (:error )
478
- frame, bp = @interpret g_1 (2.0 )
490
+ local frame, bp = @interpret g_1 (2.0 )
479
491
stacktrace_lines = split (sprint (Base. display_error, bp. err, leaf (frame)), ' \n ' )
480
492
@test occursin (string (" ERROR: " , sprint (showerror, ErrorException (" foo" ))), stacktrace_lines[1 ])
481
493
if isdefined (Base, :print_stackframe )
503
515
g_1 (2.0 )
504
516
end ))
505
517
line2_g = @__LINE__
506
- frame = Frame (exs[1 ]. .. )
518
+ local frame = Frame (exs[1 ]. .. )
507
519
frame, bp = JuliaInterpreter. debug_command (frame, :c , true )
508
520
stacktrace_lines = split (sprint (Base. display_error, bp. err, leaf (frame)), ' \n ' )
509
521
@test occursin (string (" ERROR: " , sprint (showerror, ErrorException (" foo" ))), stacktrace_lines[1 ])
0 commit comments