public abstract class ReadLocalVariableNode extends FrameSlotNode implements ReadNode
Modifier and Type | Field and Description |
---|---|
static Set<String> |
ALWAYS_DEFINED_GLOBALS |
frameSlot
Constructor and Description |
---|
ReadLocalVariableNode(ReadLocalVariableNode prev) |
ReadLocalVariableNode(RubyContext context,
com.oracle.truffle.api.source.SourceSection sourceSection,
com.oracle.truffle.api.frame.FrameSlot slot) |
Modifier and Type | Method and Description |
---|---|
boolean |
doBoolean(com.oracle.truffle.api.frame.VirtualFrame frame) |
int |
doFixnum(com.oracle.truffle.api.frame.VirtualFrame frame) |
double |
doFloat(com.oracle.truffle.api.frame.VirtualFrame frame) |
long |
doLongFixnum(com.oracle.truffle.api.frame.VirtualFrame frame) |
Object |
doObject(com.oracle.truffle.api.frame.VirtualFrame frame) |
Object |
isDefined(com.oracle.truffle.api.frame.VirtualFrame frame)
Ruby's parallel semantic path.
|
RubyNode |
makeWriteNode(RubyNode rhs)
Return a new node that performs the equivalent write operation to this node's read, using the
supplied node for the right-hand-side.
|
copy, getBoolean, getFixnum, getFloat, getFrameSlot, getLongFixnum, getObject, isBooleanKind, isFixnumKind, isFloatKind, isLongFixnumKind, isObjectKind, setBoolean, setFixnum, setFloat, setLongFixnum, setObject
bignum, bignum, bignum, execute, executeArray, executeBignum, executeBoolean, executeFloat, executeIntegerFixnum, executeIntegerFixnumRange, executeLongFixnum, executeLongFixnumRange, executeObjectArray, executeObjectRange, executeRubyBasicObject, executeRubyBinding, executeRubyClass, executeRubyEncoding, executeRubyEncodingConverter, executeRubyException, executeRubyFiber, executeRubyFile, executeRubyHash, executeRubyMatchData, executeRubyMethod, executeRubyModule, executeRubyNilClass, executeRubyProc, executeRubyRange, executeRubyRegexp, executeRubyString, executeRubySymbol, executeRubyThread, executeRubyTime, executeRubyUnboundMethod, executeString, executeUndefinedPlaceholder, executeVoid, getContext, getNonProxyNode, getNonWrapperNode, isBoolean, isDispatchAction, isDouble, isInteger, isIntegerFixnumRange, isLexicalScope, isLong, isLongFixnumRange, isObjectArray, isObjectRange, isRational, isRubyArray, isRubyBasicObject, isRubyBignum, isRubyBinding, isRubyClass, isRubyEncoding, isRubyEncodingConverter, isRubyException, isRubyFiber, isRubyFile, isRubyHash, isRubyMatchData, isRubyModule, isRubyNilClass, isRubyNilObject, isRubyProc, isRubyRange, isRubyRegexp, isRubyString, isRubySymbol, isRubyThread, isRubyTime, isString, isThreadLocal, isTrue, isUndefinedPlaceholder, notDesignedForCompilation, probe, probeLite
accept, adoptChildren, assignSourceSection, atomic, atomic, clearSourceSection, clone, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLanguage, getParent, getRootNode, getSourceSection, insert, insert, isReplaceable, onAdopt, onReplace, replace, replace, toString
public ReadLocalVariableNode(RubyContext context, com.oracle.truffle.api.source.SourceSection sourceSection, com.oracle.truffle.api.frame.FrameSlot slot)
public ReadLocalVariableNode(ReadLocalVariableNode prev)
public boolean doBoolean(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.frame.FrameSlotTypeException
com.oracle.truffle.api.frame.FrameSlotTypeException
public int doFixnum(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.frame.FrameSlotTypeException
com.oracle.truffle.api.frame.FrameSlotTypeException
public long doLongFixnum(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.frame.FrameSlotTypeException
com.oracle.truffle.api.frame.FrameSlotTypeException
public double doFloat(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.frame.FrameSlotTypeException
com.oracle.truffle.api.frame.FrameSlotTypeException
public Object doObject(com.oracle.truffle.api.frame.VirtualFrame frame)
public RubyNode makeWriteNode(RubyNode rhs)
ReadNode
makeWriteNode
in interface ReadNode
public Object isDefined(com.oracle.truffle.api.frame.VirtualFrame frame)
RubyNode
isDefined
in class RubyNode
DefinedNode
Copyright © 2001-2015 JRuby. All Rights Reserved.