#include <tree.h>
Public Member Functions | |
virtual void | emit (PreLinkBytecode &bytecodes) const |
Generate bytecode. | |
virtual unsigned | getVectorAddr () const |
return the address of the left-most operand, or E_NOVAL if none | |
virtual unsigned | getVectorSize () const |
return the children's size, check for equal size, or E_NOVAL if no child | |
virtual Node * | optimize (std::wostream *dump) |
Optimize this node, return the optimized node. | |
virtual StoreNode * | shallowCopy () |
Return a shallow copy of the object (children point to the same objects) | |
StoreNode (const SourcePos &sourcePos, unsigned varAddr) | |
Constructor. | |
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. | |
Public Attributes | |
unsigned | varAddr |
address of variable to store to |
Aseba::StoreNode::StoreNode | ( | const SourcePos & | sourcePos, |
unsigned | varAddr | ||
) | [inline] |
virtual unsigned Aseba::StoreNode::getVectorAddr | ( | ) | const [inline, virtual] |
return the address of the left-most operand, or E_NOVAL if none
Reimplemented from Aseba::Node.
virtual unsigned Aseba::StoreNode::getVectorSize | ( | ) | const [inline, virtual] |
return the children's size, check for equal size, or E_NOVAL if no child
Reimplemented from Aseba::Node.
virtual StoreNode* Aseba::StoreNode::shallowCopy | ( | ) | [inline, virtual] |
Return a shallow copy of the object (children point to the same objects)
Implements Aseba::Node.
virtual std::wstring Aseba::StoreNode::toNodeName | ( | ) | const [inline, virtual] |
Return a string representation of the name of this node.
Implements Aseba::Node.
virtual ReturnType Aseba::StoreNode::typeCheck | ( | ) | const [inline, virtual] |
Typecheck this node, throw an exception if there is any type violation.
Reimplemented from Aseba::Node.
unsigned Aseba::StoreNode::varAddr |