public class Interpreted19Block extends ContextAwareBlockBody
| Modifier and Type | Field and Description |
|---|---|
private static boolean |
ALREADY_ARRAY |
private ArgsNode |
args
The argument list, pulled out of iterNode
|
private Node |
body
The body of the block, pulled out of bodyNode
|
private java.lang.String |
file
Filename from position
|
private int |
line
Line from position
|
private boolean |
needsSplat
Whether the arguments "need splat".
|
private java.lang.String[] |
parameterList
The parameter names, for Proc#parameters
|
private ISourcePosition |
position
The position for the block
|
arity, scopeargumentType, ARRAY, EMPTY_PARAMETER_LIST, MULTIPLE_ASSIGNMENT, NULL_BODY, SINGLE_RESTARG, ZERO_ARGS| Constructor and Description |
|---|
Interpreted19Block(IterNode iterNode) |
Interpreted19Block(LambdaNode lambdaNode) |
arity, getStaticScope, post, pre, setStaticScopeasArgumentType, call, call, call, call, call, call, call, call, getArgumentType, getArgumentTypeWackyHack, isGiven, newArgsArrayFromArgsWithoutUnbox, newArgsArrayFromArgsWithUnbox, prepareArgumentsForCall, yieldprivate static final boolean ALREADY_ARRAY
private final ISourcePosition position
private final java.lang.String file
private final int line
private final ArgsNode args
private final boolean needsSplat
Helpers.needsSplat19(int, boolean)private final java.lang.String[] parameterList
private final Node body
public Interpreted19Block(IterNode iterNode)
public Interpreted19Block(LambdaNode lambdaNode)
public static Block newInterpretedClosure(ThreadContext context, BlockBody body, IRubyObject self)
public IRubyObject call(ThreadContext context, IRubyObject[] args, Binding binding, Block.Type type)
public IRubyObject call(ThreadContext context, IRubyObject[] args, Binding binding, Block.Type type, Block block)
public IRubyObject yieldSpecific(ThreadContext context, Binding binding, Block.Type type)
yieldSpecific in class BlockBodypublic IRubyObject yieldSpecific(ThreadContext context, IRubyObject arg0, Binding binding, Block.Type type)
yieldSpecific in class BlockBodypublic IRubyObject yieldSpecific(ThreadContext context, IRubyObject arg0, IRubyObject arg1, Binding binding, Block.Type type)
yieldSpecific in class BlockBodypublic IRubyObject yieldSpecific(ThreadContext context, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Binding binding, Block.Type type)
yieldSpecific in class BlockBodypublic IRubyObject yield(ThreadContext context, IRubyObject value, Binding binding, Block.Type type)
public IRubyObject yield(ThreadContext context, IRubyObject value, IRubyObject self, RubyModule klass, boolean aValue, Binding binding, Block.Type type)
public IRubyObject yield(ThreadContext context, IRubyObject value, IRubyObject self, RubyModule klass, boolean aValue, Binding binding, Block.Type type, Block block)
private IRubyObject evalBlockBody(ThreadContext context, Binding binding, IRubyObject self)
private IRubyObject prepareSelf(Binding binding)
private void setupBlockArg(ThreadContext context, IRubyObject value, IRubyObject self, Block block, Block.Type type)
private void setupBlockArgs(ThreadContext context, IRubyObject value, IRubyObject self, Block block, Block.Type type, boolean alreadyArray)
Helpers#restructureBlockArgs19(IRubyObject, boolean, boolean)public ArgsNode getArgs()
public Node getBody()
public java.lang.String getFile()
BlockBodypublic int getLine()
BlockBodypublic java.lang.String[] getParameterList()
getParameterList in class BlockBody