Public Member Functions | Public Attributes
Aseba::ArrayWriteNode Struct Reference

#include <tree.h>

Inheritance diagram for Aseba::ArrayWriteNode:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 ArrayWriteNode (const SourcePos &sourcePos, unsigned arrayAddr, unsigned arraySize, const std::wstring &arrayName)
 Constructor.
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 Nodeoptimize (std::wostream *dump)
 Optimize this node, return the optimized node.
virtual ArrayWriteNodeshallowCopy ()
 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.

Public Attributes

unsigned arrayAddr
 address of the first element of the array
std::wstring arrayName
 name of the array (for debug)
unsigned arraySize
 size of the array, might be used to assert compile-time access checks

Detailed Description

Node for writing to an array. Value to store is supposed to be on the stack already children[0] is the index in the array

Definition at line 405 of file tree.h.


Member Function Documentation

virtual unsigned Aseba::ArrayWriteNode::getVectorAddr ( ) const [inline, virtual]

return the address of the left-most operand, or E_NOVAL if none

Reimplemented from Aseba::Node.

Definition at line 420 of file tree.h.

virtual unsigned Aseba::ArrayWriteNode::getVectorSize ( ) const [inline, virtual]

return the children's size, check for equal size, or E_NOVAL if no child

Reimplemented from Aseba::Node.

Definition at line 421 of file tree.h.

virtual ArrayWriteNode* Aseba::ArrayWriteNode::shallowCopy ( ) [inline, virtual]

Return a shallow copy of the object (children point to the same objects)

Implements Aseba::Node.

Definition at line 412 of file tree.h.

virtual std::wstring Aseba::ArrayWriteNode::toNodeName ( ) const [inline, virtual]

Return a string representation of the name of this node.

Implements Aseba::Node.

Definition at line 418 of file tree.h.

virtual ReturnType Aseba::ArrayWriteNode::typeCheck ( ) const [inline, virtual]

Typecheck this node, throw an exception if there is any type violation.

Reimplemented from Aseba::Node.

Definition at line 414 of file tree.h.


Member Data Documentation

address of the first element of the array

Definition at line 407 of file tree.h.

name of the array (for debug)

Definition at line 409 of file tree.h.

size of the array, might be used to assert compile-time access checks

Definition at line 408 of file tree.h.


The documentation for this struct was generated from the following files:


aseba
Author(s): Stéphane Magnenat
autogenerated on Thu Jan 2 2014 11:17:17