class SFRP::Mono::FuncCallExp

Public Class Methods

new(type_str, func_str, arg_exps, id = nil) click to toggle source
# File lib/sfrp/mono/expression.rb, line 57
def initialize(type_str, func_str, arg_exps, id = nil)
  @type_str = type_str
  @func_str = func_str
  @arg_exps = arg_exps
  @id = id
end

Public Instance Methods

comp() click to toggle source
# File lib/sfrp/mono/expression.rb, line 64
def comp
  [@type_str, @func_str, @arg_exps]
end
memory(set) click to toggle source
# File lib/sfrp/mono/expression.rb, line 73
def memory(set)
  @arg_exps.reduce(set.func(@func_str).memory(set)) do |m, e|
    m.and(e.memory(set))
  end
end
to_low(set, env) click to toggle source
# File lib/sfrp/mono/expression.rb, line 68
def to_low(set, env)
  low_arg_exps = @arg_exps.map { |e| e.to_low(set, env) }
  set.func(@func_str).low_call_exp_in_exp(set, env, low_arg_exps)
end