265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
|
# File 'lib/ruby2js/converter.rb', line 265
def is_method?
return false if type == :attr
return true if type == :call
return true unless loc
if loc.respond_to? :selector
return true if children.length > 2
selector = loc.selector
elsif type == :defs
return true if children[1] =~ /[!?]$/
return true if children[2].children.length > 0
selector = loc.name
elsif type == :def
return true if children[0] =~ /[!?]$/
return true if children[1].children.length > 0
selector = loc.name
end
return true unless selector and selector.source_buffer
selector.source_buffer.source[selector.end_pos] == '('
end
|