%PDF- %PDF-
| Direktori : /opt/plesk/ruby/3.2.2/lib64/ruby/gems/3.2.0/gems/rbs-2.8.2/stdlib/rdoc/0/ |
| Current File : //opt/plesk/ruby/3.2.2/lib64/ruby/gems/3.2.0/gems/rbs-2.8.2/stdlib/rdoc/0/rdoc.rbs |
# <!-- rdoc-file=lib/rdoc/rubygems_hook.rb -->
# Gem::RDoc provides methods to generate RDoc and ri data for installed gems
# upon gem installation.
#
# This file is automatically required by RubyGems 1.9 and newer.
#
# <!-- rdoc-file=lib/rdoc.rb -->
# RDoc produces documentation for Ruby source files by parsing the source and
# extracting the definition for classes, modules, methods, includes and
# requires. It associates these with optional documentation contained in an
# immediately preceding comment block then renders the result using an output
# formatter.
#
# For a simple introduction to writing or generating documentation using RDoc
# see the README.
#
# ## Roadmap
#
# If you think you found a bug in RDoc see CONTRIBUTING@Bugs
#
# If you want to use RDoc to create documentation for your Ruby source files,
# see RDoc::Markup and refer to `rdoc --help` for command line usage.
#
# If you want to set the default markup format see
# RDoc::Markup@Supported+Formats
#
# If you want to store rdoc configuration in your gem (such as the default
# markup format) see RDoc::Options@Saved+Options
#
# If you want to write documentation for Ruby files see RDoc::Parser::Ruby
#
# If you want to write documentation for extensions written in C see
# RDoc::Parser::C
#
# If you want to generate documentation using `rake` see RDoc::Task.
#
# If you want to drive RDoc programmatically, see RDoc::RDoc.
#
# If you want to use the library to format text blocks into HTML or other
# formats, look at RDoc::Markup.
#
# If you want to make an RDoc plugin such as a generator or directive handler
# see RDoc::RDoc.
#
# If you want to write your own output generator see RDoc::Generator.
#
# If you want an overview of how RDoc works see CONTRIBUTING
#
# ## Credits
#
# RDoc is currently being maintained by Eric Hodel <drbrain@segment7.net>.
#
# Dave Thomas <dave@pragmaticprogrammer.com> is the original author of RDoc.
#
# * The Ruby parser in rdoc/parse.rb is based heavily on the outstanding work
# of Keiju ISHITSUKA of Nippon Rational Inc, who produced the Ruby parser
# for irb and the rtags package.
#
module RDoc
# <!-- rdoc-file=lib/rdoc/parser.rb -->
# A parser is simple a class that subclasses RDoc::Parser and implements #scan
# to fill in an RDoc::TopLevel with parsed data.
#
# The initialize method takes an RDoc::TopLevel to fill with parsed content, the
# name of the file to be parsed, the content of the file, an RDoc::Options
# object and an RDoc::Stats object to inform the user of parsed items. The scan
# method is then called to parse the file and must return the RDoc::TopLevel
# object. By calling super these items will be set for you.
#
# In order to be used by RDoc the parser needs to register the file extensions
# it can parse. Use ::parse_files_matching to register extensions.
#
# require 'rdoc'
#
# class RDoc::Parser::Xyz < RDoc::Parser
# parse_files_matching /\.xyz$/
#
# def initialize top_level, file_name, content, options, stats
# super
#
# # extra initialization if needed
# end
#
# def scan
# # parse file and fill in @top_level
# end
# end
#
class Parser
# <!--
# rdoc-file=lib/rdoc/parser.rb
# - parse_files_matching(regexp)
# -->
# Record which file types this parser can understand.
#
# It is ok to call this multiple times.
#
def self?.parse_files_matching: (Regexp path) -> void
# <!--
# rdoc-file=lib/rdoc/parser.rb
# - new(top_level, file_name, content, options, stats)
# -->
# Creates a new Parser storing `top_level`, `file_name`, `content`, `options`
# and `stats` in instance variables. In +@preprocess+ an
# RDoc::Markup::PreProcess object is created which allows processing of
# directives.
#
def initialize: (RDoc::TopLevel top_level, String filename, String content, Hash[untyped, untyped] options, RDoc::Stats stats) -> void
def scan: () -> RDoc::TopLevel
end
# <!-- rdoc-file=lib/rdoc/code_object.rb -->
# Base class for the RDoc code tree.
#
# We contain the common stuff for contexts (which are containers) and other
# elements (methods, attributes and so on)
#
# Here's the tree of the CodeObject subclasses:
#
# * RDoc::Context
# * RDoc::TopLevel
# * RDoc::ClassModule
# * RDoc::AnonClass (never used so far)
# * RDoc::NormalClass
# * RDoc::NormalModule
# * RDoc::SingleClass
#
#
# * RDoc::MethodAttr
# * RDoc::Attr
# * RDoc::AnyMethod
# * RDoc::GhostMethod
# * RDoc::MetaMethod
#
#
# * RDoc::Alias
# * RDoc::Constant
# * RDoc::Mixin
# * RDoc::Require
# * RDoc::Include
#
class CodeObject
# <!-- rdoc-file=lib/rdoc/code_object.rb -->
# Our comment
#
attr_reader comment: RDoc::Comment
# <!--
# rdoc-file=lib/rdoc/code_object.rb
# - new()
# -->
# Creates a new CodeObject that will document itself and its children
#
def initialize: () -> void
# <!--
# rdoc-file=lib/rdoc/code_object.rb
# - comment=(comment)
# -->
# Replaces our comment with `comment`, unless it is empty.
#
def comment=: (RDoc::Comment | String) -> RDoc::Comment
end
# <!-- rdoc-file=lib/rdoc/context.rb -->
# A Context is something that can hold modules, classes, methods, attributes,
# aliases, requires, and includes. Classes, modules, and files are all Contexts.
#
class Context < CodeObject
include Comparable
# <!-- rdoc-file=lib/rdoc/context.rb -->
# Types of methods
#
TYPES: ::Array["class" | "instance"]
TOMDOC_TITLES: ::Array[nil | "Public" | "Internal" | "Deprecated"]
type class_types = singleton(RDoc::NormalClass) | singleton(RDoc::SingleClass)
# <!--
# rdoc-file=lib/rdoc/context.rb
# - new()
# -->
# Creates an unnamed empty context with public current visibility
#
def initialize: () -> void
# <!--
# rdoc-file=lib/rdoc/context.rb
# - add_alias(an_alias)
# -->
# Adds `an_alias` that is automatically resolved
#
def add_alias: (RDoc::Alias an_alias) -> RDoc::Alias
# <!--
# rdoc-file=lib/rdoc/context.rb
# - add_attribute(attribute)
# -->
# Adds `attribute` if not already there. If it is (as method(s) or attribute),
# updates the comment if it was empty.
#
# The attribute is registered only if it defines a new method. For instance,
# `attr_reader :foo` will not be registered if method `foo` exists, but
# `attr_accessor :foo` will be registered if method `foo` exists, but `foo=`
# does not.
#
def add_attribute: (RDoc::Attr attribute) -> RDoc::Attr
# <!--
# rdoc-file=lib/rdoc/context.rb
# - add_class(class_type, given_name, superclass = '::Object')
# -->
# Adds a class named `given_name` with `superclass`.
#
# Both `given_name` and `superclass` may contain '::', and are interpreted
# relative to the `self` context. This allows handling correctly examples like
# these:
# class RDoc::Gauntlet < Gauntlet
# module Mod
# class Object # implies < ::Object
# class SubObject < Object # this is _not_ ::Object
#
# Given `class Container::Item` RDoc assumes `Container` is a module unless it
# later sees `class Container`. `add_class` automatically upgrades `given_name`
# to a class in this case.
#
def add_class: (class_types class_type, ::String given_name, ?::String superclass) -> (RDoc::NormalClass | RDoc::SingleClass)
# <!--
# rdoc-file=lib/rdoc/context.rb
# - add_constant(constant)
# -->
# Adds `constant` if not already there. If it is, updates the comment, value
# and/or is_alias_for of the known constant if they were empty/nil.
#
def add_constant: (RDoc::Constant constant) -> RDoc::Constant
# <!--
# rdoc-file=lib/rdoc/context.rb
# - add_include(include)
# -->
# Adds included module `include` which should be an RDoc::Include
#
def add_include: (RDoc::Include `include`) -> RDoc::Include
# <!--
# rdoc-file=lib/rdoc/context.rb
# - add_extend(ext)
# -->
# Adds extension module `ext` which should be an RDoc::Extend
#
def add_extend: (RDoc::Extend ext) -> RDoc::Extend
# <!--
# rdoc-file=lib/rdoc/context.rb
# - add_method(method)
# -->
# Adds `method` if not already there. If it is (as method or attribute), updates
# the comment if it was empty.
#
def add_method: (RDoc::AnyMethod method) -> RDoc::AnyMethod
# <!--
# rdoc-file=lib/rdoc/context.rb
# - add_module(class_type, name)
# -->
# Adds a module named `name`. If RDoc already knows `name` is a class then that
# class is returned instead. See also #add_class.
#
def add_module: (singleton(RDoc::NormalModule) class_type, String name) -> RDoc::NormalModule
# <!--
# rdoc-file=lib/rdoc/context.rb
# - find_module_named(name)
# -->
# Find a module with `name` using ruby's scoping rules
#
def find_module_named: (untyped name) -> (untyped | self)
# <!--
# rdoc-file=lib/rdoc/context.rb
# - full_name()
# -->
# The full name for this context. This method is overridden by subclasses.
#
def full_name: () -> "(unknown)"
def to_s: () -> ::String
# <!--
# rdoc-file=lib/rdoc/context.rb
# - top_level()
# -->
# Return the TopLevel that owns us
#
def top_level: () -> RDoc::TopLevel
end
# <!-- rdoc-file=lib/rdoc/top_level.rb -->
# A TopLevel context is a representation of the contents of a single file
#
class TopLevel < Context
MARSHAL_VERSION: 0
# <!--
# rdoc-file=lib/rdoc/top_level.rb
# - new(absolute_name, relative_name = absolute_name)
# -->
# Creates a new TopLevel for the file at `absolute_name`. If documentation is
# being generated outside the source dir `relative_name` is relative to the
# source directory.
#
def initialize: (String absolute_name, ?String relative_name) -> void
# <!--
# rdoc-file=lib/rdoc/top_level.rb
# - ==(other)
# -->
# An RDoc::TopLevel is equal to another with the same relative_name
#
def ==: (untyped other) -> bool
# <!--
# rdoc-file=lib/rdoc/top_level.rb
# - eql?(other)
# -->
#
alias eql? ==
# <!--
# rdoc-file=lib/rdoc/top_level.rb
# - add_alias(an_alias)
# -->
# Adds `an_alias` to `Object` instead of `self`.
#
def add_alias: (RDoc::Alias an_alias) -> RDoc::Alias
# <!--
# rdoc-file=lib/rdoc/top_level.rb
# - add_constant(constant)
# -->
# Adds `constant` to `Object` instead of `self`.
#
def add_constant: (RDoc::Constant constant) -> RDoc::Constant
# <!--
# rdoc-file=lib/rdoc/top_level.rb
# - add_include(include)
# -->
# Adds `include` to `Object` instead of `self`.
#
def add_include: (RDoc::Include `include`) -> RDoc::Include
# <!--
# rdoc-file=lib/rdoc/top_level.rb
# - add_method(method)
# -->
# Adds `method` to `Object` instead of `self`.
#
def add_method: (RDoc::AnyMethod method) -> RDoc::AnyMethod
# <!--
# rdoc-file=lib/rdoc/top_level.rb
# - find_class_or_module(name)
# -->
# See RDoc::TopLevel::find_class_or_module
#
def find_class_or_module: (::String name) -> RDoc::Context
# <!--
# rdoc-file=lib/rdoc/top_level.rb
# - find_module_named(name)
# -->
# Finds a module or class with `name`
#
def find_module_named: (String name) -> RDoc::Context
# <!--
# rdoc-file=lib/rdoc/top_level.rb
# - full_name()
# -->
# Returns the relative name of this file
#
def full_name: () -> String
def to_s: () -> ::String
end
# <!-- rdoc-file=lib/rdoc/token_stream.rb -->
# A TokenStream is a list of tokens, gathered during the parse of some entity
# (say a method). Entities populate these streams by being registered with the
# lexer. Any class can collect tokens by including TokenStream. From the
# outside, you use such an object by calling the start_collecting_tokens method,
# followed by calls to add_token and pop_token.
#
module TokenStream
# <!--
# rdoc-file=lib/rdoc/token_stream.rb
# - add_token(token)
# -->
# Adds one `token` to the collected tokens
#
def add_token: (Hash[untyped, untyped] token) -> void
# <!--
# rdoc-file=lib/rdoc/token_stream.rb
# - collect_tokens()
# -->
# Starts collecting tokens
#
def collect_tokens: () -> void
# <!--
# rdoc-file=lib/rdoc/token_stream.rb
# - start_collecting_tokens()
# -->
#
alias start_collecting_tokens collect_tokens
end
# <!-- rdoc-file=lib/rdoc/comment.rb -->
# A comment holds the text comment for a RDoc::CodeObject and provides a unified
# way of cleaning it up and parsing it into an RDoc::Markup::Document.
#
# Each comment may have a different markup format set by #format=. By default
# 'rdoc' is used. The :markup: directive tells RDoc which format to use.
#
# See RDoc::Markup@Other+directives for instructions on adding an alternate
# format.
#
class Comment
# <!-- rdoc-file=lib/rdoc/comment.rb -->
# The format of this comment. Defaults to RDoc::Markup
#
attr_reader format: String
# <!-- rdoc-file=lib/rdoc/comment.rb -->
# The RDoc::TopLevel this comment was found in
#
attr_accessor location: String
# <!--
# rdoc-file=lib/rdoc/comment.rb
# - new(text = nil, location = nil, language = nil)
# -->
# Creates a new comment with `text` that is found in the RDoc::TopLevel
# `location`.
#
def initialize: (?String? text, ?RDoc::Context? location, ?String? language) -> void
# <!--
# rdoc-file=lib/rdoc/comment.rb
# - format=(format)
# -->
# Sets the format of this comment and resets any parsed document
#
def format=: (String format) -> void
end
# <!-- rdoc-file=lib/rdoc/class_module.rb -->
# ClassModule is the base class for objects representing either a class or a
# module.
#
class ClassModule < Context
# <!--
# rdoc-file=lib/rdoc/class_module.rb
# - new(name, superclass = nil)
# -->
# Creates a new ClassModule with `name` with optional `superclass`
#
# This is a constructor for subclasses, and must never be called directly.
#
def initialize: (String name, ?String superclass) -> void
# <!--
# rdoc-file=lib/rdoc/class_module.rb
# - add_comment(comment, location)
# -->
# Adds `comment` to this ClassModule's list of comments at `location`. This
# method is preferred over #comment= since it allows ri data to be updated
# across multiple runs.
#
def add_comment: (RDoc::Comment comment, RDoc::Context location) -> void
end
# <!-- rdoc-file=lib/rdoc/normal_class.rb -->
# A normal class, neither singleton nor anonymous
#
class NormalClass < ClassModule
def initialize: (String name, ?String superclass) -> void
end
# <!-- rdoc-file=lib/rdoc/single_class.rb -->
# A singleton class
#
class SingleClass < ClassModule
def initialize: (String name, ?String superclass) -> void
end
# <!-- rdoc-file=lib/rdoc/normal_module.rb -->
# A normal module, like NormalClass
#
class NormalModule < ClassModule
end
# <!-- rdoc-file=lib/rdoc/method_attr.rb -->
# Abstract class representing either a method or an attribute.
#
class MethodAttr < CodeObject
include Comparable
# <!-- rdoc-file=lib/rdoc/method_attr.rb -->
# The method/attribute we're aliasing
#
attr_reader is_alias_for: MethodAttr?
# <!-- rdoc-file=lib/rdoc/method_attr.rb -->
# The call_seq or the param_seq with method name, if there is no call_seq.
#
attr_reader arglists: String
# <!-- rdoc-file=lib/rdoc/method_attr.rb -->
# Name of this method/attribute.
#
attr_accessor name: String
# <!-- rdoc-file=lib/rdoc/method_attr.rb -->
# public, protected, private
#
attr_accessor visibility: untyped
# <!-- rdoc-file=lib/rdoc/method_attr.rb -->
# Is this a singleton method/attribute?
#
attr_accessor singleton: bool
# <!-- rdoc-file=lib/rdoc/method_attr.rb -->
# Source file token stream
#
attr_reader text: String
# <!-- rdoc-file=lib/rdoc/method_attr.rb -->
# Different ways to call this method
#
attr_accessor call_seq: String
# <!--
# rdoc-file=lib/rdoc/method_attr.rb
# - new(text, name)
# -->
# Creates a new MethodAttr from token stream `text` and method or attribute name
# `name`.
#
# Usually this is called by super from a subclass.
#
def initialize: (String text, String name) -> void
# <!--
# rdoc-file=lib/rdoc/method_attr.rb
# - pretty_name()
# -->
# Method/attribute name with class/instance indicator
#
def pretty_name: () -> ::String
# <!--
# rdoc-file=lib/rdoc/method_attr.rb
# - type()
# -->
# Type of method/attribute (class or instance)
#
def type: () -> ("class" | "instance")
# <!--
# rdoc-file=lib/rdoc/method_attr.rb
# - path()
# -->
# Path to this method for use with HTML generator output.
#
def path: () -> ::String
def to_s: () -> ::String
end
# <!-- rdoc-file=lib/rdoc/any_method.rb -->
# AnyMethod is the base class for objects representing methods
#
class AnyMethod < MethodAttr
include TokenStream
# <!--
# rdoc-file=lib/rdoc/any_method.rb
# - call_seq()
# -->
# Different ways to call this method
# ----
# <!--
# rdoc-file=lib/rdoc/any_method.rb
# - call_seq=(call_seq)
# -->
# Sets the different ways you can call this method. If an empty `call_seq` is
# given nil is assumed.
#
# See also #param_seq
#
attr_accessor call_seq: ::String
# <!-- rdoc-file=lib/rdoc/any_method.rb -->
# Parameters for this method
#
attr_accessor params: ::String
attr_accessor line: Integer
# <!--
# rdoc-file=lib/rdoc/any_method.rb
# - arglists()
# -->
# The call_seq or the param_seq with method name, if there is no call_seq.
#
# Use this for displaying a method's argument lists.
#
def arglists: () -> String?
def callseq: () -> String?
# <!--
# rdoc-file=lib/rdoc/any_method.rb
# - new(text, name)
# -->
# Creates a new AnyMethod with a token stream `text` and `name`
#
def initialize: (String? text, String name) -> void
end
# <!-- rdoc-file=lib/rdoc/attr.rb -->
# An attribute created by #attr, #attr_reader, #attr_writer or #attr_accessor
#
class Attr < MethodAttr
# <!-- rdoc-file=lib/rdoc/attr.rb -->
# Is the attribute readable ('R'), writable ('W') or both ('RW')?
#
attr_accessor rw: "RW" | "R" | "W"
# <!--
# rdoc-file=lib/rdoc/attr.rb
# - new(text, name, rw, comment, singleton = false)
# -->
# Creates a new Attr with body `text`, `name`, read/write status `rw` and
# `comment`. `singleton` marks this as a class attribute.
#
def initialize: (String? text, String name, String rw, RDoc::Comment? comment, ?bool `singleton`) -> void
end
# <!-- rdoc-file=lib/rdoc/constant.rb -->
# A constant
#
class Constant < CodeObject
# <!-- rdoc-file=lib/rdoc/constant.rb -->
# Sets the module or class this is constant is an alias for.
#
attr_writer is_alias_for: String
# <!-- rdoc-file=lib/rdoc/constant.rb -->
# The constant's name
#
attr_accessor name: String
# <!-- rdoc-file=lib/rdoc/constant.rb -->
# The constant's value
#
attr_accessor value: String
# <!-- rdoc-file=lib/rdoc/constant.rb -->
# The constant's visibility
#
attr_accessor visibility: String
# <!--
# rdoc-file=lib/rdoc/constant.rb
# - new(name, value, comment)
# -->
# Creates a new constant with `name`, `value` and `comment`
#
def initialize: (String name, String value, RDoc::Comment? comment) -> void
end
# <!-- rdoc-file=lib/rdoc/mixin.rb -->
# A Mixin adds features from a module into another context. RDoc::Include and
# RDoc::Extend are both mixins.
#
class Mixin < CodeObject
# <!-- rdoc-file=lib/rdoc/mixin.rb -->
# Name of included module
#
attr_accessor name: String
# <!--
# rdoc-file=lib/rdoc/mixin.rb
# - new(name, comment)
# -->
# Creates a new Mixin for `name` with `comment`
#
def initialize: (String name, RDoc::Comment? comment) -> void
end
# <!-- rdoc-file=lib/rdoc/include.rb -->
# A Module included in a class with #include
#
# RDoc::Include.new 'Enumerable', 'comment ...'
#
class Include < Mixin
end
# <!-- rdoc-file=lib/rdoc/extend.rb -->
# A Module extension to a class with #extend
#
# RDoc::Extend.new 'Enumerable', 'comment ...'
#
class Extend < Mixin
end
# <!-- rdoc-file=lib/rdoc/alias.rb -->
# Represent an alias, which is an old_name/new_name pair associated with a
# particular context
#
class Alias < CodeObject
# <!-- rdoc-file=lib/rdoc/alias.rb -->
# Aliased method's name
#
attr_accessor name: String
# <!-- rdoc-file=lib/rdoc/alias.rb -->
# Aliasee method's name
#
attr_accessor old_name: String
# <!--
# rdoc-file=lib/rdoc/alias.rb
# - new(text, old_name, new_name, comment, singleton = false)
# -->
# Creates a new Alias with a token stream of `text` that aliases `old_name` to
# `new_name`, has `comment` and is a `singleton` context.
#
def initialize: (String? text, String name, String old_name, RDoc::Comment? comment, ?bool `singleton`) -> void
end
# <!-- rdoc-file=lib/rdoc/stats.rb -->
# RDoc statistics collector which prints a summary and report of a project's
# documentation totals.
#
class Stats
end
end