Class: SFRP::Raw::VConstCallExp

Inherits:
Struct
  • Object
show all
Defined in:
lib/sfrp/raw/expression.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#arg_expsObject

Returns the value of attribute arg_exps

Returns:

  • (Object)

    the current value of arg_exps



20
21
22
# File 'lib/sfrp/raw/expression.rb', line 20

def arg_exps
  @arg_exps
end

#spObject

Returns the value of attribute sp

Returns:

  • (Object)

    the current value of sp



20
21
22
# File 'lib/sfrp/raw/expression.rb', line 20

def sp
  @sp
end

#vconst_refObject

Returns the value of attribute vconst_ref

Returns:

  • (Object)

    the current value of vconst_ref



20
21
22
# File 'lib/sfrp/raw/expression.rb', line 20

def vconst_ref
  @vconst_ref
end

Instance Method Details

#blame_side_effectObject



25
26
27
# File 'lib/sfrp/raw/expression.rb', line 25

def blame_side_effect
  arg_exps.each(&:blame_side_effect)
end

#to_flat(set, ns) ⇒ Object



29
30
31
32
33
# File 'lib/sfrp/raw/expression.rb', line 29

def to_flat(set, ns)
  ab_vc_name = set.vconst(ns, vconst_ref, sp).absolute_name
  args = arg_exps.map { |e| e.to_flat(set, ns) }
  Flat::VConstCallExp.new(ab_vc_name, args, sp)
end

#vconst_refsObject



21
22
23
# File 'lib/sfrp/raw/expression.rb', line 21

def vconst_refs
  [vconst_ref, *arg_exps.flat_map(&:vconst_refs)]
end