Kinetis Bootloader Host  2.0.0
Host Tools for Kinetis devices
elftosb::BinaryOpExprASTNode Class Reference
+ Inheritance diagram for elftosb::BinaryOpExprASTNode:
+ Collaboration diagram for elftosb::BinaryOpExprASTNode:

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 ASTNodeclone () 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 ExprASTNodereduce (EvalContext &context)
 
ExprASTNodegetLeftExpr ()
 
ExprASTNodegetRightExpr ()
 
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 ASTNodegetParent () 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_tgetLocation ()
 
virtual const token_loc_tgetLocation () 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< ExprASTNodem_left
 
smart_ptr< ExprASTNodem_right
 
operator_t m_op
 
- Protected Attributes inherited from elftosb::ASTNode
ASTNodem_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: