class RuboCop::Cop::Sorbet::ObsoleteStrictMemoization
def on_begin(node)
def on_begin(node) legacy_memoization_pattern?(node) do |first_asgn_node, ivar, t, ivar_type, second_or_asgn_node, init_expr| # rubocop:disable Metrics/ParameterLists add_offense(first_asgn_node) do |corrector| indent = offset(node) correction = "#{ivar} ||= #{t.source}.let(#{init_expr.source}, #{t.source}.nilable(#{ivar_type.source}))" # We know good places to put line breaks, if required. if line_length(indent + correction) > max_line_length || correction.include?("\n") correction = <<~RUBY.chomp #{ivar} ||= #{t.source}.let( #{indent} #{init_expr.source.gsub("\n", "\n#{indent}")}, #{indent} #{t.source}.nilable(#{ivar_type.source.gsub("\n", "\n#{indent}")}), #{indent}) RUBY end corrector.replace( range_between(first_asgn_node.source_range.begin_pos, second_or_asgn_node.source_range.end_pos), correction, ) end end end