Class: RubyLsp::Ree::MissingErrorDefinitionsFormatter
- Inherits:
-
BaseFormatter
- Object
- BaseFormatter
- RubyLsp::Ree::MissingErrorDefinitionsFormatter
- Includes:
- ReeLspUtils
- Defined in:
- lib/ruby_lsp/ruby_lsp_ree/formatters/missing_error_definitions_formatter.rb
Constant Summary
Constants included from ReeLspUtils
Instance Method Summary collapse
Methods included from ReeLspUtils
#camelize, #find_local_file_path, #get_range_for_fn_insert, #get_ree_type, #get_uri_path, #package_name_from_spec_uri, #package_name_from_uri, #package_path_from_uri, #parameter_name, #path_from_package_folder, #signature_params_from_node, #spec_relative_file_path_from_uri, #underscore
Methods inherited from BaseFormatter
Constructor Details
This class inherits a constructor from RubyLsp::Ree::BaseFormatter
Instance Method Details
#call(source, _uri) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/ruby_lsp/ruby_lsp_ree/formatters/missing_error_definitions_formatter.rb', line 8 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.parse_links parsed_doc.parse_defined_classes parsed_doc.parse_defined_consts existing_error_classes = parsed_doc.error_definition_names + parsed_doc.imported_constants + parsed_doc.defined_classes + parsed_doc.defined_consts missed_errors = [] parsed_doc.doc_instance_methods.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 missed_errors += raised_errors - existing_error_classes end missed_errors = missed_errors.uniq.reject{ Object.const_defined?(_1) } add_missed_error_definitions(source, parsed_doc, missed_errors.uniq) end |