raap 0.3.0 → 0.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/.rubocop.yml +31 -0
 - data/README.md +32 -3
 - data/Rakefile +10 -1
 - data/exe/raap +4 -1
 - data/lib/raap/bind_call.rb +21 -7
 - data/lib/raap/cli.rb +211 -125
 - data/lib/raap/function_type.rb +14 -10
 - data/lib/raap/method_property.rb +60 -28
 - data/lib/raap/method_type.rb +13 -6
 - data/lib/raap/minitest.rb +9 -3
 - data/lib/raap/rbs.rb +19 -0
 - data/lib/raap/result.rb +84 -8
 - data/lib/raap/sized.rb +2 -0
 - data/lib/raap/symbolic_caller.rb +38 -26
 - data/lib/raap/type.rb +111 -115
 - data/lib/raap/type_substitution.rb +5 -1
 - data/lib/raap/value/bottom.rb +2 -0
 - data/lib/raap/value/interface.rb +61 -27
 - data/lib/raap/value/intersection.rb +26 -21
 - data/lib/raap/value/module.rb +50 -7
 - data/lib/raap/value/top.rb +2 -0
 - data/lib/raap/value/variable.rb +12 -1
 - data/lib/raap/value/void.rb +2 -0
 - data/lib/raap/version.rb +1 -1
 - data/lib/raap.rb +3 -2
 - data/public/jacket.webp +0 -0
 - data/rbs_collection.lock.yaml +61 -1
 - data/rbs_collection.yaml +0 -1
 - data/sig/raap.rbs +63 -34
 - data/sig/shims.rbs +4 -0
 - metadata +10 -9
 
    
        data/lib/raap/value/variable.rb
    CHANGED
    
    | 
         @@ -1,10 +1,21 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            module RaaP
         
     | 
| 
       2 
4 
     | 
    
         
             
              module Value
         
     | 
| 
       3 
5 
     | 
    
         
             
                class Variable < BasicObject
         
     | 
| 
       4 
6 
     | 
    
         
             
                  attr_reader :type
         
     | 
| 
       5 
7 
     | 
    
         | 
| 
       6 
8 
     | 
    
         
             
                  def initialize(type)
         
     | 
| 
       7 
     | 
    
         
            -
                    @type = 
     | 
| 
      
 9 
     | 
    
         
            +
                    @type =
         
     | 
| 
      
 10 
     | 
    
         
            +
                      if type.respond_to?(:to_sym)
         
     | 
| 
      
 11 
     | 
    
         
            +
                        # @type var type: String | Symbol
         
     | 
| 
      
 12 
     | 
    
         
            +
                        ::RBS::Types::Variable.new(name: type.to_sym, location: nil)
         
     | 
| 
      
 13 
     | 
    
         
            +
                      else
         
     | 
| 
      
 14 
     | 
    
         
            +
                        type
         
     | 
| 
      
 15 
     | 
    
         
            +
                      end
         
     | 
| 
      
 16 
     | 
    
         
            +
                    unless @type.instance_of?(::RBS::Types::Variable)
         
     | 
| 
      
 17 
     | 
    
         
            +
                      ::Kernel.raise ::TypeError, "not a variable type: #{@type}"
         
     | 
| 
      
 18 
     | 
    
         
            +
                    end
         
     | 
| 
       8 
19 
     | 
    
         
             
                  end
         
     | 
| 
       9 
20 
     | 
    
         | 
| 
       10 
21 
     | 
    
         
             
                  def inspect = "#<var #{type}>"
         
     | 
    
        data/lib/raap/value/void.rb
    CHANGED
    
    
    
        data/lib/raap/version.rb
    CHANGED
    
    
    
        data/lib/raap.rb
    CHANGED
    
    | 
         @@ -15,7 +15,9 @@ module RaaP 
     | 
|
| 
       15 
15 
     | 
    
         
             
                attr_accessor :logger
         
     | 
| 
       16 
