|
MysoreScript
|
Non-equality comparison. More...
#include <ast.hh>


Public Member Functions | |
| llvm::Value * | compileBinOp (Compiler::Context &c, llvm::Value *LHS, llvm::Value *RHS) override |
| Compile this binary operation with the two sides already already compiled. More... | |
Public Member Functions inherited from AST::Comparison< std::not_equal_to< intptr_t > > | |
| 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< std::not_equal_to< intptr_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... | |
| 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... | |
|
overridevirtual |
Compile this binary operation with the two sides already already compiled.
Implements AST::BinOpBase.
Definition at line 727 of file compiler.cc.

1.8.12