This file is indexed.

/usr/share/perl5/graphincludes/graph/grouped.pm is in libdeps-perl 0.13-1.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
# This file is part of the DEPS/graph-includes package
#
# (c) 2006 Yann Dirson <ydirson@altern.org>
# Distributed under version 2 of the GNU GPL.

package graphincludes::graph::grouped;
use strict;
use warnings;

use base qw(graphincludes::graph);
use Set::Object qw();
use Hash::Util qw(lock_keys unlock_keys);
use Carp qw(croak);

sub new {
  my $class = shift;
  my $self = $class->SUPER::new(@_);

  unlock_keys (%$self);
  $self->{_REVGROUP} = undef;

  bless ($self, $class);
  lock_keys (%$self);
  return $self;
}

sub register_group_member {
  my $self = shift;
  my ($group, $member) = @_;

  if (defined $self->{_REVGROUP}{$member}) {
    # already registered: sanity check
    croak "Node '$member->{LABEL}' already member of group '$self->{_REVGROUP}{$member}{LABEL}'"
      if $self->{_REVGROUP}{$member} ne $group;
  } else {
    # do register
    $self->{_REVGROUP}{$member} = $group;
  }
}

sub who_contains {
  my $self = shift;
  my ($member) = @_;

  $self->{_REVGROUP}{$member};
}

sub register_intragroup_edge {
  my $self = shift;
  my ($group, $edge) = @_;

  $group->{intraedges} = new Set::Object
    unless defined $group->{intraedges};

  $group->{intraedges}->insert($edge);
}

1;