|  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;  |