Lines Matching refs:self
118 my $self = shift;
154 $self->{contents} = [ @tmp_contents ];
155 $self->{name2num} = { %tmp_name2num };
156 $self->{maxassigned} = $max_assigned;
157 $self->{maxnum} = $max_num;
158 $self->{filename} = $filename;
163 $self->{loaded_contents}->[$i] =
168 $self->{loaded_maxnum} = $max_num;
179 my $self = shift;
182 foreach ($self->items(sort => by_number())) {
188 $self->{maxassigned} = $max_assigned;
205 my $self = shift;
208 $self->write($self->{filename}, %opts);
225 my $self = shift;
232 $self->validate();
235 foreach ($self->items(%opts, sort => by_number())) {
239 $self->{filename} = $filename;
240 $self->{loaded_maxnum} = $self->{maxnum};
268 my $self = shift;
279 @l = $index ? @{$self->{contents}->[$index] // []} : ();
281 my $index = $self->{name2num}->{$filter->[1]};
282 @l = $index ? @{$self->{contents}->[$index] // []} : ();
289 @{$self->{contents}};
309 my $self = shift;
381 $self->{contents}->[$items[0]->intnum()] = [ @items ];
385 my $self = shift;
407 my $self = shift;
425 my $self = shift;
427 my $baseversion = $self->{baseversion};
450 my $self = shift;
466 my @items = $self->items(filter => f_name($name));
467 my $version = @items ? $items[0]->version() : $self->{currversion};
468 my $intnum = @items ? $items[0]->intnum() : ++$self->{maxnum};
472 if $self->{debug};
482 $self->_adjust_version($version),
491 if $self->{debug};
492 $self->_putback(@items);
495 my $alias = $self->{aliases}->{$name};
496 delete $self->{aliases}->{$name};
500 push @returns, $self->add_alias($source, $alias->{name}, $name, @{$alias->{defs}})
518 my $self = shift;
538 my @items = $self->items(filter => $f_byalias);
539 foreach my $item ($self->items(filter => $f_byname)) {
549 $self->{aliases}->{$name} = { source => $source,
554 if $self->{debug};
575 version => $self->_adjust_version($items[0]->version()),
584 if $self->{debug};
585 $self->_putback(@items);
621 my $self = shift;
647 $self->{currversion} = $version;
648 $self->{baseversion} = $baseversion;
649 foreach ($self->items(filter => sub { $_[0] eq '*' })) {
650 $_->{version} = $self->{currversion};
664 my $self = shift;
666 foreach (@{$self->{contents}}) {
671 $self->{stats} = {};
683 my $self = shift;
685 $self->{stats} = {};
686 for my $i (1..$self->{maxnum}) {
687 if ($i > $self->{loaded_maxnum}
688 || (!@{$self->{loaded_contents}->[$i] // []}
689 && @{$self->{contents}->[$i] // []})) {
690 $self->{stats}->{new}++;
692 if ($i <= $self->{maxassigned}) {
693 $self->{stats}->{assigned}++;
695 $self->{stats}->{unassigned}++;
697 next if ($i > $self->{loaded_maxnum});
700 map { $_->to_string() } @{$self->{loaded_contents}->[$i] // []};
702 map { $_->to_string() } @{$self->{contents}->[$i] // []};
708 $self->{stats}->{modified}++;
720 my $self = shift;
722 return %{$self->{stats}};
771 (C<letter> and C<digit> are assumed self evident)
895 my $self = shift;
900 croak "$funcname invalid" unless exists $self->{$item};
901 return $self->{$item} if ref($self->{$item}) eq '';
902 return @{$self->{$item}} if ref($self->{$item}) eq 'ARRAY';
903 return %{$self->{$item}} if ref($self->{$item}) eq 'HASH';
917 my $self = shift;
922 $self->{$item} = "$value" if defined $value;
923 return $self->{$item};
927 my $self = shift;
932 $self->{$item} = "$value" if defined $value;
933 return $self->{$item};
943 my $self = shift;
946 my %platforms = $self->platforms();
947 my @features = $self->features();
948 my $version = $self->version();
951 $self->name(),
952 $self->number(),
954 $self->exists() ? 'EXIST' : 'NOEXIST',
957 $self->type(),