parser_node_ext 0.4.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/CHANGELOG.md +5 -1
- data/Gemfile.lock +3 -2
- data/lib/parser_node_ext/version.rb +1 -1
- data/lib/parser_node_ext.rb +18 -24
- metadata +3 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: b9bee187df49c963339ad5b6ed34721fb558e93b066593ac8fdf34ae453932f4
         | 
| 4 | 
            +
              data.tar.gz: 960b04b95fb1ae5414d4ca820f22e1b2ae117c47e2d4502c9503848fc5048c19
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 6a1432adf0618a77279d580ae9ad8de92a5e601c15256bedbafd870d3f46348c07143c11e25c4e3717dd6de19a99f22f1ce0306247ef5ad0f9529799d04fe0e1
         | 
| 7 | 
            +
              data.tar.gz: 84e0d2ed48ba5650714e0bf994b43b7d9ef8f1191cf24941bf8a376963128145cbb970adb05f3e22f60ba6184d31f598f3b38b1a333b3d8a541149f3298cf9b5
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                parser_node_ext (0. | 
| 4 | 
            +
                parser_node_ext (0.5.0)
         | 
| 5 5 | 
             
                  parser
         | 
| 6 6 |  | 
| 7 7 | 
             
            GEM
         | 
| @@ -9,7 +9,7 @@ GEM | |
| 9 9 | 
             
              specs:
         | 
| 10 10 | 
             
                ast (2.4.2)
         | 
| 11 11 | 
             
                diff-lcs (1.5.0)
         | 
| 12 | 
            -
                parser (3.1. | 
| 12 | 
            +
                parser (3.1.3.0)
         | 
| 13 13 | 
             
                  ast (~> 2.4.1)
         | 
| 14 14 | 
             
                rake (13.0.6)
         | 
| 15 15 | 
             
                rspec (3.11.0)
         | 
| @@ -28,6 +28,7 @@ GEM | |
| 28 28 |  | 
| 29 29 | 
             
            PLATFORMS
         | 
| 30 30 | 
             
              x86_64-darwin-21
         | 
| 31 | 
            +
              x86_64-darwin-22
         | 
| 31 32 | 
             
              x86_64-linux
         | 
| 32 33 |  | 
| 33 34 | 
             
            DEPENDENCIES
         | 
    
        data/lib/parser_node_ext.rb
    CHANGED
    
    | @@ -22,20 +22,27 @@ module ParserNodeExt | |
| 22 22 | 
             
                def: %i[name arguments body],
         | 
| 23 23 | 
             
                definded?: %i[arguments],
         | 
| 24 24 | 
             
                defs: %i[self name arguments body],
         | 
| 25 | 
            +
                false: [],
         | 
| 26 | 
            +
                float: [],
         | 
| 25 27 | 
             
                hash: %i[pairs],
         | 
| 28 | 
            +
                int: [],
         | 
| 26 29 | 
             
                ivasgn: %i[left_value right_value],
         | 
| 27 30 | 
             
                ivar: %i[name],
         | 
| 28 31 | 
             
                lvar: %i[name],
         | 
| 29 32 | 
             
                lvasgn: %i[left_value right_value],
         | 
| 30 33 | 
             
                masgn: %i[left_value right_value],
         | 
| 31 34 | 
             
                module: %i[name body],
         | 
| 35 | 
            +
                nil: [],
         | 
| 32 36 | 
             
                or: %i[left_value right_value],
         | 
| 33 37 | 
             
                or_asgn: %i[left_value right_value],
         | 
| 34 38 | 
             
                pair: %i[key value],
         | 
| 35 39 | 
             
                restarg: %i[name],
         | 
| 36 40 | 
             
                send: %i[receiver message arguments],
         | 
| 41 | 
            +
                str: [],
         | 
| 37 42 | 
             
                super: %i[arguments],
         | 
| 38 | 
            -
                 | 
| 43 | 
            +
                sym: [],
         | 
| 44 | 
            +
                true: [],
         | 
| 45 | 
            +
                zsuper: []
         | 
| 39 46 | 
             
              }
         | 
| 40 47 |  | 
| 41 48 | 
             
              def self.included(base)
         | 
| @@ -93,7 +100,7 @@ module ParserNodeExt | |
| 93 100 | 
             
                      index = TYPE_CHILDREN[type]&.index(method_name)
         | 
| 94 101 | 
             
                      return children[index] if index
         | 
| 95 102 |  | 
| 96 | 
            -
                      raise MethodNotSupported, "#{method_name} is not  | 
| 103 | 
            +
                      raise MethodNotSupported, "#{method_name} is not supported for #{self}"
         | 
| 97 104 | 
             
                    end
         | 
| 98 105 | 
             
                  end
         | 
| 99 106 |  | 
| @@ -110,7 +117,7 @@ module ParserNodeExt | |
| 110 117 | 
             
                    index = TYPE_CHILDREN[type]&.index(:left_value)
         | 
| 111 118 | 
             
                    return children[index] if index
         | 
| 112 119 |  | 
| 113 | 
            -
                    raise MethodNotSupported, "#{left_value} is not  | 
| 120 | 
            +
                    raise MethodNotSupported, "#{left_value} is not supported for #{self}"
         | 
| 114 121 | 
             
                  end
         | 
| 115 122 |  | 
| 116 123 | 
             
                  # Get arguments of node.
         | 
| @@ -131,7 +138,7 @@ module ParserNodeExt | |
| 131 138 | 
             
                    when :defined?
         | 
| 132 139 | 
             
                      children
         | 
| 133 140 | 
             
                    else
         | 
| 134 | 
            -
                      raise MethodNotSupported, "arguments is not  | 
| 141 | 
            +
                      raise MethodNotSupported, "arguments is not supported for #{self}"
         | 
| 135 142 | 
             
                    end
         | 
| 136 143 | 
             
                  end
         | 
| 137 144 |  | 
| @@ -155,7 +162,7 @@ module ParserNodeExt | |
| 155 162 |  | 
| 156 163 | 
             
                      :begin == children[3].type ? children[3].body : children[3..-1]
         | 
| 157 164 | 
             
                    else
         | 
| 158 | 
            -
                      raise MethodNotSupported, "body is not  | 
| 165 | 
            +
                      raise MethodNotSupported, "body is not supported for #{self}"
         | 
| 159 166 | 
             
                    end
         | 
| 160 167 | 
             
                  end
         | 
| 161 168 |  | 
| @@ -170,7 +177,7 @@ module ParserNodeExt | |
| 170 177 | 
             
                    if :if == type
         | 
| 171 178 | 
             
                      children[0]
         | 
| 172 179 | 
             
                    else
         | 
| 173 | 
            -
                      raise MethodNotSupported, "condition is not  | 
| 180 | 
            +
                      raise MethodNotSupported, "condition is not supported for #{self}"
         | 
| 174 181 | 
             
                    end
         | 
| 175 182 | 
             
                  end
         | 
| 176 183 |  | 
| @@ -184,7 +191,7 @@ module ParserNodeExt | |
| 184 191 | 
             
                    if :hash == type
         | 
| 185 192 | 
             
                      children.map { |child| child.children[0] }
         | 
| 186 193 | 
             
                    else
         | 
| 187 | 
            -
                      raise MethodNotSupported, "keys is not  | 
| 194 | 
            +
                      raise MethodNotSupported, "keys is not supported for #{self}"
         | 
| 188 195 | 
             
                    end
         | 
| 189 196 | 
             
                  end
         | 
| 190 197 |  | 
| @@ -198,7 +205,7 @@ module ParserNodeExt | |
| 198 205 | 
             
                    if :hash == type
         | 
| 199 206 | 
             
                      children.map { |child| child.children[1] }
         | 
| 200 207 | 
             
                    else
         | 
| 201 | 
            -
                      raise MethodNotSupported, "keys is not  | 
| 208 | 
            +
                      raise MethodNotSupported, "keys is not supported for #{self}"
         | 
| 202 209 | 
             
                    end
         | 
| 203 210 | 
             
                  end
         | 
| 204 211 |  | 
| @@ -213,7 +220,7 @@ module ParserNodeExt | |
| 213 220 | 
             
                    if :hash == type
         | 
| 214 221 | 
             
                      children.any? { |pair_node| pair_node.key.to_value == key }
         | 
| 215 222 | 
             
                    else
         | 
| 216 | 
            -
                      raise MethodNotSupported, "key? is not  | 
| 223 | 
            +
                      raise MethodNotSupported, "key? is not supported for #{self}"
         | 
| 217 224 | 
             
                    end
         | 
| 218 225 | 
             
                  end
         | 
| 219 226 |  | 
| @@ -229,7 +236,7 @@ module ParserNodeExt | |
| 229 236 | 
             
                      value_node = children.find { |pair_node| pair_node.key.to_value == key }
         | 
| 230 237 | 
             
                      value_node&.value
         | 
| 231 238 | 
             
                    else
         | 
| 232 | 
            -
                      raise MethodNotSupported, "hash_value is not  | 
| 239 | 
            +
                      raise MethodNotSupported, "hash_value is not supported for #{self}"
         | 
| 233 240 | 
             
                    end
         | 
| 234 241 | 
             
                  end
         | 
| 235 242 |  | 
| @@ -330,19 +337,6 @@ module ParserNodeExt | |
| 330 337 |  | 
| 331 338 | 
             
                    super
         | 
| 332 339 | 
             
                  end
         | 
| 333 | 
            -
             | 
| 334 | 
            -
                  # Return the debug info.
         | 
| 335 | 
            -
                  #
         | 
| 336 | 
            -
                  # @return [String] file, line, source and node.
         | 
| 337 | 
            -
                  def debug_info
         | 
| 338 | 
            -
                    "\n" +
         | 
| 339 | 
            -
                      [
         | 
| 340 | 
            -
                        "file: #{loc.expression.source_buffer.name}",
         | 
| 341 | 
            -
                        "line: #{loc.expression.line}",
         | 
| 342 | 
            -
                        "source: #{to_source}",
         | 
| 343 | 
            -
                        "node: #{inspect}"
         | 
| 344 | 
            -
                      ].join("\n")
         | 
| 345 | 
            -
                  end
         | 
| 346 340 | 
             
                end
         | 
| 347 341 | 
             
              end
         | 
| 348 342 | 
             
            end
         | 
| @@ -373,7 +367,7 @@ end | |
| 373 367 | 
             
            # +type: 'send', receiver: { type: 'send', receiver: { type: 'send', message: 'config' }, message: 'active_record' }, message: 'identity_map='+
         | 
| 374 368 | 
             
            #
         | 
| 375 369 | 
             
            # Source Code to Ast Node
         | 
| 376 | 
            -
            # {https:// | 
| 370 | 
            +
            # {https://playground.synvert.net/ruby}
         | 
| 377 371 | 
             
            class Parser::AST::Node
         | 
| 378 372 | 
             
              include ParserNodeExt
         | 
| 379 373 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: parser_node_ext
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.5.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Richard Huang
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2022- | 
| 11 | 
            +
            date: 2022-12-25 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: parser
         | 
| @@ -63,7 +63,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 63 63 | 
             
                - !ruby/object:Gem::Version
         | 
| 64 64 | 
             
                  version: '0'
         | 
| 65 65 | 
             
            requirements: []
         | 
| 66 | 
            -
            rubygems_version: 3.3. | 
| 66 | 
            +
            rubygems_version: 3.3.26
         | 
| 67 67 | 
             
            signing_key:
         | 
| 68 68 | 
             
            specification_version: 4
         | 
| 69 69 | 
             
            summary: extend parser node
         |