File: //usr/lib/ruby/gems/3.2.0/gems/rbs-2.8.2/sig/annotate/rdoc_annotater.rbs
module RBS
module Annotate
class RDocAnnotator
attr_reader source: RDocSource
attr_accessor include_arg_lists: bool
attr_accessor include_filename: bool
def initialize: (source: RDocSource) -> void
def annotate_file: (Pathname, preserve: bool) -> void
def annotate_decls: (Array[AST::Declarations::t], ?outer: Array[Namespace]) -> void
interface _PathTester
def test_path: (String) -> bool
end
interface _WithRDocComment
def comment: () -> RDoc::Markup::Document
end
def each_part: (Array[Object & _WithRDocComment], tester: _PathTester) { ([RDoc::Markup::Document, Object & _WithRDocComment]) -> void } -> void
| (Array[Object & _WithRDocComment], tester: _PathTester) -> Enumerator[[RDoc::Markup::Document, Object & _WithRDocComment], void]
def join_docs: (Array[String?], ?separator: String) -> String?
def doc_for_class: (TypeName, tester: _PathTester) -> String?
# Returns the formatted document of given method.
#
# Expands attribute documents, or alias documents if needed.
#
def doc_for_method: (TypeName, instance_method: Symbol, tester: _PathTester) -> String?
| (TypeName, singleton_method: Symbol, tester: _PathTester) -> String?
def doc_for_method0: (TypeName, instance_method: Symbol, tester: _PathTester) -> String?
| (TypeName, singleton_method: Symbol, tester: _PathTester) -> String?
# Having `require: nil` means any attribute is okay.
# Having `require: "R"` means _read attr_ is required.
# Having `require: "W"` means write attr_ is required.
#
def doc_for_attribute: (TypeName, Symbol, singleton: bool, ?require: nil | "R" | "W", tester: _PathTester) -> String?
def doc_for_alias: (TypeName, name: Symbol, singleton: bool, tester: _PathTester) -> String?
def doc_for_constant: (TypeName, tester: _PathTester) -> String?
def resolve_doc_source: (Annotations::Copy?, tester: _PathTester) { () -> String? } -> String?
def annotate_class: (AST::Declarations::Class | AST::Declarations::Module, outer: Array[Namespace]) -> void
def annotate_constant: (AST::Declarations::Constant, outer: Array[Namespace]) -> void
def annotate_method: (TypeName, AST::Members::MethodDefinition) -> void
def annotate_alias: (TypeName, AST::Members::Alias) -> void
def annotate_attribute: (TypeName, AST::Members::AttrReader | AST::Members::AttrWriter | AST::Members::AttrAccessor) -> void
def annotations: (_Annotated) -> Annotations
interface _Annotated
def annotations: -> Array[AST::Annotation]
end
# - If a string is given as `comment`, the content is attached to the object as a comment.
# - If empty string is given as `comment`, it deletes the original comment.
# - If `nil` is given as `comment`, it keeps the original comment.
#
def replace_comment: (Object & _Commented, String? comment) -> void
interface _Commented
def comment: () -> AST::Comment?
end
def resolve_name: (TypeName, outer: Array[Namespace]) -> TypeName
end
end
end