eliminate a call to 'K_previous_code' for improved speed
authorSteve Hancock <perltidy@users.sourceforge.net>
Mon, 23 Aug 2021 14:07:25 +0000 (07:07 -0700)
committerSteve Hancock <perltidy@users.sourceforge.net>
Mon, 23 Aug 2021 14:07:25 +0000 (07:07 -0700)
lib/Perl/Tidy/Formatter.pm

index d13ec39884a0ea9633a068783811a9219cbb422e..1d5ffe3cae5c6e6b8239850f4f7127451692c479 100644 (file)
@@ -20153,11 +20153,20 @@ sub get_seqno {
 
         my $rLL                  = $self->[_rLL_];
         my $rblock_type_of_seqno = $self->[_rblock_type_of_seqno_];
-        my $K0                   = $K_to_go[0];
-        my $Kprev                = $self->K_previous_code($K0);
+
         my $is_short_block;
-        if ( defined($Kprev) ) {
-            my $seqno = $rLL->[$Kprev]->[_TYPE_SEQUENCE_];
+        if ( $K_to_go[0] > 0 ) {
+            my $Kp = $K_to_go[0] - 1;
+            if ( $Kp > 0 && $rLL->[$Kp]->[_TYPE_] eq 'b' ) {
+                $Kp -= 1;
+            }
+            if ( $Kp > 0 && $rLL->[$Kp]->[_TYPE_] eq '#' ) {
+                $Kp -= 1;
+                if ( $Kp > 0 && $rLL->[$Kp]->[_TYPE_] eq 'b' ) {
+                    $Kp -= 1;
+                }
+            }
+            my $seqno = $rLL->[$Kp]->[_TYPE_SEQUENCE_];
             if ($seqno) {
                 my $block_type = $rblock_type_of_seqno->{$seqno};
                 if ($block_type) {