|
Joos1W Compiler Framework
|
The code generator expression evaluator. This class is responsible for evaluating expressions and returning the corresponding tir::Value*. More...
#include <CGExpr.h>

Public Types | |
| using | T = details::ValueWrapper |
Public Member Functions | |
| CGExprEvaluator (CodeGenerator &cg) | |
Public Member Functions inherited from ast::ExprEvaluator< details::ValueWrapper > | |
| details::ValueWrapper | Evaluate (Expr *expr) |
| Evaluates the given expression. More... | |
| virtual details::ValueWrapper | EvaluateList (ExprNodeList subexpr) |
| Evaluates the given subexpression. More... | |
Additional Inherited Members | |
Protected Types inherited from ast::ExprEvaluator< details::ValueWrapper > | |
| using | op_array = std::pmr::vector< details::ValueWrapper > |
Protected Member Functions inherited from ast::ExprEvaluator< details::ValueWrapper > | |
| virtual details::ValueWrapper | evalBinaryOp (exprnode::BinaryOp &op, const details::ValueWrapper lhs, const details::ValueWrapper rhs) const=0 |
| virtual details::ValueWrapper | evalUnaryOp (exprnode::UnaryOp &op, const details::ValueWrapper rhs) const=0 |
| virtual details::ValueWrapper | evalMemberAccess (exprnode::MemberAccess &op, const details::ValueWrapper lhs, const details::ValueWrapper field) const=0 |
| virtual details::ValueWrapper | evalMethodCall (exprnode::MethodInvocation &op, const details::ValueWrapper method, const op_array &args) const=0 |
| virtual details::ValueWrapper | evalNewObject (exprnode::ClassInstanceCreation &op, const details::ValueWrapper object, const op_array &args) const=0 |
| virtual details::ValueWrapper | evalNewArray (exprnode::ArrayInstanceCreation &op, const details::ValueWrapper type, const details::ValueWrapper size) const=0 |
| virtual details::ValueWrapper | evalArrayAccess (exprnode::ArrayAccess &op, const details::ValueWrapper array, const details::ValueWrapper index) const=0 |
| virtual details::ValueWrapper | evalCast (exprnode::Cast &op, const details::ValueWrapper type, const details::ValueWrapper value) const=0 |
| SourceRange | argLocation (int arg_index) |
| Gets the location of the argument at the given index. More... | |
| SourceRange | argLocation (int argno) const |
| Gets the location of the argument at the given index. Note the 0th argument is the first argument, not the operator. More... | |
| virtual bool | validate (details::ValueWrapper const &) const |
| virtual bool | validatePop (details::ValueWrapper const &) const |
| int | opStackSize () const |
The code generator expression evaluator. This class is responsible for evaluating expressions and returning the corresponding tir::Value*.