Joos1W Compiler Framework
All Classes Functions Typedefs Pages
codegen::CGExprEvaluator Class Referencefinal

The code generator expression evaluator. This class is responsible for evaluating expressions and returning the corresponding tir::Value*. More...

#include <CGExpr.h>

Inheritance diagram for codegen::CGExprEvaluator:

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
 

Detailed Description

The code generator expression evaluator. This class is responsible for evaluating expressions and returning the corresponding tir::Value*.

Definition at line 137 of file CGExpr.h.


The documentation for this class was generated from the following files: