class SFRP::Raw::SequenceExp
Public Instance Methods
blame_side_effect()
click to toggle source
# File lib/sfrp/raw/expression.rb, line 107 def blame_side_effect exps.each { |e| e.blame_side_effect } end
convert(set, ns)
click to toggle source
# File lib/sfrp/raw/expression.rb, line 111 def convert(set, ns) return exps[0] if exps.size == 1 pos = set.weakest_op_position(ns, func_refs) lseq = SequenceExp.new(exps.take(pos + 1), func_refs.take(pos)) rseq = SequenceExp.new(exps.drop(pos + 1), func_refs.drop(pos + 1)) args = [lseq.convert(set, ns), rseq.convert(set, ns)] FuncCallExp.new(func_refs[pos], args, false) end
to_flat(set, ns)
click to toggle source
# File lib/sfrp/raw/expression.rb, line 120 def to_flat(set, ns) convert(set, ns).to_flat(set, ns) end
vconst_refs()
click to toggle source
# File lib/sfrp/raw/expression.rb, line 103 def vconst_refs exps.flat_map(&:vconst_refs) end