]> git.donarmstrong.com Git - perltidy.git/commitdiff
removed unused routine
authorSteve Hancock <perltidy@users.sourceforge.net>
Sun, 28 Jun 2020 03:01:46 +0000 (20:01 -0700)
committerSteve Hancock <perltidy@users.sourceforge.net>
Sun, 28 Jun 2020 03:01:46 +0000 (20:01 -0700)
lib/Perl/Tidy/VerticalAligner.pm

index 3a42d408f749b537a6b47c9a8fded0faea1f0f5b..0c5561dd9e3e5d57f5307d17a8985a2d06590429 100644 (file)
@@ -2644,213 +2644,6 @@ sub decode_alignment_token {
     }
 }
 
-sub OLD_delete_unmatched_tokens {
-    my ($rlines) = @_;
-
-    # This is a preliminary step in vertical alignment in which we remove as
-    # many obviously un-needed alignment tokens as possible.  This will prevent
-    # them from interfering with the final alignment.
-
-    return unless @{$rlines} > 1;
-
-    my $has_terminal_match = $rlines->[-1]->get_j_terminal_match();
-
-    # ignore hanging side comments in these operations
-    my @filtered   = grep { !$_->{_is_hanging_side_comment} } @{$rlines};
-    my $rnew_lines = \@filtered;
-    my @i_equals;
-    my @min_levels;
-
-    my $jmax = @{$rnew_lines} - 1;
-    return unless $jmax >= 0;
-
-    my %is_good_tok;
-
-    # create a hash of tokens for each line
-    my $rline_hashes = [];
-    my $saw_list_type;
-    foreach my $line ( @{$rnew_lines} ) {
-        my $rhash   = {};
-        my $rtokens = $line->get_rtokens();
-        if ( !$saw_list_type && $line->get_list_type() ) { $saw_list_type = 1 }
-        my $i = 0;
-        my $i_eq;
-        my $lev_min;
-        foreach my $tok ( @{$rtokens} ) {
-            my ( $raw_tok, $lev, $tag, $tok_count ) =
-              decode_alignment_token($tok);
-            if ( !defined($lev_min) || $lev < $lev_min ) { $lev_min = $lev }
-
-            # Possible future upgrade: for multiple matches,
-            # record [$i1, $i2, ..] instead of $i
-            $rhash->{$tok} =
-              [ $i, undef, undef, $raw_tok, $lev, $tag, $tok_count ];
-
-            # remember the first equals at line level
-            if ( !defined($i_eq) && $raw_tok eq '=' ) {
-                if ( $lev eq $group_level ) { $i_eq = $i }
-            }
-            $i++;
-        }
-        push @{$rline_hashes}, $rhash;
-        push @i_equals,   $i_eq;
-        push @min_levels, $lev_min;
-    }
-
-    # compare each line pair and record matches
-    my $rtok_hash = {};
-    my $nr        = 0;
-    for ( my $jl = 0 ; $jl < $jmax ; $jl++ ) {
-        my $nl = $nr;
-        $nr = 0;
-        my $jr      = $jl + 1;
-        my $rhash_l = $rline_hashes->[$jl];
-        my $rhash_r = $rline_hashes->[$jr];
-        my $count   = 0;                      # UNUSED NOW?
-        my $ntoks   = 0;
-        foreach my $tok ( keys %{$rhash_l} ) {
-            $ntoks++;
-            if ( defined( $rhash_r->{$tok} ) ) {
-                if ( $tok ne '#' ) { $count++; }
-                my $il = $rhash_l->{$tok}->[0];
-                my $ir = $rhash_r->{$tok}->[0];
-                $rhash_l->{$tok}->[2] = $ir;
-                $rhash_r->{$tok}->[1] = $il;
-                if ( $tok ne '#' ) {
-                    push @{ $rtok_hash->{$tok} }, ( $jl, $jr );
-                    $nr++;
-                }
-            }
-        }
-
-        # Set a line break if no matching tokens between these lines
-        if ( $nr == 0 && $nl > 0 ) {
-            $rnew_lines->[$jl]->{_end_group} = 1;
-        }
-    }
-
-    # find subgroups
-    my @subgroups;
-    push @subgroups, [ 0, $jmax ];
-    for ( my $jl = 0 ; $jl < $jmax ; $jl++ ) {
-        if ( $rnew_lines->[$jl]->{_end_group} ) {
-            $subgroups[-1]->[1] = $jl;
-            push @subgroups, [ $jl + 1, $jmax ];
-        }
-    }
-
-    # Loop to process each subgroups
-    foreach my $item (@subgroups) {
-        my ( $jbeg, $jend ) = @{$item};
-
-        # look for complete ternary or if/elsif/else blocks
-        my $nlines = $jend - $jbeg + 1;
-        my %token_line_count;
-        for ( my $jj = $jbeg ; $jj <= $jend ; $jj++ ) {
-            my %seen;
-            my $line    = $rnew_lines->[$jj];
-            my $rtokens = $line->get_rtokens();
-            foreach my $tok ( @{$rtokens} ) {
-                if ( !$seen{$tok} ) {
-                    $seen{$tok}++;
-                    $token_line_count{$tok}++;
-                }
-            }
-        }
-
-        # Look for if/else/elsif and ternary blocks
-        my $is_full_block;
-        foreach my $tok ( keys %token_line_count ) {
-            if ( $token_line_count{$tok} == $nlines ) {
-                if ( $tok =~ /^\?/ || $tok =~ /^\{\d+if/ ) {
-                    $is_full_block = 1;
-                }
-            }
-        }
-
-        # remove unwanted alignment tokens
-        for ( my $jj = $jbeg ; $jj <= $jend ; $jj++ ) {
-            my $line    = $rnew_lines->[$jj];
-            my $rtokens = $line->get_rtokens();
-            my $rhash   = $rline_hashes->[$jj];
-            my $i_eq    = $i_equals[$jj];
-            my @idel;
-            my $imax = @{$rtokens} - 2;
-            my $delete_above_level;
-
-            for ( my $i = 0 ; $i <= $imax ; $i++ ) {
-                my $tok = $rtokens->[$i];
-                next if ( $tok eq '#' );    # shouldn't happen
-                my ( $iii, $il, $ir, $raw_tok, $lev, $tag, $tok_count ) =
-                  @{ $rhash->{$tok} };
-
-                # always remove unmatched tokens
-                my $delete_me = !defined($il) && !defined($ir);
-
-                # also, if this is a complete ternary or if/elsif/else block,
-                # remove all alignments which are not also in every line
-                $delete_me ||=
-                  ( $is_full_block && $token_line_count{$tok} < $nlines );
-
-                # Remove all tokens above a certain level following a previous
-                # deletion.  For example, we have to remove tagged higher level
-                # alignment tokens following a => deletion because the tags of
-                # higher level tokens will now be incorrect. For example, this
-                # will prevent aligning commas as follows after deleting the
-                # second =>
-                #    $w->insert(
-                #      ListBox => origin => [ 270, 160 ],
-                #      size    => [ 200,           55 ],
-                #    );
-                if ( defined($delete_above_level) ) {
-                    if ( $lev > $delete_above_level ) {
-                        $delete_me ||= 1;    #$tag;
-                    }
-                    else { $delete_above_level = undef }
-                }
-
-                if (
-                    $delete_me
-                    && is_deletable_token( $tok, $i, $imax, $jj, $i_eq )
-
-                    # Patch: do not touch the first line of a terminal match,
-                    # such as below, because j_terminal has already been set.
-                    #    if ($tag) { $tago = "<$tag>"; $tagc = "</$tag>"; }
-                    #    else      { $tago = $tagc = ''; }
-                    # But see snippets 'else1.t' and 'else2.t'
-                    && !( $jj == $jbeg && $has_terminal_match && $nlines == 2 )
-
-                  )
-                {
-                    push @idel, $i;
-                    if ( !defined($delete_above_level)
-                        || $lev < $delete_above_level )
-                    {
-
-                        # delete all following higher level alignments
-                        $delete_above_level = $lev;
-
-                        # but keep deleting after => to next lower level
-                        # to avoid some bizarre alignments
-                        if ( $raw_tok eq '=>' ) {
-                            $delete_above_level = $lev - 1;
-                        }
-                    }
-                }
-            }
-
-            if (@idel) {
-                delete_selected_tokens( $line, \@idel, $saw_list_type );
-            }
-        }
-
-    }    # End loop over subgroups
-
-    fix_ragged_matches($rlines) if ($saw_list_type);
-
-    return;
-}
-
 sub delete_unmatched_tokens {
     my ($rlines) = @_;