HLVM API Documentation

Block Class Reference

AST Block Node. More...

#include <Block.h>

Inheritance diagram for Block:

Inheritance graph
[legend]
List of all members.

Accessors

Mutators

Protected Member Functions

Constructors

Friends


Detailed Description

AST Block Node.

This class represents an block of operators in the HLVM Abstract Syntax Tree. A block is simply a sequential list of Operator nodes that are executed in sequence. Block itself is an operator. Its result value is is provided by a ResultOp operator. This approach allows processing to continue after a result for the block has been determined. Blocks can be nested within other blocks and used as the operands of other operators.

See also:
ResultOp

Definition at line 49 of file Block.h.


Constructor & Destructor Documentation

Block  )  [inline, protected]
 

Definition at line 54 of file Block.h.

~Block  )  [protected, virtual]
 

Definition at line 38 of file Block.cpp.


Member Function Documentation

static bool classof const Node N  )  [inline, static]
 

Provide support for isa<X> and friends.

Reimplemented from MultiOperator.

Definition at line 71 of file Block.h.

References hlvm::BlockID, and Node::is().

static bool classof const Block  )  [inline, static]
 

Definition at line 70 of file Block.h.

AutoVarOp * getAutoVar const std::string &  name  )  const
 

Definition at line 68 of file Block.cpp.

const std::string& getLabel  )  const [inline]
 

Definition at line 62 of file Block.h.

Block * getParentBlock  )  const
 

Definition at line 77 of file Block.cpp.

References Node::getParent().

const Operator* getResult  )  const [inline]
 

Definition at line 64 of file Block.h.

virtual const Type* getType  )  const [inline, virtual]
 

Reimplemented from Value.

Definition at line 61 of file Block.h.

References Value::getType().

void insertChild Node child  )  [protected, virtual]
 

Reimplemented from MultiOperator.

Definition at line 43 of file Block.cpp.

References AutoVarOp::getName(), Value::getType(), hlvmAssert, MultiOperator::insertChild(), and Value::type.

bool isTerminated  )  const [inline]
 

Definition at line 66 of file Block.h.

References MultiOperator::back(), MultiOperator::empty(), and Node::isTerminator().

void removeChild Node child  )  [protected, virtual]
 

Reimplemented from MultiOperator.

Definition at line 57 of file Block.cpp.

References AutoVarOp::getName(), hlvmAssert, and MultiOperator::removeChild().

void setLabel const std::string &  l  )  [inline]
 

Definition at line 77 of file Block.h.


Friends And Related Function Documentation

friend class AST [friend]
 

Reimplemented from MultiOperator.

Definition at line 91 of file Block.h.


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