## 2024 02 02.02
+ - In the option --dump-block-summary, the number of sub arguments indicated
+ for each sub now includes any leading object variable passed with
+ an arrow-operator call. Previously the count would have been decreased
+ by one in this case. This change is needed for compatibility with future
+ updates.
+
- The operator ``**=`` now has spaces on both sides by default. Previously,
there was no space on the left. This change makes its spacing the same
as all other assignment operators. The previous behavior can be obtained
For subroutines, the number of call arguments (args) is listed in parentheses
in the C<type> column. For example, C<sub(9)> indicates a sub with 9 args.
Subroutines whose arg count cannot easily be determined are indicated
-as C<sub(*)>. The count does not include a leading variable named
-B<$self> or B<$class>.
+as C<sub(*)>. The count includes any leading object passed in a method
+call (such as B<$self>).
By default the table lists subroutines with more than 20 C<code_lines>, but
this can be changed with the following two parameters:
my $rarg = { seqno => $seqno };
$self->count_sub_args($rarg);
my $count = $rarg->{shift_count};
- my $self_name = $rarg->{self_name};
- if ( $count
- && $self_name
- && ( $self_name eq '$self' || $self_name eq '$class' ) )
- {
- $count -= 1;
- }
if ( !defined($count) ) { $count = '*' }
$type .= '(' . $count . ')';
my $rarg = { seqno => $seqno };
$self->count_sub_args($rarg);
my $count = $rarg->{shift_count};
- my $self_name = $rarg->{self_name};
- if ( $count
- && $self_name
- && ( $self_name eq '$self' || $self_name eq '$class' ) )
- {
- $count -= 1;
- }
if ( !defined($count) ) { $count = '*' }
$type .= '(' . $count . ')';