class SFRP::Raw::MatchExp

Constants

Case

Public Instance Methods

blame_side_effect() click to toggle source
# File lib/sfrp/raw/expression.rb, line 74
def blame_side_effect
  left_exp.blame_side_effect
  cases.map(&:exp).each(&:blame_side_effect)
end
to_flat(set, ns) click to toggle source
# File lib/sfrp/raw/expression.rb, line 79
def to_flat(set, ns)
  flat_cases = cases.map do |c|
    flat_pattern = c.pattern.to_flat(set, ns)
    Flat::MatchExp::Case.new(flat_pattern, c.exp.to_flat(set, ns))
  end
  Flat::MatchExp.new(left_exp.to_flat(set, ns), flat_cases)
end
vconst_refs() click to toggle source
# File lib/sfrp/raw/expression.rb, line 70
def vconst_refs
  [left_exp, *cases.map(&:pattern), *cases.map(&:exp)].flat_map(&:vconst_refs)
end