class TypeProf::Core::RecordBlock - typeprof: Ruby Standard Library Documentation

# class TypeProf::Core::RecordBlock

### Attributes

f_args[R]
node[R]
ret[R]
used[R]

### Public Class Methods

new(node) click to toggle source

    # File typeprof-0.30.1/lib/typeprof/core/env/method.rb, line 116
    def initialize(node)
      @node = node
      @used = false
      @f_args = []
      @ret = Vertex.new(node)
    end

### Public Instance Methods

accept_args(genv, changes, caller_positionals, caller_ret, ret_check) click to toggle source

    # File typeprof-0.30.1/lib/typeprof/core/env/method.rb, line 129
    def accept_args(genv, changes, caller_positionals, caller_ret, ret_check)
      @used = true
      caller_positionals.each_with_index do |a_arg, i|
        changes.add_edge(genv, a_arg.new_vertex(genv, @node), get_f_arg(i))
      end
      changes.add_edge(genv, caller_ret, @ret)
    end

get_f_arg(i) click to toggle source

    # File typeprof-0.30.1/lib/typeprof/core/env/method.rb, line 123
    def get_f_arg(i)
      @f_args[i] ||= Vertex.new(@node)
    end