|
MysoreScript
|
Superclass for comparison operations. More...
#include <ast.hh>


Public Member Functions | |
| bool | isComparison () override |
| All comparisons are (obviously) comparisons. More... | |
| const char * | methodName () override |
| Comparisons don't map to any method name. More... | |
Public Member Functions inherited from AST::BinOp< T > | |
| intptr_t | evaluateWithIntegers (intptr_t lhs, intptr_t rhs) override |
| Evaluate (interpret) this expression, having already determined that the two sides are integer values. More... | |
Public Member Functions inherited from AST::BinOpBase | |
| bool | isConstantExpression () override |
| A binary operation is a constant expression if both of its operands are binary expressions. More... | |
| Obj | evaluateExpr (Interpreter::Context &c) override |
Evaluates the expression, either invoking a subclass evaluateWithIntegers method or by calling the relevant method on the left-hand side. More... | |
| virtual llvm::Value * | compileBinOp (Compiler::Context &c, llvm::Value *LHS, llvm::Value *RHS)=0 |
| Compile this binary operation with the two sides already already compiled. More... | |
| llvm::Value * | compileExpression (Compiler::Context &c) override |
Compile the expression by compiling the two sides and then calling compileBinOp (implemented in subclasses) to compile the operation. More... | |
| void | collectVarUses (std::unordered_set< std::string > &decls, std::unordered_set< std::string > &uses) override |
| Collect the uses and declarations in this expression. More... | |
Public Member Functions inherited from AST::Expression | |
| Obj | evaluate (Interpreter::Context &c) |
| Evaluate the expression, caching the result if it's a constant expression. More... | |
| void | interpret (Interpreter::Context &c) override final |
| Interpret this expression as if it were a statement. More... | |
| void | compile (Compiler::Context &c) override final |
| Compile this expression as if it were a statement. More... | |
Additional Inherited Members | |
Public Attributes inherited from AST::BinOpBase | |
| ASTPtr< Expression > | lhs |
| The left-hand side of the operation. More... | |
| ASTPtr< Expression > | rhs |
| The right-hand side of the operation. More... | |
Protected Attributes inherited from AST::Expression | |
| Interpreter::Value | cache |
| Cached result for constant expression. More... | |
Superclass for comparison operations.
|
inlineoverridevirtual |
All comparisons are (obviously) comparisons.
Reimplemented from AST::BinOpBase.
|
inlineoverridevirtual |
Comparisons don't map to any method name.
Implements AST::BinOpBase.
1.8.12