Joos1W Compiler Framework
All Classes Functions Typedefs Pages
semantic::ExprResolver Class Referencefinal
Inheritance diagram for semantic::ExprResolver:

Public Member Functions

 ExprResolver (diagnostics::DiagnosticEngine &diag, Heap *heap)
 
void Init (ExprTypeResolver *TR, NameResolver *NR, ast::Semantic *Sema, semantic::HierarchyChecker *HC)
 
void BeginCU (ast::CompilationUnit const *cu)
 
void BeginContext (ast::DeclContext const *ctx)
 
ast::ExprNodeList Evaluate (ast::Expr *expr)
 
- Public Member Functions inherited from ast::ExprEvaluator< internal::ExprResolverTy >
internal::ExprResolverTy Evaluate (Expr *expr)
 Evaluates the given expression. More...
 

Additional Inherited Members

- Protected Types inherited from ast::ExprEvaluator< internal::ExprResolverTy >
using op_array = std::pmr::vector< internal::ExprResolverTy >
 
- Protected Member Functions inherited from ast::ExprEvaluator< internal::ExprResolverTy >
virtual internal::ExprResolverTy evalBinaryOp (exprnode::BinaryOp &op, const internal::ExprResolverTy lhs, const internal::ExprResolverTy rhs) const=0
 
virtual internal::ExprResolverTy evalUnaryOp (exprnode::UnaryOp &op, const internal::ExprResolverTy rhs) const=0
 
virtual internal::ExprResolverTy evalMemberAccess (exprnode::MemberAccess &op, const internal::ExprResolverTy lhs, const internal::ExprResolverTy field) const=0
 
virtual internal::ExprResolverTy evalMethodCall (exprnode::MethodInvocation &op, const internal::ExprResolverTy method, const op_array &args) const=0
 
virtual internal::ExprResolverTy evalNewObject (exprnode::ClassInstanceCreation &op, const internal::ExprResolverTy object, const op_array &args) const=0
 
virtual internal::ExprResolverTy evalNewArray (exprnode::ArrayInstanceCreation &op, const internal::ExprResolverTy type, const internal::ExprResolverTy size) const=0
 
virtual internal::ExprResolverTy evalArrayAccess (exprnode::ArrayAccess &op, const internal::ExprResolverTy array, const internal::ExprResolverTy index) const=0
 
virtual internal::ExprResolverTy evalCast (exprnode::Cast &op, const internal::ExprResolverTy type, const internal::ExprResolverTy 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 (internal::ExprResolverTy const &) const
 
virtual bool validatePop (internal::ExprResolverTy const &) const
 
int opStackSize () const
 

Detailed Description

Definition at line 157 of file ExprResolver.h.


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