Skip to content

Commit

Permalink
Rename language/method => language/send, big cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
evanphx authored and brixen committed Jun 21, 2011
1 parent ff98dec commit fbd4517
Show file tree
Hide file tree
Showing 9 changed files with 520 additions and 546 deletions.
78 changes: 0 additions & 78 deletions language/fixtures/method.rb

This file was deleted.

96 changes: 96 additions & 0 deletions language/fixtures/send.rb
@@ -0,0 +1,96 @@
module LangSendSpecs
module_function

def fooM0; 100 end
def fooM1(a); [a]; end
def fooM2(a,b); [a,b]; end
def fooM3(a,b,c); [a,b,c]; end
def fooM4(a,b,c,d); [a,b,c,d]; end
def fooM5(a,b,c,d,e); [a,b,c,d,e]; end
def fooM0O1(a=1); [a]; end
def fooM1O1(a,b=1); [a,b]; end
def fooM2O1(a,b,c=1); [a,b,c]; end
def fooM3O1(a,b,c,d=1); [a,b,c,d]; end
def fooM4O1(a,b,c,d,e=1); [a,b,c,d,e]; end
def fooM0O2(a=1,b=2); [a,b]; end
def fooM0R(*r); r; end
def fooM1R(a, *r); [a, r]; end
def fooM0O1R(a=1, *r); [a, r]; end
def fooM1O1R(a, b=1, *r); [a, b, r]; end

def one(a); a; end
def oneb(a,&b); [a,yield(b)]; end
def twob(a,b,&c); [a,b,yield(c)]; end
def makeproc(&b) b end

def yield_now; yield; end

def double(x); x * 2 end
def weird_parens
# means double((5).to_s)
# NOT (double(5)).to_s
double (5).to_s
end

def rest_len(*a); a.size; end

def self.twos(a,b,*c)
[c.size, c.last]
end

class PrivateSetter
attr_reader :foo
attr_writer :foo
private :foo=

def call_self_foo_equals(value)
self.foo = value
end

def call_self_foo_equals_masgn(value)
a, self.foo = 1, value
end
end

class PrivateGetter
attr_reader :foo
private :foo

def call_self_foo
self.foo
end

def call_self_foo_or_equals(value)
self.foo ||= 6
end
end

class AttrSet
attr_reader :result
def []=(a, b, c, d); @result = [a,b,c,d]; end
end

class ToProc
def initialize(val)
@val = val
end

def to_proc
Proc.new { @val }
end
end

class ToAry
def initialize(obj)
@obj = obj
end

def to_ary
@obj
end
end
end

def lang_send_rest_len(*a)
a.size
end
20 changes: 20 additions & 0 deletions language/fixtures/send_1.9.rb
@@ -0,0 +1,20 @@
module LangSendSpecs
module_function

def fooM0RQ1(*r, q); [r, q]; end
def fooM1RQ1(a, *r, q); [a, r, q]; end
def fooM1O1RQ1(a, b=9, *r, q); [a, b, r, q]; end
def fooM1O1RQ2(a, b=9, *r, q, t); [a, b, r, q, t]; end

def fooO1Q1(a=1, b); [a,b]; end
def fooM1O1Q1(a,b=2,c); [a,b,c]; end
def fooM2O1Q1(a,b,c=3,d); [a,b,c,d]; end
def fooM2O2Q1(a,b,c=3,d=4,e); [a,b,c,d,e]; end
def fooO4Q1(a=1,b=2,c=3,d=4,e); [a,b,c,d,e]; end
def fooO4Q2(a=1,b=2,c=3,d=4,e,f); [a,b,c,d,e,f]; end

def destructure2((a,b)); a+b; end
def destructure2b((a,b)); [a,b]; end
def destructure4r((a,b,*c,d,e)); [a,b,c,d,e]; end

end

0 comments on commit fbd4517

Please sign in to comment.