| line |
!l |
l&&!r |
l&&r |
condition |
|
55
|
0 |
0 |
7 |
ref $cas and ref($cas)->can('get') |
|
|
0 |
0 |
7 |
ref $cas and ref($cas)->can('get') and ref($cas)->can('put') |
|
61
|
7 |
0 |
0 |
@_ == 1 && ref $_[0] eq 'HASH' |
|
77
|
0 |
0 |
7 |
defined $self->dir_cache and $self->dir_cache->can('clear') |
|
84
|
0 |
2 |
5 |
ref $root and ref($root)->isa('DataStore::CAS::FS::DirEnt') |
|
100
|
0 |
0 |
7 |
ref $self->root_entry and ref($self->root_entry)->can('type') |
|
|
0 |
0 |
7 |
ref $self->root_entry and ref($self->root_entry)->can('type') and $self->root_entry->type eq 'dir' |
|
|
0 |
0 |
7 |
ref $self->root_entry and ref($self->root_entry)->can('type') and $self->root_entry->type eq 'dir' and defined $self->root_entry->ref |
|
118
|
124 |
0 |
0 |
ref $hash_or_file && $hash_or_file->can('hash') |
|
159
|
3 |
0 |
0 |
@_ == 1 && ref $_[0] eq 'HASH' |
|
213
|
757 |
0 |
4 |
$ent->type eq 'symlink' and $$flags{'follow_symlinks'} |
|
216
|
0 |
0 |
4 |
defined $target and length $target |
|
238
|
0 |
113 |
644 |
defined $name and length $name |
|
|
113 |
6 |
638 |
defined $name and length $name and $name ne '.' |
|
257
|
425 |
204 |
0 |
not defined $subnode and defined $$nodes[-1]{'dir'} || defined $ent->ref |
|
322
|
2 |
5 |
45 |
not defined $$node{'dir'} and defined $ent->ref |
|
337
|
1 |
7 |
0 |
ref $subnode and $$subnode{'invalid'} |
|
377
|
0 |
0 |
3 |
defined $ent_hash{'name'} and length $ent_hash{'name'} |
|
393
|
0 |
10 |
0 |
++$$_{'invalid'} and &_invalidate_subtree |
|
406
|
1 |
0 |
1 |
defined $$entref->type && $$entref->type eq 'dir' |
|
417
|
1 |
1 |
0 |
($old_dir_ref || '') ne ($new_dir_ref || '') and $$nodes[-1]{'subtree'} |
|
436
|
21 |
0 |
4 |
$$_{'changed'} and not $$_{'invalid'} |
|
476
|
0 |
0 |
0 |
$$self{'_nodes'} and $$self{'_nodes'}{'changed'} |
|
486
|
0 |
0 |
2 |
$self->_nodes and $self->_nodes->{'changed'} |
|
507
|
1 |
10 |
0 |
defined $v and $v eq 0 || $$v{'changed'} |
|
513
|
9 |
0 |
1 |
not %changes and defined $$node{'dirent'}->ref |
|
532
|
2 |
0 |
8 |
$$_{'subtree'} and $$_{'dirent'}->type eq 'dir' |
|
|
2 |
0 |
8 |
$$_{'subtree'} and $$_{'dirent'}->type eq 'dir' and $$_{'changed'} |
|
594
|
101 |
2 |
111 |
$nodes and ref $$nodes[-1] |
|
|
103 |
0 |
111 |
$nodes and ref $$nodes[-1] and not $$nodes[-1]{'invalid'} |
|
677
|
1 |
0 |
0 |
@_ == 1 && ref $_[0] eq 'HASH' |
|
691
|
3 |
0 |
0 |
@_ == 1 && ref $_[0] eq 'HASH' |
|
702
|
97 |
0 |
4 |
@_ and ref $_[0] eq $class |
| line |
l |
!l&&r |
!l&&!r |
condition |
|
127
|
0 |
48 |
0 |
$file ||= $self->store->get($hash) |
|
233
|
0 |
0 |
0 |
$mkdir_defaults ||= _build_mkdir_defaults($flags) |
|
257
|
125 |
71 |
8 |
defined $$nodes[-1]{'dir'} || defined $ent->ref |
|
259
|
125 |
71 |
0 |
$$nodes[-1]{'dir'} ||= $self->get_dir($ent->ref) |
|
274
|
8 |
4 |
3 |
$$flags{'mkdir'} or $$flags{'partial'} |
|
275
|
3 |
3 |
0 |
$mkdir_defaults ||= _build_mkdir_defaults($flags) |
|
373
|
3 |
0 |
0 |
ref $newent eq 'HASH' or not defined $newent->name |
|
|
3 |
0 |
0 |
ref $newent eq 'HASH' or not defined $newent->name or not defined $newent->type |
|
507
|
0 |
10 |
0 |
$v eq 0 || $$v{'changed'} |
|
517
|
4 |
0 |
5 |
defined $$node{'dir'} or defined $$node{'dirent'}->ref |
|
518
|
4 |
0 |
0 |
$$node{'dir'} ||= $self->get_dir($$node{'dirent'}->ref) |
|
574
|
0 |
0 |
0 |
$$self{'canonical_path'} ||= do {
my $name = $self->path_names;
my $path = '/' . join('/', grep({$_ ne '.' if length $_;} @$name));
$path .= '/' if $$name[-1] eq '' or $$name[-1] eq '.';
$path =~ s[//+][/]g;
$path
} |
|
577
|
0 |
0 |
0 |
$$name[-1] eq '' or $$name[-1] eq '.' |
|
601
|
2 |
0 |
2 |
not ref $_ or $$_{'invalid'} |
|
647
|
0 |
2 |
0 |
$_[0]{'file'} ||= do {
my $ent = $_[0]->dirent;
Carp::croak('Path is not a file') unless $ent->type eq 'file';
Carp::croak('File was not stored in CAS') unless defined(my $hash = $ent->ref);
$_[0]->filesystem->get($hash)
} |
|
661
|
0 |
0 |
0 |
$_[0]{'dir'} ||= do {
my $ent = $_[0]->dirent;
Carp::croak('Path is not a directory') unless $ent->type eq 'dir';
Carp::croak('Directory was not stored in CAS') unless defined(my $hash = $ent->ref);
$_[0]->filesystem->get_dir($hash)
} |
|
693
|
6 |
0 |
0 |
defined $$self{$_} or croak("'${_}' is required") |