rbs-inline 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/README.md +2 -2
 - data/lib/rbs/inline/ast/annotations.rb +21 -0
 - data/lib/rbs/inline/ast/comment_lines.rb +19 -2
 - data/lib/rbs/inline/ast/declarations.rb +4 -1
 - data/lib/rbs/inline/ast/members.rb +9 -26
 - data/lib/rbs/inline/ast/tree.rb +88 -4
 - data/lib/rbs/inline/node_utils.rb +4 -0
 - data/lib/rbs/inline/parser.rb +13 -1
 - data/lib/rbs/inline/version.rb +1 -1
 - data/lib/rbs/inline/writer.rb +81 -9
 - data/lib/rbs/inline.rb +3 -0
 - data/rbs_collection.lock.yaml +3 -7
 - data/rbs_collection.yaml +2 -0
 - data/sig/generated/rbs/inline/ast/annotations.rbs +2 -0
 - data/sig/{rbs → generated/rbs}/inline/ast/comment_lines.rbs +8 -4
 - data/sig/generated/rbs/inline/ast/declarations.rbs +4 -1
 - data/sig/generated/rbs/inline/ast/members.rbs +8 -10
 - data/sig/{rbs → generated/rbs}/inline/ast/tree.rbs +49 -21
 - data/sig/generated/rbs/inline/node_utils.rbs +11 -0
 - data/sig/generated/rbs/inline/parser.rbs +5 -2
 - data/sig/generated/rbs/inline/version.rbs +7 -0
 - data/sig/generated/rbs/inline/writer.rbs +72 -0
 - data/sig/generated/rbs/inline.rbs +7 -0
 - metadata +12 -14
 - data/sig/rbs/inline/annotation_parser.rbs +0 -0
 - data/sig/rbs/inline/node_utils.rbs +0 -7
 - data/sig/rbs/inline/writer.rbs +0 -27
 - data/sig/rbs/inline.rbs +0 -41
 - data/yard-samples/hello.rb +0 -6
 - data/yard-samples/sample1.rb +0 -26
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 713b2bd4c5ddd833fa1bd1a71505924081013101a8a41200a88fed55751146ba
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 44ffe7a91c0c0afeb7e163a02de508c50f96a609ae7c64593a6b739109ac11b0
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 6507f727be79bcae3890c8b8c3c3865544022058e44d5bfd060efb5df0c91e50f2b5e43a11f284c7ea3de1066bdd0ed7e269a14c20b45cc05cafa7ad60ecffb7
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: aad87cafa19657b4d4b055527924146cb232cd96c56081bcbb24c1e1b0ff2fc24a449bdfe2132a43c2e5f5ac2affca8d615d0946b135676979556eaca4887aec
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -80,12 +80,12 @@ The gem works as a transpiler from annotated Ruby code to RBS files. Run `rbs-in 
     | 
|
| 
       80 
80 
     | 
    
         
             
            $ bundle exec rbs-inline lib
         
     | 
| 
       81 
81 
     | 
    
         | 
| 
       82 
82 
     | 
    
         
             
            # Save generated RBS files under sig/generated
         
     | 
| 
       83 
     | 
    
         
            -
            $ bundle exec rbs-inline --output 
     | 
| 
      
 83 
     | 
    
         
            +
            $ bundle exec rbs-inline --output lib
         
     | 
| 
       84 
84 
     | 
    
         
             
            ```
         
     | 
| 
       85 
85 
     | 
    
         | 
| 
       86 
86 
     | 
    
         
             
            You may want to use `fswatch` or likes to automatically generate RBS files when you edit the Ruby code.
         
     | 
| 
       87 
87 
     | 
    
         | 
| 
       88 
     | 
    
         
            -
                $ fswatch -0 lib | xargs -0 -n1 bundle exec rbs-inline --output 
     | 
| 
      
 88 
     | 
    
         
            +
                $ fswatch -0 lib | xargs -0 -n1 bundle exec rbs-inline --output
         
     | 
| 
       89 
89 
     | 
    
         | 
| 
       90 
90 
     | 
    
         
             
            ## More materials
         
     | 
| 
       91 
91 
     | 
    
         | 
| 
         @@ -4,6 +4,27 @@ module RBS 
     | 
|
| 
       4 
4 
     | 
    
         
             
              module Inline
         
     | 
| 
       5 
5 
     | 
    
         
             
                module AST
         
     | 
| 
       6 
6 
     | 
    
         
             
                  module Annotations
         
     | 
| 
      
 7 
     | 
    
         
            +
                    # @rbs!
         
     | 
| 
      
 8 
     | 
    
         
            +
                    #   type t = VarType
         
     | 
| 
      
 9 
     | 
    
         
            +
                    #          | ReturnType
         
     | 
| 
      
 10 
     | 
    
         
            +
                    #          | Use
         
     | 
| 
      
 11 
     | 
    
         
            +
                    #          | Inherits
         
     | 
| 
      
 12 
     | 
    
         
            +
                    #          | Generic
         
     | 
| 
      
 13 
     | 
    
         
            +
                    #          | ModuleSelf
         
     | 
| 
      
 14 
     | 
    
         
            +
                    #          | Skip
         
     | 
| 
      
 15 
     | 
    
         
            +
                    #          | Assertion
         
     | 
| 
      
 16 
     | 
    
         
            +
                    #          | Application
         
     | 
| 
      
 17 
     | 
    
         
            +
                    #          | RBSAnnotation
         
     | 
| 
      
 18 
     | 
    
         
            +
                    #          | Override
         
     | 
| 
      
 19 
     | 
    
         
            +
                    #          | IvarType
         
     | 
| 
      
 20 
     | 
    
         
            +
                    #          | Yields
         
     | 
| 
      
 21 
     | 
    
         
            +
                    #          | Embedded
         
     | 
| 
      
 22 
     | 
    
         
            +
                    #        #  | Def
         
     | 
| 
      
 23 
     | 
    
         
            +
                    #        #  | AttrReader | AttrWriter | AttrAccessor
         
     | 
| 
      
 24 
     | 
    
         
            +
                    #        #  | Include | Extend | Prepend
         
     | 
| 
      
 25 
     | 
    
         
            +
                    #        #  | Alias
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
       7 
28 
     | 
    
         
             
                    class Base
         
     | 
| 
       8 
29 
     | 
    
         
             
                      attr_reader :source #:: CommentLines
         
     | 
| 
       9 
30 
     | 
    
         
             
                      attr_reader :tree #:: Tree
         
     | 
| 
         @@ -1,9 +1,24 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # rbs_inline: enabled
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            module RBS
         
     | 
| 
       2 
4 
     | 
    
         
             
              module Inline
         
     | 
| 
       3 
5 
     | 
    
         
             
                module AST
         
     | 
| 
      
 6 
     | 
    
         
            +
                  # CommentLines represents consecutive comments
         
     | 
| 
      
 7 
     | 
    
         
            +
                  #
         
     | 
| 
      
 8 
     | 
    
         
            +
                  # The comments construct one String.
         
     | 
| 
      
 9 
     | 
    
         
            +
                  #
         
     | 
| 
      
 10 
     | 
    
         
            +
                  # ```ruby
         
     | 
| 
      
 11 
     | 
    
         
            +
                  # # Hello       <-- Comment1
         
     | 
| 
      
 12 
     | 
    
         
            +
                  # # World       <-- Comment2
         
     | 
| 
      
 13 
     | 
    
         
            +
                  # ```
         
     | 
| 
      
 14 
     | 
    
         
            +
                  #
         
     | 
| 
      
 15 
     | 
    
         
            +
                  # We want to get a String of comment1 and comment2, `"Hello\nWorld".
         
     | 
| 
      
 16 
     | 
    
         
            +
                  # And want to translate a location in the string into the location in comment1 and comment2.
         
     | 
| 
      
 17 
     | 
    
         
            +
                  #
         
     | 
| 
       4 
18 
     | 
    
         
             
                  class CommentLines
         
     | 
| 
       5 
     | 
    
         
            -
                    attr_reader :comments
         
     | 
| 
      
 19 
     | 
    
         
            +
                    attr_reader :comments #:: Array[[Prism::Comment, Integer]]
         
     | 
| 
       6 
20 
     | 
    
         | 
| 
      
 21 
     | 
    
         
            +
                    # @rbs comments: Array[Prism::Comment]
         
     | 
| 
       7 
22 
     | 
    
         
             
                    def initialize(comments)
         
     | 
| 
       8 
23 
     | 
    
         
             
                      offsets = comments.map do |comment|
         
     | 
| 
       9 
