Method: Jazzy::SourceKitten.parse
- Defined in:
- lib/jazzy/sourcekitten.rb
.parse(sourcekitten_output, options, inject_docs) ⇒ Hash
Parse sourcekitten STDOUT output as JSON
1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 |
# File 'lib/jazzy/sourcekitten.rb', line 1088 def self.parse(sourcekitten_output, , inject_docs) @min_acl = .min_acl @skip_undocumented = .skip_undocumented @stats = Stats.new @inaccessible_protocols = [] # Process each module separately to inject the source module name docs = sourcekitten_output.zip(.module_names).map do |json, name| @current_module_name = name sourcekitten_dicts = filter_files(JSON.parse(json).flatten) make_source_declarations(sourcekitten_dicts) end.flatten + inject_docs docs = (docs) docs = deduplicate_declarations(docs) docs = reject_objc_types(docs) docs = reject_swift_types(docs) docs = mark_objc_external_categories(docs) @doc_index = DocIndex.new(docs) docs = Grouper.group_docs(docs, @doc_index) make_doc_urls(docs) autolink(docs) [docs, @stats] end |