rbs 2.4.0 → 2.5.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/CHANGELOG.md +26 -0
 - data/Gemfile.lock +10 -10
 - data/core/time.rbs +5 -5
 - data/ext/rbs_extension/lexer.c +581 -574
 - data/ext/rbs_extension/lexer.h +2 -1
 - data/ext/rbs_extension/lexer.re +2 -1
 - data/ext/rbs_extension/lexstate.c +1 -0
 - data/ext/rbs_extension/parser.c +8 -0
 - data/lib/rbs/ast/members.rb +1 -0
 - data/lib/rbs/cli.rb +95 -18
 - data/lib/rbs/prototype/rb.rb +12 -7
 - data/lib/rbs/version.rb +1 -1
 - data/schema/members.json +4 -1
 - data/steep/Gemfile.lock +4 -4
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 27ca93cca7c3a52b9a4900a9283e1a78ecb6e7ac3804deb9af4de8f3b077fc21
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 288f492b1cea76d05ebe042835cf5c0c0c37dbfe5db3d7c811ee3e92cc9d8387
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: ea7e0a02f77fe2d8ae69e84f7417e0a7aecbcf23f1f77526be9a4f03f4bb46938f5756d11d133421c4a1c5a0f8f5fc7306403b8286076bc0d178af3385613063
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: a2736bce2d3b9a921e1d004811a8ba2bc6dae9c394423ab5c2e9a29ed56beb127eda83076068432e31777f6df8c30e782cece8e9b1e27cd6f07a6d221dd7d0ab
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -2,6 +2,32 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            ## master
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
      
 5 
     | 
    
         
            +
            ## 2.5.0 (2022-05-20)
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            This is a minor release with tuple type/record type syntax updates and `rbs prototype` improvements.
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            * You can write empty tuple type as `[]`, instead of `[ ]`
         
     | 
| 
      
 10 
     | 
    
         
            +
            * You can write empty record type as `{}`
         
     | 
