public class ThreeVarDynamicScope extends TwoVarDynamicScope
Modifier and Type | Field and Description |
---|---|
protected IRubyObject |
variableValueTwo |
variableValueOne
variableValueZero
parent, staticScope
Constructor and Description |
---|
ThreeVarDynamicScope(StaticScope staticScope) |
ThreeVarDynamicScope(StaticScope staticScope,
DynamicScope parent) |
Modifier and Type | Method and Description |
---|---|
DynamicScope |
cloneScope() |
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() |
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
clearEvalType, getAllNamesInScope, getEvalType, getFlipScope, getNextCapturedScope, getNthParentScope, getParentScope, getStaticScope, inBindingEval, inInstanceEval, inModuleEval, isLambda, newDummyScope, newDynamicScope, newDynamicScope, newDynamicScope, setEvalType, setLambda, 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
Copyright © 2001-2015 JRuby. All Rights Reserved.