mjplusplus
v0.4.1
|
#include <BinaryExpression.hpp>
Public Member Functions | |
LessThanEq (shptr< Expression > leftChild, shptr< Expression > rightChild) | |
virtual void | toString (std::ostream &out, unsigned int, bool=false) const |
virtual shptr< Type > | get_type (semantic::SemanticAnalysis &sa, shptr< semantic::symbol::SymbolTable > symbolTable) const |
virtual void | accept (ASTVisitor &visitor) const |
![]() | |
virtual bool | isLValue () const |
virtual bool | standalone () const |
virtual std::pair< bool, bool > | constBool () const |
shptr< Expression > | getLeftChild () const |
shptr< Expression > | getRightChild () const |
![]() | |
Expression (source_position_t position) | |
![]() | |
source_position_t | getPosition () const |
PositionAwareNode (lexer::Token const &token) | |
PositionAwareNode (source_position_t const &position) | |
Additional Inherited Members | |
![]() | |
static shptr< BinaryExpression > | createBinaryExpr (shptr< Expression > leftChild, shptr< Expression > rightChild, lexer::Token::Token_type operator_type) |
![]() | |
void | toString (std::ostream &out, unsigned int indent, std::string op, bool special=false) const |
BinaryExpression (shptr< Expression > leftChild, shptr< Expression > rightChild) | |
![]() | |
shptr< Expression > | leftChild |
shptr< Expression > | rightChild |
![]() | |
source_position_t | position |
ast::be::LessThanEq::LessThanEq | ( | shptr< Expression > | leftChild, |
shptr< Expression > | rightChild | ||
) |
|
virtual |
Reimplemented from ast::Expression.
|
virtual |
Idea: When getting the type of an Expression, the Expression checks if it's own and it's children Expressions type definitions are valid and then returns it's type. If something is invalid, an error is printed in the Expression that is invalid and an empty pointer is returned.
Implements ast::Expression.
|
virtual |
writes a representation of the Node to out, including all children. special invokes "special" behavior for certain nodes MethodDeclaration: print static keyword Block & If: skip indentation Expression: don't print surrounding parens in addition Block doesn't print newline after trailing } if ~indent is passed instead of indent
Implements ast::be::BinaryExpression.