| 
      
 11 
     | 
    
         
            +
            * `prototype-rb` command with `--out-dir` option generates multiple RBS files in the directory
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            ### Signature updates
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            * `Time` ([\#994](https://github.com/ruby/rbs/pull/994))
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            ### Language updates
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            * Fix empty tuple type syntax and allow empty record type ([\#1001](https://github.com/ruby/rbs/pull/1001))
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            ### Library changes
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            * Add `name` attribute in `MethodDefinition#to_json` ([\#997](https://github.com/ruby/rbs/pull/997))
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            #### rbs prototype
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
            * Fix (`ArgumentError`) invalid byte sequence in UTF-8 ([\#995](https://github.com/ruby/rbs/pull/995))
         
     | 
| 
      
 28 
     | 
    
         
            +
            * Fix broken args after parsed `decls` from `RBS::Prototype::RB` ([\#998](https://github.com/ruby/rbs/pull/998))
         
     | 
| 
      
 29 
     | 
    
         
            +
            * Add *batch* mode to `rbs prototype` ([\#1000](https://github.com/ruby/rbs/pull/1000))
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
       5 
31 
     | 
    
         
             
            ## 2.4.0 (2022-05-08)
         
     | 
| 
       6 
32 
     | 
    
         | 
| 
       7 
33 
     | 
    
         
             
            This is a minor release with some signature updates, `prototype rb` improvement, and test fixes.
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            PATH
         
     | 
| 
       2 
2 
     | 
    
         
             
              remote: .
         
     | 
| 
       3 
3 
     | 
    
         
             
              specs:
         
     | 
| 
       4 
     | 
    
         
            -
                rbs (2. 
     | 
| 
      
 4 
     | 
    
         
            +
                rbs (2.5.0)
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            PATH
         
     | 
| 
       7 
7 
     | 
    
         
             
              remote: test/assets/test-gem
         
     | 
| 
         @@ -17,7 +17,7 @@ GEM 
     | 
|
| 
       17 
17 
     | 
    
         
             
                dbm (1.1.0)
         
     | 
| 
       18 
18 
     | 
    
         
             
                debase (0.2.5.beta2)
         
     | 
| 
       19 
19 
     | 
    
         
             
                  debase-ruby_core_source (>= 0.10.12)
         
     | 
| 
       20 
     | 
    
         
            -
                debase-ruby_core_source (0.10. 
     | 
| 
      
 20 
     | 
    
         
            +
                debase-ruby_core_source (0.10.16)
         
     | 
| 
       21 
21 
     | 
    
         
             
                diff-lcs (1.5.0)
         
     | 
| 
       22 
22 
     | 
    
         
             
                digest (3.1.0)
         
     | 
| 
       23 
23 
     | 
    
         
             
                forwardable (1.3.2)
         
     | 
| 
         @@ -26,7 +26,7 @@ GEM 
     | 
|
| 
       26 
26 
     | 
    
         
             
                  psych (>= 3.1, < 5.0)
         
     | 
| 
       27 
27 
     | 
    
         
             
                  rainbow (>= 3.0, < 4.0)
         
     | 
| 
       28 
28 
     | 
    
         
             
                  strong_json (>= 1.1, < 2.2)
         
     | 
| 
       29 
     | 
    
         
            -
                json (2.6. 
     | 
| 
      
 29 
     | 
    
         
            +
                json (2.6.2)
         
     | 
| 
       30 
30 
     | 
    
         
             
                json-schema (3.0.0)
         
     | 
| 
       31 
31 
     | 
    
         
             
                  addressable (>= 2.8)
         
     | 
| 
       32 
32 
     | 
    
         
             
                marcel (1.0.2)
         
     | 
| 
         @@ -38,7 +38,7 @@ GEM 
     | 
|
| 
       38 
38 
     | 
    
         
             
                prime (0.1.2)
         
     | 
| 
       39 
39 
     | 
    
         
             
                  forwardable
         
     | 
| 
       40 
40 
     | 
    
         
             
                  singleton
         
     | 
| 
       41 
     | 
    
         
            -
                psych (4.0. 
     | 
| 
      
 41 
     | 
    
         
            +
                psych (4.0.4)
         
     | 
| 
       42 
42 
     | 
    
         
             
                  stringio
         
     | 
| 
       43 
43 
     | 
    
         
             
                public_suffix (4.0.7)
         
     | 
| 
       44 
44 
     | 
    
         
             
                rainbow (3.1.1)
         
     | 
| 
         @@ -47,7 +47,7 @@ GEM 
     | 
|
| 
       47 
47 
     | 
    
         
             
                  rake
         
     | 
| 
       48 
48 
     | 
    
         
             
                rdoc (6.4.0)
         
     | 
| 
       49 
49 
     | 
    
         
             
                  psych (>= 4.0.0)
         
     | 
| 
       50 
     | 
    
         
            -
                regexp_parser (2. 
     | 
| 
      
 50 
     | 
    
         
            +
                regexp_parser (2.4.0)
         
     | 
| 
       51 
51 
     | 
    
         
             
                rexml (3.2.5)
         
     | 
| 
       52 
52 
     | 
    
         
             
                rspec (3.11.0)
         
     | 
| 
       53 
53 
     | 
    
         
             
                  rspec-core (~> 3.11.0)
         
     | 
| 
         @@ -62,16 +62,16 @@ GEM 
     | 
|
| 
       62 
62 
     | 
    
         
             
                  diff-lcs (>= 1.2.0, < 2.0)
         
     | 
| 
       63 
63 
     | 
    
         
             
                  rspec-support (~> 3.11.0)
         
     | 
| 
       64 
64 
     | 
    
         
             
                rspec-support (3.11.0)
         
     | 
| 
       65 
     | 
    
         
            -
                rubocop (1. 
     | 
| 
      
 65 
     | 
    
         
            +
                rubocop (1.29.1)
         
     | 
| 
       66 
66 
     | 
    
         
             
                  parallel (~> 1.10)
         
     | 
| 
       67 
67 
     | 
    
         
             
                  parser (>= 3.1.0.0)
         
     | 
| 
       68 
68 
     | 
    
         
             
                  rainbow (>= 2.2.2, < 4.0)
         
     | 
| 
       69 
69 
     | 
    
         
             
                  regexp_parser (>= 1.8, < 3.0)
         
     | 
| 
       70 
     | 
    
         
            -
                  rexml
         
     | 
| 
      
 70 
     | 
    
         
            +
                  rexml (>= 3.2.5, < 4.0)
         
     | 
| 
       71 
71 
     | 
    
         
             
                  rubocop-ast (>= 1.17.0, < 2.0)
         
     | 
| 
       72 
72 
     | 
    
         
             
                  ruby-progressbar (~> 1.7)
         
     | 
| 
       73 
73 
     | 
    
         
             
                  unicode-display_width (>= 1.4.0, < 3.0)
         
     | 
| 
       74 
     | 
    
         
            -
                rubocop-ast (1. 
     | 
| 
      
 74 
     | 
    
         
            +
                rubocop-ast (1.18.0)
         
     | 
| 
       75 
75 
     | 
    
         
             
                  parser (>= 3.1.1.0)
         
     | 
| 
       76 
76 
     | 
    
         
             
                rubocop-rubycw (0.1.6)
         
     | 
| 
       77 
77 
     | 
    
         
             
                  rubocop (~> 1.0)
         
     | 
| 
         @@ -80,7 +80,7 @@ GEM 
     | 
|
| 
       80 
80 
     | 
    
         
             
                ruby-progressbar (1.11.0)
         
     | 
| 
       81 
81 
     | 
    
         
             
                singleton (0.1.1)
         
     | 
| 
       82 
82 
     | 
    
         
             
                stackprof (0.2.19)
         
     | 
| 
       83 
     | 
    
         
            -
                stringio (3.0. 
     | 
| 
      
 83 
     | 
    
         
            +
                stringio (3.0.2)
         
     | 
| 
       84 
84 
     | 
    
         
             
                strong_json (2.1.2)
         
     | 
| 
       85 
85 
     | 
    
         
             
                tempfile (0.1.2)
         
     | 
| 
       86 
86 
     | 
    
         
             
                test-unit (3.5.3)
         
     | 
| 
         @@ -114,4 +114,4 @@ DEPENDENCIES 
     | 
|
| 
       114 
114 
     | 
    
         
             
              test-unit
         
     | 
| 
       115 
115 
     | 
    
         | 
| 
       116 
116 
     | 
    
         
             
            BUNDLED WITH
         
     | 
| 
       117 
     | 
    
         
            -
               2. 
     | 
| 
      
 117 
     | 
    
         
            +
               2.3.14
         
     | 
    
        data/core/time.rbs
    CHANGED
    
    | 
         @@ -1080,7 +1080,7 @@ class Time < Object 
     | 
|
| 
       1080 
1080 
     | 
    
         
             
              #
         
     | 
| 
       1081 
1081 
     | 
    
         
             
              #     Time.new(2000,1,1,0,0,1/3r,"UTC").subsec #=> (1/3)
         
     | 
| 
       1082 
1082 
     | 
    
         
             
              #
         
     | 
| 
       1083 
     | 
    
         
            -
              def subsec: () ->  
     | 
| 
      
 1083 
     | 
    
         
            +
              def subsec: () -> (0 | Rational)
         
     | 
| 
       1084 
1084 
     | 
    
         | 
| 
       1085 
1085 
     | 
    
         
             
              # <!--
         
     | 
| 
       1086 
1086 
     | 
    
         
             
              #   rdoc-file=time.c
         
     | 
| 
         @@ -1215,7 +1215,7 @@ class Time < Object 
     | 
|
| 
       1215 
1215 
     | 
    
         
             
              #
         
     | 
| 
       1216 
1216 
     | 
    
         
             
              # Time#subsec can be used to obtain the subsecond part exactly.
         
     | 
| 
       1217 
1217 
     | 
    
         
             
              #
         
     | 
| 
       1218 
     | 
    
         
            -
              def tv_nsec: () ->  
     | 
| 
      
 1218 
     | 
    
         
            +
              def tv_nsec: () -> Integer
         
     | 
| 
       1219 
1219 
     | 
    
         | 
| 
       1220 
1220 
     | 
    
         
             
              # <!-- rdoc-file=time.c -->
         
     | 
| 
       1221 
1221 
     | 
    
         
             
              # Returns the value of *time* as an integer number of seconds since the Epoch.
         
     | 
| 
         @@ -1225,7 +1225,7 @@ class Time < Object 
     | 
|
| 
       1225 
1225 
     | 
    
         
             
              #     t = Time.now        #=> 2020-07-21 01:41:29.746012609 +0900
         
     | 
| 
       1226 
1226 
     | 
    
         
             
              #     t.to_i              #=> 1595263289
         
     | 
| 
       1227 
1227 
     | 
    
         
             
              #
         
     | 
| 
       1228 
     | 
    
         
            -
              def tv_sec: () ->  
     | 
| 
      
 1228 
     | 
    
         
            +
              def tv_sec: () -> Integer
         
     | 
| 
       1229 
1229 
     | 
    
         | 
| 
       1230 
1230 
     | 
    
         
             
              # <!--
         
     | 
| 
       1231 
1231 
     | 
    
         
             
              #   rdoc-file=time.c
         
     | 
| 
         @@ -1245,7 +1245,7 @@ class Time < Object 
     | 
|
| 
       1245 
1245 
     | 
    
         
             
              #
         
     | 
| 
       1246 
1246 
     | 
    
         
             
              # Time#subsec can be used to obtain the subsecond part exactly.
         
     | 
| 
       1247 
1247 
     | 
    
         
             
              #
         
     | 
| 
       1248 
     | 
    
         
            -
              def tv_usec: () ->  
     | 
| 
      
 1248 
     | 
    
         
            +
              def tv_usec: () -> Integer
         
     | 
| 
       1249 
1249 
     | 
    
         | 
| 
       1250 
1250 
     | 
    
         
             
              # <!-- rdoc-file=time.c -->
         
     | 
| 
       1251 
1251 
     | 
    
         
             
              # Returns the number of microseconds for the subsecond part of *time*. The
         
     | 
| 
         @@ -1261,7 +1261,7 @@ class Time < Object 
     | 
|
| 
       1261 
1261 
     | 
    
         
             
              #
         
     | 
| 
       1262 
1262 
     | 
    
         
             
              # Time#subsec can be used to obtain the subsecond part exactly.
         
     | 
| 
       1263 
1263 
     | 
    
         
             
              #
         
     | 
| 
       1264 
     | 
    
         
            -
              def usec: () ->  
     | 
| 
      
 1264 
     | 
    
         
            +
              def usec: () -> Integer
         
     | 
| 
       1265 
1265 
     | 
    
         | 
| 
       1266 
1266 
     | 
    
         
             
              # <!-- rdoc-file=time.c -->
         
     | 
| 
       1267 
1267 
     | 
    
         
             
              # Converts *time* to UTC (GMT), modifying the receiver.
         
     |