public class ThreeVarDynamicScope extends TwoVarDynamicScope
Modifier and Type | Field and Description |
---|---|
protected IRubyObject |
variableValueTwo |
variableValueOne
variableValueZero
evalScope, parent, staticScope
Constructor and Description |
---|
ThreeVarDynamicScope(StaticScope staticScope) |
ThreeVarDynamicScope(StaticScope staticScope,
DynamicScope parent) |
Modifier and Type | Method and Description |
---|---|
DynamicScope |
cloneScope() |
IRubyObject[] |
getArgValues()
Copy variable values back for ZSuper call.
|
IRubyObject |
getValue(int offset,
int depth)
Get value from current scope or one of its captured scopes.
|
IRubyObject |
getValueDepthZeroOrNil(int offset,
IRubyObject nil)
getValueOrNil for depth 0
|
IRubyObject |
getValueOrNil(int offset,
int depth,
IRubyObject nil)
Variation of getValue that checks for nulls, returning and setting the given value (presumably nil)
|
IRubyObject[] |
getValues() |
IRubyObject |
getValueTwoDepthZeroOrNil(IRubyObject nil)
getValueOrNil for index 2, depth 0
|
void |
growIfNeeded() |
void |
setArgValues(IRubyObject arg0) |
void |
setArgValues(IRubyObject[] values,
int size)
Set all values which represent 'normal' parameters in a call list to this dynamic
scope.
|
void |
setArgValues(IRubyObject arg0,
IRubyObject arg1) |
void |
setArgValues(IRubyObject arg0,
IRubyObject arg1,
IRubyObject arg2) |
void |
setEndArgValues(IRubyObject[] values,
int index,
int size) |
IRubyObject |
setValue(int offset,
IRubyObject value,
int depth)
Set value in current dynamic scope or one of its captured scopes.
|
IRubyObject |
setValueDepthZero(IRubyObject value,
int offset)
setValue for depth zero
|
IRubyObject |
setValueTwoDepthZero(IRubyObject value)
Set value two in this scope.
|
getValueOneDepthZeroOrNil, setValueOneDepthZero
getValueZeroDepthZeroOrNil, setValueZeroDepthZero
getValueThreeDepthZeroOrNil, growIfNeeded, setValueThreeDepthZero
getAllNamesInScope, getEvalScope, getFlipScope, getNextCapturedScope, getNthParentScope, getStaticScope, newDummyScope, newDynamicScope, newDynamicScope, setArgValues, setArgValues, setArgValues, setArgValues, setArgValues, setArgValues, setArgValues, setArgValues, setValue, toString, toString
protected IRubyObject variableValueTwo
public ThreeVarDynamicScope(StaticScope staticScope, DynamicScope parent)
public ThreeVarDynamicScope(StaticScope staticScope)
public void growIfNeeded()
growIfNeeded
in class TwoVarDynamicScope
public DynamicScope cloneScope()
cloneScope
in class TwoVarDynamicScope
public IRubyObject[] getValues()
getValues
in class TwoVarDynamicScope
public IRubyObject getValue(int offset, int depth)
getValue
in class TwoVarDynamicScope
offset
- zero-indexed value that represents where variable livesdepth
- how many captured scopes down this variable should be setpublic IRubyObject getValueOrNil(int offset, int depth, IRubyObject nil)
getValueOrNil
in class OneVarDynamicScope
public IRubyObject getValueDepthZeroOrNil(int offset, IRubyObject nil)
DynamicScope
getValueDepthZeroOrNil
in class TwoVarDynamicScope
public IRubyObject getValueTwoDepthZeroOrNil(IRubyObject nil)
DynamicScope
getValueTwoDepthZeroOrNil
in class NoVarsDynamicScope
public IRubyObject setValue(int offset, IRubyObject value, int depth)
setValue
in class TwoVarDynamicScope
offset
- zero-indexed value that represents where variable livesvalue
- to setdepth
- how many captured scopes down this variable should be setpublic IRubyObject setValueDepthZero(IRubyObject value, int offset)
DynamicScope
setValueDepthZero
in class TwoVarDynamicScope
value
- to setoffset
- zero-indexed value that represents where variable livespublic IRubyObject setValueTwoDepthZero(IRubyObject value)
DynamicScope
setValueTwoDepthZero
in class NoVarsDynamicScope
public void setArgValues(IRubyObject[] values, int size)
setArgValues
in class TwoVarDynamicScope
values
- up to size specified to be mapped as ordinary parm valuessize
- is the number of values to assign as ordinary parm valuespublic void setEndArgValues(IRubyObject[] values, int index, int size)
setEndArgValues
in class TwoVarDynamicScope
values
- group where last n(size) values are usedindex
- index in the dynamic scope to start setting these valuessize
- which of the last size arguments of values parameter to setpublic void setArgValues(IRubyObject arg0)
setArgValues
in class TwoVarDynamicScope
public void setArgValues(IRubyObject arg0, IRubyObject arg1)
setArgValues
in class TwoVarDynamicScope
public void setArgValues(IRubyObject arg0, IRubyObject arg1, IRubyObject arg2)
setArgValues
in class NoVarsDynamicScope
public IRubyObject[] getArgValues()
DynamicScope
getArgValues
in class TwoVarDynamicScope
Copyright © 2001-2015 JRuby. All Rights Reserved.