Class: SFRP::Poly::VarRefExp

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

Instance Method Summary collapse

Constructor Details

#initialize(var_str, id = nil) ⇒ VarRefExp

Returns a new instance of VarRefExp.



107
108
109
110
# File 'lib/sfrp/poly/expression.rb', line 107

def initialize(var_str, id = nil)
  @var_str = var_str
  @id = id
end

Instance Method Details

#called_func_strsObject



120
121
122
# File 'lib/sfrp/poly/expression.rb', line 120

def called_func_strs
  []
end

#cloneObject



116
117
118
# File 'lib/sfrp/poly/expression.rb', line 116

def clone
  VarRefExp.new(@var_str, @id)
end

#to_mono(monofier) ⇒ Object



124
125
126
127
# File 'lib/sfrp/poly/expression.rb', line 124

def to_mono(monofier)
  raise UndeterminableTypeError.new(@id, @typing) unless @typing.mono?
  M.v_e(monofier.use_type(@typing), @var_str)
end

#typing(_set, var_env) ⇒ Object



112
113
114
# File 'lib/sfrp/poly/expression.rb', line 112

def typing(_set, var_env)
  @typing = var_env[@var_str]
end