line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Heap::Simple::Object; |
2
|
|
|
|
|
|
|
require Heap::Simple::Wrapper; |
3
|
|
|
|
|
|
|
require Heap::Simple::Method; |
4
|
|
|
|
|
|
|
@ISA = qw(Heap::Simple::Wrapper Heap::Simple::Method); |
5
|
|
|
|
|
|
|
$VERSION = "0.03"; |
6
|
1
|
|
|
1
|
|
6
|
use strict; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
261
|
|
7
|
|
|
|
|
|
|
|
8
|
|
|
|
|
|
|
sub _REAL_KEY { |
9
|
215
|
|
|
215
|
|
433
|
my $heap = shift; |
10
|
215
|
100
|
|
|
|
1697
|
return defined $heap->[0]{index} ? |
11
|
|
|
|
|
|
|
$heap->Heap::Simple::Method::_KEY(@_) : |
12
|
|
|
|
|
|
|
qq(Carp::croak("Element type 'Object' without key method")); |
13
|
|
|
|
|
|
|
} |
14
|
|
|
|
|
|
|
|
15
|
|
|
|
|
|
|
sub _REAL_ELEMENTS_PREPARE { |
16
|
130
|
|
|
130
|
|
923
|
return shift->Heap::Simple::Method::_ELEMENTS_PREPARE(@_); |
17
|
|
|
|
|
|
|
} |
18
|
|
|
|
|
|
|
|
19
|
|
|
|
|
|
|
sub key { |
20
|
70
|
|
|
70
|
0
|
17842
|
my $heap = shift; |
21
|
70
|
100
|
|
|
|
401
|
if ($heap->[0]{complex}) { |
22
|
35
|
|
|
|
|
157
|
$heap->_make('sub key { |
23
|
|
|
|
|
|
|
my $heap = shift; |
24
|
|
|
|
|
|
|
_REAL_ELEMENTS_PREPARE() |
25
|
|
|
|
|
|
|
return _REAL_KEY(shift)}'); |
26
|
|
|
|
|
|
|
} else { |
27
|
35
|
|
|
|
|
153
|
$heap->_make('sub key { |
28
|
|
|
|
|
|
|
return $_[1]->_LITERAL}'); |
29
|
|
|
|
|
|
|
} |
30
|
70
|
|
|
|
|
49862
|
return $heap->key(@_); |
31
|
|
|
|
|
|
|
} |
32
|
|
|
|
|
|
|
|
33
|
|
|
|
|
|
|
sub elements { |
34
|
317
|
100
|
100
|
317
|
0
|
31810
|
return wantarray && exists $_[0][0]{index} ? (Object => shift->[0]{index}) : "Object" ; |
35
|
|
|
|
|
|
|
} |
36
|
|
|
|
|
|
|
|
37
|
|
|
|
|
|
|
1; |