line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
#include |
2
|
|
|
|
|
|
|
|
3
|
|
|
|
|
|
|
namespace xs { |
4
|
|
|
|
|
|
|
|
5
|
125
|
|
|
|
|
|
void Io::_validate () { |
6
|
125
|
50
|
|
|
|
|
if (!sv) return; |
7
|
125
|
100
|
|
|
|
|
if (SvTYPE(sv) == SVt_PVIO) return; |
8
|
114
|
100
|
|
|
|
|
if (SvTYPE(sv) == SVt_PVGV && GvIOp(sv)) { |
|
|
100
|
|
|
|
|
|
9
|
9
|
|
|
|
|
|
Sv::operator=(GvIOp(sv)); |
10
|
79
|
|
|
|
|
|
return; |
11
|
|
|
|
|
|
|
} |
12
|
|
|
|
|
|
|
|
13
|
105
|
100
|
|
|
|
|
if (SvROK(sv)) { |
14
|
60
|
|
|
|
|
|
SV* val = SvRV(sv); |
15
|
60
|
100
|
|
|
|
|
if (SvTYPE(val) == SVt_PVIO) { |
16
|
47
|
50
|
|
|
|
|
Sv::operator=(val); |
17
|
55
|
|
|
|
|
|
return; |
18
|
|
|
|
|
|
|
} |
19
|
13
|
100
|
|
|
|
|
if (SvTYPE(val) == SVt_PVGV && GvIOp(val)) { |
|
|
50
|
|
|
|
|
|
20
|
8
|
50
|
|
|
|
|
Sv::operator=(GvIOp(val)); |
21
|
13
|
|
|
|
|
|
return; |
22
|
|
|
|
|
|
|
} |
23
|
|
|
|
|
|
|
} |
24
|
|
|
|
|
|
|
|
25
|
50
|
100
|
|
|
|
|
if (is_undef()) return reset(); |
26
|
46
|
|
|
|
|
|
reset(); |
27
|
46
|
50
|
|
|
|
|
throw std::invalid_argument("SV is neither IO or IO reference, nor Glob or Glob reference with IO slot set"); |
28
|
|
|
|
|
|
|
} |
29
|
|
|
|
|
|
|
|
30
|
|
|
|
|
|
|
} |