.Block( Babble.Runtime.Types.BabbleObject $Number, Babble.Runtime.Types.BabbleObject $Block, Babble.Runtime.Types.BabbleObject $self, Babble.Runtime.Types.BabbleObject $result2) { $Number = .Constant($Number( throw throw: id source class s puts ==: !=: >: >=: <: <=: match: ~: +: -: *: /: )); $Block = .Constant($Block()); .Block() { (Babble.Runtime.Types.BabbleObject).Extension { .Invoke (.Constant(System.Runtime.CompilerServices.CallSite`1[System.Func`4[System.Runtime.CompilerServices.CallSite,System.String,Babble.Runtime.Types.BabbleObject,System.Object]]).Target)( .Constant(System.Runtime.CompilerServices.CallSite`1[System.Func`4[System.Runtime.CompilerServices.CallSite,System.String,Babble.Runtime.Types.BabbleObject,System.Object]]), "push", $Number) }; $result2 = (Babble.Runtime.Types.BabbleObject).Extension { .Invoke (.Constant(System.Runtime.CompilerServices.CallSite`1[System.Func`4[System.Runtime.CompilerServices.CallSite,Babble.Runtime.Types.BabbleBlock,System.String,System.Object]]).Target)( .Constant(System.Runtime.CompilerServices.CallSite`1[System.Func`4[System.Runtime.CompilerServices.CallSite,Babble.Runtime.Types.BabbleBlock,System.String,System.Object]]), .Call Babble.Runtime.Types.BabbleBlock.New( .NewArray System.String[] { "self" }, .Lambda #Lambda1, .Constant(Block{ Statements = { #; $#Sel(Identifier{ test: }) -> Block:#methodblock{ |BlockArg{ Identifier = Identifier{ block } } - | Statements = { $Call( Subject=Identifier{ block }, Arguments=MethodCallArguments{ Signature=Identifier{ value }} ) } } } }), "", False), "value") }; (Babble.Runtime.Types.BabbleObject).Extension { .Invoke (.Constant(System.Runtime.CompilerServices.CallSite`1[System.Func`3[System.Runtime.CompilerServices.CallSite,System.String,System.Object]]).Target)( .Constant(System.Runtime.CompilerServices.CallSite`1[System.Func`3[System.Runtime.CompilerServices.CallSite,System.String,System.Object]]), "pop") }; $result2 }; .Extension { .Invoke (.Constant(System.Runtime.CompilerServices.CallSite`1[System.Func`5[System.Runtime.CompilerServices.CallSite,Babble.Runtime.Types.BabbleObject,System.String,Babble.Runtime.Types.BabbleBlock,System.Object]]).Target)( .Constant(System.Runtime.CompilerServices.CallSite`1[System.Func`5[System.Runtime.CompilerServices.CallSite,Babble.Runtime.Types.BabbleObject,System.String,Babble.Runtime.Types.BabbleBlock,System.Object]]), (Babble.Runtime.Types.BabbleObject).Constant($42), "test:", .Call Babble.Runtime.Types.BabbleBlock.New( .NewArray System.String[] { "self" }, .Lambda #Lambda2, .Constant(Block:#argblock{ Statements = { } }), "#argblock", False)) } } .Lambda #Lambda1(Babble.Runtime.Types.BabbleObject $self) { .Block(Babble.Runtime.Types.BabbleObject $self) { .Constant($#classblock); .Call ((Babble.Runtime.Types.BabbleObject).Extension { .Invoke (.Constant(System.Runtime.CompilerServices.CallSite`1[System.Func`3[System.Runtime.CompilerServices.CallSite,System.String,System.Object]]).Target)( .Constant(System.Runtime.CompilerServices.CallSite`1[System.Func`3[System.Runtime.CompilerServices.CallSite,System.String,System.Object]]), "peek") }).DefineBabbleMethod( "test:", .Call Babble.Runtime.Types.BabbleBlock.New( .NewArray System.String[] { "self", "block" }, .Lambda #Lambda3, .Constant(Block:#methodblock{ |BlockArg{ Identifier = Identifier{ block } } - | Statements = { $Call( Subject=Identifier{ block }, Arguments=MethodCallArguments{ Signature=Identifier{ value }} ) } }), "#methodblock", True)) } } .Lambda #Lambda2(Babble.Runtime.Types.BabbleObject $self) { .Block() { .Constant($nil) } } .Lambda #Lambda3( Babble.Runtime.Types.BabbleObject $self, Babble.Runtime.Types.BabbleObject $block) { .Block(Babble.Runtime.Types.BabbleObject $block) { .Extension { .Invoke (.Constant(System.Runtime.CompilerServices.CallSite`1[System.Func`4[System.Runtime.CompilerServices.CallSite,Babble.Runtime.Types.BabbleObject,System.String,System.Object]]).Target)( .Constant(System.Runtime.CompilerServices.CallSite`1[System.Func`4[System.Runtime.CompilerServices.CallSite,Babble.Runtime.Types.BabbleObject,System.String,System.Object]]), (Babble.Runtime.Types.BabbleObject)$block, "value") } } }