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