This file is indexed.

/usr/share/perl5/KiokuDB/Thunk.pm is in libkiokudb-perl 0.57-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
package KiokuDB::Thunk;
BEGIN {
  $KiokuDB::Thunk::AUTHORITY = 'cpan:NUFFIN';
}
$KiokuDB::Thunk::VERSION = '0.57';
use Moose;
# ABSTRACT: Internal only placeholder for deferred objects

use namespace::clean -except => 'meta';

has collapsed => (
    isa => "Ref",
    is  => "ro",
    required => 1,
);

has linker => (
    isa => "KiokuDB::Linker",
    is  => "ro",
);

has attr => (
    isa => "Class::MOP::Attribute",
    is  => "ro",
);

has value => (
    isa => "Ref",
    is  => "ro",
    lazy_build => 1,
);

sub _build_value {
    my $self = shift;

    return $self->linker->expand_object($self->collapsed);
}

sub vivify {
    my ( $self, $instance ) = @_;

    my $value = $self->value;

    my $attr = $self->attr;

    $attr->set_raw_value($instance, $value);

    $attr->_weaken_value($instance)
        if ref $value and $attr->is_weak_ref;

    return $value;
}

__PACKAGE__->meta->make_immutable;

__PACKAGE__

__END__

=pod

=encoding UTF-8

=head1 NAME

KiokuDB::Thunk - Internal only placeholder for deferred objects

=head1 VERSION

version 0.57

=head1 SYNOPSIS

    # do not use directly,
    # KiokuDB::Meta::Attribute::Lazy, KiokuDB::Meta::Instance and
    # KiokuDB::TypeMap::Entry::MOP will do the actual thunking of data so that
    # the thunk will never be visible unless you break encapsulation.

=head1 DESCRIPTION

This is an internal placeholder object. It will be used on attributes that you
mark with L<KiokuDB::Meta::Attribute::Lazy> automatically, and should never be
visible to the user because L<KiokuDB::Meta::Instance> will automatically
inflate it before it's even seen by the accessor's code.

=head1 AUTHOR

Yuval Kogman <nothingmuch@woobling.org>

=head1 COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Yuval Kogman, Infinity Interactive.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.

=cut