elftosb::BinaryOpExprASTNode Class Reference
Inheritance diagram for elftosb::BinaryOpExprASTNode:
[legend]
Collaboration diagram for elftosb::BinaryOpExprASTNode:
[legend]

## Public Types

enum | operator_t { kAdd, kSubtract, kMultiply, kDivide, kModulus, kPower, kBitwiseAnd, kBitwiseOr, kBitwiseXor, kShiftLeft, kShiftRight, kLessThan, kGreaterThan, kLessThanEqual, kGreaterThanEqual, kEqual, kNotEqual, kBooleanAnd, kBooleanOr }

## Public Member Functions

| BinaryOpExprASTNode (ExprASTNode *left, operator_t op, ExprASTNode *right)
| BinaryOpExprASTNode (const BinaryOpExprASTNode &other)
virtual ASTNode * | clone () const
| Returns an exact duplicate of this object.
virtual std::string | nodeName () const
| Returns the name of the object's class.
virtual void | printTree (int indent) const
virtual ExprASTNode * | reduce (EvalContext &context)
ExprASTNode * | getLeftExpr ()
ExprASTNode * | getRightExpr ()
operator_t | getOp () const
Public Member Functions inherited from elftosb::ExprASTNode
| ExprASTNode (const ExprASTNode &other)
int_size_t | resultIntSize (int_size_t a, int_size_t b)
Public Member Functions inherited from elftosb::ASTNode
| ASTNode ()
| Default constructor.
| ASTNode (ASTNode *parent)
| Constructor taking a parent node.
| ASTNode (const ASTNode &other)
| Copy constructor.
virtual | ~ASTNode ()
| Destructor.
virtual ASTNode * | getParent () const
virtual void | setParent (ASTNode *newParent)
virtual void | printTree () const
virtual void | setLocation (token_loc_t &loc)
virtual void | setLocation (token_loc_t &first, token_loc_t &last)
virtual void | setLocation (ASTNode *loc)
virtual void | setLocation (ASTNode *first, ASTNode *last)
virtual token_loc_t & | getLocation ()
virtual const token_loc_t & | getLocation () const
virtual int | getFirstLine ()
virtual int | getLastLine ()

## Protected Member Functions

std::string | getOperatorName () const
Protected Member Functions inherited from elftosb::ASTNode
void | printIndent (int indent) const
| Prints indent number of spaces.

## Protected Attributes

smart_ptr< ExprASTNode > | m_left
smart_ptr< ExprASTNode > | m_right
operator_t | m_op
Protected Attributes inherited from elftosb::ASTNode
ASTNode * | m_parent
| Pointer to parent node of this object. May be NULL.
token_loc_t | m_location
| Location of this node in the source file.

## Member Function Documentation

ExprASTNode * BinaryOpExprASTNode::reduce | ( | EvalContext & | context | ) |

virtual

Reimplemented from elftosb::ExprASTNode.

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

- ElftosbAST.h
- ElftosbAST.cpp