line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
#include |
2
|
|
|
|
|
|
|
#include |
3
|
|
|
|
|
|
|
#include |
4
|
|
|
|
|
|
|
|
5
|
|
|
|
|
|
|
namespace xs { |
6
|
|
|
|
|
|
|
|
7
|
10
|
|
|
|
|
|
KeyProxy KeyProxy::_geti (size_t key) { |
8
|
10
|
100
|
|
|
|
|
if (SvROK(sv)) { |
9
|
16
|
50
|
|
|
|
|
Array a(SvRV(sv)); |
10
|
16
|
50
|
|
|
|
|
if (a) return a[key]; |
|
|
50
|
|
|
|
|
|
|
|
50
|
|
|
|
|
|
11
|
|
|
|
|
|
|
} |
12
|
2
|
50
|
|
|
|
|
throw std::invalid_argument("element is not an array reference"); |
13
|
|
|
|
|
|
|
} |
14
|
|
|
|
|
|
|
|
15
|
10
|
|
|
|
|
|
KeyProxy KeyProxy::operator[] (const panda::string_view& key) { |
16
|
10
|
100
|
|
|
|
|
if (SvROK(sv)) { |
17
|
16
|
50
|
|
|
|
|
Hash h(SvRV(sv)); |
18
|
16
|
50
|
|
|
|
|
if (h) return h[key]; |
|
|
50
|
|
|
|
|
|
|
|
50
|
|
|
|
|
|
19
|
|
|
|
|
|
|
} |
20
|
2
|
50
|
|
|
|
|
throw std::invalid_argument("element is not a hash reference"); |
21
|
|
|
|
|
|
|
} |
22
|
|
|
|
|
|
|
|
23
|
|
|
|
|
|
|
} |