class SFRP::Mono::VConstCallExp

Public Class Methods

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

Public Instance Methods

comp() click to toggle source
# File lib/sfrp/mono/expression.rb, line 88
def comp
  [@type_str, @vconst_strs, @arg_exps]
end
memory(set) click to toggle source
# File lib/sfrp/mono/expression.rb, line 97
def memory(set)
  @arg_exps.reduce(Memory.one(@type_str)) 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 92
def to_low(set, env)
  low_arg_exps = @arg_exps.map { |e| e.to_low(set, env) }
  set.vconst(@vconst_str).low_constructor_call_exp(low_arg_exps)
end