class Archruby::Ruby::TypeInference::Ruby::ProcessMethodParams
Public Class Methods
new(ast, local_scope)
click to toggle source
Calls superclass method
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 7 def initialize(ast, local_scope) super() @ast = ast @current_dependency_class = [] @current_dependency_class_name = nil @local_scope = local_scope @params = [] end
Public Instance Methods
add_to_params(name)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 81 def add_to_params(name) @params << name end
build_full_name(const_name)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 96 def build_full_name(const_name) @current_dependency_class.unshift(const_name) full_class_path = @current_dependency_class.join('::') @current_dependency_class = [] full_class_path end
parse()
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 16 def parse @ast.map! {|sub_tree| process(sub_tree)} @params end
process_and(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 187 def process_and(exp) _, left_side, right_side = exp process(left_side) process(right_side) end
process_array(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 145 def process_array(exp) _, *elements = exp elements.map! {|sub_tree| process(sub_tree)} end
process_attrasgn(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 212 def process_attrasgn(exp) _, receiver, method, arg, value = exp process(receiver) process(value) end
process_back_ref(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 235 def process_back_ref(exp) end
process_block(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 30 def process_block(exp) _, *args = exp args.map! { |subtree| process(subtree) } end
process_block_pass(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 76 def process_block_pass(exp) _, *args = exp args.map! { |subtree| process(subtree) } end
process_call(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 71 def process_call(exp) _, receiver, method_name, *params = exp process(receiver) end
process_case(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 193 def process_case(exp) _, condition, when_part, ensure_part = exp process(condition) process(when_part) process(ensure_part) end
process_colon2(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 85 def process_colon2(exp) _, first_part, last_part = exp @current_dependency_class.unshift(last_part) process(first_part) end
process_colon3(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 91 def process_colon3(exp) _, constant_name = exp @current_dependency_class_name = build_full_name("::#{constant_name}") end
process_const(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 60 def process_const(exp) _, const_name = exp if !@current_dependency_class.empty? @current_dependency_class_name = build_full_name(const_name) add_to_params(@current_dependency_class_name) @current_dependency_class_name = nil else add_to_params(const_name) end end
process_cvar(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 242 def process_cvar(exp) # class variable end
process_defined(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 155 def process_defined(exp) _, *args = exp args.map! {|sub_tree| process(sub_tree)} end
process_defn(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 21 def process_defn(exp) #estudar esse caso end
process_dot2(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 170 def process_dot2(exp) _, left, right = exp process(left) process(right) end
process_dot3(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 40 def process_dot3(exp) _, left, right = exp process(left) process(right) end
process_dregx(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 165 def process_dregx(exp) _, str, *args = exp args.map! {|sub_tree| process(sub_tree) if sub_tree.class == Sexp } end
process_dregx_once(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 25 def process_dregx_once(exp) _, start, *args = exp args.map! {|sub_tree| process(sub_tree) if sub_tree.class == Sexp} end
process_dstr(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 132 def process_dstr(exp) _, init, *args = exp args.map! {|sub_tree| process(sub_tree)} end
process_dsym(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 176 def process_dsym(exp) _, str, *args = exp args.map! {|sub_tree| process(sub_tree)} end
process_dxstr(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 160 def process_dxstr(exp) _, str, *args = exp args.map! {|sub_tree| process(sub_tree)} end
process_evstr(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 137 def process_evstr(exp) _, *args = exp args.map! {|sub_tree| process(sub_tree)} end
process_false(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 258 def process_false(exp) end
process_gvar(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 232 def process_gvar(exp) end
process_hash(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 103 def process_hash(exp) _, key, value = exp process(key) process(value) end
process_iasgn(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 114 def process_iasgn(exp) _, instance_varialbe_name, *value = exp value.map! { |subtree| process(subtree) } end
process_if(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 119 def process_if(exp) _, condition, true_body, else_body = exp process(condition) process(true_body) process(else_body) end
process_iter(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 126 def process_iter(exp) _, first_part, second_part, *body = exp process(first_part) body.map! {|sub_tree| process(sub_tree)} end
process_ivar(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 264 def process_ivar(exp) end
process_kwsplat(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 35 def process_kwsplat(exp) _, *args = exp args.map! { |subtree| process(subtree) } end
process_lasgn(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 46 def process_lasgn(exp) end
process_lit(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 238 def process_lit(exp) _, value = exp end
process_lvar(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 49 def process_lvar(exp) _, lvar_name = exp type = @local_scope.var_type(lvar_name) if type add_to_params(type) else add_to_params(lvar_name) end #chamado para pegar o valor end
process_match2(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 150 def process_match2(exp) _, rec, *args = exp args.map! {|sub_tree| process(sub_tree)} end
process_match3(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 223 def process_match3(exp) _, first, second = exp process(first) process(second) end
process_nil(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 249 def process_nil(exp) end
process_nth_ref(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 229 def process_nth_ref(exp) end
process_or(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 181 def process_or(exp) _, left_side, right_side = exp process(left_side) process(right_side) end
process_rescue(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 206 def process_rescue(exp) _, body, rescbody = exp process(body) process(rescbody) end
process_self(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 252 def process_self(exp) end
process_splat(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 109 def process_splat(exp) _, *args = exp args.map! {|sub_tree| process(sub_tree)} end
process_str(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 255 def process_str(exp) end
process_super(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 246 def process_super(exp) end
process_true(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 261 def process_true(exp) end
process_when(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 200 def process_when(exp) _, condition, body = exp process(condition) process(body) end
process_xstr(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 142 def process_xstr(exp) end
process_yield(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 218 def process_yield(exp) _, *args = exp args.map! {|sub_tree| process(sub_tree)} end
process_zsuper(exp)
click to toggle source
# File lib/archruby/ruby/type_inference/ruby/process_method_params.rb, line 267 def process_zsuper(exp) end