16 
     | 
    
         
             
              end
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
     | 
    
         
            -
              self.logger = ::Logger.new($stdout 
     | 
| 
      
 18 
     | 
    
         
            +
              self.logger = ::Logger.new($stdout, formatter: proc { |severity, _datetime, _progname, msg|
         
     | 
| 
      
 19 
     | 
    
         
            +
                "[RaaP] #{severity}: #{msg}\n"
         
     | 
| 
      
 20 
     | 
    
         
            +
              })
         
     | 
| 
       19 
21 
     | 
    
         
             
              self.logger.level = ::Logger::INFO
         
     | 
| 
       20 
22 
     | 
    
         | 
| 
       21 
23 
     | 
    
         
             
              autoload :BindCall, "raap/bind_call"
         
     | 
| 
         @@ -23,7 +25,6 @@ module RaaP 
     | 
|
| 
       23 
25 
     | 
    
         
             
              autoload :FunctionType, "raap/function_type"
         
     | 
| 
       24 
26 
     | 
    
         
             
              autoload :MethodProperty, "raap/method_property"
         
     | 
| 
       25 
27 
     | 
    
         
             
              autoload :MethodType, "raap/method_type"
         
     | 
| 
       26 
     | 
    
         
            -
              autoload :Minitest, "raap/minitest"
         
     | 
| 
       27 
28 
     | 
    
         
             
              autoload :RBS, "raap/rbs"
         
     | 
| 
       28 
29 
     | 
    
         
             
              autoload :Result, "raap/result"
         
     | 
| 
       29 
30 
     | 
    
         
             
              autoload :Sized, "raap/sized"
         
     | 
    
        data/public/jacket.webp
    ADDED
    
    | 
         Binary file 
     | 
    
        data/rbs_collection.lock.yaml
    CHANGED
    
    | 
         @@ -5,10 +5,58 @@ gems: 
     | 
|
| 
       5 
5 
     | 
    
         
             
              version: '0'
         
     | 
| 
       6 
6 
     | 
    
         
             
              source:
         
     | 
| 
       7 
7 
     | 
    
         
             
                type: stdlib
         
     | 
| 
      
 8 
     | 
    
         
            +
            - name: activesupport
         
     | 
| 
      
 9 
     | 
    
         
            +
              version: '7.0'
         
     | 
| 
      
 10 
     | 
    
         
            +
              source:
         
     | 
| 
      
 11 
     | 
    
         
            +
                type: git
         
     | 
| 
      
 12 
     | 
    
         
            +
                name: ruby/gem_rbs_collection
         
     | 
| 
      
 13 
     | 
    
         
            +
                revision: bc4cbee282cfb013be8c44a3fe7a374491492400
         
     | 
| 
      
 14 
     | 
    
         
            +
                remote: https://github.com/ruby/gem_rbs_collection.git
         
     | 
| 
      
 15 
     | 
    
         
            +
                repo_dir: gems
         
     | 
| 
      
 16 
     | 
    
         
            +
            - name: base64
         
     | 
| 
      
 17 
     | 
    
         
            +
              version: '0'
         
     | 
| 
      
 18 
     | 
    
         
            +
              source:
         
     | 
| 
      
 19 
     | 
    
         
            +
                type: stdlib
         
     | 
| 
      
 20 
     | 
    
         
            +
            - name: bigdecimal
         
     | 
| 
      
 21 
     | 
    
         
            +
              version: '0'
         
     | 
| 
      
 22 
     | 
    
         
            +
              source:
         
     | 
| 
      
 23 
     | 
    
         
            +
                type: stdlib
         
     | 
| 
      
 24 
     | 
    
         
            +
            - name: concurrent-ruby
         
     | 
| 
      
 25 
     | 
    
         
            +
              version: '1.1'
         
     | 
| 
      
 26 
     | 
    
         
            +
              source:
         
     | 
| 
      
 27 
     | 
    
         
            +
                type: git
         
     | 
| 
      
 28 
     | 
    
         
            +
                name: ruby/gem_rbs_collection
         
     | 
| 
      
 29 
     | 
    
         
            +
                revision: bc4cbee282cfb013be8c44a3fe7a374491492400
         
     | 
| 
      
 30 
     | 
    
         
            +
                remote: https://github.com/ruby/gem_rbs_collection.git
         
     | 
| 
      
 31 
     | 
    
         
            +
                repo_dir: gems
         
     | 
| 
      
 32 
     | 
    
         
            +
            - name: connection_pool
         
     | 
| 
      
 33 
     | 
    
         
            +
              version: '2.4'
         
     | 
| 
      
 34 
     | 
    
         
            +
              source:
         
     | 
| 
      
 35 
     | 
    
         
            +
                type: git
         
     | 
| 
      
 36 
     | 
    
         
            +
                name: ruby/gem_rbs_collection
         
     | 
| 
      
 37 
     | 
    
         
            +
                revision: bc4cbee282cfb013be8c44a3fe7a374491492400
         
     | 
| 
      
 38 
     | 
    
         
            +
                remote: https://github.com/ruby/gem_rbs_collection.git
         
     | 
| 
      
 39 
     | 
    
         
            +
                repo_dir: gems
         
     | 
| 
      
 40 
     | 
    
         
            +
            - name: date
         
     | 
| 
      
 41 
     | 
    
         
            +
              version: '0'
         
     | 
| 
      
 42 
     | 
    
         
            +
              source:
         
     | 
| 
      
 43 
     | 
    
         
            +
                type: stdlib
         
     | 
| 
      
 44 
     | 
    
         
            +
            - name: erb
         
     | 
| 
      
 45 
     | 
    
         
            +
              version: '0'
         
     | 
| 
      
 46 
     | 
    
         
            +
              source:
         
     | 
| 
      
 47 
     | 
    
         
            +
                type: stdlib
         
     | 
| 
       8 
48 
     | 
    
         
             
            - name: fileutils
         
     | 
| 
       9 
49 
     | 
    
         
             
              version: '0'
         
     | 
| 
       10 
50 
     | 
    
         
             
              source:
         
     | 
| 
       11 
51 
     | 
    
         
             
                type: stdlib
         
     | 
| 
      
 52 
     | 
    
         
            +
            - name: i18n
         
     | 
| 
      
 53 
     | 
    
         
            +
              version: '1.10'
         
     | 
| 
      
 54 
     | 
    
         
            +
              source:
         
     | 
| 
      
 55 
     | 
    
         
            +
                type: git
         
     | 
| 
      
 56 
     | 
    
         
            +
                name: ruby/gem_rbs_collection
         
     | 
| 
      
 57 
     | 
    
         
            +
                revision: bc4cbee282cfb013be8c44a3fe7a374491492400
         
     | 
| 
      
 58 
     | 
    
         
            +
                remote: https://github.com/ruby/gem_rbs_collection.git
         
     | 
| 
      
 59 
     | 
    
         
            +
                repo_dir: gems
         
     | 
| 
       12 
60 
     | 
    
         
             
            - name: io-console
         
     | 
| 
       13 
61 
     | 
    
         
             
              version: '0'
         
     | 
| 
       14 
62 
     | 
    
         
             
              source:
         
     | 
| 
         @@ -46,7 +94,7 @@ gems: 
     | 
|
| 
       46 
94 
     | 
    
         
             
              source:
         
     | 
| 
       47 
95 
     | 
    
         
             
                type: git
         
     | 
| 
       48 
96 
     | 
    
         
             
                name: ruby/gem_rbs_collection
         
     | 
| 
       49 
     | 
    
         
            -
                revision:  
     | 
| 
      
 97 
     | 
    
         
            +
                revision: bc4cbee282cfb013be8c44a3fe7a374491492400
         
     | 
| 
       50 
98 
     | 
    
         
             
                remote: https://github.com/ruby/gem_rbs_collection.git
         
     | 
| 
       51 
99 
     | 
    
         
             
                repo_dir: gems
         
     | 
| 
       52 
100 
     | 
    
         
             
            - name: rbs
         
     | 
| 
         @@ -57,6 +105,18 @@ gems: 
     | 
|
| 
       57 
105 
     | 
    
         
             
              version: '0'
         
     | 
| 
       58 
106 
     | 
    
         
             
              source:
         
     | 
| 
       59 
107 
     | 
    
         
             
                type: stdlib
         
     | 
| 
      
 108 
     | 
    
         
            +
            - name: securerandom
         
     | 
| 
      
 109 
     | 
    
         
            +
              version: '0'
         
     | 
| 
      
 110 
     | 
    
         
            +
              source:
         
     | 
| 
      
 111 
     | 
    
         
            +
                type: stdlib
         
     | 
| 
      
 112 
     | 
    
         
            +
            - name: singleton
         
     | 
| 
      
 113 
     | 
    
         
            +
              version: '0'
         
     | 
| 
      
 114 
     | 
    
         
            +
              source:
         
     | 
| 
      
 115 
     | 
    
         
            +
                type: stdlib
         
     | 
| 
      
 116 
     | 
    
         
            +
            - name: time
         
     | 
| 
      
 117 
     | 
    
         
            +
              version: '0'
         
     | 
| 
      
 118 
     | 
    
         
            +
              source:
         
     | 
| 
      
 119 
     | 
    
         
            +
                type: stdlib
         
     | 
| 
       60 
120 
     | 
    
         
             
            - name: timeout
         
     | 
| 
       61 
121 
     | 
    
         
             
              version: '0'
         
     | 
| 
       62 
122 
     | 
    
         
             
              source:
         
     | 
    
        data/rbs_collection.yaml
    CHANGED
    
    
    
        data/sig/raap.rbs
    CHANGED
    
    | 
         @@ -6,8 +6,8 @@ module RaaP 
     | 
|
| 
       6 
6 
     | 
    
         
             
              def self.logger=: (::Logger) -> void
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
              module BindCall
         
     | 
| 
       9 
     | 
    
         
            -
                def self. 
     | 
| 
       10 
     | 
    
         
            -
                def self.respond_to?: (untyped,  
     | 
| 
      
 9 
     | 
    
         
            +
                def self.define_method: (untyped, Symbol) { (*untyped, **untyped) -> untyped } -> void
         
     | 
| 
      
 10 
     | 
    
         
            +
                def self.respond_to?: (untyped, untyped, ?boolish) -> bool
         
     | 
| 
       11 
11 
     | 
    
         
             
                def self.instance_of?: (untyped, Module) -> bool
         
     | 
| 
       12 
12 
     | 
    
         
             
                def self.is_a?: (untyped, Module) -> bool
         
     | 
| 
       13 
13 
     | 
    
         
             
                def self.extend: (untyped, Module) -> void
         
     | 
| 
         @@ -46,33 +46,41 @@ module RaaP 
     | 
|
| 
       46 
46 
     | 
    
         
             
                  attr_accessor allow_private: bool
         
     | 
| 
       47 
47 
     | 
    
         
             
                end
         
     | 
| 
       48 
48 
     | 
    
         | 
| 
      
 49 
     | 
    
         
            +
                type property_result = [Integer, Symbol, ::RBS::MethodType, StringIO?]
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
                DEFAULT_SKIP: ::Set[String]
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
       49 
53 
     | 
    
         
             
                @argv: Array[String]
         
     | 
| 
      
 54 
     | 
    
         
            +
                @option: Option
         
     | 
| 
      
 55 
     | 
    
         
            +
                @results:  Array[{ method: ::RBS::Definition::Method, properties: Array[property_result] }]
         
     | 
| 
      
 56 
     | 
    
         
            +
                @skip: ::Set[::String]
         
     | 
| 
       50 
57 
     | 
    
         | 
| 
       51 
58 
     | 
    
         
             
                def self.option: () -> Option
         
     | 
| 
       52 
59 
     | 
    
         
             
                def self.option=: (Option) -> void
         
     | 
| 
       53 
60 
     | 
    
         | 
| 
       54 
61 
     | 
    
         
             
                def initialize: (Array[String]) -> void
         
     | 
| 
       55 
62 
     | 
    
         
             
                def load: () -> self
         
     | 
| 
      
 63 
     | 
    
         
            +
                def run: () -> Integer
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
                private
         
     | 
| 
       56 
66 
     | 
    
         | 
| 
       57 
     | 
    
         
            -
                 
     | 
| 
       58 
     | 
    
         
            -
                def  
     | 
| 
       59 
     | 
    
         
            -
                def  
     | 
| 
       60 
     | 
    
         
            -
                def  
     | 
| 
       61 
     | 
    
         
            -
                def  
     | 
| 
       62 
     | 
    
         
            -
                def run_by_type_name: (tag: String) -> Array[Array[property_result]]
         
     | 
| 
       63 
     | 
    
         
            -
                def run_by_type_name_with_search: (tag: String) -> Array[Array[property_result]]
         
     | 
| 
       64 
     | 
    
         
            -
                def property: (receiver_type: Type, type_params_decl: Array[::RBS::AST::TypeParam], method_name: Symbol, method_type: ::RBS::MethodType) -> property_result
         
     | 
| 
      
 67 
     | 
    
         
            +
                def run_by: (kind: (:instance | :singleton), tag: String) -> void
         
     | 
| 
      
 68 
     | 
    
         
            +
                def run_by_type_name: (tag: String) -> void
         
     | 
| 
      
 69 
     | 
    
         
            +
                def run_by_type_name_with_search: (tag: String) -> void
         
     | 
| 
      
 70 
     | 
    
         
            +
                def property: (receiver_type: Type, type_params_decl: Array[::RBS::AST::TypeParam], type_args: Array[::RBS::Types::t], method_name: Symbol, method_type: ::RBS::MethodType) -> property_result
         
     | 
| 
      
 71 
     | 
    
         
            +
                def report: () -> Integer
         
     | 
| 
       65 
72 
     | 
    
         
             
              end
         
     | 
| 
       66 
73 
     | 
    
         | 
| 
       67 
74 
     | 
    
         
             
              class FunctionType
         
     | 
| 
       68 
75 
     | 
    
         
             
                @fun: ::RBS::Types::Function
         
     | 
| 
       69 
76 
     | 
    
         | 
| 
       70 
77 
     | 
    
         
             
                def initialize: (::RBS::Types::Function) -> void
         
     | 
| 
       71 
     | 
    
         
            -
                def pick_arguments: (?size: Integer 
     | 
| 
      
 78 
     | 
    
         
            +
                def pick_arguments: (?size: Integer) -> [Array[untyped], Hash[Symbol, untyped]]
         
     | 
| 
      
 79 
     | 
    
         
            +
                def arguments_to_symbolic_call: (?size: Integer) -> [Array[untyped], Hash[Symbol, untyped]]
         
     | 
| 
       72 
80 
     | 
    
         | 
| 
       73 
81 
     | 
    
         
             
                private
         
     | 
| 
       74 
82 
     | 
    
         | 
| 
       75 
     | 
    
         
            -
                def  
     | 
| 
      
 83 
     | 
    
         
            +
                def to_symbolic_call_recursive: (untyped, size: Integer) -> untyped
         
     | 
| 
       76 
84 
     | 
    
         
             
                def build_args_type: () -> Array[Type]
         
     | 
| 
       77 
85 
     | 
    
         
             
                def build_kwargs_type: () -> Hash[Symbol, Type]
         
     | 
| 
       78 
86 
     | 
    
         
             
              end
         
     | 
| 
         @@ -82,6 +90,7 @@ module RaaP 
     | 
|
| 
       82 
90 
     | 
    
         
             
                  attr_accessor success: Integer
         
     | 
| 
       83 
91 
     | 
    
         
             
                  attr_accessor skip: Integer
         
     | 
| 
       84 
92 
     | 
    
         
             
                  attr_accessor exception: Integer
         
     | 
| 
      
 93 
     | 
    
         
            +
                  attr_accessor break: bool
         
     | 
| 
       85 
94 
     | 
    
         
             
                end
         
     | 
| 
       86 
95 
     | 
    
         | 
| 
       87 
96 
     | 
    
         
             
                @receiver_type: Type
         
     | 
| 
         @@ -97,7 +106,7 @@ module RaaP 
     | 
|
| 
       97 
106 
     | 
    
         
             
                private
         
     | 
| 
       98 
107 
     | 
    
         | 
| 
       99 
108 
     | 
    
         
             
                def call: (size: Integer, stats: Stats) -> (Result::Success | Result::Failure | Result::Skip | Result::Exception)
         
     | 
| 
       100 
     | 
    
         
            -
                def check_return: (receiver_value: untyped, return_value: untyped 
     | 
| 
      
 109 
     | 
    
         
            +
                def check_return: (receiver_value: untyped, return_value: untyped) -> ([Symbol] | [Symbol, Exception])
         
     | 
| 
       101 
110 
     | 
    
         
             
                def return_type: () -> RBS::Types::t
         
     | 
| 
       102 
111 
     | 
    
         
             
              end
         
     | 
| 
       103 
112 
     | 
    
         | 
| 
         @@ -106,8 +115,9 @@ module RaaP 
     | 
|
| 
       106 
115 
     | 
    
         
             
                @fun_type: FunctionType
         
     | 
| 
       107 
116 
     | 
    
         | 
| 
       108 
117 
     | 
    
         
             
                def initialize: (::RBS::MethodType | String method, ?type_params_decl: Array[untyped], ?type_args: Array[untyped], ?self_type: ::RBS::Types::ClassInstance?, ?instance_type: ::RBS::Types::ClassInstance?, ?class_type: ::RBS::Types::ClassSingleton?) -> void
         
     | 
| 
       109 
     | 
    
         
            -
                def pick_arguments: (?size: Integer 
     | 
| 
       110 
     | 
    
         
            -
                def  
     | 
| 
      
 118 
     | 
    
         
            +
                def pick_arguments: (?size: Integer) -> [Array[untyped], Hash[Symbol, untyped], ::Proc?]
         
     | 
| 
      
 119 
     | 
    
         
            +
                def arguments_to_symbolic_call: (?size: Integer) -> [Array[untyped], Hash[Symbol, untyped], ::Proc?]
         
     | 
| 
      
 120 
     | 
    
         
            +
                def pick_block: (?size: Integer) -> ::Proc?
         
     | 
| 
       111 
121 
     | 
    
         
             
                def check_return: (untyped) -> bool
         
     | 
| 
       112 
122 
     | 
    
         
             
              end
         
     | 
| 
       113 
123 
     | 
    
         | 
| 
         @@ -123,28 +133,37 @@ module RaaP 
     | 
|
| 
       123 
133 
     | 
    
         
             
                def self.env: () -> ::RBS::Environment
         
     | 
| 
       124 
134 
     | 
    
         
             
                def self.loader: () -> ::RBS::EnvironmentLoader
         
     | 
| 
       125 
135 
     | 
    
         
             
                def self.parse_type: (String) -> ::RBS::Types::t
         
     | 
| 
      
 136 
     | 
    
         
            +
                def self.parse_method_type: (String) -> ::RBS::MethodType
         
     | 
| 
      
 137 
     | 
    
         
            +
                def self.find_alias_decl: (::RBS::TypeName, Symbol) -> ::RBS::AST::Members::Alias?
         
     | 
| 
       126 
138 
     | 
    
         
             
              end
         
     | 
| 
       127 
139 
     | 
    
         | 
| 
       128 
140 
     | 
    
         
             
              module Result
         
     | 
| 
       129 
     | 
    
         
            -
                interface  
     | 
| 
       130 
     | 
    
         
            -
                  def symbolic_call: () -> symbolic_call
         
     | 
| 
      
 141 
     | 
    
         
            +
                interface _ReturnValue
         
     | 
| 
       131 
142 
     | 
    
         
             
                  def return_value: () -> untyped
         
     | 
| 
       132 
143 
     | 
    
         
             
                end
         
     | 
| 
       133 
     | 
    
         
            -
             
     | 
| 
       134 
     | 
    
         
            -
             
     | 
| 
      
 144 
     | 
    
         
            +
             
     | 
| 
      
 145 
     | 
    
         
            +
                module ReturnValueWithType : _ReturnValue
         
     | 
| 
      
 146 
     | 
    
         
            +
                  def return_value_with_type: () -> String
         
     | 
| 
      
 147 
     | 
    
         
            +
             
     | 
| 
      
 148 
     | 
    
         
            +
                  private
         
     | 
| 
      
 149 
     | 
    
         
            +
             
     | 
| 
      
 150 
     | 
    
         
            +
                  def return_value_to_type: (untyped) -> String
         
     | 
| 
       135 
151 
     | 
    
         
             
                end
         
     | 
| 
      
 152 
     | 
    
         
            +
             
     | 
| 
       136 
153 
     | 
    
         
             
                class Success < Data
         
     | 
| 
      
 154 
     | 
    
         
            +
                  include ReturnValueWithType
         
     | 
| 
       137 
155 
     | 
    
         
             
                  def self.new: (symbolic_call: symbolic_call, return_value: untyped) -> instance
         
     | 
| 
       138 
156 
     | 
    
         
             
                  attr_reader symbolic_call: symbolic_call
         
     | 
| 
       139 
157 
     | 
    
         
             
                  attr_reader return_value: untyped
         
     | 
| 
       140 
     | 
    
         
            -
                   
     | 
| 
      
 158 
     | 
    
         
            +
                  def called_str: () -> String
         
     | 
| 
       141 
159 
     | 
    
         
             
                end
         
     | 
| 
       142 
160 
     | 
    
         
             
                class Failure < Data
         
     | 
| 
      
 161 
     | 
    
         
            +
                  include ReturnValueWithType
         
     | 
| 
       143 
162 
     | 
    
         
             
                  def self.new: (symbolic_call: symbolic_call, return_value: untyped, ?exception: ::Exception?) -> instance
         
     | 
| 
       144 
163 
     | 
    
         
             
                  attr_reader symbolic_call: symbolic_call
         
     | 
| 
       145 
164 
     | 
    
         
             
                  attr_reader return_value: untyped
         
     | 
| 
       146 
165 
     | 
    
         
             
                  attr_reader exception: ::Exception?
         
     | 
| 
       147 
     | 
    
         
            -
                   
     | 
| 
      
 166 
     | 
    
         
            +
                  def called_str: () -> String
         
     | 
| 
       148 
167 
     | 
    
         
             
                end
         
     | 
| 
       149 
168 
     | 
    
         
             
                class Skip < Data
         
     | 
| 
       150 
169 
     | 
    
         
             
                  def self.new: (symbolic_call: symbolic_call?, exception: ::Exception) -> instance
         
     | 
| 
         @@ -188,7 +207,7 @@ module RaaP 
     | 
|
| 
       188 
207 
     | 
    
         | 
| 
       189 
208 
     | 
    
         
             
                def try_eval: (untyped) -> untyped
         
     | 
| 
       190 
209 
     | 
    
         
             
                def walk: () ?{ (symbolic_call) -> untyped} -> untyped
         
     | 
| 
       191 
     | 
    
         
            -
                def _walk: (untyped) ?{ (symbolic_call) -> untyped} -> untyped
         
     | 
| 
      
 210 
     | 
    
         
            +
                def _walk: (untyped, bool is_last) ?{ (symbolic_call) -> untyped} -> untyped
         
     | 
| 
       192 
211 
     | 
    
         
             
                def eval_one: (symbolic_call) -> untyped
         
     | 
| 
       193 
212 
     | 
    
         
             
                def var_name: (Module) -> String
         
     | 
| 
       194 
213 
     | 
    
         
             
                def printable?: (untyped) -> bool
         
     | 
| 
         @@ -201,7 +220,7 @@ module RaaP 
     | 
|
| 
       201 
220 
     | 
    
         | 
| 
       202 
221 
     | 
    
         
             
                def initialize: (::Array[::RBS::AST::TypeParam], ::Array[::RBS::Types::t]) -> void
         
     | 
| 
       203 
222 
     | 
    
         
             
                def build: () -> ::RBS::Substitution
         
     | 
| 
       204 
     | 
    
         
            -
                def method_type_sub: (::RBS::MethodType, ?self_type: ::RBS::Types:: 
     | 
| 
      
 223 
     | 
    
         
            +
                def method_type_sub: (::RBS::MethodType, ?self_type: ::RBS::Types::t?, ?instance_type: ::RBS::Types::ClassInstance?, ?class_type: ::RBS::Types::ClassSingleton?) -> ::RBS::MethodType
         
     | 
| 
       205 
224 
     | 
    
         | 
| 
       206 
225 
     | 
    
         
             
                private
         
     | 
| 
       207 
226 
     | 
    
         | 
| 
         @@ -209,7 +228,7 @@ module RaaP 
     | 
|
| 
       209 
228 
     | 
    
         
             
                  def map_type: { (untyped) -> untyped } -> untyped
         
     | 
| 
       210 
229 
     | 
    
         
             
                end
         
     | 
| 
       211 
230 
     | 
    
         | 
| 
       212 
     | 
    
         
            -
                def sub: (_MapType search, self_type: ::RBS::Types:: 
     | 
| 
      
 231 
     | 
    
         
            +
                def sub: (_MapType search, self_type: ::RBS::Types::t?, instance_type: ::RBS::Types::t?, class_type: ::RBS::Types::t?) -> untyped
         
     | 
| 
       213 
232 
     | 
    
         
             
              end
         
     | 
| 
       214 
233 
     | 
    
         | 
| 
       215 
234 
     | 
    
         
             
              class Type
         
     | 
| 
         @@ -222,9 +241,12 @@ module RaaP 
     | 
|
| 
       222 
241 
     | 
    
         | 
| 
       223 
242 
     | 
    
         
             
                GENERATORS: Hash[String, ^() -> Sized[untyped]]
         
     | 
| 
       224 
243 
     | 
    
         
             
                SIMPLE_SOURCE: Array[String]
         
     | 
| 
       225 
     | 
    
         
            -
                RECURSION: Hash[String, :found | :logged]
         
     | 
| 
       226 
244 
     | 
    
         | 
| 
       227 
245 
     | 
    
         
             
                def self.register: (String) { () [self: instance] -> Sized[untyped] } -> void
         
     | 
| 
      
 246 
     | 
    
         
            +
                def self.random: () -> Type
         
     | 
| 
      
 247 
     | 
    
         
            +
                def self.random_without_basic_object: () -> Type
         
     | 
| 
      
 248 
     | 
    
         
            +
                def self.call_new_from: (Module, ::RBS::Types::ClassInstance, size: Integer) -> symbolic_call
         
     | 
| 
      
 249 
     | 
    
         
            +
             
     | 
| 
       228 
250 
     | 
    
         
             
                attr_reader type: ::RBS::Types::t
         
     | 
| 
       229 
251 
     | 
    
         
             
                attr_reader range: Range[untyped]
         
     | 
| 
       230 
252 
     | 
    
         | 
| 
         @@ -235,13 +257,14 @@ module RaaP 
     | 
|
| 
       235 
257 
     | 
    
         
             
                def such_that: () { (untyped) -> boolish } -> self
         
     | 
| 
       236 
258 
     | 
    
         | 
| 
       237 
259 
     | 
    
         
             
                # Basic API for materializing values
         
     | 
| 
       238 
     | 
    
         
            -
                def pick: (?size: Integer 
     | 
| 
      
 260 
     | 
    
         
            +
                def pick: (?size: Integer) -> untyped
         
     | 
| 
      
 261 
     | 
    
         
            +
                def to_symbolic_caller: (?size: Integer) -> SymbolicCaller
         
     | 
| 
       239 
262 
     | 
    
         
             
                def to_symbolic_call: (?size: Integer) -> untyped
         
     | 
| 
       240 
263 
     | 
    
         
             
                def sized: [T] () { (Integer size) -> T } -> Sized[T]
         
     | 
| 
       241 
264 
     | 
    
         | 
| 
       242 
265 
     | 
    
         
             
                private
         
     | 
| 
       243 
266 
     | 
    
         | 
| 
       244 
     | 
    
         
            -
                def  
     | 
| 
      
 267 
     | 
    
         
            +
                def to_symbolic_call_from_initialize: (::RBS::Types::ClassInstance, size: Integer) -> (symbolic_call | Value::Module)
         
     | 
| 
       245 
268 
     | 
    
         
             
                def parse: (String | ::RBS::Types::t) -> ::RBS::Types::t?
         
     | 
| 
       246 
269 
     | 
    
         
             
                def try: (times: Integer, size: Integer) { (Integer size) -> untyped } -> untyped
         
     | 
| 
       247 
270 
     | 
    
         | 
| 
         @@ -254,9 +277,9 @@ module RaaP 
     | 
|
| 
       254 
277 
     | 
    
         
             
                def string: () -> Sized[String]
         
     | 
| 
       255 
278 
     | 
    
         
             
                def symbol: () -> Sized[Symbol]
         
     | 
| 
       256 
279 
     | 
    
         
             
                def array: (Type) -> Sized[Array[untyped]]
         
     | 
| 
      
 280 
     | 
    
         
            +
                def dict: (Type, Type) -> Sized[Hash[untyped, untyped]]
         
     | 
| 
       257 
281 
     | 
    
         
             
                def encoding: () -> Sized[symbolic_call]
         
     | 
| 
       258 
282 
     | 
    
         
             
                def bool: () -> Sized[bool]
         
     | 
| 
       259 
     | 
    
         
            -
                def untyped: () -> Sized[untyped]
         
     | 
| 
       260 
283 
     | 
    
         
             
                def temp_method_object: () -> ::Method
         
     | 
| 
       261 
284 
     | 
    
         
             
              end
         
     | 
| 
       262 
285 
     | 
    
         | 
| 
         @@ -271,7 +294,9 @@ module RaaP 
     | 
|
| 
       271 
294 
     | 
    
         
             
                  @size: Integer
         
     | 
| 
       272 
295 
     | 
    
         
             
                  @definition: ::RBS::Definition
         
     | 
| 
       273 
296 
     | 
    
         | 
| 
       274 
     | 
    
         
            -
                  def  
     | 
| 
      
 297 
     | 
    
         
            +
                  def self.define_method_from_interface: (Class base_class, String | ::RBS::Types::Interface type, ?size: Integer) -> void
         
     | 
| 
      
 298 
     | 
    
         
            +
                  def initialize: (String | ::RBS::Types::Interface | String, ?size: Integer) -> void
         
     | 
| 
      
 299 
     | 
    
         
            +
                  def respond_to?: (Symbol, ?boolish) -> bool
         
     | 
| 
       275 
300 
     | 
    
         
             
                  def inspect: () -> String
         
     | 
| 
       276 
301 
     | 
    
         
             
                  def class: () -> class
         
     | 
| 
       277 
302 
     | 
    
         
             
                end
         
     | 
| 
         @@ -281,15 +306,19 @@ module RaaP 
     | 
|
| 
       281 
306 
     | 
    
         
             
                  @children: Array[Type]
         
     | 
| 
       282 
307 
     | 
    
         
             
                  @size: Integer
         
     | 
| 
       283 
308 
     | 
    
         | 
| 
       284 
     | 
    
         
            -
                  def initialize: (::RBS::Types::Intersection, size: Integer) -> void
         
     | 
| 
      
 309 
     | 
    
         
            +
                  def initialize: (::RBS::Types::Intersection | String, ?size: Integer) -> void
         
     | 
| 
      
 310 
     | 
    
         
            +
                  def respond_to?: (Symbol, ?boolish) -> bool
         
     | 
| 
       285 
311 
     | 
    
         
             
                  def inspect: () -> String
         
     | 
| 
       286 
312 
     | 
    
         
             
                  def class: () -> class
         
     | 
| 
       287 
313 
     | 
    
         
             
                end
         
     | 
| 
       288 
314 
     | 
    
         | 
| 
       289 
     | 
    
         
            -
                class Module
         
     | 
| 
       290 
     | 
    
         
            -
                   
     | 
| 
      
 315 
     | 
    
         
            +
                class Module < BasicObject
         
     | 
| 
      
 316 
     | 
    
         
            +
                  @type: ::RBS::Types::ClassInstance
         
     | 
| 
      
 317 
     | 
    
         
            +
                  @size: Integer
         
     | 
| 
      
 318 
     | 
    
         
            +
                  @self_type: untyped
         
     | 
| 
       291 
319 
     | 
    
         | 
| 
       292 
     | 
    
         
            -
                  def initialize: (::RBS::Types::ClassInstance) -> void
         
     | 
| 
      
 320 
     | 
    
         
            +
                  def initialize: (::RBS::Types::ClassInstance | String, ?size: Integer) -> void
         
     | 
| 
      
 321 
     | 
    
         
            +
                  def respond_to?: (Symbol, ?boolish) -> bool
         
     | 
| 
       293 
322 
     | 
    
         
             
                  def inspect: () -> String
         
     | 
| 
       294 
323 
     | 
    
         
             
                  def class: () -> class
         
     | 
| 
       295 
324 
     | 
    
         
             
                end
         
     | 
| 
         @@ -302,7 +331,7 @@ module RaaP 
     | 
|
| 
       302 
331 
     | 
    
         
             
                class Variable < BasicObject
         
     | 
| 
       303 
332 
     | 
    
         
             
                  attr_reader type: ::RBS::Types::Variable
         
     | 
| 
       304 
333 
     | 
    
         | 
| 
       305 
     | 
    
         
            -
                  def initialize: (::RBS::Types::Variable) -> void
         
     | 
| 
      
 334 
     | 
    
         
            +
                  def initialize: (::RBS::Types::Variable | String | Symbol) -> void
         
     | 
| 
       306 
335 
     | 
    
         
             
                  def inspect: () -> String
         
     | 
| 
       307 
336 
     | 
    
         
             
                  def class: () -> class
         
     | 
| 
       308 
337 
     | 
    
         
             
                end
         
     | 
    
        data/sig/shims.rbs
    ADDED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: raap
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.5.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - ksss
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2024- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2024-04-23 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rbs
         
     | 
| 
         @@ -28,16 +28,16 @@ dependencies: 
     | 
|
| 
       28 
28 
     | 
    
         
             
              name: timeout
         
     | 
| 
       29 
29 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       30 
30 
     | 
    
         
             
                requirements:
         
     | 
| 
       31 
     | 
    
         
            -
                - - " 
     | 
| 
      
 31 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
       32 
32 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       33 
     | 
    
         
            -
                    version: '0'
         
     | 
| 
      
 33 
     | 
    
         
            +
                    version: '0.4'
         
     | 
| 
       34 
34 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       35 
35 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       36 
36 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       37 
37 
     | 
    
         
             
                requirements:
         
     | 
| 
       38 
     | 
    
         
            -
                - - " 
     | 
| 
      
 38 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
       39 
39 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       40 
     | 
    
         
            -
                    version: '0'
         
     | 
| 
      
 40 
     | 
    
         
            +
                    version: '0.4'
         
     | 
| 
       41 
41 
     | 
    
         
             
            description: Property based testing tool with RBS
         
     | 
| 
       42 
42 
     | 
    
         
             
            email:
         
     | 
| 
       43 
43 
     | 
    
         
             
            - co000ri@gmail.com
         
     | 
| 
         @@ -46,6 +46,7 @@ executables: 
     | 
|
| 
       46 
46 
     | 
    
         
             
            extensions: []
         
     | 
| 
       47 
47 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       48 
48 
     | 
    
         
             
            files:
         
     | 
| 
      
 49 
     | 
    
         
            +
            - ".rubocop.yml"
         
     | 
| 
       49 
50 
     | 
    
         
             
            - CHANGELOG.md
         
     | 
| 
       50 
51 
     | 
    
         
             
            - CODE_OF_CONDUCT.md
         
     | 
| 
       51 
52 
     | 
    
         
             
            - LICENSE.txt
         
     | 
| 
         @@ -75,16 +76,16 @@ files: 
     | 
|
| 
       75 
76 
     | 
    
         
             
            - lib/raap/value/variable.rb
         
     | 
| 
       76 
77 
     | 
    
         
             
            - lib/raap/value/void.rb
         
     | 
| 
       77 
78 
     | 
    
         
             
            - lib/raap/version.rb
         
     | 
| 
      
 79 
     | 
    
         
            +
            - public/jacket.webp
         
     | 
| 
       78 
80 
     | 
    
         
             
            - rbs_collection.lock.yaml
         
     | 
| 
       79 
81 
     | 
    
         
             
            - rbs_collection.yaml
         
     | 
| 
       80 
82 
     | 
    
         
             
            - sig/raap.rbs
         
     | 
| 
      
 83 
     | 
    
         
            +
            - sig/shims.rbs
         
     | 
| 
       81 
84 
     | 
    
         
             
            homepage: https://github.com/ksss/raap
         
     | 
| 
       82 
85 
     | 
    
         
             
            licenses:
         
     | 
| 
       83 
86 
     | 
    
         
             
            - MIT
         
     | 
| 
       84 
87 
     | 
    
         
             
            metadata:
         
     | 
| 
       85 
     | 
    
         
            -
               
     | 
| 
       86 
     | 
    
         
            -
              source_code_uri: https://github.com/ksss/raap
         
     | 
| 
       87 
     | 
    
         
            -
              changelog_uri: https://github.com/ksss/raap
         
     | 
| 
      
 88 
     | 
    
         
            +
              rubygems_mfa_required: 'true'
         
     | 
| 
       88 
89 
     | 
    
         
             
            post_install_message:
         
     | 
| 
       89 
90 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       90 
91 
     | 
    
         
             
            require_paths:
         
     |