Classes | |
class | ExpressionNotConstant |
Public Types | |
enum | EvalFlag { IgnoreUnset = 1<<0 , SuppressErrors = 1<<1 } |
typedef int | EvalFlags |
Public Member Functions | |
void | visit (const ::aul::ast::StringLit *n) override |
void | visit (const ::aul::ast::IntLit *n) override |
void | visit (const ::aul::ast::BoolLit *n) override |
void | visit (const ::aul::ast::ArrayLit *n) override |
void | visit (const ::aul::ast::ProplistLit *n) override |
void | visit (const ::aul::ast::NilLit *) override |
void | visit (const ::aul::ast::ThisLit *n) override |
void | visit (const ::aul::ast::VarExpr *n) override |
void | visit (const ::aul::ast::UnOpExpr *n) override |
void | visit (const ::aul::ast::BinOpExpr *n) override |
void | visit (const ::aul::ast::AssignmentExpr *n) override |
void | visit (const ::aul::ast::SubscriptExpr *n) override |
void | visit (const ::aul::ast::SliceExpr *n) override |
void | visit (const ::aul::ast::CallExpr *n) override |
void | visit (const ::aul::ast::FunctionExpr *n) override |
virtual void | visit (const ::aul::ast::Noop *) |
virtual void | visit (const ::aul::ast::ParExpr *) |
virtual void | visit (const ::aul::ast::Block *) |
virtual void | visit (const ::aul::ast::Return *) |
virtual void | visit (const ::aul::ast::ForLoop *) |
virtual void | visit (const ::aul::ast::RangeLoop *) |
virtual void | visit (const ::aul::ast::DoLoop *) |
virtual void | visit (const ::aul::ast::WhileLoop *) |
virtual void | visit (const ::aul::ast::Break *) |
virtual void | visit (const ::aul::ast::Continue *) |
virtual void | visit (const ::aul::ast::If *) |
virtual void | visit (const ::aul::ast::VarDecl *) |
virtual void | visit (const ::aul::ast::FunctionDecl *) |
virtual void | visit (const ::aul::ast::IncludePragma *) |
virtual void | visit (const ::aul::ast::AppendtoPragma *) |
virtual void | visit (const ::aul::ast::Script *) |
template<class T > | |
void | visit (const T *)=delete |
Static Public Member Functions | |
static C4Value | eval (C4ScriptHost *host, const ::aul::ast::Expr *e, EvalFlags flags=0) |
static C4Value | eval_static (C4ScriptHost *host, C4PropListStatic *parent, const std::string &parent_key, const ::aul::ast::Expr *e, EvalFlags flags=0) |
Definition at line 378 of file C4AulCompiler.cpp.
typedef int C4AulCompiler::ConstexprEvaluator::EvalFlags |
Definition at line 392 of file C4AulCompiler.cpp.
|
static |
Definition at line 1816 of file C4AulCompiler.cpp.
References C4VNull, C4ScriptHost::Engine, C4AulScriptEngine::ErrorHandler, and C4AulErrorHandler::OnError().
|
static |
Definition at line 1833 of file C4AulCompiler.cpp.
References C4VNull, C4ScriptHost::Engine, C4AulScriptEngine::ErrorHandler, and C4AulErrorHandler::OnError().
Referenced by C4AulCompiler::ConstantResolver::visit().
|
inlinevirtualinherited |
|
overridevirtual |
Reimplemented from aul::AstVisitor.
Definition at line 1857 of file C4AulCompiler.cpp.
References a, and C4VArray().
|
overridevirtual |
Reimplemented from aul::AstVisitor.
Definition at line 2049 of file C4AulCompiler.cpp.
|
overridevirtual |
Reimplemented from aul::AstVisitor.
Definition at line 1976 of file C4AulCompiler.cpp.
References C4Value::_getInt(), AB_BitAnd, AB_BitOr, AB_BitXOr, AB_Div, AB_Equal, AB_GreaterThan, AB_GreaterThanEqual, AB_JUMPAND, AB_JUMPNNIL, AB_JUMPOR, AB_LeftShift, AB_LessThan, AB_LessThanEqual, AB_Mod, AB_Mul, AB_NotEqual, AB_Pow, AB_RightShift, AB_Sub, AB_Sum, BOOL_BINOP, C4ScriptOpMap, C4V_Nil, ENSURE_COND, C4Value::GetType(), INT_BINOP, C4Value::IsIdenticalTo(), Pow(), C4Value::SetBool(), and C4Value::SetInt().
|
inlinevirtualinherited |
Reimplemented in C4AulCompiler::CodegenAstVisitor, and aul::DefaultRecursiveVisitor.
Definition at line 79 of file C4AulAST.h.
|
overridevirtual |
Reimplemented from aul::AstVisitor.
Definition at line 1855 of file C4AulCompiler.cpp.
References C4VBool().
|
inlinevirtualinherited |
|
overridevirtual |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
Reimplemented in C4AulCompiler::CodegenAstVisitor, and aul::DefaultRecursiveVisitor.
Definition at line 83 of file C4AulAST.h.
|
inlinevirtualinherited |
Reimplemented in C4AulCompiler::CodegenAstVisitor, and aul::DefaultRecursiveVisitor.
Definition at line 81 of file C4AulAST.h.
|
inlinevirtualinherited |
Reimplemented in C4AulCompiler::CodegenAstVisitor, C4AulCompiler::PreparseAstVisitor, and aul::DefaultRecursiveVisitor.
Definition at line 89 of file C4AulAST.h.
|
overridevirtual |
Reimplemented from aul::AstVisitor.
Definition at line 2100 of file C4AulCompiler.cpp.
References C4AulScriptFunc::AddPar(), C4AUL_MAX_Par, C4AulCompiler::CodegenAstVisitor::EmitFunctionCode(), ENSURE_COND, C4AulScriptFunc::ParCount, C4Value::SetFunction(), C4AulScriptFunc::SFunc(), and C4AulCompiler::PreparseAstVisitor::visit().
|
inlinevirtualinherited |
Reimplemented in C4AulCompiler::CodegenAstVisitor, and aul::DefaultRecursiveVisitor.
Definition at line 87 of file C4AulAST.h.
|
inlinevirtualinherited |
|
overridevirtual |
Reimplemented from aul::AstVisitor.
Definition at line 1853 of file C4AulCompiler.cpp.
References C4VInt().
|
overridevirtual |
Reimplemented from aul::AstVisitor.
Definition at line 1929 of file C4AulCompiler.cpp.
References C4VNull.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
Reimplemented in C4AulCompiler::CodegenAstVisitor, C4AulCompiler::PreparseAstVisitor, and aul::DefaultRecursiveVisitor.
Definition at line 78 of file C4AulAST.h.
|
overridevirtual |
Reimplemented from aul::AstVisitor.
Definition at line 1868 of file C4AulCompiler.cpp.
References C4VNull, C4VPropList(), C4ScriptHost::Engine, C4String::GetCStr(), C4AulScriptEngine::GetGlobalConstant(), C4Value::getPropList(), C4PropList::IsStatic(), C4PropList::New(), C4PropList::NewStatic(), C4StringTable::RegString(), C4PropList::SetPropertyByS(), and Strings.
|
inlinevirtualinherited |
Reimplemented in C4AulCompiler::CodegenAstVisitor, C4AulCompiler::PreparseAstVisitor, and aul::DefaultRecursiveVisitor.
Definition at line 82 of file C4AulAST.h.
|
inlinevirtualinherited |
Reimplemented in C4AulCompiler::CodegenAstVisitor, and aul::DefaultRecursiveVisitor.
Definition at line 80 of file C4AulAST.h.
|
inlinevirtualinherited |
Reimplemented in C4AulCompiler::ConstantResolver, C4AulCompiler::CodegenAstVisitor, C4AulCompiler::PreparseAstVisitor, and aul::DefaultRecursiveVisitor.
Definition at line 93 of file C4AulAST.h.
|
overridevirtual |
Reimplemented from aul::AstVisitor.
Definition at line 2078 of file C4AulCompiler.cpp.
References C4V_Array, C4V_Int, C4Value::CheckConversion(), ENSURE_COND, FormatString(), C4Value::getArray(), StdStrBuf::getData(), C4Value::getInt(), C4ValueArray::GetSlice(), C4Value::GetTypeName(), and C4Value::SetArray().
|
overridevirtual |
Reimplemented from aul::AstVisitor.
Definition at line 1851 of file C4AulCompiler.cpp.
References C4VString().
|
overridevirtual |
Reimplemented from aul::AstVisitor.
Definition at line 2054 of file C4AulCompiler.cpp.
References C4V_Array, C4V_Int, C4V_PropList, C4V_String, C4Value::CheckConversion(), ENSURE_COND, FormatString(), C4Value::getArray(), StdStrBuf::getData(), C4Value::getInt(), C4ValueArray::GetItem(), C4PropList::GetPropertyByS(), C4Value::getPropList(), C4Value::getStr(), C4Value::GetTypeName(), and C4Value::Set0().
|
overridevirtual |
Reimplemented from aul::AstVisitor.
Definition at line 1931 of file C4AulCompiler.cpp.
|
overridevirtual |
Reimplemented from aul::AstVisitor.
Definition at line 1951 of file C4AulCompiler.cpp.
References C4Value::_getInt(), AB_BitNot, AB_Neg, AB_Not, C4ScriptOpMap, C4Value::getBool(), C4Value::SetBool(), and C4Value::SetInt().
|
inlinevirtualinherited |
Reimplemented in C4AulCompiler::ConstantResolver, C4AulCompiler::CodegenAstVisitor, C4AulCompiler::PreparseAstVisitor, and aul::DefaultRecursiveVisitor.
Definition at line 88 of file C4AulAST.h.
|
overridevirtual |
Reimplemented from aul::AstVisitor.
Definition at line 1933 of file C4AulCompiler.cpp.
References C4VNull, C4ScriptHost::Engine, C4StringTable::FindString(), C4AulScriptEngine::GetGlobalConstant(), C4PropList::GetPropertyByS(), C4ScriptHost::GetPropList(), and Strings.
|
inlinevirtualinherited |
Reimplemented in C4AulCompiler::CodegenAstVisitor, and aul::DefaultRecursiveVisitor.
Definition at line 84 of file C4AulAST.h.
|
deleteinherited |