256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
|
# File 'lib/duby/transform.rb', line 256
def transform(transformer, parent)
case name
when '[]='
Call.new(parent, position, name) do |call|
[
transformer.transform(receiver_node, call),
args_node ? args_node.child_nodes.map {|arg| transformer.transform(arg, call)} : [],
nil
]
end
else
new_name = name[0..-2] + '_set'
Call.new(parent, position, new_name) do |call|
[
transformer.transform(receiver_node, call),
args_node ? args_node.child_nodes.map {|arg| transformer.transform(arg, call)} : [],
nil
]
end
end
end
|