From 833adcb617e285416b79e9131b1fd7cc5a539e3a Mon Sep 17 00:00:00 2001 From: Daniel Vandersluis Date: Thu, 5 Aug 2021 15:02:12 -0400 Subject: [PATCH] Move `ProcessedSource#sorted_tokens` to be a public method. --- lib/rubocop/ast/processed_source.rb | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/rubocop/ast/processed_source.rb b/lib/rubocop/ast/processed_source.rb index 00567798e..6f6246995 100644 --- a/lib/rubocop/ast/processed_source.rb +++ b/lib/rubocop/ast/processed_source.rb @@ -177,6 +177,14 @@ def last_token_of(range_or_node) sorted_tokens[last_token_index(range_or_node)] end + # The tokens list is always sorted by token position, except for cases when heredoc + # is passed as a method argument. In this case tokens are interleaved by + # heredoc contents' tokens. + def sorted_tokens + # Use stable sort. + @sorted_tokens ||= tokens.sort_by.with_index { |token, i| [token.begin_pos, i] } + end + private def comment_index @@ -272,14 +280,6 @@ def last_token_index(range_or_node) sorted_tokens.bsearch_index { |token| token.end_pos >= end_pos } end - # The tokens list is always sorted by token position, except for cases when heredoc - # is passed as a method argument. In this case tokens are interleaved by - # heredoc contents' tokens. - def sorted_tokens - # Use stable sort. - @sorted_tokens ||= tokens.sort_by.with_index { |token, i| [token.begin_pos, i] } - end - def source_range(range_or_node) if range_or_node.respond_to?(:source_range) range_or_node.source_range