Class: RubyLsp::Ree::MissingErrorContractsFormatter
- Inherits:
-
BaseFormatter
- Object
- BaseFormatter
- RubyLsp::Ree::MissingErrorContractsFormatter
- Defined in:
- lib/ruby_lsp/ruby_lsp_ree/formatters/missing_error_contracts_formatter.rb
Instance Method Summary collapse
Methods inherited from BaseFormatter
Constructor Details
This class inherits a constructor from RubyLsp::Ree::BaseFormatter
Instance Method Details
#call(source, _uri) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/ruby_lsp/ruby_lsp_ree/formatters/missing_error_contracts_formatter.rb', line 6 def call(source, _uri) parsed_doc = RubyLsp::Ree::ParsedDocumentBuilder.build_from_source(source) return source if !parsed_doc || !parsed_doc.has_root_class? parsed_doc.parse_error_definitions parsed_doc.parse_instance_methods parsed_doc.doc_instance_methods.select(&:has_contract?).each do |doc_instance_method| doc_instance_method.parse_nested_local_methods(parsed_doc.doc_instance_methods) raised_errors = doc_instance_method.raised_errors_nested throws_errors = doc_instance_method.throws_errors missed_errors = raised_errors - throws_errors source = add_missed_errors(source, doc_instance_method, missed_errors) end source end |