24 
     | 
    
         
             
                        comment.location.slice.index(/[^#\s]/) || 1
         
     | 
| 
         @@ -18,10 +33,12 @@ module RBS 
     | 
|
| 
       18 
33 
     | 
    
         
             
                      end
         
     | 
| 
       19 
34 
     | 
    
         
             
                    end
         
     | 
| 
       20 
35 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
                    def string
         
     | 
| 
      
 36 
     | 
    
         
            +
                    def string #:: String
         
     | 
| 
       22 
37 
     | 
    
         
             
                      comments.map {|comment, offset| comment.location.slice[offset..] }.join("\n")
         
     | 
| 
       23 
38 
     | 
    
         
             
                    end
         
     | 
| 
       24 
39 
     | 
    
         | 
| 
      
 40 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 41 
     | 
    
         
            +
                    # @rbs returns [Prism::Comment, Integer]?
         
     | 
| 
       25 
42 
     | 
    
         
             
                    def comment_location(index)
         
     | 
| 
       26 
43 
     | 
    
         
             
                      comments.each do |comment, offset|
         
     | 
| 
       27 
44 
     | 
    
         
             
                        comment_length = comment.location.length
         
     | 
| 
         @@ -15,7 +15,7 @@ module RBS 
     | 
|
| 
       15 
15 
     | 
    
         
             
                      end
         
     | 
| 
       16 
16 
     | 
    
         
             
                    end
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
     | 
    
         
            -
                    # @rbs! type t = ClassDecl | ModuleDecl | ConstantDecl
         
     | 
| 
      
 18 
     | 
    
         
            +
                    # @rbs! type t = ClassDecl | ModuleDecl | ConstantDecl | SingletonClassDecl
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         
             
                    # @rbs!
         
     | 
| 
       21 
21 
     | 
    
         
             
                    #  interface _WithComments
         
     | 
| 
         @@ -227,6 +227,9 @@ module RBS 
     | 
|
| 
       227 
227 
     | 
    
         
             
                        node.location.start_line
         
     | 
| 
       228 
228 
     | 
    
         
             
                      end
         
     | 
| 
       229 
229 
     | 
    
         
             
                    end
         
     | 
| 
      
 230 
     | 
    
         
            +
             
     | 
| 
      
 231 
     | 
    
         
            +
                    class SingletonClassDecl < ModuleOrClass #[Prism::SingletonClassNode]
         
     | 
| 
      
 232 
     | 
    
         
            +
                    end
         
     | 
| 
       230 
233 
     | 
    
         
             
                  end
         
     | 
| 
       231 
234 
     | 
    
         
             
                end
         
     | 
| 
       232 
235 
     | 
    
         
             
              end
         
     | 
| 
         @@ -4,6 +4,11 @@ module RBS 
     | 
|
| 
       4 
4 
     | 
    
         
             
              module Inline
         
     | 
| 
       5 
5 
     | 
    
         
             
                module AST
         
     | 
| 
       6 
6 
     | 
    
         
             
                  module Members
         
     | 
| 
      
 7 
     | 
    
         
            +
                    # @rbs!
         
     | 
| 
      
 8 
     | 
    
         
            +
                    #   type ruby = RubyDef | RubyAlias | RubyMixin | RubyAttr | RubyPublic | RubyPrivate
         
     | 
| 
      
 9 
     | 
    
         
            +
                    #   type rbs = RBSIvar | RBSEmbedded
         
     | 
| 
      
 10 
     | 
    
         
            +
                    #   type t = ruby | rbs
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
       7 
12 
     | 
    
         
             
                    class Base
         
     | 
| 
       8 
13 
     | 
    
         
             
                      attr_reader :location #:: Prism::Location
         
     | 
| 
       9 
14 
     | 
    
         | 
| 
         @@ -64,27 +69,6 @@ module RBS 
     | 
|
| 
       64 
69 
     | 
    
         
             
                        end
         
     | 
| 
       65 
70 
     | 
    
         
             
                      end
         
     | 
| 
       66 
71 
     | 
    
         | 
| 
       67 
     | 
    
         
            -
                      # Returns the `kind` of the method definition
         
     | 
| 
       68 
     | 
    
         
            -
                      #
         
     | 
| 
       69 
     | 
    
         
            -
                      # [FIXME] It only supports `self` receiver.
         
     | 
| 
       70 
     | 
    
         
            -
                      #
         
     | 
| 
       71 
     | 
    
         
            -
                      # ```rb
         
     | 
| 
       72 
     | 
    
         
            -
                      # def self.foo = ()    # :singleton
         
     | 
| 
       73 
     | 
    
         
            -
                      # def object.foo = ()  # Not supported (returns :instance)
         
     | 
| 
       74 
     | 
    
         
            -
                      # ```
         
     | 
| 
       75 
     | 
    
         
            -
                      #
         
     | 
| 
       76 
     | 
    
         
            -
                      def method_kind #:: RBS::AST::Members::MethodDefinition::kind
         
     | 
| 
       77 
     | 
    
         
            -
                        # FIXME: really hacky implementation
         
     | 
| 
       78 
     | 
    
         
            -
                        case node.receiver
         
     | 
| 
       79 
     | 
    
         
            -
                        when Prism::SelfNode
         
     | 
| 
       80 
     | 
    
         
            -
                          :singleton
         
     | 
| 
       81 
     | 
    
         
            -
                        when nil
         
     | 
| 
       82 
     | 
    
         
            -
                          :instance
         
     | 
| 
       83 
     | 
    
         
            -
                        else
         
     | 
| 
       84 
     | 
    
         
            -
                          :instance
         
     | 
| 
       85 
     | 
    
         
            -
                        end
         
     | 
| 
       86 
     | 
    
         
            -
                      end
         
     | 
| 
       87 
     | 
    
         
            -
             
     | 
| 
       88 
72 
     | 
    
         
             
                      def return_type #:: Types::t?
         
     | 
| 
       89 
73 
     | 
    
         
             
                        if assertion
         
     | 
| 
       90 
74 
     | 
    
         
             
                          if assertion.type?
         
     | 
| 
         @@ -341,6 +325,8 @@ module RBS 
     | 
|
| 
       341 
325 
     | 
    
         
             
                    end
         
     | 
| 
       342 
326 
     | 
    
         | 
| 
       343 
327 
     | 
    
         
             
                    class RubyMixin < RubyBase
         
     | 
| 
      
 328 
     | 
    
         
            +
                      include Declarations::ConstantUtil
         
     | 
| 
      
 329 
     | 
    
         
            +
             
     | 
| 
       344 
330 
     | 
    
         
             
                      # CallNode that calls `include`, `prepend`, and `extend` method
         
     | 
| 
       345 
331 
     | 
    
         
             
                      attr_reader :node #:: Prism::CallNode
         
     | 
| 
       346 
332 
     | 
    
         | 
| 
         @@ -371,11 +357,8 @@ module RBS 
     | 
|
| 
       371 
357 
     | 
    
         
             
                        return unless node.arguments.arguments.size == 1
         
     | 
| 
       372 
358 
     | 
    
         | 
| 
       373 
359 
     | 
    
         
             
                        arg = node.arguments.arguments[0] || raise
         
     | 
| 
       374 
     | 
    
         
            -
                         
     | 
| 
       375 
     | 
    
         
            -
             
     | 
| 
       376 
     | 
    
         
            -
                        else
         
     | 
| 
       377 
     | 
    
         
            -
                          raise
         
     | 
| 
       378 
     | 
    
         
            -
                        end
         
     | 
| 
      
 360 
     | 
    
         
            +
                        type_name = type_name(arg)
         
     | 
| 
      
 361 
     | 
    
         
            +
                        return unless type_name
         
     | 
| 
       379 
362 
     | 
    
         | 
| 
       380 
363 
     | 
    
         
             
                        args = [] #: Array[Types::t]
         
     | 
| 
       381 
364 
     | 
    
         
             
                        if application
         
     | 
    
        data/lib/rbs/inline/ast/tree.rb
    CHANGED
    
    | 
         @@ -1,17 +1,28 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # rbs_inline: enabled
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            module RBS
         
     | 
| 
       2 
4 
     | 
    
         
             
              module Inline
         
     | 
| 
       3 
5 
     | 
    
         
             
                module AST
         
     | 
| 
       4 
6 
     | 
    
         
             
                  class Tree
         
     | 
| 
       5 
     | 
    
         
            -
                     
     | 
| 
       6 
     | 
    
         
            -
                     
     | 
| 
       7 
     | 
    
         
            -
                     
     | 
| 
      
 7 
     | 
    
         
            +
                    # @rbs!
         
     | 
| 
      
 8 
     | 
    
         
            +
                    #   type token = [Symbol, String]
         
     | 
| 
      
 9 
     | 
    
         
            +
                    #   type tree = token | Tree | Types::t | MethodType | nil
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                    attr_reader :trees #:: Array[tree]
         
     | 
| 
      
 12 
     | 
    
         
            +
                    attr_reader :type #:: Symbol
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                    # Children but without `tWHITESPACE` tokens
         
     | 
| 
      
 15 
     | 
    
         
            +
                    attr_reader :non_trivia_trees #:: Array[tree]
         
     | 
| 
       8 
16 
     | 
    
         | 
| 
      
 17 
     | 
    
         
            +
                    # @rbs type: Symbol
         
     | 
| 
       9 
18 
     | 
    
         
             
                    def initialize(type)
         
     | 
| 
       10 
19 
     | 
    
         
             
                      @type = type
         
     | 
| 
       11 
20 
     | 
    
         
             
                      @trees = []
         
     | 
| 
       12 
21 
     | 
    
         
             
                      @non_trivia_trees = []
         
     | 
| 
       13 
22 
     | 
    
         
             
                    end
         
     | 
| 
       14 
23 
     | 
    
         | 
| 
      
 24 
     | 
    
         
            +
                    # @rbs tok: tree
         
     | 
| 
      
 25 
     | 
    
         
            +
                    # @rbs returns self
         
     | 
| 
       15 
26 
     | 
    
         
             
                    def <<(tok)
         
     | 
| 
       16 
27 
     | 
    
         
             
                      trees << tok
         
     | 
| 
       17 
28 
     | 
    
         
             
                      unless tok.is_a?(Array) && tok[0] == :tWHITESPACE
         
     | 
| 
         @@ -20,7 +31,8 @@ module RBS 
     | 
|
| 
       20 
31 
     | 
    
         
             
                      self
         
     | 
| 
       21 
32 
     | 
    
         
             
                    end
         
     | 
| 
       22 
33 
     | 
    
         | 
| 
       23 
     | 
    
         
            -
                     
     | 
| 
      
 34 
     | 
    
         
            +
                    # Returns the source code associated to the tree
         
     | 
| 
      
 35 
     | 
    
         
            +
                    def to_s #:: String
         
     | 
| 
       24 
36 
     | 
    
         
             
                      buf = +""
         
     | 
| 
       25 
37 
     | 
    
         | 
| 
       26 
38 
     | 
    
         
             
                      trees.each do |tree|
         
     | 
| 
         @@ -39,6 +51,12 @@ module RBS 
     | 
|
| 
       39 
51 
     | 
    
         
             
                      buf
         
     | 
| 
       40 
52 
     | 
    
         
             
                    end
         
     | 
| 
       41 
53 
     | 
    
         | 
| 
      
 54 
     | 
    
         
            +
                    # Returns n-th token from the children
         
     | 
| 
      
 55 
     | 
    
         
            +
                    #
         
     | 
| 
      
 56 
     | 
    
         
            +
                    # Raises if the value is not a token or nil.
         
     | 
| 
      
 57 
     | 
    
         
            +
                    #
         
     | 
| 
      
 58 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 59 
     | 
    
         
            +
                    # @rbs returns token?
         
     | 
| 
       42 
60 
     | 
    
         
             
                    def nth_token(index)
         
     | 
| 
       43 
61 
     | 
    
         
             
                      tok = non_trivia_trees[index]
         
     | 
| 
       44 
62 
     | 
    
         
             
                      case tok
         
     | 
| 
         @@ -49,6 +67,12 @@ module RBS 
     | 
|
| 
       49 
67 
     | 
    
         
             
                      end
         
     | 
| 
       50 
68 
     | 
    
         
             
                    end
         
     | 
| 
       51 
69 
     | 
    
         | 
| 
      
 70 
     | 
    
         
            +
                    # Returns n-th token from the children
         
     | 
| 
      
 71 
     | 
    
         
            +
                    #
         
     | 
| 
      
 72 
     | 
    
         
            +
                    # Returns `nil` if the value is not a token.
         
     | 
| 
      
 73 
     | 
    
         
            +
                    #
         
     | 
| 
      
 74 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 75 
     | 
    
         
            +
                    # @rbs returns token?
         
     | 
| 
       52 
76 
     | 
    
         
             
                    def nth_token?(index)
         
     | 
| 
       53 
77 
     | 
    
         
             
                      tok = non_trivia_trees[index]
         
     | 
| 
       54 
78 
     | 
    
         
             
                      case tok
         
     | 
| 
         @@ -59,10 +83,22 @@ module RBS 
     | 
|
| 
       59 
83 
     | 
    
         
             
                      end
         
     | 
| 
       60 
84 
     | 
    
         
             
                    end
         
     | 
| 
       61 
85 
     | 
    
         | 
| 
      
 86 
     | 
    
         
            +
                    # Returns n-th token from the children
         
     | 
| 
      
 87 
     | 
    
         
            +
                    #
         
     | 
| 
      
 88 
     | 
    
         
            +
                    # Raises if the value is not token.
         
     | 
| 
      
 89 
     | 
    
         
            +
                    #
         
     | 
| 
      
 90 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 91 
     | 
    
         
            +
                    # @rbs returns token
         
     | 
| 
       62 
92 
     | 
    
         
             
                    def nth_token!(index)
         
     | 
| 
       63 
93 
     | 
    
         
             
                      nth_token(index) || raise
         
     | 
| 
       64 
94 
     | 
    
         
             
                    end
         
     | 
| 
       65 
95 
     | 
    
         | 
| 
      
 96 
     | 
    
         
            +
                    # Returns n-th tree from the children
         
     | 
| 
      
 97 
     | 
    
         
            +
                    #
         
     | 
| 
      
 98 
     | 
    
         
            +
                    # Raises if the value is not a tree or nil.
         
     | 
| 
      
 99 
     | 
    
         
            +
                    #
         
     | 
| 
      
 100 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 101 
     | 
    
         
            +
                    # @rbs returns Tree?
         
     | 
| 
       66 
102 
     | 
    
         
             
                    def nth_tree(index)
         
     | 
| 
       67 
103 
     | 
    
         
             
                      tok = non_trivia_trees[index]
         
     | 
| 
       68 
104 
     | 
    
         
             
                      case tok
         
     | 
| 
         @@ -73,6 +109,12 @@ module RBS 
     | 
|
| 
       73 
109 
     | 
    
         
             
                      end
         
     | 
| 
       74 
110 
     | 
    
         
             
                    end
         
     | 
| 
       75 
111 
     | 
    
         | 
| 
      
 112 
     | 
    
         
            +
                    # Returns n-th tree from the children
         
     | 
| 
      
 113 
     | 
    
         
            +
                    #
         
     | 
| 
      
 114 
     | 
    
         
            +
                    # Returns `nil` if the value is not a tree or nil.
         
     | 
| 
      
 115 
     | 
    
         
            +
                    #
         
     | 
| 
      
 116 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 117 
     | 
    
         
            +
                    # @rbs returns Tree?
         
     | 
| 
       76 
118 
     | 
    
         
             
                    def nth_tree?(index)
         
     | 
| 
       77 
119 
     | 
    
         
             
                      tok = non_trivia_trees[index]
         
     | 
| 
       78 
120 
     | 
    
         
             
                      case tok
         
     | 
| 
         @@ -83,11 +125,23 @@ module RBS 
     | 
|
| 
       83 
125 
     | 
    
         
             
                      end
         
     | 
| 
       84 
126 
     | 
    
         
             
                    end
         
     | 
| 
       85 
127 
     | 
    
         | 
| 
      
 128 
     | 
    
         
            +
                    # Returns n-th tree from the children
         
     | 
| 
      
 129 
     | 
    
         
            +
                    #
         
     | 
| 
      
 130 
     | 
    
         
            +
                    # Raises if the value is not a tree.
         
     | 
| 
      
 131 
     | 
    
         
            +
                    #
         
     | 
| 
      
 132 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 133 
     | 
    
         
            +
                    # @rbs returns Tree
         
     | 
| 
       86 
134 
     | 
    
         
             
                    def nth_tree!(index)
         
     | 
| 
       87 
135 
     | 
    
         
             
                      nth_tree(index) || raise
         
     | 
| 
       88 
136 
     | 
    
         
             
                    end
         
     | 
| 
       89 
137 
     | 
    
         | 
| 
       90 
138 
     | 
    
         | 
| 
      
 139 
     | 
    
         
            +
                    # Returns n-th type from the children
         
     | 
| 
      
 140 
     | 
    
         
            +
                    #
         
     | 
| 
      
 141 
     | 
    
         
            +
                    # Raises if the value is not a type or nil.
         
     | 
| 
      
 142 
     | 
    
         
            +
                    #
         
     | 
| 
      
 143 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 144 
     | 
    
         
            +
                    # @rbs returns Types::t?
         
     | 
| 
       91 
145 
     | 
    
         
             
                    def nth_type(index)
         
     | 
| 
       92 
146 
     | 
    
         
             
                      tok = non_trivia_trees[index]
         
     | 
| 
       93 
147 
     | 
    
         
             
                      case tok
         
     | 
| 
         @@ -98,6 +152,12 @@ module RBS 
     | 
|
| 
       98 
152 
     | 
    
         
             
                      end
         
     | 
| 
       99 
153 
     | 
    
         
             
                    end
         
     | 
| 
       100 
154 
     | 
    
         | 
| 
      
 155 
     | 
    
         
            +
                    # Returns n-th type from the children
         
     | 
| 
      
 156 
     | 
    
         
            +
                    #
         
     | 
| 
      
 157 
     | 
    
         
            +
                    # Returns `nil` if the value is not a type.
         
     | 
| 
      
 158 
     | 
    
         
            +
                    #
         
     | 
| 
      
 159 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 160 
     | 
    
         
            +
                    # @rbs returns Types::t?
         
     | 
| 
       101 
161 
     | 
    
         
             
                    def nth_type?(index)
         
     | 
| 
       102 
162 
     | 
    
         
             
                      tok = non_trivia_trees[index]
         
     | 
| 
       103 
163 
     | 
    
         
             
                      case tok
         
     | 
| 
         @@ -108,10 +168,22 @@ module RBS 
     | 
|
| 
       108 
168 
     | 
    
         
             
                      end
         
     | 
| 
       109 
169 
     | 
    
         
             
                    end
         
     | 
| 
       110 
170 
     | 
    
         | 
| 
      
 171 
     | 
    
         
            +
                    # Returns n-th type from the children
         
     | 
| 
      
 172 
     | 
    
         
            +
                    #
         
     | 
| 
      
 173 
     | 
    
         
            +
                    # Raises if the value is not a type.
         
     | 
| 
      
 174 
     | 
    
         
            +
                    #
         
     | 
| 
      
 175 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 176 
     | 
    
         
            +
                    # @rbs returns Types::t
         
     | 
| 
       111 
177 
     | 
    
         
             
                    def nth_type!(index)
         
     | 
| 
       112 
178 
     | 
    
         
             
                      nth_type(index) || raise
         
     | 
| 
       113 
179 
     | 
    
         
             
                    end
         
     | 
| 
       114 
180 
     | 
    
         | 
| 
      
 181 
     | 
    
         
            +
                    # Returns n-th method type from the children
         
     | 
| 
      
 182 
     | 
    
         
            +
                    #
         
     | 
| 
      
 183 
     | 
    
         
            +
                    # Raises if the value is not a method type or `nil`.
         
     | 
| 
      
 184 
     | 
    
         
            +
                    #
         
     | 
| 
      
 185 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 186 
     | 
    
         
            +
                    # @rbs returns MethodType?
         
     | 
| 
       115 
187 
     | 
    
         
             
                    def nth_method_type(index)
         
     | 
| 
       116 
188 
     | 
    
         
             
                      tok = non_trivia_trees[index]
         
     | 
| 
       117 
189 
     | 
    
         
             
                      case tok
         
     | 
| 
         @@ -122,6 +194,12 @@ module RBS 
     | 
|
| 
       122 
194 
     | 
    
         
             
                      end
         
     | 
| 
       123 
195 
     | 
    
         
             
                    end
         
     | 
| 
       124 
196 
     | 
    
         | 
| 
      
 197 
     | 
    
         
            +
                    # Returns n-th method type from the children
         
     | 
| 
      
 198 
     | 
    
         
            +
                    #
         
     | 
| 
      
 199 
     | 
    
         
            +
                    # Returns `nil` if the value is not a method type.
         
     | 
| 
      
 200 
     | 
    
         
            +
                    #
         
     | 
| 
      
 201 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 202 
     | 
    
         
            +
                    # @rbs returns MethodType?
         
     | 
| 
       125 
203 
     | 
    
         
             
                    def nth_method_type?(index)
         
     | 
| 
       126 
204 
     | 
    
         
             
                      tok = non_trivia_trees[index]
         
     | 
| 
       127 
205 
     | 
    
         
             
                      case tok
         
     | 
| 
         @@ -132,6 +210,12 @@ module RBS 
     | 
|
| 
       132 
210 
     | 
    
         
             
                      end
         
     | 
| 
       133 
211 
     | 
    
         
             
                    end
         
     | 
| 
       134 
212 
     | 
    
         | 
| 
      
 213 
     | 
    
         
            +
                    # Returns n-th method tree from the children
         
     | 
| 
      
 214 
     | 
    
         
            +
                    #
         
     | 
| 
      
 215 
     | 
    
         
            +
                    # Raises if the value is not a method tree.
         
     | 
| 
      
 216 
     | 
    
         
            +
                    #
         
     | 
| 
      
 217 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 218 
     | 
    
         
            +
                    # @rbs returns MethodType
         
     | 
| 
       135 
219 
     | 
    
         
             
                    def nth_method_type!(index)
         
     | 
| 
       136 
220 
     | 
    
         
             
                      nth_method_type(index) || raise
         
     | 
| 
       137 
221 
     | 
    
         
             
                    end
         
     | 
    
        data/lib/rbs/inline/parser.rb
    CHANGED
    
    | 
         @@ -86,7 +86,7 @@ module RBS 
     | 
|
| 
       86 
86 
     | 
    
         
             
                    current_class_module_decl or raise
         
     | 
| 
       87 
87 
     | 
    
         
             
                  end
         
     | 
| 
       88 
88 
     | 
    
         | 
| 
       89 
     | 
    
         
            -
                  #:: (AST::Declarations::ModuleDecl | AST::Declarations::ClassDecl) { () -> void } -> void
         
     | 
| 
      
 89 
     | 
    
         
            +
                  #:: (AST::Declarations::ModuleDecl | AST::Declarations::ClassDecl | AST::Declarations::SingletonClassDecl) { () -> void } -> void
         
     | 
| 
       90 
90 
     | 
    
         
             
                  #:: (AST::Declarations::ConstantDecl) -> void
         
     | 
| 
       91 
91 
     | 
    
         
             
                  def push_class_module_decl(decl)
         
     | 
| 
       92 
92 
     | 
    
         
             
                    if current = current_class_module_decl
         
     | 
| 
         @@ -152,6 +152,18 @@ module RBS 
     | 
|
| 
       152 
152 
     | 
    
         
             
                    load_inner_annotations(node.location.start_line, node.location.end_line, class_decl.members)
         
     | 
| 
       153 
153 
     | 
    
         
             
                  end
         
     | 
| 
       154 
154 
     | 
    
         | 
| 
      
 155 
     | 
    
         
            +
                  # @rbs override
         
     | 
| 
      
 156 
     | 
    
         
            +
                  def visit_singleton_class_node(node)
         
     | 
| 
      
 157 
     | 
    
         
            +
                    return if ignored_node?(node)
         
     | 
| 
      
 158 
     | 
    
         
            +
             
     | 
| 
      
 159 
     | 
    
         
            +
                    associated_comment = comments.delete(node.location.start_line - 1)
         
     | 
| 
      
 160 
     | 
    
         
            +
                    singleton_decl = AST::Declarations::SingletonClassDecl.new(node, associated_comment)
         
     | 
| 
      
 161 
     | 
    
         
            +
             
     | 
| 
      
 162 
     | 
    
         
            +
                    push_class_module_decl(singleton_decl) do
         
     | 
| 
      
 163 
     | 
    
         
            +
                      visit node.body
         
     | 
| 
      
 164 
     | 
    
         
            +
                    end
         
     | 
| 
      
 165 
     | 
    
         
            +
                  end
         
     | 
| 
      
 166 
     | 
    
         
            +
             
     | 
| 
       155 
167 
     | 
    
         
             
                  # @rbs override
         
     | 
| 
       156 
168 
     | 
    
         
             
                  def visit_module_node(node)
         
     | 
| 
       157 
169 
     | 
    
         
             
                    return if ignored_node?(node)
         
     | 
    
        data/lib/rbs/inline/version.rb
    CHANGED
    
    
    
        data/lib/rbs/inline/writer.rb
    CHANGED
    
    | 
         @@ -1,20 +1,27 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # rbs_inline: enabled
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            module RBS
         
     | 
| 
       2 
4 
     | 
    
         
             
              module Inline
         
     | 
| 
       3 
5 
     | 
    
         
             
                class Writer
         
     | 
| 
       4 
     | 
    
         
            -
                  attr_reader :output
         
     | 
| 
       5 
     | 
    
         
            -
                  attr_reader :writer
         
     | 
| 
      
 6 
     | 
    
         
            +
                  attr_reader :output #:: String
         
     | 
| 
      
 7 
     | 
    
         
            +
                  attr_reader :writer #:: RBS::Writer
         
     | 
| 
       6 
8 
     | 
    
         | 
| 
      
 9 
     | 
    
         
            +
                  # @rbs buffer: String
         
     | 
| 
       7 
10 
     | 
    
         
             
                  def initialize(buffer = +"")
         
     | 
| 
       8 
11 
     | 
    
         
             
                    @output = buffer
         
     | 
| 
       9 
12 
     | 
    
         
             
                    @writer = RBS::Writer.new(out: StringIO.new(buffer))
         
     | 
| 
       10 
13 
     | 
    
         
             
                  end
         
     | 
| 
       11 
14 
     | 
    
         | 
| 
      
 15 
     | 
    
         
            +
                  # @rbs uses: Array[AST::Annotations::Use]
         
     | 
| 
      
 16 
     | 
    
         
            +
                  # @rbs decls: Array[AST::Declarations::t]
         
     | 
| 
       12 
17 
     | 
    
         
             
                  def self.write(uses, decls)
         
     | 
| 
       13 
18 
     | 
    
         
             
                    writer = Writer.new()
         
     | 
| 
       14 
19 
     | 
    
         
             
                    writer.write(uses, decls)
         
     | 
| 
       15 
20 
     | 
    
         
             
                    writer.output
         
     | 
| 
       16 
21 
     | 
    
         
             
                  end
         
     | 
| 
       17 
22 
     | 
    
         | 
| 
      
 23 
     | 
    
         
            +
                  # @rbs lines: Array[String]
         
     | 
| 
      
 24 
     | 
    
         
            +
                  # @rbs returns void
         
     | 
| 
       18 
25 
     | 
    
         
             
                  def header(*lines)
         
     | 
| 
       19 
26 
     | 
    
         
             
                    lines.each do |line|
         
     | 
| 
       20 
27 
     | 
    
         
             
                      writer.out.puts("# " + line)
         
     | 
| 
         @@ -22,6 +29,9 @@ module RBS 
     | 
|
| 
       22 
29 
     | 
    
         
             
                    writer.out.puts
         
     | 
| 
       23 
30 
     | 
    
         
             
                  end
         
     | 
| 
       24 
31 
     | 
    
         | 
| 
      
 32 
     | 
    
         
            +
                  # @rbs uses: Array[AST::Annotations::Use]
         
     | 
| 
      
 33 
     | 
    
         
            +
                  # @rbs decls: Array[AST::Declarations::t]
         
     | 
| 
      
 34 
     | 
    
         
            +
                  # @rbs returns void
         
     | 
| 
       25 
35 
     | 
    
         
             
                  def write(uses, decls)
         
     | 
| 
       26 
36 
     | 
    
         
             
                    use_dirs = uses.map do |use|
         
     | 
| 
       27 
37 
     | 
    
         
             
                      RBS::AST::Directives::Use.new(
         
     | 
| 
         @@ -37,6 +47,8 @@ module RBS 
     | 
|
| 
       37 
47 
     | 
    
         
             
                    writer.write(use_dirs + rbs)
         
     | 
| 
       38 
48 
     | 
    
         
             
                  end
         
     | 
| 
       39 
49 
     | 
    
         | 
| 
      
 50 
     | 
    
         
            +
                  # @rbs decl: AST::Declarations::t
         
     | 
| 
      
 51 
     | 
    
         
            +
                  # @rbs returns RBS::AST::Declarations::t?
         
     | 
| 
       40 
52 
     | 
    
         
             
                  def translate_decl(decl)
         
     | 
| 
       41 
53 
     | 
    
         
             
                    case decl
         
     | 
| 
       42 
54 
     | 
    
         
             
                    when AST::Declarations::ClassDecl
         
     | 
| 
         @@ -48,6 +60,8 @@ module RBS 
     | 
|
| 
       48 
60 
     | 
    
         
             
                    end
         
     | 
| 
       49 
61 
     | 
    
         
             
                  end
         
     | 
| 
       50 
62 
     | 
    
         | 
| 
      
 63 
     | 
    
         
            +
                  # @rbs decl: AST::Declarations::ClassDecl
         
     | 
| 
      
 64 
     | 
    
         
            +
                  # @rbs returns RBS::AST::Declarations::Class?
         
     | 
| 
       51 
65 
     | 
    
         
             
                  def translate_class_decl(decl)
         
     | 
| 
       52 
66 
     | 
    
         
             
                    return unless decl.class_name
         
     | 
| 
       53 
67 
     | 
    
         | 
| 
         @@ -59,12 +73,14 @@ module RBS 
     | 
|
| 
       59 
73 
     | 
    
         | 
| 
       60 
74 
     | 
    
         
             
                    decl.members.each do |member|
         
     | 
| 
       61 
75 
     | 
    
         
             
                      if member.is_a?(AST::Members::Base)
         
     | 
| 
       62 
     | 
    
         
            -
                        if rbs_member = translate_member(member)
         
     | 
| 
      
 76 
     | 
    
         
            +
                        if rbs_member = translate_member(member, decl)
         
     | 
| 
       63 
77 
     | 
    
         
             
                          members.concat rbs_member
         
     | 
| 
       64 
78 
     | 
    
         
             
                        end
         
     | 
| 
       65 
79 
     | 
    
         
             
                      end
         
     | 
| 
       66 
80 
     | 
    
         | 
| 
       67 
     | 
    
         
            -
                      if member.is_a?(AST::Declarations:: 
     | 
| 
      
 81 
     | 
    
         
            +
                      if member.is_a?(AST::Declarations::SingletonClassDecl)
         
     | 
| 
      
 82 
     | 
    
         
            +
                        members.concat translate_singleton_decl(member)
         
     | 
| 
      
 83 
     | 
    
         
            +
                      elsif member.is_a?(AST::Declarations::Base)
         
     | 
| 
       68 
84 
     | 
    
         
             
                        if rbs = translate_decl(member)
         
     | 
| 
       69 
85 
     | 
    
         
             
                          members << rbs
         
     | 
| 
       70 
86 
     | 
    
         
             
                        end
         
     | 
| 
         @@ -82,6 +98,8 @@ module RBS 
     | 
|
| 
       82 
98 
     | 
    
         
             
                    )
         
     | 
| 
       83 
99 
     | 
    
         
             
                  end
         
     | 
| 
       84 
100 
     | 
    
         | 
| 
      
 101 
     | 
    
         
            +
                  # @rbs decl: AST::Declarations::ModuleDecl
         
     | 
| 
      
 102 
     | 
    
         
            +
                  # @rbs returns RBS::AST::Declarations::Module?
         
     | 
| 
       85 
103 
     | 
    
         
             
                  def translate_module_decl(decl)
         
     | 
| 
       86 
104 
     | 
    
         
             
                    return unless decl.module_name
         
     | 
| 
       87 
105 
     | 
    
         | 
| 
         @@ -93,12 +111,14 @@ module RBS 
     | 
|
| 
       93 
111 
     | 
    
         | 
| 
       94 
112 
     | 
    
         
             
                    decl.members.each do |member|
         
     | 
| 
       95 
113 
     | 
    
         
             
                      if member.is_a?(AST::Members::Base)
         
     | 
| 
       96 
     | 
    
         
            -
                        if rbs_member = translate_member(member)
         
     | 
| 
      
 114 
     | 
    
         
            +
                        if rbs_member = translate_member(member, decl)
         
     | 
| 
       97 
115 
     | 
    
         
             
                          members.concat rbs_member
         
     | 
| 
       98 
116 
     | 
    
         
             
                        end
         
     | 
| 
       99 
117 
     | 
    
         
             
                      end
         
     | 
| 
       100 
118 
     | 
    
         | 
| 
       101 
     | 
    
         
            -
                      if member.is_a?(AST::Declarations:: 
     | 
| 
      
 119 
     | 
    
         
            +
                      if member.is_a?(AST::Declarations::SingletonClassDecl)
         
     | 
| 
      
 120 
     | 
    
         
            +
                        members.concat translate_singleton_decl(member)
         
     | 
| 
      
 121 
     | 
    
         
            +
                      elsif member.is_a?(AST::Declarations::Base)
         
     | 
| 
       102 
122 
     | 
    
         
             
                        if rbs = translate_decl(member)
         
     | 
| 
       103 
123 
     | 
    
         
             
                          members << rbs
         
     | 
| 
       104 
124 
     | 
    
         
             
                        end
         
     | 
| 
         @@ -118,6 +138,8 @@ module RBS 
     | 
|
| 
       118 
138 
     | 
    
         
             
                    )
         
     | 
| 
       119 
139 
     | 
    
         
             
                  end
         
     | 
| 
       120 
140 
     | 
    
         | 
| 
      
 141 
     | 
    
         
            +
                  # @rbs decl: AST::Declarations::ConstantDecl
         
     | 
| 
      
 142 
     | 
    
         
            +
                  # @rbs returns RBS::AST::Declarations::Constant?
         
     | 
| 
       121 
143 
     | 
    
         
             
                  def translate_constant_decl(decl)
         
     | 
| 
       122 
144 
     | 
    
         
             
                    return unless decl.constant_name
         
     | 
| 
       123 
145 
     | 
    
         | 
| 
         @@ -133,18 +155,39 @@ module RBS 
     | 
|
| 
       133 
155 
     | 
    
         
             
                    )
         
     | 
| 
       134 
156 
     | 
    
         
             
                  end
         
     | 
| 
       135 
157 
     | 
    
         | 
| 
       136 
     | 
    
         
            -
                   
     | 
| 
      
 158 
     | 
    
         
            +
                  # @rbs decl: AST::Declarations::SingletonClassDecl
         
     | 
| 
      
 159 
     | 
    
         
            +
                  # @rbs returns Array[RBS::AST::Members::t]
         
     | 
| 
      
 160 
     | 
    
         
            +
                  def translate_singleton_decl(decl)
         
     | 
| 
      
 161 
     | 
    
         
            +
                    members = []
         
     | 
| 
      
 162 
     | 
    
         
            +
             
     | 
| 
      
 163 
     | 
    
         
            +
                    decl.members.each do |member|
         
     | 
| 
      
 164 
     | 
    
         
            +
                      if member.is_a?(AST::Members::Base)
         
     | 
| 
      
 165 
     | 
    
         
            +
                        if rbs_member = translate_member(member, decl)
         
     | 
| 
      
 166 
     | 
    
         
            +
                          members.concat rbs_member
         
     | 
| 
      
 167 
     | 
    
         
            +
                        end
         
     | 
| 
      
 168 
     | 
    
         
            +
                      end
         
     | 
| 
      
 169 
     | 
    
         
            +
                    end
         
     | 
| 
      
 170 
     | 
    
         
            +
             
     | 
| 
      
 171 
     | 
    
         
            +
                    members
         
     | 
| 
      
 172 
     | 
    
         
            +
                  end
         
     | 
| 
      
 173 
     | 
    
         
            +
             
     | 
| 
      
 174 
     | 
    
         
            +
                  # @rbs member: AST::Members::t
         
     | 
| 
      
 175 
     | 
    
         
            +
                  # @rbs decl: AST::Declarations::ClassDecl | AST::Declarations::ModuleDecl | AST::Declarations::SingletonClassDecl
         
     | 
| 
      
 176 
     | 
    
         
            +
                  # @rbs returns Array[RBS::AST::Members::t | RBS::AST::Declarations::t]?
         
     | 
| 
      
 177 
     | 
    
         
            +
                  def translate_member(member, decl)
         
     | 
| 
       137 
178 
     | 
    
         
             
                    case member
         
     | 
| 
       138 
179 
     | 
    
         
             
                    when AST::Members::RubyDef
         
     | 
| 
       139 
180 
     | 
    
         
             
                      if member.comments
         
     | 
| 
       140 
181 
     | 
    
         
             
                        comment = RBS::AST::Comment.new(string: member.comments.content, location: nil)
         
     | 
| 
       141 
182 
     | 
    
         
             
                      end
         
     | 
| 
       142 
183 
     | 
    
         | 
| 
      
 184 
     | 
    
         
            +
                      kind = method_kind(member, decl)
         
     | 
| 
      
 185 
     | 
    
         
            +
             
     | 
| 
       143 
186 
     | 
    
         
             
                      if member.override_annotation
         
     | 
| 
       144 
187 
     | 
    
         
             
                        return [
         
     | 
| 
       145 
188 
     | 
    
         
             
                          RBS::AST::Members::MethodDefinition.new(
         
     | 
| 
       146 
189 
     | 
    
         
             
                            name: member.method_name,
         
     | 
| 
       147 
     | 
    
         
            -
                            kind:  
     | 
| 
      
 190 
     | 
    
         
            +
                            kind: kind,
         
     | 
| 
       148 
191 
     | 
    
         
             
                            overloads: [],
         
     | 
| 
       149 
192 
     | 
    
         
             
                            annotations: [],
         
     | 
| 
       150 
193 
     | 
    
         
             
                            location: nil,
         
     | 
| 
         @@ -158,7 +201,7 @@ module RBS 
     | 
|
| 
       158 
201 
     | 
    
         
             
                      [
         
     | 
| 
       159 
202 
     | 
    
         
             
                        RBS::AST::Members::MethodDefinition.new(
         
     | 
| 
       160 
203 
     | 
    
         
             
                          name: member.method_name,
         
     | 
| 
       161 
     | 
    
         
            -
                          kind:  
     | 
| 
      
 204 
     | 
    
         
            +
                          kind: kind,
         
     | 
| 
       162 
205 
     | 
    
         
             
                          overloads: member.method_overloads,
         
     | 
| 
       163 
206 
     | 
    
         
             
                          annotations: member.method_annotations,
         
     | 
| 
       164 
207 
     | 
    
         
             
                          location: nil,
         
     | 
| 
         @@ -205,6 +248,35 @@ module RBS 
     | 
|
| 
       205 
248 
     | 
    
         
             
                      end
         
     | 
| 
       206 
249 
     | 
    
         
             
                    end
         
     | 
| 
       207 
250 
     | 
    
         
             
                  end
         
     | 
| 
      
 251 
     | 
    
         
            +
             
     | 
| 
      
 252 
     | 
    
         
            +
                  private
         
     | 
| 
      
 253 
     | 
    
         
            +
             
     | 
| 
      
 254 
     | 
    
         
            +
                  # Returns the `kind` of the method definition
         
     | 
| 
      
 255 
     | 
    
         
            +
                  #
         
     | 
| 
      
 256 
     | 
    
         
            +
                  # ```rb
         
     | 
| 
      
 257 
     | 
    
         
            +
                  # def self.foo = ()    # :singleton
         
     | 
| 
      
 258 
     | 
    
         
            +
                  # class A
         
     | 
| 
      
 259 
     | 
    
         
            +
                  #   class << self
         
     | 
| 
      
 260 
     | 
    
         
            +
                  #     def bar = ()     # :singleton
         
     | 
| 
      
 261 
     | 
    
         
            +
                  #   end
         
     | 
| 
      
 262 
     | 
    
         
            +
                  # end
         
     | 
| 
      
 263 
     | 
    
         
            +
                  #
         
     | 
| 
      
 264 
     | 
    
         
            +
                  # def object.foo = ()  # Not supported (returns :instance)
         
     | 
| 
      
 265 
     | 
    
         
            +
                  # ```
         
     | 
| 
      
 266 
     | 
    
         
            +
                  #
         
     | 
| 
      
 267 
     | 
    
         
            +
                  # @rbs member: AST::Members::RubyDef
         
     | 
| 
      
 268 
     | 
    
         
            +
                  # @rbs decl: AST::Declarations::ClassDecl | AST::Declarations::ModuleDecl | AST::Declarations::SingletonClassDecl
         
     | 
| 
      
 269 
     | 
    
         
            +
                  # @rbs returns RBS::AST::Members::MethodDefinition::kind
         
     | 
| 
      
 270 
     | 
    
         
            +
                  def method_kind(member, decl)
         
     | 
| 
      
 271 
     | 
    
         
            +
                    return :singleton if decl.is_a?(AST::Declarations::SingletonClassDecl)
         
     | 
| 
      
 272 
     | 
    
         
            +
             
     | 
| 
      
 273 
     | 
    
         
            +
                    case member.node.receiver
         
     | 
| 
      
 274 
     | 
    
         
            +
                    when Prism::SelfNode
         
     | 
| 
      
 275 
     | 
    
         
            +
                      :singleton
         
     | 
| 
      
 276 
     | 
    
         
            +
                    else
         
     | 
| 
      
 277 
     | 
    
         
            +
                      :instance
         
     | 
| 
      
 278 
     | 
    
         
            +
                    end
         
     | 
| 
      
 279 
     | 
    
         
            +
                  end
         
     | 
| 
       208 
280 
     | 
    
         
             
                end
         
     | 
| 
       209 
281 
     | 
    
         
             
              end
         
     | 
| 
       210 
282 
     | 
    
         
             
            end
         
     | 
    
        data/lib/rbs/inline.rb
    CHANGED
    
    
    
        data/rbs_collection.lock.yaml
    CHANGED
    
    | 
         @@ -1,10 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            path: ".gem_rbs_collection"
         
     | 
| 
       3 
3 
     | 
    
         
             
            gems:
         
     | 
| 
       4 
     | 
    
         
            -
            - name: abbrev
         
     | 
| 
       5 
     | 
    
         
            -
              version: '0'
         
     | 
| 
       6 
     | 
    
         
            -
              source:
         
     | 
| 
       7 
     | 
    
         
            -
                type: stdlib
         
     | 
| 
       8 
4 
     | 
    
         
             
            - name: fileutils
         
     | 
| 
       9 
5 
     | 
    
         
             
              version: '0'
         
     | 
| 
       10 
6 
     | 
    
         
             
              source:
         
     | 
| 
         @@ -38,7 +34,7 @@ gems: 
     | 
|
| 
       38 
34 
     | 
    
         
             
              source:
         
     | 
| 
       39 
35 
     | 
    
         
             
                type: stdlib
         
     | 
| 
       40 
36 
     | 
    
         
             
            - name: prism
         
     | 
| 
       41 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 37 
     | 
    
         
            +
              version: 0.30.0
         
     | 
| 
       42 
38 
     | 
    
         
             
              source:
         
     | 
| 
       43 
39 
     | 
    
         
             
                type: rubygems
         
     | 
| 
       44 
40 
     | 
    
         
             
            - name: rake
         
     | 
| 
         @@ -46,11 +42,11 @@ gems: 
     | 
|
| 
       46 
42 
     | 
    
         
             
              source:
         
     | 
| 
       47 
43 
     | 
    
         
             
                type: git
         
     | 
| 
       48 
44 
     | 
    
         
             
                name: ruby/gem_rbs_collection
         
     | 
| 
       49 
     | 
    
         
            -
                revision:  
     | 
| 
      
 45 
     | 
    
         
            +
                revision: 4bf1c9687fc24cfbb30f4759653308c816f3a69f
         
     | 
| 
       50 
46 
     | 
    
         
             
                remote: https://github.com/ruby/gem_rbs_collection.git
         
     | 
| 
       51 
47 
     | 
    
         
             
                repo_dir: gems
         
     | 
| 
       52 
48 
     | 
    
         
             
            - name: rbs
         
     | 
| 
       53 
     | 
    
         
            -
              version: 3.5. 
     | 
| 
      
 49 
     | 
    
         
            +
              version: 3.5.1
         
     | 
| 
       54 
50 
     | 
    
         
             
              source:
         
     | 
| 
       55 
51 
     | 
    
         
             
                type: rubygems
         
     | 
| 
       56 
52 
     | 
    
         
             
            - name: rdoc
         
     | 
    
        data/rbs_collection.yaml
    CHANGED
    
    
| 
         @@ -4,6 +4,8 @@ module RBS 
     | 
|
| 
       4 
4 
     | 
    
         
             
              module Inline
         
     | 
| 
       5 
5 
     | 
    
         
             
                module AST
         
     | 
| 
       6 
6 
     | 
    
         
             
                  module Annotations
         
     | 
| 
      
 7 
     | 
    
         
            +
                    type t = VarType | ReturnType | Use | Inherits | Generic | ModuleSelf | Skip | Assertion | Application | RBSAnnotation | Override | IvarType | Yields | Embedded
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
       7 
9 
     | 
    
         
             
                    class Base
         
     | 
| 
       8 
10 
     | 
    
         
             
                      attr_reader source: CommentLines
         
     | 
| 
       9 
11 
     | 
    
         | 
| 
         @@ -1,3 +1,5 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Generated from lib/rbs/inline/ast/comment_lines.rb with RBS::Inline
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            module RBS
         
     | 
| 
       2 
4 
     | 
    
         
             
              module Inline
         
     | 
| 
       3 
5 
     | 
    
         
             
                module AST
         
     | 
| 
         @@ -12,15 +14,17 @@ module RBS 
     | 
|
| 
       12 
14 
     | 
    
         
             
                  #
         
     | 
| 
       13 
15 
     | 
    
         
             
                  # We want to get a String of comment1 and comment2, `"Hello\nWorld".
         
     | 
| 
       14 
16 
     | 
    
         
             
                  # And want to translate a location in the string into the location in comment1 and comment2.
         
     | 
| 
       15 
     | 
    
         
            -
                  #
         
     | 
| 
       16 
17 
     | 
    
         
             
                  class CommentLines
         
     | 
| 
       17 
     | 
    
         
            -
                    attr_reader comments: Array[[Prism::Comment, Integer]]
         
     | 
| 
      
 18 
     | 
    
         
            +
                    attr_reader comments: Array[[ Prism::Comment, Integer ]]
         
     | 
| 
       18 
19 
     | 
    
         | 
| 
       19 
     | 
    
         
            -
                     
     | 
| 
      
 20 
     | 
    
         
            +
                    # @rbs comments: Array[Prism::Comment]
         
     | 
| 
      
 21 
     | 
    
         
            +
                    def initialize: (Array[Prism::Comment] comments) -> untyped
         
     | 
| 
       20 
22 
     | 
    
         | 
| 
       21 
23 
     | 
    
         
             
                    def string: () -> String
         
     | 
| 
       22 
24 
     | 
    
         | 
| 
       23 
     | 
    
         
            -
                     
     | 
| 
      
 25 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 26 
     | 
    
         
            +
                    # @rbs returns [Prism::Comment, Integer]?
         
     | 
| 
      
 27 
     | 
    
         
            +
                    def comment_location: (Integer index) -> [ Prism::Comment, Integer ]?
         
     | 
| 
       24 
28 
     | 
    
         
             
                  end
         
     | 
| 
       25 
29 
     | 
    
         
             
                end
         
     | 
| 
       26 
30 
     | 
    
         
             
              end
         
     | 
| 
         @@ -10,7 +10,7 @@ module RBS 
     | 
|
| 
       10 
10 
     | 
    
         
             
                      def type_name: (Prism::Node node) -> TypeName?
         
     | 
| 
       11 
11 
     | 
    
         
             
                    end
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
                    type t = ClassDecl | ModuleDecl | ConstantDecl
         
     | 
| 
      
 13 
     | 
    
         
            +
                    type t = ClassDecl | ModuleDecl | ConstantDecl | SingletonClassDecl
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
                    interface _WithComments
         
     | 
| 
       16 
16 
     | 
    
         
             
                      def comments: () -> AnnotationParser::ParsingResult?
         
     | 
| 
         @@ -110,6 +110,9 @@ module RBS 
     | 
|
| 
       110 
110 
     | 
    
         | 
| 
       111 
111 
     | 
    
         
             
                      def start_line: () -> Integer
         
     | 
| 
       112 
112 
     | 
    
         
             
                    end
         
     | 
| 
      
 113 
     | 
    
         
            +
             
     | 
| 
      
 114 
     | 
    
         
            +
                    class SingletonClassDecl < ModuleOrClass[Prism::SingletonClassNode]
         
     | 
| 
      
 115 
     | 
    
         
            +
                    end
         
     | 
| 
       113 
116 
     | 
    
         
             
                  end
         
     | 
| 
       114 
117 
     | 
    
         
             
                end
         
     | 
| 
       115 
118 
     | 
    
         
             
              end
         
     | 
| 
         @@ -4,6 +4,12 @@ module RBS 
     | 
|
| 
       4 
4 
     | 
    
         
             
              module Inline
         
     | 
| 
       5 
5 
     | 
    
         
             
                module AST
         
     | 
| 
       6 
6 
     | 
    
         
             
                  module Members
         
     | 
| 
      
 7 
     | 
    
         
            +
                    type ruby = RubyDef | RubyAlias | RubyMixin | RubyAttr | RubyPublic | RubyPrivate
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                    type rbs = RBSIvar | RBSEmbedded
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                    type t = ruby | rbs
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
       7 
13 
     | 
    
         
             
                    class Base
         
     | 
| 
       8 
14 
     | 
    
         
             
                      attr_reader location: Prism::Location
         
     | 
| 
       9 
15 
     | 
    
         | 
| 
         @@ -44,16 +50,6 @@ module RBS 
     | 
|
| 
       44 
50 
     | 
    
         | 
| 
       45 
51 
     | 
    
         
             
                      def method_type_annotations: () -> Array[Annotations::Assertion]
         
     | 
| 
       46 
52 
     | 
    
         | 
| 
       47 
     | 
    
         
            -
                      # Returns the `kind` of the method definition
         
     | 
| 
       48 
     | 
    
         
            -
                      #
         
     | 
| 
       49 
     | 
    
         
            -
                      # [FIXME] It only supports `self` receiver.
         
     | 
| 
       50 
     | 
    
         
            -
                      #
         
     | 
| 
       51 
     | 
    
         
            -
                      # ```rb
         
     | 
| 
       52 
     | 
    
         
            -
                      # def self.foo = ()    # :singleton
         
     | 
| 
       53 
     | 
    
         
            -
                      # def object.foo = ()  # Not supported (returns :instance)
         
     | 
| 
       54 
     | 
    
         
            -
                      # ```
         
     | 
| 
       55 
     | 
    
         
            -
                      def method_kind: () -> RBS::AST::Members::MethodDefinition::kind
         
     | 
| 
       56 
     | 
    
         
            -
             
     | 
| 
       57 
53 
     | 
    
         
             
                      def return_type: () -> Types::t?
         
     | 
| 
       58 
54 
     | 
    
         | 
| 
       59 
55 
     | 
    
         
             
                      def var_type_hash: () -> Hash[Symbol, Types::t?]
         
     | 
| 
         @@ -84,6 +80,8 @@ module RBS 
     | 
|
| 
       84 
80 
     | 
    
         
             
                    end
         
     | 
| 
       85 
81 
     | 
    
         | 
| 
       86 
82 
     | 
    
         
             
                    class RubyMixin < RubyBase
         
     | 
| 
      
 83 
     | 
    
         
            +
                      include Declarations::ConstantUtil
         
     | 
| 
      
 84 
     | 
    
         
            +
             
     | 
| 
       87 
85 
     | 
    
         
             
                      # CallNode that calls `include`, `prepend`, and `extend` method
         
     | 
| 
       88 
86 
     | 
    
         
             
                      attr_reader node: Prism::CallNode
         
     | 
| 
       89 
87 
     | 
    
         | 
| 
         @@ -1,97 +1,125 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Generated from lib/rbs/inline/ast/tree.rb with RBS::Inline
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            module RBS
         
     | 
| 
       2 
4 
     | 
    
         
             
              module Inline
         
     | 
| 
       3 
5 
     | 
    
         
             
                module AST
         
     | 
| 
       4 
6 
     | 
    
         
             
                  class Tree
         
     | 
| 
       5 
     | 
    
         
            -
                    type token = [Symbol, String]
         
     | 
| 
      
 7 
     | 
    
         
            +
                    type token = [ Symbol, String ]
         
     | 
| 
       6 
8 
     | 
    
         | 
| 
       7 
9 
     | 
    
         
             
                    type tree = token | Tree | Types::t | MethodType | nil
         
     | 
| 
       8 
10 
     | 
    
         | 
| 
       9 
11 
     | 
    
         
             
                    attr_reader trees: Array[tree]
         
     | 
| 
       10 
12 
     | 
    
         | 
| 
      
 13 
     | 
    
         
            +
                    attr_reader type: Symbol
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
       11 
15 
     | 
    
         
             
                    # Children but without `tWHITESPACE` tokens
         
     | 
| 
       12 
     | 
    
         
            -
                    #
         
     | 
| 
       13 
16 
     | 
    
         
             
                    attr_reader non_trivia_trees: Array[tree]
         
     | 
| 
       14 
17 
     | 
    
         | 
| 
       15 
     | 
    
         
            -
                     
     | 
| 
      
 18 
     | 
    
         
            +
                    # @rbs type: Symbol
         
     | 
| 
      
 19 
     | 
    
         
            +
                    def initialize: (Symbol type) -> untyped
         
     | 
| 
       16 
20 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
                     
     | 
| 
      
 21 
     | 
    
         
            +
                    # @rbs tok: tree
         
     | 
| 
      
 22 
     | 
    
         
            +
                    # @rbs returns self
         
     | 
| 
      
 23 
     | 
    
         
            +
                    def <<: (tree tok) -> self
         
     | 
| 
       18 
24 
     | 
    
         | 
| 
       19 
     | 
    
         
            -
                     
     | 
| 
      
 25 
     | 
    
         
            +
                    # Returns the source code associated to the tree
         
     | 
| 
      
 26 
     | 
    
         
            +
                    def to_s: () -> String
         
     | 
| 
       20 
27 
     | 
    
         | 
| 
       21 
28 
     | 
    
         
             
                    # Returns n-th token from the children
         
     | 
| 
       22 
29 
     | 
    
         
             
                    #
         
     | 
| 
       23 
30 
     | 
    
         
             
                    # Raises if the value is not a token or nil.
         
     | 
| 
       24 
31 
     | 
    
         
             
                    #
         
     | 
| 
       25 
     | 
    
         
            -
                     
     | 
| 
      
 32 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 33 
     | 
    
         
            +
                    # @rbs returns token?
         
     | 
| 
      
 34 
     | 
    
         
            +
                    def nth_token: (Integer index) -> token?
         
     | 
| 
       26 
35 
     | 
    
         | 
| 
       27 
36 
     | 
    
         
             
                    # Returns n-th token from the children
         
     | 
| 
       28 
37 
     | 
    
         
             
                    #
         
     | 
| 
       29 
38 
     | 
    
         
             
                    # Returns `nil` if the value is not a token.
         
     | 
| 
       30 
39 
     | 
    
         
             
                    #
         
     | 
| 
       31 
     | 
    
         
            -
                     
     | 
| 
      
 40 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 41 
     | 
    
         
            +
                    # @rbs returns token?
         
     | 
| 
      
 42 
     | 
    
         
            +
                    def nth_token?: (Integer index) -> token?
         
     | 
| 
       32 
43 
     | 
    
         | 
| 
       33 
44 
     | 
    
         
             
                    # Returns n-th token from the children
         
     | 
| 
       34 
45 
     | 
    
         
             
                    #
         
     | 
| 
       35 
46 
     | 
    
         
             
                    # Raises if the value is not token.
         
     | 
| 
       36 
47 
     | 
    
         
             
                    #
         
     | 
| 
       37 
     | 
    
         
            -
                     
     | 
| 
      
 48 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 49 
     | 
    
         
            +
                    # @rbs returns token
         
     | 
| 
      
 50 
     | 
    
         
            +
                    def nth_token!: (Integer index) -> token
         
     | 
| 
       38 
51 
     | 
    
         | 
| 
       39 
52 
     | 
    
         
             
                    # Returns n-th tree from the children
         
     | 
| 
       40 
53 
     | 
    
         
             
                    #
         
     | 
| 
       41 
54 
     | 
    
         
             
                    # Raises if the value is not a tree or nil.
         
     | 
| 
       42 
55 
     | 
    
         
             
                    #
         
     | 
| 
       43 
     | 
    
         
            -
                     
     | 
| 
      
 56 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 57 
     | 
    
         
            +
                    # @rbs returns Tree?
         
     | 
| 
      
 58 
     | 
    
         
            +
                    def nth_tree: (Integer index) -> Tree?
         
     | 
| 
       44 
59 
     | 
    
         | 
| 
       45 
60 
     | 
    
         
             
                    # Returns n-th tree from the children
         
     | 
| 
       46 
61 
     | 
    
         
             
                    #
         
     | 
| 
       47 
62 
     | 
    
         
             
                    # Returns `nil` if the value is not a tree or nil.
         
     | 
| 
       48 
63 
     | 
    
         
             
                    #
         
     | 
| 
       49 
     | 
    
         
            -
                     
     | 
| 
      
 64 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 65 
     | 
    
         
            +
                    # @rbs returns Tree?
         
     | 
| 
      
 66 
     | 
    
         
            +
                    def nth_tree?: (Integer index) -> Tree?
         
     | 
| 
       50 
67 
     | 
    
         | 
| 
       51 
68 
     | 
    
         
             
                    # Returns n-th tree from the children
         
     | 
| 
       52 
69 
     | 
    
         
             
                    #
         
     | 
| 
       53 
70 
     | 
    
         
             
                    # Raises if the value is not a tree.
         
     | 
| 
       54 
71 
     | 
    
         
             
                    #
         
     | 
| 
       55 
     | 
    
         
            -
                     
     | 
| 
      
 72 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 73 
     | 
    
         
            +
                    # @rbs returns Tree
         
     | 
| 
      
 74 
     | 
    
         
            +
                    def nth_tree!: (Integer index) -> Tree
         
     | 
| 
       56 
75 
     | 
    
         | 
| 
       57 
76 
     | 
    
         
             
                    # Returns n-th type from the children
         
     | 
| 
       58 
77 
     | 
    
         
             
                    #
         
     | 
| 
       59 
     | 
    
         
            -
                    # Raises if the value is not a  
     | 
| 
      
 78 
     | 
    
         
            +
                    # Raises if the value is not a type or nil.
         
     | 
| 
       60 
79 
     | 
    
         
             
                    #
         
     | 
| 
       61 
     | 
    
         
            -
                     
     | 
| 
      
 80 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 81 
     | 
    
         
            +
                    # @rbs returns Types::t?
         
     | 
| 
      
 82 
     | 
    
         
            +
                    def nth_type: (Integer index) -> Types::t?
         
     | 
| 
       62 
83 
     | 
    
         | 
| 
       63 
84 
     | 
    
         
             
                    # Returns n-th type from the children
         
     | 
| 
       64 
85 
     | 
    
         
             
                    #
         
     | 
| 
       65 
86 
     | 
    
         
             
                    # Returns `nil` if the value is not a type.
         
     | 
| 
       66 
87 
     | 
    
         
             
                    #
         
     | 
| 
       67 
     | 
    
         
            -
                     
     | 
| 
      
 88 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 89 
     | 
    
         
            +
                    # @rbs returns Types::t?
         
     | 
| 
      
 90 
     | 
    
         
            +
                    def nth_type?: (Integer index) -> Types::t?
         
     | 
| 
       68 
91 
     | 
    
         | 
| 
       69 
92 
     | 
    
         
             
                    # Returns n-th type from the children
         
     | 
| 
       70 
93 
     | 
    
         
             
                    #
         
     | 
| 
       71 
94 
     | 
    
         
             
                    # Raises if the value is not a type.
         
     | 
| 
       72 
95 
     | 
    
         
             
                    #
         
     | 
| 
       73 
     | 
    
         
            -
                     
     | 
| 
      
 96 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 97 
     | 
    
         
            +
                    # @rbs returns Types::t
         
     | 
| 
      
 98 
     | 
    
         
            +
                    def nth_type!: (Integer index) -> Types::t
         
     | 
| 
       74 
99 
     | 
    
         | 
| 
       75 
100 
     | 
    
         
             
                    # Returns n-th method type from the children
         
     | 
| 
       76 
101 
     | 
    
         
             
                    #
         
     | 
| 
       77 
102 
     | 
    
         
             
                    # Raises if the value is not a method type or `nil`.
         
     | 
| 
       78 
103 
     | 
    
         
             
                    #
         
     | 
| 
       79 
     | 
    
         
            -
                     
     | 
| 
      
 104 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 105 
     | 
    
         
            +
                    # @rbs returns MethodType?
         
     | 
| 
      
 106 
     | 
    
         
            +
                    def nth_method_type: (Integer index) -> MethodType?
         
     | 
| 
       80 
107 
     | 
    
         | 
| 
       81 
108 
     | 
    
         
             
                    # Returns n-th method type from the children
         
     | 
| 
       82 
109 
     | 
    
         
             
                    #
         
     | 
| 
       83 
110 
     | 
    
         
             
                    # Returns `nil` if the value is not a method type.
         
     | 
| 
       84 
111 
     | 
    
         
             
                    #
         
     | 
| 
       85 
     | 
    
         
            -
                     
     | 
| 
      
 112 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 113 
     | 
    
         
            +
                    # @rbs returns MethodType?
         
     | 
| 
      
 114 
     | 
    
         
            +
                    def nth_method_type?: (Integer index) -> MethodType?
         
     | 
| 
       86 
115 
     | 
    
         | 
| 
       87 
116 
     | 
    
         
             
                    # Returns n-th method tree from the children
         
     | 
| 
       88 
117 
     | 
    
         
             
                    #
         
     | 
| 
       89 
118 
     | 
    
         
             
                    # Raises if the value is not a method tree.
         
     | 
| 
       90 
119 
     | 
    
         
             
                    #
         
     | 
| 
       91 
     | 
    
         
            -
                     
     | 
| 
       92 
     | 
    
         
            -
             
     | 
| 
       93 
     | 
    
         
            -
                     
     | 
| 
       94 
     | 
    
         
            -
                    def to_s: () -> String
         
     | 
| 
      
 120 
     | 
    
         
            +
                    # @rbs index: Integer
         
     | 
| 
      
 121 
     | 
    
         
            +
                    # @rbs returns MethodType
         
     | 
| 
      
 122 
     | 
    
         
            +
                    def nth_method_type!: (Integer index) -> MethodType
         
     | 
| 
       95 
123 
     | 
    
         
             
                  end
         
     | 
| 
       96 
124 
     | 
    
         
             
                end
         
     | 
| 
       97 
125 
     | 
    
         
             
              end
         
     | 
| 
         @@ -41,9 +41,9 @@ module RBS 
     | 
|
| 
       41 
41 
     | 
    
         
             
                  # @rbs returns AST::Declarations::ModuleDecl | AST::Declarations::ClassDecl
         
     | 
| 
       42 
42 
     | 
    
         
             
                  def current_class_module_decl!: () -> (AST::Declarations::ModuleDecl | AST::Declarations::ClassDecl)
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
       44 
     | 
    
         
            -
                  # :: (AST::Declarations::ModuleDecl | AST::Declarations::ClassDecl) { () -> void } -> void
         
     | 
| 
      
 44 
     | 
    
         
            +
                  # :: (AST::Declarations::ModuleDecl | AST::Declarations::ClassDecl | AST::Declarations::SingletonClassDecl) { () -> void } -> void
         
     | 
| 
       45 
45 
     | 
    
         
             
                  # :: (AST::Declarations::ConstantDecl) -> void
         
     | 
| 
       46 
     | 
    
         
            -
                  def push_class_module_decl: (AST::Declarations::ModuleDecl | AST::Declarations::ClassDecl) { () -> void } -> void
         
     | 
| 
      
 46 
     | 
    
         
            +
                  def push_class_module_decl: (AST::Declarations::ModuleDecl | AST::Declarations::ClassDecl | AST::Declarations::SingletonClassDecl) { () -> void } -> void
         
     | 
| 
       47 
47 
     | 
    
         
             
                                            | (AST::Declarations::ConstantDecl) -> void
         
     | 
| 
       48 
48 
     | 
    
         | 
| 
       49 
49 
     | 
    
         
             
                  # Load inner declarations and delete them from `#comments` hash
         
     | 
| 
         @@ -60,6 +60,9 @@ module RBS 
     | 
|
| 
       60 
60 
     | 
    
         
             
                  # @rbs override
         
     | 
| 
       61 
61 
     | 
    
         
             
                  def visit_class_node: ...
         
     | 
| 
       62 
62 
     | 
    
         | 
| 
      
 63 
     | 
    
         
            +
                  # @rbs override
         
     | 
| 
      
 64 
     | 
    
         
            +
                  def visit_singleton_class_node: ...
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
       63 
66 
     | 
    
         
             
                  # @rbs override
         
     | 
| 
       64 
67 
     | 
    
         
             
                  def visit_module_node: ...
         
     | 
| 
       65 
68 
     | 
    
         | 
| 
         @@ -0,0 +1,72 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Generated from lib/rbs/inline/writer.rb with RBS::Inline
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module RBS
         
     | 
| 
      
 4 
     | 
    
         
            +
              module Inline
         
     | 
| 
      
 5 
     | 
    
         
            +
                class Writer
         
     | 
| 
      
 6 
     | 
    
         
            +
                  attr_reader output: String
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                  attr_reader writer: RBS::Writer
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                  # @rbs buffer: String
         
     | 
| 
      
 11 
     | 
    
         
            +
                  def initialize: (?String buffer) -> untyped
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                  # @rbs uses: Array[AST::Annotations::Use]
         
     | 
| 
      
 14 
     | 
    
         
            +
                  # @rbs decls: Array[AST::Declarations::t]
         
     | 
| 
      
 15 
     | 
    
         
            +
                  def self.write: (Array[AST::Annotations::Use] uses, Array[AST::Declarations::t] decls) -> untyped
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                  # @rbs lines: Array[String]
         
     | 
| 
      
 18 
     | 
    
         
            +
                  # @rbs returns void
         
     | 
| 
      
 19 
     | 
    
         
            +
                  def header: (*String lines) -> void
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                  # @rbs uses: Array[AST::Annotations::Use]
         
     | 
| 
      
 22 
     | 
    
         
            +
                  # @rbs decls: Array[AST::Declarations::t]
         
     | 
| 
      
 23 
     | 
    
         
            +
                  # @rbs returns void
         
     | 
| 
      
 24 
     | 
    
         
            +
                  def write: (Array[AST::Annotations::Use] uses, Array[AST::Declarations::t] decls) -> void
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                  # @rbs decl: AST::Declarations::t
         
     | 
| 
      
 27 
     | 
    
         
            +
                  # @rbs returns RBS::AST::Declarations::t?
         
     | 
| 
      
 28 
     | 
    
         
            +
                  def translate_decl: (AST::Declarations::t decl) -> RBS::AST::Declarations::t?
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                  # @rbs decl: AST::Declarations::ClassDecl
         
     | 
| 
      
 31 
     | 
    
         
            +
                  # @rbs returns RBS::AST::Declarations::Class?
         
     | 
| 
      
 32 
     | 
    
         
            +
                  def translate_class_decl: (AST::Declarations::ClassDecl decl) -> RBS::AST::Declarations::Class?
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                  # @rbs decl: AST::Declarations::ModuleDecl
         
     | 
| 
      
 35 
     | 
    
         
            +
                  # @rbs returns RBS::AST::Declarations::Module?
         
     | 
| 
      
 36 
     | 
    
         
            +
                  def translate_module_decl: (AST::Declarations::ModuleDecl decl) -> RBS::AST::Declarations::Module?
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                  # @rbs decl: AST::Declarations::ConstantDecl
         
     | 
| 
      
 39 
     | 
    
         
            +
                  # @rbs returns RBS::AST::Declarations::Constant?
         
     | 
| 
      
 40 
     | 
    
         
            +
                  def translate_constant_decl: (AST::Declarations::ConstantDecl decl) -> RBS::AST::Declarations::Constant?
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                  # @rbs decl: AST::Declarations::SingletonClassDecl
         
     | 
| 
      
 43 
     | 
    
         
            +
                  # @rbs returns Array[RBS::AST::Members::t]
         
     | 
| 
      
 44 
     | 
    
         
            +
                  def translate_singleton_decl: (AST::Declarations::SingletonClassDecl decl) -> Array[RBS::AST::Members::t]
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                  # @rbs member: AST::Members::t
         
     | 
| 
      
 47 
     | 
    
         
            +
                  # @rbs decl: AST::Declarations::ClassDecl | AST::Declarations::ModuleDecl | AST::Declarations::SingletonClassDecl
         
     | 
| 
      
 48 
     | 
    
         
            +
                  # @rbs returns Array[RBS::AST::Members::t | RBS::AST::Declarations::t]?
         
     | 
| 
      
 49 
     | 
    
         
            +
                  def translate_member: (AST::Members::t member, AST::Declarations::ClassDecl | AST::Declarations::ModuleDecl | AST::Declarations::SingletonClassDecl decl) -> Array[RBS::AST::Members::t | RBS::AST::Declarations::t]?
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
                  private
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
                  # Returns the `kind` of the method definition
         
     | 
| 
      
 54 
     | 
    
         
            +
                  #
         
     | 
| 
      
 55 
     | 
    
         
            +
                  # ```rb
         
     | 
| 
      
 56 
     | 
    
         
            +
                  # def self.foo = ()    # :singleton
         
     | 
| 
      
 57 
     | 
    
         
            +
                  # class A
         
     | 
| 
      
 58 
     | 
    
         
            +
                  #   class << self
         
     | 
| 
      
 59 
     | 
    
         
            +
                  #     def bar = ()     # :singleton
         
     | 
| 
      
 60 
     | 
    
         
            +
                  #   end
         
     | 
| 
      
 61 
     | 
    
         
            +
                  # end
         
     | 
| 
      
 62 
     | 
    
         
            +
                  #
         
     | 
| 
      
 63 
     | 
    
         
            +
                  # def object.foo = ()  # Not supported (returns :instance)
         
     | 
| 
      
 64 
     | 
    
         
            +
                  # ```
         
     | 
| 
      
 65 
     | 
    
         
            +
                  #
         
     | 
| 
      
 66 
     | 
    
         
            +
                  # @rbs member: AST::Members::RubyDef
         
     | 
| 
      
 67 
     | 
    
         
            +
                  # @rbs decl: AST::Declarations::ClassDecl | AST::Declarations::ModuleDecl | AST::Declarations::SingletonClassDecl
         
     | 
| 
      
 68 
     | 
    
         
            +
                  # @rbs returns RBS::AST::Members::MethodDefinition::kind
         
     | 
| 
      
 69 
     | 
    
         
            +
                  def method_kind: (AST::Members::RubyDef member, AST::Declarations::ClassDecl | AST::Declarations::ModuleDecl | AST::Declarations::SingletonClassDecl decl) -> RBS::AST::Members::MethodDefinition::kind
         
     | 
| 
      
 70 
     | 
    
         
            +
                end
         
     | 
| 
      
 71 
     | 
    
         
            +
              end
         
     | 
| 
      
 72 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: rbs-inline
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.4.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Soutaro Matsumoto
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2024- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2024-06-12 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: prism
         
     | 
| 
         @@ -19,7 +19,7 @@ dependencies: 
     | 
|
| 
       19 
19 
     | 
    
         
             
                    version: '0.29'
         
     | 
| 
       20 
20 
     | 
    
         
             
                - - "<"
         
     | 
| 
       21 
21 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       22 
     | 
    
         
            -
                    version: '0. 
     | 
| 
      
 22 
     | 
    
         
            +
                    version: '0.31'
         
     | 
| 
       23 
23 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       24 
24 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       25 
25 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -29,21 +29,21 @@ dependencies: 
     | 
|
| 
       29 
29 
     | 
    
         
             
                    version: '0.29'
         
     | 
| 
       30 
30 
     | 
    
         
             
                - - "<"
         
     | 
| 
       31 
31 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       32 
     | 
    
         
            -
                    version: '0. 
     | 
| 
      
 32 
     | 
    
         
            +
                    version: '0.31'
         
     | 
| 
       33 
33 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       34 
34 
     | 
    
         
             
              name: rbs
         
     | 
| 
       35 
35 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       36 
36 
     | 
    
         
             
                requirements:
         
     | 
| 
       37 
37 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       38 
38 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       39 
     | 
    
         
            -
                    version: 3.5.0 
     | 
| 
      
 39 
     | 
    
         
            +
                    version: 3.5.0
         
     | 
| 
       40 
40 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       41 
41 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       42 
42 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       43 
43 
     | 
    
         
             
                requirements:
         
     | 
| 
       44 
44 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       45 
45 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       46 
     | 
    
         
            -
                    version: 3.5.0 
     | 
| 
      
 46 
     | 
    
         
            +
                    version: 3.5.0
         
     | 
| 
       47 
47 
     | 
    
         
             
            description: Inline RBS type declaration.
         
     | 
| 
       48 
48 
     | 
    
         
             
            email:
         
     | 
| 
       49 
49 
     | 
    
         
             
            - matsumoto@soutaro.com
         
     | 
| 
         @@ -73,21 +73,19 @@ files: 
     | 
|
| 
       73 
73 
     | 
    
         
             
            - lib/rbs/inline/writer.rb
         
     | 
| 
       74 
74 
     | 
    
         
             
            - rbs_collection.lock.yaml
         
     | 
| 
       75 
75 
     | 
    
         
             
            - rbs_collection.yaml
         
     | 
| 
      
 76 
     | 
    
         
            +
            - sig/generated/rbs/inline.rbs
         
     | 
| 
       76 
77 
     | 
    
         
             
            - sig/generated/rbs/inline/annotation_parser.rbs
         
     | 
| 
       77 
78 
     | 
    
         
             
            - sig/generated/rbs/inline/ast/annotations.rbs
         
     | 
| 
      
 79 
     | 
    
         
            +
            - sig/generated/rbs/inline/ast/comment_lines.rbs
         
     | 
| 
       78 
80 
     | 
    
         
             
            - sig/generated/rbs/inline/ast/declarations.rbs
         
     | 
| 
       79 
81 
     | 
    
         
             
            - sig/generated/rbs/inline/ast/members.rbs
         
     | 
| 
      
 82 
     | 
    
         
            +
            - sig/generated/rbs/inline/ast/tree.rbs
         
     | 
| 
       80 
83 
     | 
    
         
             
            - sig/generated/rbs/inline/cli.rbs
         
     | 
| 
      
 84 
     | 
    
         
            +
            - sig/generated/rbs/inline/node_utils.rbs
         
     | 
| 
       81 
85 
     | 
    
         
             
            - sig/generated/rbs/inline/parser.rbs
         
     | 
| 
       82 
     | 
    
         
            -
            - sig/rbs/inline.rbs
         
     | 
| 
       83 
     | 
    
         
            -
            - sig/rbs/inline/ 
     | 
| 
       84 
     | 
    
         
            -
            - sig/rbs/inline/ast/comment_lines.rbs
         
     | 
| 
      
 86 
     | 
    
         
            +
            - sig/generated/rbs/inline/version.rbs
         
     | 
| 
      
 87 
     | 
    
         
            +
            - sig/generated/rbs/inline/writer.rbs
         
     | 
| 
       85 
88 
     | 
    
         
             
            - sig/rbs/inline/ast/members.rbs
         
     | 
| 
       86 
     | 
    
         
            -
            - sig/rbs/inline/ast/tree.rbs
         
     | 
| 
       87 
     | 
    
         
            -
            - sig/rbs/inline/node_utils.rbs
         
     | 
| 
       88 
     | 
    
         
            -
            - sig/rbs/inline/writer.rbs
         
     | 
| 
       89 
     | 
    
         
            -
            - yard-samples/hello.rb
         
     | 
| 
       90 
     | 
    
         
            -
            - yard-samples/sample1.rb
         
     | 
| 
       91 
89 
     | 
    
         
             
            homepage: https://github.com/soutaro/rbs-inline
         
     | 
| 
       92 
90 
     | 
    
         
             
            licenses:
         
     | 
| 
       93 
91 
     | 
    
         
             
            - MIT
         
     | 
| 
         
            File without changes
         
     | 
    
        data/sig/rbs/inline/writer.rbs
    DELETED
    
    | 
         @@ -1,27 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            module RBS
         
     | 
| 
       2 
     | 
    
         
            -
              module Inline
         
     | 
| 
       3 
     | 
    
         
            -
                class Writer
         
     | 
| 
       4 
     | 
    
         
            -
                  attr_reader output: String
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
                  attr_reader writer: RBS::Writer
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
                  def self.write: (Array[AST::Annotations::Use], Array[AST::Declarations::t]) -> String
         
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
                  def initialize: (?String) -> void
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
                  def write: (Array[AST::Annotations::Use], Array[AST::Declarations::t]) -> void
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
                  def header: (*String) -> void
         
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
                  def translate_decl: (AST::Declarations::t) -> RBS::AST::Declarations::t?
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
                  def translate_class_decl: (AST::Declarations::ClassDecl) -> RBS::AST::Declarations::Class?
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
                  def translate_module_decl: (AST::Declarations::ModuleDecl) -> RBS::AST::Declarations::Module?
         
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
                  def translate_constant_decl: (AST::Declarations::ConstantDecl) -> RBS::AST::Declarations::Constant?
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
                  def translate_member: (AST::Members::t) -> Array[RBS::AST::Members::t | RBS::AST::Declarations::t]?
         
     | 
| 
       25 
     | 
    
         
            -
                end
         
     | 
| 
       26 
     | 
    
         
            -
              end
         
     | 
| 
       27 
     | 
    
         
            -
            end
         
     | 
    
        data/sig/rbs/inline.rbs
    DELETED
    
    | 
         @@ -1,41 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            module RBS
         
     | 
| 
       2 
     | 
    
         
            -
              module Inline
         
     | 
| 
       3 
     | 
    
         
            -
                type token = [Symbol, String]
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
                VERSION: String
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
                module AST
         
     | 
| 
       8 
     | 
    
         
            -
                  module Declarations
         
     | 
| 
       9 
     | 
    
         
            -
                  end
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
                  module Annotations
         
     | 
| 
       12 
     | 
    
         
            -
                    type t = VarType
         
     | 
| 
       13 
     | 
    
         
            -
                           | ReturnType
         
     | 
| 
       14 
     | 
    
         
            -
                           | Use
         
     | 
| 
       15 
     | 
    
         
            -
                           | Inherits
         
     | 
| 
       16 
     | 
    
         
            -
                           | Generic
         
     | 
| 
       17 
     | 
    
         
            -
                           | ModuleSelf
         
     | 
| 
       18 
     | 
    
         
            -
                           | Skip
         
     | 
| 
       19 
     | 
    
         
            -
                           | Assertion
         
     | 
| 
       20 
     | 
    
         
            -
                           | Application
         
     | 
| 
       21 
     | 
    
         
            -
                           | RBSAnnotation
         
     | 
| 
       22 
     | 
    
         
            -
                           | Override
         
     | 
| 
       23 
     | 
    
         
            -
                           | IvarType
         
     | 
| 
       24 
     | 
    
         
            -
                           | Yields
         
     | 
| 
       25 
     | 
    
         
            -
                           | Embedded
         
     | 
| 
       26 
     | 
    
         
            -
                         #  | Def
         
     | 
| 
       27 
     | 
    
         
            -
                         #  | AttrReader | AttrWriter | AttrAccessor
         
     | 
| 
       28 
     | 
    
         
            -
                         #  | Include | Extend | Prepend
         
     | 
| 
       29 
     | 
    
         
            -
                         #  | Alias
         
     | 
| 
       30 
     | 
    
         
            -
                  end
         
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
                  module Members
         
     | 
| 
       33 
     | 
    
         
            -
                    type ruby = RubyDef | RubyAlias | RubyMixin | RubyAttr | RubyPublic | RubyPrivate
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
                    type rbs = RBSIvar | RBSEmbedded
         
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
                    type t = ruby | rbs
         
     | 
| 
       38 
     | 
    
         
            -
                  end
         
     | 
| 
       39 
     | 
    
         
            -
                end
         
     | 
| 
       40 
     | 
    
         
            -
              end
         
     | 
| 
       41 
     | 
    
         
            -
            end
         
     | 
    
        data/yard-samples/hello.rb
    DELETED
    
    
    
        data/yard-samples/sample1.rb
    DELETED
    
    | 
         @@ -1,26 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            module Foo
         
     | 
| 
       2 
     | 
    
         
            -
              # This is `Foo#foo` method
         
     | 
| 
       3 
     | 
    
         
            -
              #
         
     | 
| 
       4 
     | 
    
         
            -
              # @param i [Integer] Size of something
         
     | 
| 
       5 
     | 
    
         
            -
              # @param j [Symbol,Integer] Something doing meaningful
         
     | 
| 
       6 
     | 
    
         
            -
              # @return [String?] Returns a string or nil
         
     | 
| 
       7 
     | 
    
         
            -
              #
         
     | 
| 
       8 
     | 
    
         
            -
              #
         
     | 
| 
       9 
     | 
    
         
            -
              # @rbs.method (Integer, String) -> void
         
     | 
| 
       10 
     | 
    
         
            -
              #           | [A] () { () [self: String] -> A } -> A?
         
     | 
| 
       11 
     | 
    
         
            -
              #
         
     | 
| 
       12 
     | 
    
         
            -
              def foo(i, j)
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
              end
         
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
              # @rbs.inline
         
     | 
| 
       17 
     | 
    
         
            -
              #   attr_reader hoge: String
         
     | 
| 
       18 
     | 
    
         
            -
              #   attr_reader name: String?
         
     | 
| 
       19 
     | 
    
         
            -
              def hoge
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
              end
         
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
              class Foo
         
     | 
| 
       24 
     | 
    
         
            -
                # @rbs.inline include Foo[String]
         
     | 
| 
       25 
     | 
    
         
            -
              end
         
     | 
| 
       26 
     | 
    
         
            -
            end
         
     |