public static class BlockScopeNode.FrameBlockScopeNode extends BlockScopeNode implements FrameDescriptorProvider
BlockScopeNode.FrameBlockScopeNode| Modifier and Type | Field and Description |
|---|---|
protected com.oracle.truffle.api.frame.FrameSlot |
blockScopeSlot |
protected boolean |
captureFunctionFrame
If true, put the virtual function frame in the parent scope slot.
|
protected com.oracle.truffle.api.frame.FrameDescriptor |
frameDescriptor |
protected boolean |
functionBlock
If true, this is the function-level block scope.
|
protected com.oracle.truffle.api.frame.FrameSlot |
parentSlot |
blockINTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
FrameBlockScopeNode(JavaScriptNode block,
com.oracle.truffle.api.frame.FrameSlot blockScopeSlot,
com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor,
com.oracle.truffle.api.frame.FrameSlot parentSlot,
boolean functionBlock,
boolean captureFunctionFrame) |
| Modifier and Type | Method and Description |
|---|---|
com.oracle.truffle.api.frame.VirtualFrame |
appendScopeFrame(com.oracle.truffle.api.frame.VirtualFrame frame) |
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
void |
exitScope(com.oracle.truffle.api.frame.VirtualFrame frame) |
Object |
getBlockScope(com.oracle.truffle.api.frame.VirtualFrame frame) |
com.oracle.truffle.api.frame.FrameDescriptor |
getFrameDescriptor() |
boolean |
isFunctionBlock() |
com.oracle.truffle.api.instrumentation.InstrumentableNode |
materializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
Object |
resume(com.oracle.truffle.api.frame.VirtualFrame frame) |
void |
setBlockScope(com.oracle.truffle.api.frame.VirtualFrame frame,
Object state) |
create, execute, executeRepeating, executeVoid, getBlock, isResultAlwaysOfTypeaddCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, executeBoolean, executeDouble, executeInt, executeLong, executeSafeInteger, executeString, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, hasTag, isInstrumentable, onReplace, removeSourceSection, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsgetLanguage, getRealmaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecializeclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetState, getStateAndReset, getStateAsInt, getStateAsIntAndReset, parent, resetState, setStateprotected final com.oracle.truffle.api.frame.FrameSlot blockScopeSlot
protected final com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
protected final com.oracle.truffle.api.frame.FrameSlot parentSlot
protected final boolean functionBlock
protected final boolean captureFunctionFrame
protected FrameBlockScopeNode(JavaScriptNode block, com.oracle.truffle.api.frame.FrameSlot blockScopeSlot, com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor, com.oracle.truffle.api.frame.FrameSlot parentSlot, boolean functionBlock, boolean captureFunctionFrame)
public com.oracle.truffle.api.instrumentation.InstrumentableNode materializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
materializeInstrumentableNodes in interface com.oracle.truffle.api.instrumentation.InstrumentableNodepublic com.oracle.truffle.api.frame.VirtualFrame appendScopeFrame(com.oracle.truffle.api.frame.VirtualFrame frame)
appendScopeFrame in class BlockScopeNodepublic void exitScope(com.oracle.truffle.api.frame.VirtualFrame frame)
exitScope in class BlockScopeNodepublic com.oracle.truffle.api.frame.FrameDescriptor getFrameDescriptor()
getFrameDescriptor in interface FrameDescriptorProviderpublic Object resume(com.oracle.truffle.api.frame.VirtualFrame frame)
resume in interface ResumableNodepublic Object getBlockScope(com.oracle.truffle.api.frame.VirtualFrame frame)
getBlockScope in class BlockScopeNodepublic void setBlockScope(com.oracle.truffle.api.frame.VirtualFrame frame,
Object state)
setBlockScope in class BlockScopeNodepublic boolean isFunctionBlock()
isFunctionBlock in class BlockScopeNodeprotected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode