def foo((bar, baz)) end def foo((bar, baz), optional = 1, (bin, bag)) end def a; ensure; end def (b).a end def (a)::b end def false.a end def a(...) end def $var.a end def a.b end def @var.a end def a b:; end %,abc, def a(b:) end def a(**b) end def a(**) end a = 1; def a end def a b, c, d end def nil.a end def a b:, c: 1 end def a(b:, c: 1) end def a(b: 1, c:) end %.abc. def a b = 1, c = 2 end def a() end def a b, c = 2 end def a b end def a; rescue; else; ensure; end def a *b end def a(*) end def a b = 1 end def self.a end def true.a end def a end def hi return :hi if true :bye end def foo = 1 def bar = 2 def foo(bar) = 123 def foo = 123 def a(*); b(*); end def a(...); b(...); end def a(...); b(1, 2, ...); end def (c = b).a end def a &b end def a(&) end def @@var.a end def (a = b).C end def self.Array_function; end Const = 1; def Const.a end def a(...); "foo#{b(...)}"; end def foo {}.merge **bar, **baz, **qux end def bar(a: (1...10)) end def bar(a: (...10)) end def bar(a: (1...)) end def bar(a = (1...10)) end def bar(a = (...10)) end def bar(a = (1...)) end def method(a) item >> a {} end foo = 1 def foo.bar; end def f(*); [*]; end def f x:-a; end def f x:+a; end def f x:!a; end def foo x:%(xx); end def foo(...) bar(...) end def foo(bar = (def baz(bar) = bar; 1)) = 2 def (class Foo; end).foo(bar = 1) = 2