| line | true | false | branch | 
 
| 39 | 31 | 4 | unless ref $start | 
 
| 41 | 5 | 30 | unless ref $end | 
 
| 45 | 35 | 0 | unless ref $self->{'tz'} | 
 
| 53 | 6 | 32 | ref $file ? : | 
 
| 83 | 6 | 29 | ref $file ? : | 
 
| 90 | 0 | 10 | if $self->{'no_todos'} | 
 
| 101 | 0 | 94 | if $self->{'no_events'} | 
 
| 109 | 4 | 90 | if $start > $self->{'span'}->end | 
 
| 112 | 0 | 90 | if $self->{'debug'} | 
 
| 115 | 34 | 56 | if (_param($event, 'DTSTART', 'VALUE') || '') eq 'DATE' | 
 
| 120 | 60 | 30 | $end ? : | 
 
| 121 | 1 | 1 | $e{'allday'} ? : | 
 
| 123 | 56 | 34 | unless $e{'allday'} | 
 
| 127 | 11 | 79 | if (my $rid = $e{'RECURRENCE-ID'}) | 
 
| 128 | 0 | 11 | if $start < $self->{'span'}->start | 
 
| 132 | 20 | 59 | if (my $recur = delete $e{'RRULE'}) { } | 
 
|  | 47 | 12 | elsif ($end) { } | 
 
| 139 | 9 | 38 | if (not $e{'allday'} and ($end->ymd cmp $start->ymd) > 0) | 
 
| 144 | 5 | 33 | if ($diff->delta_days > 1) | 
 
| 161 | 2 | 68 | if defined $set->count and $set->count == 0 | 
 
| 163 | 4 | 64 | if (my $dates = delete $e{'EXDATE'}) | 
 
| 175 | 68 | 0 | if $self->{'span'} | 
 
| 182 | 84 | 134 | if $new_event->{'VALARM'} | 
 
| 196 | 20 | 1 | ref $a{'TRIGGER'} eq 'DateTime::Duration' ? : | 
 
| 218 | 91 | 51 | unless $event->{'objects'} | 
 
| 221 | 125 | 0 | if $self->can($t) | 
 
| 235 | 7 | 837 | unless $value | 
 
| 239 | 323 | 514 | if $TYPES{'dates'}{$type} or $TYPES{'durations'}{$type} | 
 
| 241 | 21 | 816 | if ($type eq 'TRIGGER') | 
 
| 243 | 20 | 1 | if $value =~ /^[-+]?P/ | 
 
| 246 | 25 | 791 | if ($TYPES{'hash'}{$type}) | 
 
| 251 | 28 | 763 | if $TYPES{'durations'}{$type} | 
 
| 252 | 468 | 295 | unless $TYPES{'dates'}{$type} | 
 
| 255 | 2 | 293 | if $value =~ /^-/ | 
 
| 267 | 294 | 0 | unless $@ | 
 
| 268 | 0 | 0 | if $@ and $type ne 'DTEND' | 
 
| 278 | 834 | 0 | wantarray ? : | 
 
| 291 | 2 | 832 | unless defined $a[0] | 
 
| 292 | 16 | 816 | $TYPES{'arrays'}{$_} ? : | 
 
| 344 | 2 | 0 | if ($d >= $min and $d <= $max) | 
 
| 354 | 19 | 1 | if $_->{'DTSTART'} >= $start |