#include <tree.h>
Public Member Functions | |
virtual void | emit (PreLinkBytecode &bytecodes) const |
Generate bytecode. | |
virtual unsigned | getStackDepth () const |
Return the stack depth requirement for this node and its children. | |
virtual Node * | optimize (std::wostream *dump) |
Optimize this node, return the optimized node. | |
ReturnNode (const SourcePos &sourcePos) | |
virtual ReturnNode * | shallowCopy () |
Return a shallow copy of the object (children point to the same objects) | |
virtual std::wstring | toNodeName () const |
Return a string representation of the name of this node. | |
virtual std::wstring | toWString () const |
Return a string representation of this node. | |
virtual ReturnType | typeCheck () const |
Typecheck this node, throw an exception if there is any type violation. |
Node for returning from an event or subroutine has no children, just a jump of 0 offset that will be resolved at link time
Aseba::ReturnNode::ReturnNode | ( | const SourcePos & | sourcePos | ) | [inline] |
virtual unsigned Aseba::ReturnNode::getStackDepth | ( | ) | const [inline, virtual] |
Return the stack depth requirement for this node and its children.
Reimplemented from Aseba::Node.
virtual Node* Aseba::ReturnNode::optimize | ( | std::wostream * | dump | ) | [inline, virtual] |
Optimize this node, return the optimized node.
Implements Aseba::Node.
virtual ReturnNode* Aseba::ReturnNode::shallowCopy | ( | ) | [inline, virtual] |
Return a shallow copy of the object (children point to the same objects)
Implements Aseba::Node.
virtual std::wstring Aseba::ReturnNode::toNodeName | ( | ) | const [inline, virtual] |
Return a string representation of the name of this node.
Implements Aseba::Node.
virtual std::wstring Aseba::ReturnNode::toWString | ( | ) | const [inline, virtual] |
Return a string representation of this node.
Implements Aseba::Node.
virtual ReturnType Aseba::ReturnNode::typeCheck | ( | ) | const [inline, virtual] |
Typecheck this node, throw an exception if there is any type violation.
Reimplemented from Aseba::Node.