PATH:
opt
/
alt
/
ruby34
/
share
/
gems
/
gems
/
rbs-3.8.0
/
sig
module RBS class Parser # Result of `Parser.lex` class LexResult attr_reader buffer: Buffer attr_reader value: Array[Token] def initialize: (buffer: Buffer, value: Array[Token]) -> void end # Represents a token per result of `Parser.lex`. class Token attr_reader type: Symbol attr_reader location: Location[untyped, untyped] def initialize: (type: Symbol, location: Location[untyped, untyped]) -> void def value: () -> String def comment?: () -> bool end # Parse a method type and return it # # When `range` keyword is specified, it starts parsing from the `begin` to the `end` of the range. # # ```ruby # RBS::Parser.parse_method_type("() -> void") # => `() -> void` # RBS::Parser.parse_method_type("() -> void", range: 0...) # => `() -> void` # RBS::Parser.parse_method_type("() -> void () -> String", range: 11...) # => `() -> String` # RBS::Parser.parse_method_type("() -> void () -> String", range: 23...) # => nil # ``` # # When `require_eof` is `true`, an error is raised if more tokens are left in the input. # (Defaults to `false`.) # # ```ruby # RBS::Parser.parse_method_type("() -> void () -> String", require_eof: false) # => `() -> void` # RBS::Parser.parse_method_type("() -> void () -> String", require_eof: true) # => Raises an error # # RBS::Parser.parse_method_type("", require_eof: true) # => nil # ``` # def self.parse_method_type: (Buffer | String, ?range: Range[Integer?], ?variables: Array[Symbol], ?require_eof: bool) -> MethodType? # Parse a type and return it # # When `range` keyword is specified, it starts parsing from the `begin` to the `end` of the range. # # ```ruby # RBS::Parser.parse_type("String") # => `String` # RBS::Parser.parse_type("String", range: 0...) # => `String` # RBS::Parser.parse_type("String Integer", pos: 7...) # => `Integer` # RBS::Parser.parse_type("String Integer", pos: 14...) # => nil # ``` # # When `require_eof` is `true`, an error is raised if more tokens are left in the input. # (Defaults to `false`.) # # ```ruby # RBS::Parser.parse_type("String untyped", require_eof: false) # => `String` # RBS::Parser.parse_type("String untyped", require_eof: true) # => Raises an error # # RBS::Parser.parse_type("", require_eof: true) # => nil # ``` # def self.parse_type: (Buffer | String, ?range: Range[Integer?], ?variables: Array[Symbol], ?require_eof: bool) -> Types::t? # Parse whole RBS file and return an array of declarations # def self.parse_signature: (Buffer | String) -> [Buffer, Array[AST::Directives::t], Array[AST::Declarations::t]] # Parse whole RBS file and return result. # # ```ruby # RBS::Parser.lex("# Comment\nmodule A\nend\n").value.map(&:type) # # => [:tLINECOMMENT, :kMODULE, :tUIDENT, :kEND, :pEOF] # ``` def self.lex: (Buffer | String) -> LexResult KEYWORDS: Hash[String, bot] private def self.buffer: (String | Buffer source) -> Buffer def self._parse_type: (Buffer, Integer start_pos, Integer end_pos, Array[Symbol] variables, bool require_eof) -> Types::t? def self._parse_method_type: (Buffer, Integer start_pos, Integer end_pos, Array[Symbol] variables, bool require_eof) -> MethodType? def self._parse_signature: (Buffer, Integer end_pos) -> [Array[AST::Directives::t], Array[AST::Declarations::t]] def self._lex: (Buffer, Integer end_pos) -> Array[[Symbol, Location[untyped, untyped]]] class LocatedValue end end end
[-] collection.rbs
[edit]
[-] sorter.rbs
[edit]
[-] subtractor.rbs
[edit]
[-] rbs.rbs
[edit]
[-] comment.rbs
[edit]
[-] test.rbs
[edit]
[+]
resolver
[-] vendorer.rbs
[edit]
[-] method_builder.rbs
[edit]
[-] environment_loader.rbs
[edit]
[-] substitution.rbs
[edit]
[+]
prototype
[-] validator.rbs
[edit]
[-] locator.rbs
[edit]
[+]
cli
[-] version.rbs
[edit]
[-] environment.rbs
[edit]
[-] builtin_names.rbs
[edit]
[-] directives.rbs
[edit]
[+]
unit_test
[-] method_types.rbs
[edit]
[-] file_finder.rbs
[edit]
[-] diff.rbs
[edit]
[-] annotation.rbs
[edit]
[-] errors.rbs
[edit]
[-] definition.rbs
[edit]
[-] definition_builder.rbs
[edit]
[-] parser.rbs
[edit]
[-] util.rbs
[edit]
[-] type_alias_regularity.rbs
[edit]
[+]
annotate
[-] factory.rbs
[edit]
[-] ancestor_graph.rbs
[edit]
[-] typename.rbs
[edit]
[+]
collection
[-] types.rbs
[edit]
[-] writer.rbs
[edit]
[+]
..
[-] visitor.rbs
[edit]
[-] type_alias_dependency.rbs
[edit]
[+]
test
[-] manifest.yaml
[edit]
[-] buffer.rbs
[edit]
[-] cli.rbs
[edit]
[-] location.rbs
[edit]
[-] namespace.rbs
[edit]
[-] use_map.rbs
[edit]
[+]
rdoc
[-] environment_walker.rbs
[edit]
[-] type_param.rbs
[edit]
[-] declarations.rbs
[edit]
[-] members.rbs
[edit]
[-] ancestor_builder.rbs
[edit]
[-] variance_calculator.rbs
[edit]
[-] constant.rbs
[edit]
[-] repository.rbs
[edit]
[+]
shims