From cd08dd7e5ee9b51e10479380c399d8fcc0303e2c Mon Sep 17 00:00:00 2001 From: fatkodima Date: Fri, 18 Sep 2020 19:43:33 +0300 Subject: [PATCH] Use stable sort when sorting tokens --- lib/rubocop/ast/processed_source.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/rubocop/ast/processed_source.rb b/lib/rubocop/ast/processed_source.rb index 1fbf81c92..2716943cb 100644 --- a/lib/rubocop/ast/processed_source.rb +++ b/lib/rubocop/ast/processed_source.rb @@ -269,7 +269,8 @@ def last_token_index(range_or_node) # is passed as a method argument. In this case tokens are interleaved by # heredoc contents' tokens. def sorted_tokens - @sorted_tokens ||= tokens.sort_by(&:begin_pos) + # Use stable sort. + @sorted_tokens ||= tokens.sort_by.with_index { |token, i| [token.begin_pos, i] } end def source_range(range_or_node)