Pol
Revision:cb584c9
|
#include <executor.h>
Public Types | |
enum | DEBUG_LEVEL { NONE, SOURCELINES, INSTRUCTIONS } |
Public Member Functions | |
Executor () | |
virtual | ~Executor () |
void | addmember2 (BObject &left, const BObject &right) |
void | addModule (ExecutorModule *module) |
void | attach_debugger () |
bool | AttachFunctionalityModules () |
void | calcrunnable () |
void | dbg_break () |
void | dbg_clrallbp () |
void | dbg_clrbp (unsigned atPC) |
std::string | dbg_get_instruction (size_t atPC) const |
void | dbg_ins_trace () |
void | dbg_run () |
void | dbg_setbp (unsigned atPC) |
void | dbg_step_into () |
void | dbg_step_over () |
bool | debugging () const |
void | detach_debugger () |
bool | empty_scriptname () |
bool | error () const |
bool | exec () |
void | execFunc (const Token &token) |
void | execInstr () |
ExecutorModule * | findModule (const std::string &name) |
BApplicObjBase * | getApplicObjParam (unsigned param, const BApplicObjType *object_type) |
void * | getApplicPtrParam (unsigned param, const BApplicObjType *pointer_type) |
void | getArg (const Token &token) |
int | getDebugLevel () |
const BLong * | getLongParam (unsigned param) |
bool | getObjArrayParam (unsigned param, ObjArray *&pobjarr) |
bool | getParam (unsigned param, int &value) |
bool | getParam (unsigned param, int &value, int maxval) |
bool | getParam (unsigned param, int &value, int minval, int maxval) |
bool | getParam (unsigned param, unsigned &value) |
bool | getParam (unsigned param, unsigned short &value) |
bool | getParam (unsigned param, unsigned short &value, unsigned short maxval) |
bool | getParam (unsigned param, unsigned short &value, unsigned short minval, unsigned short maxval) |
bool | getParam (unsigned param, short &value) |
bool | getParam (unsigned param, short &value, short maxval) |
bool | getParam (unsigned param, short &value, short minval, short maxval) |
BObjectImp * | getParamImp (unsigned param) |
BObjectImp * | getParamImp (unsigned param, BObjectImp::BObjectType type) |
BObjectImp * | getParamImp2 (unsigned param, BObjectImp::BObjectType type) |
BObject * | getParamObj (unsigned param) |
bool | getRealParam (unsigned param, double &value) |
const String * | getStringParam (unsigned param) |
bool | getStringParam (unsigned param, const String *&pstr) |
int | getToken (Token &token, unsigned position) |
BObjectRef & | GlobalVar (unsigned int varnum) |
bool | halt () const |
bool | hasParams (unsigned howmany) const |
void | initForFnCall (unsigned in_PC) |
void | ins_add (const Instruction &ins) |
void | ins_addmember (const Instruction &ins) |
void | ins_addmember2 (const Instruction &ins) |
void | ins_addmember_assign (const Instruction &ins) |
void | ins_array (const Instruction &ins) |
void | ins_array_assign (const Instruction &ins) |
void | ins_array_assign_consume (const Instruction &ins) |
void | ins_arraysubscript (const Instruction &ins) |
void | ins_assign (const Instruction &ins) |
void | ins_assign_consume (const Instruction &ins) |
void | ins_assign_globalvar (const Instruction &ins) |
void | ins_assign_localvar (const Instruction &ins) |
void | ins_bitshift_left (const Instruction &ins) |
void | ins_bitshift_right (const Instruction &ins) |
void | ins_bitwise_and (const Instruction &ins) |
void | ins_bitwise_not (const Instruction &ins) |
void | ins_bitwise_or (const Instruction &ins) |
void | ins_bitwise_xor (const Instruction &ins) |
void | ins_call_method (const Instruction &ins) |
void | ins_call_method_id (const Instruction &ins) |
void | ins_casejmp (const Instruction &ins) |
void | ins_checkmember (const Instruction &ins) |
void | ins_consume (const Instruction &ins) |
void | ins_declareArray (const Instruction &ins) |
void | ins_dictionary (const Instruction &ins) |
void | ins_dictionary_addmember (const Instruction &ins) |
void | ins_div (const Instruction &ins) |
void | ins_divideequal (const Instruction &ins) |
void | ins_double (const Instruction &ins) |
void | ins_equal (const Instruction &ins) |
void | ins_error (const Instruction &ins) |
void | ins_exit (const Instruction &ins) |
void | ins_func (const Instruction &ins) |
void | ins_funcref (const Instruction &ins) |
void | ins_get_arg (const Instruction &ins) |
void | ins_get_member (const Instruction &ins) |
void | ins_get_member_id (const Instruction &ins) |
void | ins_globalvar (const Instruction &ins) |
void | ins_gosub (const Instruction &ins) |
void | ins_goto (const Instruction &ins) |
void | ins_greaterequal (const Instruction &ins) |
void | ins_greaterthan (const Instruction &ins) |
void | ins_ident (const Instruction &ins) |
void | ins_in (const Instruction &ins) |
void | ins_initfor (const Instruction &ins) |
void | ins_initforeach (const Instruction &ins) |
void | ins_initforeach2 (const Instruction &ins) |
void | ins_insert_into (const Instruction &ins) |
void | ins_jmpiffalse (const Instruction &ins) |
void | ins_jmpiftrue (const Instruction &ins) |
void | ins_jsr_userfunc (const Instruction &ins) |
void | ins_leave_block (const Instruction &ins) |
void | ins_lessequal (const Instruction &ins) |
void | ins_lessthan (const Instruction &ins) |
void | ins_localvar (const Instruction &ins) |
void | ins_logical_and (const Instruction &ins) |
void | ins_logical_not (const Instruction &ins) |
void | ins_logical_or (const Instruction &ins) |
void | ins_long (const Instruction &ins) |
void | ins_makeLocal (const Instruction &ins) |
void | ins_makelocal (const Instruction &ins) |
void | ins_member (const Instruction &ins) |
void | ins_minusequal (const Instruction &ins) |
void | ins_modulus (const Instruction &ins) |
void | ins_modulusequal (const Instruction &ins) |
void | ins_mult (const Instruction &ins) |
void | ins_multisubscript (const Instruction &ins) |
void | ins_multisubscript_assign (const Instruction &ins) |
void | ins_multisubscript_assign_consume (const Instruction &ins) |
void | ins_nextfor (const Instruction &ins) |
void | ins_nop (const Instruction &ins) |
void | ins_notequal (const Instruction &ins) |
void | ins_plusequal (const Instruction &ins) |
void | ins_pop_param (const Instruction &ins) |
void | ins_pop_param_byref (const Instruction &ins) |
void | ins_progend (const Instruction &ins) |
void | ins_removemember (const Instruction &ins) |
void | ins_return (const Instruction &ins) |
void | ins_set_member (const Instruction &ins) |
void | ins_set_member_consume (const Instruction &ins) |
void | ins_set_member_id (const Instruction &ins) |
void | ins_set_member_id_consume (const Instruction &ins) |
void | ins_set_member_id_consume_divideequal (const Instruction &ins) |
void | ins_set_member_id_consume_minusequal (const Instruction &ins) |
void | ins_set_member_id_consume_modulusequal (const Instruction &ins) |
void | ins_set_member_id_consume_plusequal (const Instruction &ins) |
void | ins_set_member_id_consume_timesequal (const Instruction &ins) |
void | ins_statementbegin (const Instruction &ins) |
void | ins_stepforeach (const Instruction &ins) |
void | ins_stepforeach2 (const Instruction &ins) |
void | ins_string (const Instruction &ins) |
void | ins_struct (const Instruction &ins) |
void | ins_subtract (const Instruction &ins) |
void | ins_timesequal (const Instruction &ins) |
void | ins_uninit (const Instruction &ins) |
void | ins_unminus (const Instruction &ins) |
BObjectRef & | LocalVar (unsigned int varnum) |
int | makeGlobal (const Token &token) |
BObject * | makeObj (const Token &token) |
int | makeString (unsigned param) |
size_t | numParams () const |
double | paramAsDouble (unsigned param) |
int | paramAsLong (unsigned param) |
const char * | paramAsString (unsigned param) |
void | popParam (const Token &token) |
void | popParamByRef (const Token &token) |
const EScriptProgram * | prog () const |
void | pushArg (BObjectImp *arg) |
void | pushArg (const BObjectRef &ref) |
void | reinitExec () |
bool | runnable () const |
bool | running_to_completion () const |
const std::string & | scriptname () const |
void | set_running_to_completion (bool to_completion) |
void | setdebugging (bool debugging) |
void | setDebugLevel (DEBUG_LEVEL level) |
void | seterror (bool err) |
void | setFunctionResult (BObjectImp *imp) |
void | sethalt (bool halt) |
bool | setProgram (EScriptProgram *prog) |
void | setViewMode (bool vm) |
void | show_context (unsigned atPC) |
void | show_context (fmt::Writer &os, unsigned atPC) |
virtual size_t | sizeEstimate () const |
Static Public Member Functions | |
static BObjectRef | addmember (BObject &left, const BObject &right) |
static BObjectRef | checkmember (BObject &left, const BObject &right) |
static ExecInstrFunc | GetInstrFunc (const Token &token) |
static int | ins_casejmp_finddefault (const Token &token) |
static int | ins_casejmp_findlong (const Token &token, BLong *blong) |
static int | ins_casejmp_findstring (const Token &token, String *bstringimp) |
static BObjectRef | removemember (BObject &left, const BObject &right) |
Public Attributes | |
std::vector< ExecutorModule * > | availmodules |
std::vector< ReturnContext > | ControlStack |
ModuleFunction * | current_module_function |
DEBUG_LEVEL | debug_level |
int | done |
bool | error_ |
std::vector< ExecutorModule * > | execmodules |
std::vector< BObjectRef > | fparams |
BObjectRefVec | Globals2 |
bool | halt_ |
BObjectRefVec * | Locals2 |
unsigned | nLines |
unsigned | PC |
bool | run_ok_ |
std::vector< BObjectRefVec * > | upperLocals2 |
ValueStackCont | ValueStack |
Static Public Attributes | |
static Clib::SpinLock | _executor_lock |
static UninitObject * | m_SharedUninitObject |
Protected Member Functions | |
void | cleanParams () |
BObjectRef | getObjRef (void) |
BObject * | getParam (unsigned param) |
int | getParams (unsigned howMany) |
BObject | getValue (void) |
int | makeDouble (unsigned param) |
Private Member Functions | |
Executor (const Executor &exec) | |
Executor & | operator= (const Executor &exec) |
Private Attributes | |
unsigned | bp_skip_ |
std::set< unsigned > | breakpoints_ |
DEBUG_STATE | debug_state_ |
bool | debugging_ |
BObjectImp * | func_result_ |
ref_ptr< EScriptProgram > | prog_ |
bool | prog_ok_ |
bool | runs_to_completion_ |
std::set< unsigned > | tmpbreakpoints_ |
bool | viewmode_ |
Friends | |
void | Core::list_script (Core::UOExecutor *uoexec) |
class | ExecutorModule |
Definition at line 81 of file executor.h.
Enumerator | |
---|---|
NONE | |
SOURCELINES | |
INSTRUCTIONS |
Definition at line 95 of file executor.h.
|
private |
Definition at line 383 of file executor.h.
Pol::Bscript::Executor::Executor | ( | ) |
Definition at line 73 of file executor.cpp.
References _executor_lock, Pol::Bscript::executor_count, Pol::Bscript::UninitObject::SharedInstance, and Pol::Bscript::UninitObject::SharedInstanceOwner.
|
virtual |
Definition at line 103 of file executor.cpp.
References _executor_lock, availmodules, Pol::Clib::delete_all(), execmodules, Pol::Bscript::executor_count, Locals2, and upperLocals2.
|
private |
|
static |
Definition at line 909 of file executor.cpp.
References Pol::Bscript::BObject::clone(), Pol::Bscript::BObject::impref(), Pol::Bscript::BObject::isa(), Pol::Bscript::BObjectImp::operDotPlus(), and Pol::Bscript::BObjectImp::OTString.
void Pol::Bscript::Executor::addModule | ( | ExecutorModule * | module | ) |
Definition at line 3032 of file executor.cpp.
Referenced by Pol::Core::add_common_exmods(), Pol::Core::ClientCreateChar(), Pol::Core::ClientCreateChar70160(), Pol::Core::ClientCreateCharKR(), Pol::Clib::RunEclMain::dumpScript(), Pol::Core::run_executor_to_completion(), Pol::Core::run_script_to_completion_worker(), Pol::Clib::RunEclMain::runeclScript(), Pol::Core::start_http_script(), Pol::Core::start_script(), Pol::Mobile::NPC::start_script(), and Pol::Core::UOExecutor::UOExecutor().
void Pol::Bscript::Executor::attach_debugger | ( | ) |
Definition at line 3050 of file executor.cpp.
Referenced by Pol::Core::DebugContext::cmd_attach(), and Pol::Module::OSExecutorModule::mf_debugger().
bool Pol::Bscript::Executor::AttachFunctionalityModules | ( | ) |
Definition at line 123 of file executor.cpp.
References ERROR_PRINT, execmodules, findModule(), Pol::Bscript::ModuleFunction::funcidx, Pol::Bscript::ExecutorModule::functionIndex(), Pol::Bscript::ModuleFunction::name, prog_, and scriptname().
Referenced by setProgram().
|
inline |
Definition at line 432 of file executor.h.
|
static |
Definition at line 933 of file executor.cpp.
References Pol::Bscript::BObject::clone(), Pol::Bscript::BObject::impref(), Pol::Bscript::BObject::isa(), Pol::Bscript::BObjectImp::operDotQMark(), and Pol::Bscript::BObjectImp::OTString.
|
protected |
Definition at line 191 of file executor.cpp.
References fparams.
void Pol::Bscript::Executor::dbg_break | ( | ) |
Definition at line 3081 of file executor.cpp.
Referenced by Pol::Core::DebugContext::cmd_break().
void Pol::Bscript::Executor::dbg_clrallbp | ( | ) |
Definition at line 3094 of file executor.cpp.
Referenced by Pol::Core::DebugContext::cmd_clrallbp().
void Pol::Bscript::Executor::dbg_clrbp | ( | unsigned | atPC | ) |
Definition at line 3090 of file executor.cpp.
Referenced by Pol::Core::DebugContext::cmd_clrbp().
std::string Pol::Bscript::Executor::dbg_get_instruction | ( | size_t | atPC | ) | const |
Definition at line 2905 of file executor.cpp.
Referenced by Pol::Core::DebugContext::cmd_ins().
void Pol::Bscript::Executor::dbg_ins_trace | ( | ) |
Definition at line 3061 of file executor.cpp.
Referenced by Pol::Core::DebugContext::cmd_instrace().
void Pol::Bscript::Executor::dbg_run | ( | ) |
Definition at line 3076 of file executor.cpp.
Referenced by Pol::Core::DebugContext::cmd_run().
void Pol::Bscript::Executor::dbg_setbp | ( | unsigned | atPC | ) |
Definition at line 3086 of file executor.cpp.
Referenced by Pol::Core::DebugContext::cmd_setbp().
void Pol::Bscript::Executor::dbg_step_into | ( | ) |
Definition at line 3066 of file executor.cpp.
Referenced by Pol::Core::DebugContext::cmd_stepinto().
void Pol::Bscript::Executor::dbg_step_over | ( | ) |
Definition at line 3071 of file executor.cpp.
Referenced by Pol::Core::DebugContext::cmd_stepover().
|
inline |
Definition at line 457 of file executor.h.
void Pol::Bscript::Executor::detach_debugger | ( | ) |
Definition at line 3055 of file executor.cpp.
Referenced by Pol::Core::DebugContext::cmd_detach().
|
inline |
Definition at line 418 of file executor.h.
|
inline |
Definition at line 442 of file executor.h.
Referenced by Pol::Core::ExportScript::call(), Pol::Core::ExportScript::call_long(), Pol::Core::ExportScript::call_object(), Pol::Core::ExportScript::call_string(), and Pol::Core::ScriptScheduler::run_ready().
bool Pol::Bscript::Executor::exec | ( | ) |
Definition at line 2951 of file executor.cpp.
References passert, Pol::Clib::scripts_thread_script, and Pol::Clib::scripts_thread_scriptPC.
Referenced by Pol::Core::ExportScript::call(), Pol::Core::ExportScript::call_long(), Pol::Core::ExportScript::call_object(), Pol::Core::ExportScript::call_string(), and Pol::Clib::RunEclMain::runeclScript().
void Pol::Bscript::Executor::execFunc | ( | const Token & | token | ) |
Definition at line 797 of file executor.cpp.
References Pol::Bscript::UninitObject::create(), current_module_function, DEBUGLOG, Pol::Bscript::ExecutorModule::execFunc(), execmodules, fparams, func_result_, Pol::Bscript::ModuleFunction::funcidx, Pol::Bscript::ExecutorModule::functionName(), Pol::Bscript::FunctionalityModule::functions, Pol::Bscript::Token::lval, Pol::Bscript::Token::module, Pol::Bscript::ModuleFunction::name, name, prog_, and ValueStack.
void Pol::Bscript::Executor::execInstr | ( | ) |
Definition at line 2779 of file executor.cpp.
References Pol::Bscript::Instruction::cycles, Pol::Bscript::escript_instr_cycles, Pol::Bscript::Instruction::func, INFO_PRINT, passert, POLLOG_ERROR, and Pol::Bscript::Instruction::token.
Referenced by Pol::Core::run_executor_to_completion(), Pol::Core::ScriptScheduler::run_ready(), and Pol::Core::run_script_to_completion_worker().
ExecutorModule * Pol::Bscript::Executor::findModule | ( | const std::string & | name | ) |
Definition at line 3038 of file executor.cpp.
References Pol::Bscript::ExecutorModule::moduleName.
Referenced by AttachFunctionalityModules(), Pol::Core::ScriptExObjImp::get_member_id(), Pol::Module::OSExecutorModule::mf_HTTPRequest(), Pol::Module::OSExecutorModule::mf_OpenConnection(), Pol::Module::OSExecutorModule::mf_performance_diff(), Pol::Module::NPCExecutorModule::NPCExecutorModule(), Pol::Module::OSExecutorModule::run_script(), Pol::Mobile::Character::script_method_id(), Pol::Module::OSExecutorModule::signal_event(), and Pol::Module::OSExecutorModule::start_script().
BApplicObjBase * Pol::Bscript::Executor::getApplicObjParam | ( | unsigned | param, |
const BApplicObjType * | object_type | ||
) |
Definition at line 488 of file executor.cpp.
References current_module_function, DEBUGLOG, EXPLICIT_CAST, getParamImp(), Pol::Bscript::BApplicObjBase::getStringRep(), Pol::Bscript::ModuleFunction::name, Pol::Bscript::BApplicObjBase::object_type(), Pol::Bscript::BObjectImp::OTApplicObj, PC, and scriptname().
Referenced by Pol::Bscript::ExecutorModule::getApplicObjParam(), Pol::Module::getGuildParam(), Pol::Module::getPartyParam(), Pol::Module::getStoredConfigElemParam(), Pol::Module::getStoredConfigFileParam(), and Pol::Multi::UHouse::script_method_id().
void * Pol::Bscript::Executor::getApplicPtrParam | ( | unsigned | param, |
const BApplicObjType * | pointer_type | ||
) |
Definition at line 464 of file executor.cpp.
References current_module_function, DEBUGLOG, EXPLICIT_CAST, getParamImp(), Pol::Bscript::ModuleFunction::name, Pol::Bscript::BObjectImp::OTApplicPtr, PC, Pol::Bscript::BApplicPtr::pointer_type(), Pol::Bscript::BApplicPtr::ptr(), scriptname(), Pol::Bscript::BObjectImp::type(), and Pol::Bscript::BObjectImp::typestr().
Referenced by Pol::Bscript::ExecutorModule::getApplicPtrParam(), and Pol::Module::StorageExecutorModule::mf_FindRootItemInStorageArea().
void Pol::Bscript::Executor::getArg | ( | const Token & | token | ) |
Definition at line 893 of file executor.cpp.
References Pol::Bscript::UninitObject::create(), getObjRef(), Locals2, and ValueStack.
|
inline |
Definition at line 368 of file executor.h.
Referenced by Pol::Module::OSExecutorModule::mf_set_script_option().
|
static |
Definition at line 2576 of file executor.cpp.
References Pol::Bscript::CTRL_JSR_USERFUNC, Pol::Bscript::CTRL_LEAVE_BLOCK, Pol::Bscript::CTRL_MAKELOCAL, Pol::Bscript::CTRL_PROGEND, Pol::Bscript::CTRL_STATEMENTBEGIN, Pol::Bscript::Token::id, ins_add(), ins_addmember(), Pol::Bscript::INS_ADDMEMBER2, ins_addmember2(), Pol::Bscript::INS_ADDMEMBER_ASSIGN, ins_addmember_assign(), ins_array(), ins_array_assign(), ins_array_assign_consume(), ins_arraysubscript(), ins_assign(), Pol::Bscript::INS_ASSIGN_CONSUME, ins_assign_consume(), Pol::Bscript::INS_ASSIGN_GLOBALVAR, ins_assign_globalvar(), Pol::Bscript::INS_ASSIGN_LOCALVAR, ins_assign_localvar(), ins_bitshift_left(), ins_bitshift_right(), ins_bitwise_and(), ins_bitwise_not(), ins_bitwise_or(), ins_bitwise_xor(), Pol::Bscript::INS_CALL_METHOD, ins_call_method(), Pol::Bscript::INS_CALL_METHOD_ID, ins_call_method_id(), Pol::Bscript::INS_CASEJMP, ins_casejmp(), ins_checkmember(), ins_consume(), Pol::Bscript::INS_DECLARE_ARRAY, ins_declareArray(), ins_dictionary(), Pol::Bscript::INS_DICTIONARY_ADDMEMBER, ins_dictionary_addmember(), ins_div(), ins_divideequal(), ins_double(), ins_equal(), ins_error(), ins_exit(), ins_func(), ins_funcref(), Pol::Bscript::INS_GET_ARG, ins_get_arg(), Pol::Bscript::INS_GET_MEMBER, ins_get_member(), Pol::Bscript::INS_GET_MEMBER_ID, ins_get_member_id(), ins_globalvar(), ins_gosub(), ins_goto(), ins_greaterequal(), ins_greaterthan(), ins_ident(), ins_in(), Pol::Bscript::INS_INITFOR, ins_initfor(), Pol::Bscript::INS_INITFOREACH, ins_initforeach2(), ins_insert_into(), ins_jmpiffalse(), ins_jmpiftrue(), ins_jsr_userfunc(), ins_leave_block(), ins_lessequal(), ins_lessthan(), ins_localvar(), ins_logical_and(), ins_logical_not(), ins_logical_or(), ins_long(), ins_makeLocal(), ins_makelocal(), ins_minusequal(), ins_modulus(), ins_modulusequal(), ins_mult(), Pol::Bscript::INS_MULTISUBSCRIPT, ins_multisubscript(), Pol::Bscript::INS_MULTISUBSCRIPT_ASSIGN, ins_multisubscript_assign(), Pol::Bscript::INS_NEXTFOR, ins_nextfor(), ins_nop(), ins_notequal(), ins_plusequal(), Pol::Bscript::INS_POP_PARAM, ins_pop_param(), Pol::Bscript::INS_POP_PARAM_BYREF, ins_pop_param_byref(), ins_progend(), ins_removemember(), ins_return(), Pol::Bscript::INS_SET_MEMBER, ins_set_member(), Pol::Bscript::INS_SET_MEMBER_CONSUME, ins_set_member_consume(), Pol::Bscript::INS_SET_MEMBER_ID, ins_set_member_id(), Pol::Bscript::INS_SET_MEMBER_ID_CONSUME, ins_set_member_id_consume(), Pol::Bscript::INS_SET_MEMBER_ID_CONSUME_DIVIDEEQUAL, ins_set_member_id_consume_divideequal(), Pol::Bscript::INS_SET_MEMBER_ID_CONSUME_MINUSEQUAL, ins_set_member_id_consume_minusequal(), Pol::Bscript::INS_SET_MEMBER_ID_CONSUME_MODULUSEQUAL, ins_set_member_id_consume_modulusequal(), Pol::Bscript::INS_SET_MEMBER_ID_CONSUME_PLUSEQUAL, ins_set_member_id_consume_plusequal(), Pol::Bscript::INS_SET_MEMBER_ID_CONSUME_TIMESEQUAL, ins_set_member_id_consume_timesequal(), ins_statementbegin(), Pol::Bscript::INS_STEPFOREACH, ins_stepforeach2(), ins_string(), ins_struct(), Pol::Bscript::INS_SUBSCRIPT_ASSIGN, Pol::Bscript::INS_SUBSCRIPT_ASSIGN_CONSUME, ins_subtract(), ins_timesequal(), Pol::Bscript::INS_UNINIT, ins_uninit(), ins_unminus(), Pol::Bscript::RSV_EXIT, Pol::Bscript::RSV_GLOBAL, Pol::Bscript::RSV_GOSUB, Pol::Bscript::RSV_GOTO, Pol::Bscript::RSV_JMPIFFALSE, Pol::Bscript::RSV_JMPIFTRUE, Pol::Bscript::RSV_LOCAL, Pol::Bscript::RSV_RETURN, Pol::Bscript::TOK_ADD, Pol::Bscript::TOK_ADDMEMBER, Pol::Bscript::TOK_AND, Pol::Bscript::TOK_ARRAY, Pol::Bscript::TOK_ARRAY_SUBSCRIPT, Pol::Bscript::TOK_ASSIGN, Pol::Bscript::TOK_BITAND, Pol::Bscript::TOK_BITOR, Pol::Bscript::TOK_BITWISE_NOT, Pol::Bscript::TOK_BITXOR, Pol::Bscript::TOK_BSLEFT, Pol::Bscript::TOK_BSRIGHT, Pol::Bscript::TOK_CHKMEMBER, Pol::Bscript::TOK_CONSUMER, Pol::Bscript::TOK_DELMEMBER, Pol::Bscript::TOK_DICTIONARY, Pol::Bscript::TOK_DIV, Pol::Bscript::TOK_DIVIDEEQUAL, Pol::Bscript::TOK_DOUBLE, Pol::Bscript::TOK_EQUAL, Pol::Bscript::TOK_ERROR, Pol::Bscript::TOK_FUNC, Pol::Bscript::TOK_FUNCREF, Pol::Bscript::TOK_GLOBALVAR, Pol::Bscript::TOK_GREQ, Pol::Bscript::TOK_GRTHAN, Pol::Bscript::TOK_IDENT, Pol::Bscript::TOK_IN, Pol::Bscript::TOK_INSERTINTO, Pol::Bscript::TOK_LESSEQ, Pol::Bscript::TOK_LESSTHAN, Pol::Bscript::TOK_LOCALVAR, Pol::Bscript::TOK_LOG_NOT, Pol::Bscript::TOK_LONG, Pol::Bscript::TOK_MINUSEQUAL, Pol::Bscript::TOK_MODULUS, Pol::Bscript::TOK_MODULUSEQUAL, Pol::Bscript::TOK_MULT, Pol::Bscript::TOK_NEQ, Pol::Bscript::TOK_OR, Pol::Bscript::TOK_PLUSEQUAL, Pol::Bscript::TOK_STRING, Pol::Bscript::TOK_STRUCT, Pol::Bscript::TOK_SUBTRACT, Pol::Bscript::TOK_TIMESEQUAL, Pol::Bscript::TOK_UNMINUS, Pol::Bscript::TOK_UNPLUS, and Pol::Clib::tostring().
Referenced by Pol::Bscript::EScriptProgram::create_instructions().
const BLong * Pol::Bscript::Executor::getLongParam | ( | unsigned | param | ) |
Definition at line 352 of file executor.cpp.
References Pol::Clib::explicit_cast(), getParamImp(), and Pol::Bscript::BObjectImp::OTLong.
Referenced by Pol::Module::NPCExecutorModule::CreateItem().
bool Pol::Bscript::Executor::getObjArrayParam | ( | unsigned | param, |
ObjArray *& | pobjarr | ||
) |
Definition at line 457 of file executor.cpp.
References Pol::Clib::explicit_cast(), getParamImp(), and Pol::Bscript::BObjectImp::OTArray.
Referenced by Pol::Core::BPacket::call_method_id(), Pol::Bscript::ExecutorModule::getObjArrayParam(), Pol::Module::ConfigFileExecutorModule::mf_AppendConfigFileElem(), and Pol::Mobile::Character::script_method_id().
|
protected |
Definition at line 782 of file executor.cpp.
References Pol::Bscript::UninitObject::create(), PC, POLLOG_ERROR, prog_, seterror(), and ValueStack.
Referenced by getArg(), ins_declareArray(), popParam(), and popParamByRef().
bool Pol::Bscript::Executor::getParam | ( | unsigned | param, |
int & | value | ||
) |
Definition at line 363 of file executor.cpp.
References Pol::Clib::explicit_cast(), getParamImp(), Pol::Bscript::BObjectImp::OTLong, and Pol::Bscript::BLong::value().
Referenced by Pol::Module::PolCore::call_method(), Pol::Core::BPacket::call_method_id(), Pol::Accounts::AccountObjImp::call_method_id(), Pol::Core::BBinaryfile::call_method_id(), Pol::Module::DataFileRefObjImp::call_method_id(), Pol::Bscript::ObjArray::call_method_id(), Pol::Module::NPCExecutorModule::face(), Pol::Bscript::ExecutorModule::getParam(), Pol::Core::getSkillIdParam(), makeDouble(), makeString(), Pol::Module::PolSystemExecutorModule::mf_CreatePacket(), Pol::Module::UtilExecutorModule::mf_RandomInt(), Pol::Module::UtilExecutorModule::mf_RandomIntMinMax(), Pol::Module::NPCExecutorModule::mf_RunAwayFromLocation(), Pol::Module::NPCExecutorModule::mf_RunTowardLocation(), Pol::Module::NPCExecutorModule::mf_SetWarMode(), Pol::Module::NPCExecutorModule::mf_TurnAwayFrom(), Pol::Module::NPCExecutorModule::mf_TurnAwayFromLocation(), Pol::Module::NPCExecutorModule::mf_TurnToward(), Pol::Module::NPCExecutorModule::mf_TurnTowardLocation(), Pol::Module::NPCExecutorModule::mf_WalkAwayFromLocation(), Pol::Module::NPCExecutorModule::mf_WalkTowardLocation(), paramAsDouble(), paramAsLong(), Pol::Module::NPCExecutorModule::say(), Pol::Core::Spellbook::script_method_id(), Pol::Core::Map::script_method_id(), Pol::Multi::UHouse::script_method_id(), Pol::Core::UObject::script_method_id(), Pol::Multi::UBoat::script_method_id(), Pol::Items::Item::script_method_id(), Pol::Mobile::Character::script_method_id(), and Pol::Module::OSExecutorModule::set_critical().
bool Pol::Bscript::Executor::getParam | ( | unsigned | param, |
int & | value, | ||
int | maxval | ||
) |
Definition at line 379 of file executor.cpp.
References Pol::Clib::decint(), Pol::Clib::explicit_cast(), func_result_, getParamImp2(), Pol::Bscript::BObjectImp::OTLong, and Pol::Bscript::BLong::value().
bool Pol::Bscript::Executor::getParam | ( | unsigned | param, |
int & | value, | ||
int | minval, | ||
int | maxval | ||
) |
Definition at line 406 of file executor.cpp.
References Pol::Clib::decint(), Pol::Clib::explicit_cast(), func_result_, getParamImp2(), Pol::Bscript::BObjectImp::OTLong, and Pol::Bscript::BLong::value().
bool Pol::Bscript::Executor::getParam | ( | unsigned | param, |
unsigned & | value | ||
) |
Definition at line 595 of file executor.cpp.
References Pol::Clib::decint(), Pol::Clib::explicit_cast(), func_result_, getParamImp2(), Pol::Bscript::BObjectImp::OTLong, and Pol::Bscript::BLong::value().
bool Pol::Bscript::Executor::getParam | ( | unsigned | param, |
unsigned short & | value | ||
) |
Definition at line 568 of file executor.cpp.
References Pol::Clib::decint(), Pol::Clib::explicit_cast(), func_result_, getParamImp2(), Pol::Bscript::BObjectImp::OTLong, and Pol::Bscript::BLong::value().
bool Pol::Bscript::Executor::getParam | ( | unsigned | param, |
unsigned short & | value, | ||
unsigned short | maxval | ||
) |
Definition at line 512 of file executor.cpp.
References Pol::Clib::decint(), Pol::Clib::explicit_cast(), func_result_, getParamImp2(), Pol::Bscript::BObjectImp::OTLong, and Pol::Bscript::BLong::value().
bool Pol::Bscript::Executor::getParam | ( | unsigned | param, |
unsigned short & | value, | ||
unsigned short | minval, | ||
unsigned short | maxval | ||
) |
Definition at line 540 of file executor.cpp.
References Pol::Clib::decint(), Pol::Clib::explicit_cast(), func_result_, getParamImp2(), Pol::Bscript::BObjectImp::OTLong, and Pol::Bscript::BLong::value().
bool Pol::Bscript::Executor::getParam | ( | unsigned | param, |
short & | value | ||
) |
Definition at line 623 of file executor.cpp.
References Pol::Clib::decint(), Pol::Clib::explicit_cast(), func_result_, getParamImp2(), Pol::Bscript::BObjectImp::OTLong, and Pol::Bscript::BLong::value().
bool Pol::Bscript::Executor::getParam | ( | unsigned | param, |
short & | value, | ||
short | maxval | ||
) |
Definition at line 651 of file executor.cpp.
References Pol::Clib::decint(), Pol::Clib::explicit_cast(), func_result_, getParamImp2(), Pol::Bscript::BObjectImp::OTLong, and Pol::Bscript::BLong::value().
bool Pol::Bscript::Executor::getParam | ( | unsigned | param, |
short & | value, | ||
short | minval, | ||
short | maxval | ||
) |
Definition at line 679 of file executor.cpp.
References Pol::Clib::decint(), Pol::Clib::explicit_cast(), func_result_, getParamImp2(), Pol::Bscript::BObjectImp::OTLong, and Pol::Bscript::BLong::value().
|
protected |
Definition at line 256 of file executor.cpp.
References fparams, passert_r, and scriptname().
BObjectImp * Pol::Bscript::Executor::getParamImp | ( | unsigned | param | ) |
Definition at line 266 of file executor.cpp.
References fparams, passert_r, and scriptname().
Referenced by Pol::Network::AuxConnection::call_method(), Pol::Core::ScriptExObjImp::call_method_id(), Pol::Core::BXMLfile::call_method_id(), Pol::Core::BXmlNode::call_method_id(), Pol::Bscript::String::call_method_id(), Pol::Bscript::ObjArray::call_method_id(), Pol::Core::CallPropertyListMethod_id(), Pol::Module::NPCExecutorModule::CanMove(), Pol::Module::NPCExecutorModule::face(), Pol::Module::BasicExecutorModule::find(), getApplicObjParam(), getApplicPtrParam(), Pol::Core::getCharacterOrClientParam(), Pol::Core::getCharacterParam(), Pol::Core::getItemParam(), getLongParam(), Pol::Core::getMultiParam(), getObjArrayParam(), Pol::Core::getObjtypeParam(), getParam(), Pol::Bscript::ExecutorModule::getParamImp(), getRealParam(), getStringParam(), Pol::Core::getUBoatParam(), Pol::Module::NPCExecutorModule::IsLegalMove(), Pol::Module::BasicExecutorModule::len(), Pol::Module::BasicExecutorModule::mf_Bin(), Pol::Module::BasicExecutorModule::mf_Boolean(), Pol::Module::BasicExecutorModule::mf_CAsc(), Pol::Module::BasicExecutorModule::mf_CAscZ(), Pol::Module::BasicExecutorModule::mf_CChrZ(), Pol::Module::BasicExecutorModule::mf_CDbl(), Pol::Module::BasicExecutorModule::mf_CInt(), Pol::Module::BasicExecutorModule::mf_CStr(), Pol::Module::ConfigFileExecutorModule::mf_FindConfigElement(), Pol::Module::BasicExecutorModule::mf_Hex(), Pol::Module::OSExecutorModule::mf_Log(), Pol::Module::BasicExecutorModule::mf_Pack(), Pol::Module::BasicExecutorModule::mf_PackJSON(), Pol::Module::UOExecutorModule::mf_SendEvent(), Pol::Module::UOExecutorModule::mf_SetGlobalProperty(), Pol::Module::BasicExecutorModule::mf_SizeOf(), Pol::Module::BasicExecutorModule::mf_SplitWords(), Pol::Module::BasicExecutorModule::mf_StrReplace(), Pol::Module::BasicExecutorModule::mf_substr(), Pol::Module::BasicExecutorModule::mf_SubStrReplace(), Pol::Module::BasicExecutorModule::mf_Trim(), Pol::Module::BasicExecutorModule::mf_TypeOf(), Pol::Module::BasicExecutorModule::mf_TypeOfInt(), Pol::Module::NPCExecutorModule::move(), Pol::Module::BasicIoExecutorModule::print(), Pol::Module::OSExecutorModule::run_script(), Pol::Core::UObject::script_method_id(), Pol::Mobile::Character::script_method_id(), Pol::Module::OSExecutorModule::start_script(), and Pol::Module::OSExecutorModule::start_skill_script().
BObjectImp * Pol::Bscript::Executor::getParamImp | ( | unsigned | param, |
BObjectImp::BObjectType | type | ||
) |
Definition at line 288 of file executor.cpp.
References current_module_function, DEBUGLOG, fparams, IS_DEBUGLOG_DISABLED, Pol::Bscript::ModuleFunction::name, passert, passert_r, PC, scriptname(), and Pol::Bscript::BObjectImp::typestr().
BObjectImp * Pol::Bscript::Executor::getParamImp2 | ( | unsigned | param, |
BObjectImp::BObjectType | type | ||
) |
Definition at line 321 of file executor.cpp.
References Pol::Clib::decint(), fparams, func_result_, passert, passert_r, scriptname(), and Pol::Bscript::BObjectImp::typestr().
Referenced by getParam().
BObject * Pol::Bscript::Executor::getParamObj | ( | unsigned | param | ) |
Definition at line 276 of file executor.cpp.
References fparams.
Referenced by Pol::Bscript::BDictionary::call_method_id(), Pol::Bscript::BStruct::call_method_id(), and Pol::Bscript::String::call_method_id().
|
protected |
Definition at line 171 of file executor.cpp.
References fparams, PC, POLLOG_ERROR, prog_, seterror(), and ValueStack.
bool Pol::Bscript::Executor::getRealParam | ( | unsigned | param, |
double & | value | ||
) |
Definition at line 433 of file executor.cpp.
References current_module_function, DEBUGLOG, getParamImp(), Pol::Bscript::BObjectImp::isa(), Pol::Bscript::ModuleFunction::name, Pol::Bscript::BObjectImp::OTDouble, Pol::Bscript::BObjectImp::OTLong, PC, scriptname(), Pol::Bscript::BObjectImp::type(), and Pol::Bscript::BObjectImp::typestr().
Referenced by Pol::Bscript::ExecutorModule::getRealParam(), and Pol::Module::UtilExecutorModule::mf_RandomFloat().
const String * Pol::Bscript::Executor::getStringParam | ( | unsigned | param | ) |
Definition at line 347 of file executor.cpp.
References Pol::Clib::explicit_cast(), getParamImp(), and Pol::Bscript::BObjectImp::OTString.
Referenced by Pol::Core::DebugContextObjImp::call_method(), Pol::Core::ScriptExObjImp::call_method_id(), Pol::Core::BPacket::call_method_id(), Pol::Accounts::AccountObjImp::call_method_id(), Pol::Core::BXMLfile::call_method_id(), Pol::Core::BBinaryfile::call_method_id(), Pol::Module::DataFileRefObjImp::call_method_id(), Pol::Core::BXmlNode::call_method_id(), Pol::Module::EClientRefObjImp::call_method_id(), Pol::Core::CallPropertyListMethod_id(), Pol::Core::getAttributeParam(), Pol::Module::NPCExecutorModule::getproperty(), Pol::Bscript::ExecutorModule::getStringParam(), getStringParam(), Pol::Core::getVitalParam(), Pol::Module::ConfigFileExecutorModule::mf_AppendConfigFileElem(), Pol::Module::ConfigFileExecutorModule::mf_ConfigFile(), Pol::Module::ConfigFileExecutorModule::mf_LoadTusScpFile(), Pol::Module::UtilExecutorModule::mf_RandomDiceRoll(), Pol::Module::UOExecutorModule::mf_SetGlobalProperty(), Pol::Module::BasicExecutorModule::mf_SplitWords(), Pol::Module::BasicExecutorModule::mf_Unpack(), Pol::Module::BasicExecutorModule::mf_UnpackJSON(), Pol::Module::OSExecutorModule::run_script(), Pol::Core::UObject::script_method_id(), Pol::Multi::UBoat::script_method_id(), Pol::Items::Item::script_method_id(), Pol::Mobile::Character::script_method_id(), Pol::Module::NPCExecutorModule::setproperty(), Pol::Module::OSExecutorModule::start_script(), and Pol::Module::OSExecutorModule::start_skill_script().
bool Pol::Bscript::Executor::getStringParam | ( | unsigned | param, |
const String *& | pstr | ||
) |
Definition at line 357 of file executor.cpp.
References getStringParam().
int Pol::Bscript::Executor::getToken | ( | Token & | token, |
unsigned | position | ||
) |
Definition at line 722 of file executor.cpp.
|
protected |
BObjectRef & Pol::Bscript::Executor::GlobalVar | ( | unsigned int | varnum | ) |
Definition at line 716 of file executor.cpp.
References Globals2, and passert.
Referenced by makeObj().
|
inline |
Definition at line 452 of file executor.h.
Referenced by Pol::Core::DebugContext::cmd_stacktrace(), and Pol::Core::UOExecutor::state().
|
inline |
Definition at line 144 of file executor.h.
Referenced by Pol::Core::DebugContextObjImp::call_method(), Pol::Core::ScriptExObjImp::call_method_id(), Pol::Accounts::AccountObjImp::call_method_id(), Pol::Core::BXMLfile::call_method_id(), Pol::Module::EPartyRefObjImp::call_method_id(), Pol::Module::EGuildRefObjImp::call_method_id(), Pol::Module::DataFileRefObjImp::call_method_id(), Pol::Core::BXmlNode::call_method_id(), Pol::Module::EClientRefObjImp::call_method_id(), Pol::Core::CallPropertyListMethod_id(), Pol::Module::getGuildParam(), Pol::Module::getPartyParam(), Pol::Module::UOExecutorModule::mf_CreateMultiAtLocation(), Pol::Module::UOExecutorModule::mf_CreateNpcFromTemplate(), Pol::Module::UOExecutorModule::mf_RegisterForSpeechEvents(), Pol::Module::UOExecutorModule::mf_Resurrect(), Pol::Module::UOExecutorModule::mf_SaveWorldState(), Pol::Module::BasicExecutorModule::mf_SplitWords(), Pol::Module::UOExecutorModule::mf_SystemFindObjectBySerial(), Pol::Core::Spellbook::script_method_id(), Pol::Multi::UHouse::script_method_id(), Pol::Core::UObject::script_method_id(), Pol::Items::Item::script_method_id(), and Pol::Mobile::Character::script_method_id().
void Pol::Bscript::Executor::initForFnCall | ( | unsigned | in_PC | ) |
Definition at line 2986 of file executor.cpp.
References LEAKLOG.
Referenced by Pol::Core::ExportScript::call(), Pol::Core::ExportScript::call_long(), Pol::Core::ExportScript::call_object(), Pol::Core::ExportScript::call_string(), and Pol::Core::ExportScript::LoadStack().
void Pol::Bscript::Executor::ins_add | ( | const Instruction & | ins | ) |
Definition at line 1651 of file executor.cpp.
References Pol::Bscript::BObject::impref(), Pol::Bscript::BObjectImp::selfPlusObjImp(), and Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_addmember | ( | const Instruction & | ins | ) |
Definition at line 2007 of file executor.cpp.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_addmember2 | ( | const Instruction & | ins | ) |
Definition at line 2058 of file executor.cpp.
References Pol::Bscript::BObject::impref(), Pol::Bscript::BObjectImp::operDotPlus(), Pol::Bscript::Instruction::token, and Pol::Bscript::Token::tokval().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_addmember_assign | ( | const Instruction & | ins | ) |
Definition at line 2067 of file executor.cpp.
References Pol::Bscript::BObjectImp::copy(), ref_counted::count(), Pol::Bscript::BObject::impref(), Pol::Bscript::BObjectImp::operDotPlus(), Pol::Bscript::BObject::setimp(), Pol::Bscript::Instruction::token, and Pol::Bscript::Token::tokval().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_array | ( | const Instruction & | ins | ) |
Definition at line 2525 of file executor.cpp.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_array_assign | ( | const Instruction & | ins | ) |
Definition at line 1594 of file executor.cpp.
References Pol::Bscript::BObjectImp::array_assign(), ref_counted::count(), Pol::Bscript::BObject::impptr(), and Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_array_assign_consume | ( | const Instruction & | ins | ) |
Definition at line 1621 of file executor.cpp.
References Pol::Bscript::BObjectImp::array_assign(), ref_counted::count(), and Pol::Bscript::BObject::impptr().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_arraysubscript | ( | const Instruction & | ins | ) |
Definition at line 1964 of file executor.cpp.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_assign | ( | const Instruction & | ins | ) |
Definition at line 1568 of file executor.cpp.
References Pol::Bscript::BObjectImp::copy(), ref_counted::count(), Pol::Bscript::BObject::impref(), and Pol::Bscript::BObject::setimp().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_assign_consume | ( | const Instruction & | ins | ) |
Definition at line 1546 of file executor.cpp.
References Pol::Bscript::BObjectImp::copy(), ref_counted::count(), Pol::Bscript::BObject::impref(), and Pol::Bscript::BObject::setimp().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_assign_globalvar | ( | const Instruction & | ins | ) |
Definition at line 1524 of file executor.cpp.
References Pol::Bscript::BObjectImp::copy(), ref_counted::count(), Pol::Bscript::BObject::impref(), Pol::Bscript::Token::lval, and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_assign_localvar | ( | const Instruction & | ins | ) |
Definition at line 1504 of file executor.cpp.
References Pol::Bscript::BObjectImp::copy(), ref_counted::count(), Pol::Bscript::BObject::impref(), Pol::Bscript::Token::lval, and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_bitshift_left | ( | const Instruction & | ins | ) |
Definition at line 1755 of file executor.cpp.
References Pol::Bscript::BObject::impref(), Pol::Bscript::BObjectImp::selfBitShiftLeftObjImp(), and Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_bitshift_right | ( | const Instruction & | ins | ) |
Definition at line 1738 of file executor.cpp.
References Pol::Bscript::BObject::impref(), Pol::Bscript::BObjectImp::selfBitShiftRightObjImp(), and Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_bitwise_and | ( | const Instruction & | ins | ) |
Definition at line 1772 of file executor.cpp.
References Pol::Bscript::BObject::impref(), Pol::Bscript::BObjectImp::selfBitAndObjImp(), and Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_bitwise_not | ( | const Instruction & | ins | ) |
Definition at line 2561 of file executor.cpp.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_bitwise_or | ( | const Instruction & | ins | ) |
Definition at line 1806 of file executor.cpp.
References Pol::Bscript::BObject::impref(), Pol::Bscript::BObjectImp::selfBitOrObjImp(), and Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_bitwise_xor | ( | const Instruction & | ins | ) |
Definition at line 1789 of file executor.cpp.
References Pol::Bscript::BObject::impref(), Pol::Bscript::BObjectImp::selfBitXorObjImp(), and Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_call_method | ( | const Instruction & | ins | ) |
Definition at line 2322 of file executor.cpp.
References Pol::Bscript::UninitObject::create(), Pol::Bscript::Token::lval, name, Pol::Bscript::BObjectImp::OTFuncRef, Pol::Bscript::BObjectRef::set(), Pol::Bscript::Instruction::token, and Pol::Bscript::Token::tokval().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_call_method_id | ( | const Instruction & | ins | ) |
Definition at line 2262 of file executor.cpp.
References Pol::Bscript::UninitObject::create(), Pol::Bscript::Token::lval, name, Pol::Bscript::BObjectImp::OTFuncRef, Pol::Bscript::BObjectRef::set(), Pol::Bscript::Instruction::token, and Pol::Bscript::Token::type.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_casejmp | ( | const Instruction & | ins | ) |
Definition at line 1224 of file executor.cpp.
References Pol::Bscript::BObjectImp::isa(), Pol::Bscript::BObjectImp::OTLong, Pol::Bscript::BObjectImp::OTString, and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
|
static |
Definition at line 1199 of file executor.cpp.
References Pol::Bscript::CASE_TYPE_DEFAULT, Pol::Bscript::CASE_TYPE_LONG, Pol::Bscript::Token::dataptr, and Pol::Bscript::BObjectImp::type().
Definition at line 1141 of file executor.cpp.
References Pol::Bscript::CASE_TYPE_DEFAULT, Pol::Bscript::CASE_TYPE_LONG, Pol::Bscript::Token::dataptr, Pol::Bscript::BObjectImp::type(), and Pol::Bscript::BLong::value().
|
static |
Definition at line 1169 of file executor.cpp.
References Pol::Bscript::CASE_TYPE_DEFAULT, Pol::Bscript::CASE_TYPE_LONG, Pol::Bscript::Token::dataptr, Pol::Bscript::BObjectImp::type(), and Pol::Bscript::String::value().
void Pol::Bscript::Executor::ins_checkmember | ( | const Instruction & | ins | ) |
Definition at line 2041 of file executor.cpp.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_consume | ( | const Instruction & | ins | ) |
Definition at line 1285 of file executor.cpp.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_declareArray | ( | const Instruction & | ins | ) |
Definition at line 860 of file executor.cpp.
References ERROR_PRINT, getObjRef(), Pol::Bscript::BObjectImp::OTUninit, seterror(), and ValueStack.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_dictionary | ( | const Instruction & | ins | ) |
Definition at line 2529 of file executor.cpp.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_dictionary_addmember | ( | const Instruction & | ins | ) |
Definition at line 2092 of file executor.cpp.
References Pol::Bscript::BDictionary::addMember(), Pol::Bscript::BObjectImp::copy(), ref_counted::count(), and Pol::Bscript::BObject::impptr().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_div | ( | const Instruction & | ins | ) |
Definition at line 1704 of file executor.cpp.
References Pol::Bscript::BObject::impref(), Pol::Bscript::BObjectImp::selfDividedByObjImp(), and Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_divideequal | ( | const Instruction & | ins | ) |
Definition at line 2212 of file executor.cpp.
References Pol::Bscript::BObject::impref(), and Pol::Bscript::BObjectImp::operDivideEqual().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_double | ( | const Instruction & | ins | ) |
Definition at line 2509 of file executor.cpp.
References Pol::Bscript::Token::dval, and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_equal | ( | const Instruction & | ins | ) |
Definition at line 1876 of file executor.cpp.
References Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_error | ( | const Instruction & | ins | ) |
Definition at line 2517 of file executor.cpp.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_exit | ( | const Instruction & | ins | ) |
Definition at line 2503 of file executor.cpp.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_func | ( | const Instruction & | ins | ) |
Definition at line 2253 of file executor.cpp.
References Pol::Bscript::Token::lval, Pol::Bscript::Token::module, and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_funcref | ( | const Instruction & | ins | ) |
Definition at line 2568 of file executor.cpp.
References Pol::Bscript::Token::lval, Pol::Bscript::Instruction::token, and Pol::Bscript::Token::type.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_get_arg | ( | const Instruction & | ins | ) |
Definition at line 2443 of file executor.cpp.
References Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_get_member | ( | const Instruction & | ins | ) |
Definition at line 1464 of file executor.cpp.
References Pol::Bscript::BObjectImp::get_member(), name, Pol::Bscript::Instruction::token, and Pol::Bscript::Token::tokval().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_get_member_id | ( | const Instruction & | ins | ) |
Definition at line 1484 of file executor.cpp.
References Pol::Bscript::BObjectImp::get_member_id(), Pol::Bscript::Token::lval, name, and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_globalvar | ( | const Instruction & | ins | ) |
Definition at line 1273 of file executor.cpp.
References Pol::Bscript::Token::lval, and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_gosub | ( | const Instruction & | ins | ) |
Definition at line 2463 of file executor.cpp.
References Pol::Bscript::Token::lval, Pol::Bscript::ReturnContext::PC, Pol::Bscript::Instruction::token, and Pol::Bscript::ReturnContext::ValueStackDepth.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_goto | ( | const Instruction & | ins | ) |
Definition at line 2247 of file executor.cpp.
References Pol::Bscript::Token::lval, and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_greaterequal | ( | const Instruction & | ins | ) |
Definition at line 1945 of file executor.cpp.
References Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_greaterthan | ( | const Instruction & | ins | ) |
Definition at line 1928 of file executor.cpp.
References Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_ident | ( | const Instruction & | ins | ) |
Definition at line 2537 of file executor.cpp.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_in | ( | const Instruction & | ins | ) |
Definition at line 2132 of file executor.cpp.
References Pol::Bscript::BObjectImp::contains(), Pol::Bscript::BObject::impref(), and Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_initfor | ( | const Instruction & | ins | ) |
Definition at line 1101 of file executor.cpp.
References ref_ptr< T >::get(), Pol::Bscript::Token::lval, and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_initforeach | ( | const Instruction & | ins | ) |
Definition at line 1021 of file executor.cpp.
References ref_ptr< T >::get(), Pol::Bscript::Token::lval, and Pol::Bscript::Instruction::token.
void Pol::Bscript::Executor::ins_initforeach2 | ( | const Instruction & | ins | ) |
Definition at line 1059 of file executor.cpp.
References Pol::Bscript::UninitObject::create(), Pol::Bscript::Token::lval, Pol::Bscript::BObjectRef::set(), and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_insert_into | ( | const Instruction & | ins | ) |
Definition at line 2149 of file executor.cpp.
References Pol::Bscript::BObject::impref(), and Pol::Bscript::BObjectImp::operInsertInto().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_jmpiffalse | ( | const Instruction & | ins | ) |
Definition at line 1254 of file executor.cpp.
References Pol::Bscript::Token::lval, and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_jmpiftrue | ( | const Instruction & | ins | ) |
Definition at line 1244 of file executor.cpp.
References Pol::Bscript::Token::lval, and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_jsr_userfunc | ( | const Instruction & | ins | ) |
Definition at line 2409 of file executor.cpp.
References Pol::Bscript::escript_config, Pol::Bscript::Token::lval, Pol::Bscript::EScriptConfig::max_call_depth, Pol::Bscript::ReturnContext::PC, POLLOG, Pol::Bscript::Instruction::token, and Pol::Bscript::ReturnContext::ValueStackDepth.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_leave_block | ( | const Instruction & | ins | ) |
Definition at line 2449 of file executor.cpp.
References Pol::Bscript::Token::lval, and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_lessequal | ( | const Instruction & | ins | ) |
Definition at line 1912 of file executor.cpp.
References Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_lessthan | ( | const Instruction & | ins | ) |
Definition at line 1894 of file executor.cpp.
References Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_localvar | ( | const Instruction & | ins | ) |
Definition at line 1266 of file executor.cpp.
References Pol::Bscript::Token::lval, and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_logical_and | ( | const Instruction & | ins | ) |
Definition at line 1823 of file executor.cpp.
References Pol::Bscript::BObject::isTrue(), and Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_logical_not | ( | const Instruction & | ins | ) |
Definition at line 2553 of file executor.cpp.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_logical_or | ( | const Instruction & | ins | ) |
Definition at line 1840 of file executor.cpp.
References Pol::Bscript::BObject::isTrue(), and Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_long | ( | const Instruction & | ins | ) |
Definition at line 1279 of file executor.cpp.
References Pol::Bscript::Token::lval, and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_makeLocal | ( | const Instruction & | ins | ) |
Definition at line 849 of file executor.cpp.
References Pol::Bscript::UninitObject::create(), Locals2, passert, and ValueStack.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_makelocal | ( | const Instruction & | ins | ) |
Definition at line 2401 of file executor.cpp.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_member | ( | const Instruction & | ins | ) |
void Pol::Bscript::Executor::ins_minusequal | ( | const Instruction & | ins | ) |
Definition at line 2178 of file executor.cpp.
References Pol::Bscript::BObject::impref(), and Pol::Bscript::BObjectImp::operMinusEqual().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_modulus | ( | const Instruction & | ins | ) |
Definition at line 1721 of file executor.cpp.
References Pol::Bscript::BObject::impref(), Pol::Bscript::BObjectImp::selfModulusObjImp(), and Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_modulusequal | ( | const Instruction & | ins | ) |
Definition at line 2229 of file executor.cpp.
References Pol::Bscript::BObject::impref(), and Pol::Bscript::BObjectImp::operModulusEqual().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_mult | ( | const Instruction & | ins | ) |
Definition at line 1687 of file executor.cpp.
References Pol::Bscript::BObject::impref(), Pol::Bscript::BObjectImp::selfTimesObjImp(), and Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_multisubscript | ( | const Instruction & | ins | ) |
Definition at line 1978 of file executor.cpp.
References Pol::Bscript::Token::lval, and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_multisubscript_assign | ( | const Instruction & | ins | ) |
Definition at line 1991 of file executor.cpp.
References Pol::Bscript::Token::lval, and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_multisubscript_assign_consume | ( | const Instruction & | ins | ) |
void Pol::Bscript::Executor::ins_nextfor | ( | const Instruction & | ins | ) |
Definition at line 1115 of file executor.cpp.
References Pol::Bscript::BLong::increment(), Pol::Bscript::Double::increment(), Pol::Bscript::BObjectImp::isa(), Pol::Bscript::Token::lval, Pol::Bscript::BObjectImp::OTDouble, Pol::Bscript::BObjectImp::OTLong, and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_nop | ( | const Instruction & | ins | ) |
Definition at line 2574 of file executor.cpp.
Referenced by GetInstrFunc(), and Pol::Bscript::BFunctionRef::validCall().
void Pol::Bscript::Executor::ins_notequal | ( | const Instruction & | ins | ) |
Definition at line 1858 of file executor.cpp.
References Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_plusequal | ( | const Instruction & | ins | ) |
Definition at line 2161 of file executor.cpp.
References Pol::Bscript::BObject::impref(), and Pol::Bscript::BObjectImp::operPlusEqual().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_pop_param | ( | const Instruction & | ins | ) |
Definition at line 2433 of file executor.cpp.
References Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_pop_param_byref | ( | const Instruction & | ins | ) |
Definition at line 2438 of file executor.cpp.
References Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_progend | ( | const Instruction & | ins | ) |
Definition at line 2392 of file executor.cpp.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_removemember | ( | const Instruction & | ins | ) |
Definition at line 2024 of file executor.cpp.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_return | ( | const Instruction & | ins | ) |
Definition at line 2477 of file executor.cpp.
References ERROR_PRINT, and Pol::Bscript::ReturnContext::PC.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_set_member | ( | const Instruction & | ins | ) |
Definition at line 1290 of file executor.cpp.
References ref_counted::count(), Pol::Bscript::BObject::impref(), Pol::Bscript::BObjectImp::set_member(), Pol::Bscript::Instruction::token, and Pol::Bscript::Token::tokval().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_set_member_consume | ( | const Instruction & | ins | ) |
Definition at line 1318 of file executor.cpp.
References ref_counted::count(), Pol::Bscript::BObject::impref(), Pol::Bscript::BObjectImp::set_member(), Pol::Bscript::Instruction::token, and Pol::Bscript::Token::tokval().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_set_member_id | ( | const Instruction & | ins | ) |
Definition at line 1304 of file executor.cpp.
References ref_counted::count(), Pol::Bscript::BObject::impref(), Pol::Bscript::Token::lval, Pol::Bscript::BObjectImp::set_member_id(), and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_set_member_id_consume | ( | const Instruction & | ins | ) |
Definition at line 1333 of file executor.cpp.
References ref_counted::count(), Pol::Bscript::BObject::impref(), Pol::Bscript::Token::lval, Pol::Bscript::BObjectImp::set_member_id(), and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_set_member_id_consume_divideequal | ( | const Instruction & | ins | ) |
Definition at line 1418 of file executor.cpp.
References Pol::Bscript::BObjectImp::get_member_id(), Pol::Bscript::BObject::impref(), Pol::Bscript::BObject::isa(), Pol::Bscript::Token::lval, Pol::Bscript::BObjectImp::OTError, Pol::Bscript::BObjectImp::OTUninit, Pol::Bscript::BObjectImp::set_member_id(), and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_set_member_id_consume_minusequal | ( | const Instruction & | ins | ) |
Definition at line 1372 of file executor.cpp.
References Pol::Bscript::BObjectImp::get_member_id(), Pol::Bscript::BObject::impref(), Pol::Bscript::BObject::isa(), Pol::Bscript::Token::lval, Pol::Bscript::BObjectImp::OTError, Pol::Bscript::BObjectImp::OTUninit, Pol::Bscript::BObjectImp::set_member_id(), and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_set_member_id_consume_modulusequal | ( | const Instruction & | ins | ) |
Definition at line 1441 of file executor.cpp.
References Pol::Bscript::BObjectImp::get_member_id(), Pol::Bscript::BObject::impref(), Pol::Bscript::BObject::isa(), Pol::Bscript::Token::lval, Pol::Bscript::BObjectImp::OTError, Pol::Bscript::BObjectImp::OTUninit, Pol::Bscript::BObjectImp::set_member_id(), and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_set_member_id_consume_plusequal | ( | const Instruction & | ins | ) |
Definition at line 1349 of file executor.cpp.
References Pol::Bscript::BObjectImp::get_member_id(), Pol::Bscript::BObject::impref(), Pol::Bscript::BObject::isa(), Pol::Bscript::Token::lval, Pol::Bscript::BObjectImp::OTError, Pol::Bscript::BObjectImp::OTUninit, Pol::Bscript::BObjectImp::set_member_id(), and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_set_member_id_consume_timesequal | ( | const Instruction & | ins | ) |
Definition at line 1395 of file executor.cpp.
References Pol::Bscript::BObjectImp::get_member_id(), Pol::Bscript::BObject::impref(), Pol::Bscript::BObject::isa(), Pol::Bscript::Token::lval, Pol::Bscript::BObjectImp::OTError, Pol::Bscript::BObjectImp::OTUninit, Pol::Bscript::BObjectImp::set_member_id(), and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_statementbegin | ( | const Instruction & | ins | ) |
Definition at line 2385 of file executor.cpp.
References INFO_PRINT, Pol::Bscript::Instruction::token, and Pol::Bscript::Token::tokval().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_stepforeach | ( | const Instruction & | ins | ) |
Definition at line 1037 of file executor.cpp.
References Pol::Bscript::UninitObject::create(), ref_ptr< T >::get(), Pol::Bscript::BLong::increment(), Pol::Bscript::BObjectImp::isa(), Pol::Bscript::Token::lval, Pol::Bscript::BObjectImp::OTArray, Pol::Bscript::ObjArray::ref_arr, Pol::Bscript::BObjectRef::set(), Pol::Bscript::Instruction::token, and Pol::Bscript::BLong::value().
void Pol::Bscript::Executor::ins_stepforeach2 | ( | const Instruction & | ins | ) |
Definition at line 1079 of file executor.cpp.
References Pol::Bscript::Token::lval, Pol::Bscript::ContIterator::step(), and Pol::Bscript::Instruction::token.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_string | ( | const Instruction & | ins | ) |
Definition at line 2513 of file executor.cpp.
References Pol::Bscript::Instruction::token, and Pol::Bscript::Token::tokval().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_struct | ( | const Instruction & | ins | ) |
Definition at line 2521 of file executor.cpp.
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_subtract | ( | const Instruction & | ins | ) |
Definition at line 1669 of file executor.cpp.
References Pol::Bscript::BObject::impref(), Pol::Bscript::BObjectImp::selfMinusObjImp(), and Pol::Bscript::BObjectRef::set().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_timesequal | ( | const Instruction & | ins | ) |
Definition at line 2195 of file executor.cpp.
References Pol::Bscript::BObject::impref(), and Pol::Bscript::BObjectImp::operTimesEqual().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_uninit | ( | const Instruction & | ins | ) |
Definition at line 2533 of file executor.cpp.
References Pol::Bscript::UninitObject::create().
Referenced by GetInstrFunc().
void Pol::Bscript::Executor::ins_unminus | ( | const Instruction & | ins | ) |
Definition at line 2543 of file executor.cpp.
Referenced by GetInstrFunc().
BObjectRef & Pol::Bscript::Executor::LocalVar | ( | unsigned int | varnum | ) |
Definition at line 708 of file executor.cpp.
References Locals2, and passert.
Referenced by makeObj().
|
protected |
Definition at line 218 of file executor.cpp.
References fparams, getParam(), Pol::Bscript::BObjectImp::isa(), and Pol::Bscript::BObjectImp::OTDouble.
Referenced by paramAsDouble().
int Pol::Bscript::Executor::makeGlobal | ( | const Token & | token | ) |
Definition at line 757 of file executor.cpp.
References Pol::Bscript::Token::dval, ref_ptr< T >::get(), GlobalVar(), Pol::Bscript::Token::id, LocalVar(), Pol::Bscript::Token::lval, passert, Pol::Bscript::TOK_DOUBLE, Pol::Bscript::TOK_ERROR, Pol::Bscript::TOK_GLOBALVAR, Pol::Bscript::TOK_IDENT, Pol::Bscript::TOK_LOCALVAR, Pol::Bscript::TOK_LONG, Pol::Bscript::TOK_STRING, and Pol::Bscript::Token::tokval().
int Pol::Bscript::Executor::makeString | ( | unsigned | param | ) |
Definition at line 196 of file executor.cpp.
References fparams, getParam(), Pol::Bscript::BObjectImp::isa(), and Pol::Bscript::BObjectImp::OTString.
Referenced by Pol::Module::BasicExecutorModule::find(), Pol::Module::BasicExecutorModule::mf_substr(), Pol::Module::HttpExecutorModule::mf_WriteHtmlRaw(), and paramAsString().
|
inline |
Definition at line 145 of file executor.h.
References Pol::Bscript::getApplicObjParam().
Referenced by Pol::Network::AuxConnection::call_method(), Pol::Module::PolCore::call_method(), Pol::Core::BPacket::call_method_id(), Pol::Accounts::AccountObjImp::call_method_id(), Pol::Bscript::BDictionary::call_method_id(), Pol::Bscript::BStruct::call_method_id(), Pol::Core::BBinaryfile::call_method_id(), Pol::Bscript::String::call_method_id(), Pol::Bscript::ObjArray::call_method_id(), Pol::Mobile::NPC::custom_script_method(), Pol::Items::Item::custom_script_method(), Pol::Mobile::Character::custom_script_method(), Pol::Module::UOExecutorModule::mf_Accessible(), Pol::Module::PolSystemExecutorModule::mf_GetCmdLevelName(), Pol::Mobile::NPC::script_method_id(), Pol::Multi::UBoat::script_method_id(), Pol::Mobile::Character::script_method_id(), and Pol::Bscript::BFunctionRef::validCall().
double Pol::Bscript::Executor::paramAsDouble | ( | unsigned | param | ) |
Definition at line 231 of file executor.cpp.
References getParam(), makeDouble(), and Pol::Bscript::Double::value().
int Pol::Bscript::Executor::paramAsLong | ( | unsigned | param | ) |
Definition at line 240 of file executor.cpp.
References getParam(), Pol::Bscript::BObjectImp::isa(), Pol::Bscript::BObjectImp::OTDouble, and Pol::Bscript::BObjectImp::OTLong.
Referenced by Pol::Bscript::String::call_method_id(), Pol::Module::BasicExecutorModule::find(), Pol::Module::BasicExecutorModule::mf_CAscZ(), Pol::Module::BasicExecutorModule::mf_CChrZ(), Pol::Module::BasicExecutorModule::mf_Compare(), Pol::Module::BasicExecutorModule::mf_SplitWords(), Pol::Module::BasicExecutorModule::mf_substr(), Pol::Module::BasicExecutorModule::mf_SubStrReplace(), Pol::Module::BasicExecutorModule::mf_Trim(), Pol::Module::OSExecutorModule::sleep(), Pol::Module::OSExecutorModule::sleepms(), and Pol::Module::OSExecutorModule::wait_for_event().
const char * Pol::Bscript::Executor::paramAsString | ( | unsigned | param | ) |
Definition at line 209 of file executor.cpp.
References Pol::Bscript::String::data(), fparams, and makeString().
Referenced by Pol::Module::UOExecutorModule::broadcast(), Pol::Bscript::String::call_method_id(), Pol::Module::NPCExecutorModule::CanMove(), Pol::Module::NPCExecutorModule::face(), Pol::Module::BasicExecutorModule::find(), Pol::Module::BasicExecutorModule::lower(), Pol::Module::BasicExecutorModule::mf_Compare(), Pol::Module::BasicExecutorModule::mf_DecodeBase64(), Pol::Module::BasicExecutorModule::mf_EncodeBase64(), Pol::Module::PolSystemExecutorModule::mf_SetSysTrayPopupText(), Pol::Module::BasicExecutorModule::mf_Trim(), Pol::Module::NPCExecutorModule::move(), Pol::Module::OSExecutorModule::run_script_to_completion(), Pol::Module::NPCExecutorModule::say(), Pol::Module::NPCExecutorModule::SayUC(), Pol::Mobile::Character::script_method_id(), and Pol::Module::BasicExecutorModule::upper().
void Pol::Bscript::Executor::popParam | ( | const Token & | token | ) |
Definition at line 878 of file executor.cpp.
References getObjRef(), and Locals2.
void Pol::Bscript::Executor::popParamByRef | ( | const Token & | token | ) |
Definition at line 886 of file executor.cpp.
References getObjRef(), and Locals2.
|
inline |
Definition at line 423 of file executor.h.
Referenced by Pol::Core::ScriptExObjImp::call_method_id(), Pol::Core::BXMLfile::call_method_id(), Pol::Core::DebugContext::cmd_attach(), Pol::Core::DebugContext::cmd_fileline(), Pol::Core::DebugContext::cmd_globalvars(), Pol::Core::DebugContext::cmd_inslist(), Pol::Core::DebugContext::cmd_loadsym(), Pol::Core::DebugContext::cmd_localvars(), Pol::Core::DebugContext::cmd_stacktrace(), Pol::Core::ExportScript::FindExportedFunction(), Pol::Module::ConfigFileExecutorModule::get_cfgfilename(), Pol::Module::DataFileExecutorModule::GetDataStoreFile(), Pol::Core::GetGlobals(), Pol::Module::FileAccessExecutorModule::mf_AppendToFile(), Pol::Module::DataFileExecutorModule::mf_CreateDataFile(), Pol::Module::FileAccessExecutorModule::mf_CreateDirectory(), Pol::Module::FileAccessExecutorModule::mf_FileExists(), Pol::Module::FileAccessExecutorModule::mf_ListDirectory(), Pol::Module::FileAccessExecutorModule::mf_LogToFile(), Pol::Module::FileAccessExecutorModule::mf_OpenBinaryFile(), Pol::Module::OSExecutorModule::mf_OpenConnection(), Pol::Module::DataFileExecutorModule::mf_OpenDataFile(), Pol::Module::FileAccessExecutorModule::mf_OpenXMLFile(), Pol::Module::FileAccessExecutorModule::mf_ReadFile(), Pol::Module::FileAccessExecutorModule::mf_WriteFile(), Pol::Module::OSExecutorModule::run_script(), Pol::Module::OSExecutorModule::run_script_to_completion(), Pol::Module::OSExecutorModule::start_script(), and Pol::Module::OSExecutorModule::start_skill_script().
void Pol::Bscript::Executor::pushArg | ( | BObjectImp * | arg | ) |
Definition at line 3021 of file executor.cpp.
References passert_always.
Referenced by Pol::Core::ExportScript::call(), Pol::Core::ExportScript::call_long(), Pol::Core::ExportScript::call_object(), Pol::Core::ExportScript::call_string(), Pol::Core::ClientCreateChar(), Pol::Core::ClientCreateChar70160(), Pol::Core::ClientCreateCharKR(), Pol::Core::DebugContext::cmd_call(), Pol::Core::run_script_to_completion(), and Pol::Core::start_script().
void Pol::Bscript::Executor::pushArg | ( | const BObjectRef & | ref | ) |
Definition at line 3027 of file executor.cpp.
void Pol::Bscript::Executor::reinitExec | ( | ) |
Definition at line 2968 of file executor.cpp.
|
static |
Definition at line 921 of file executor.cpp.
References Pol::Bscript::BObject::clone(), Pol::Bscript::BObject::impref(), Pol::Bscript::BObject::isa(), Pol::Bscript::BObjectImp::operDotMinus(), and Pol::Bscript::BObjectImp::OTString.
|
inline |
Definition at line 428 of file executor.h.
Referenced by Pol::Core::run_executor_to_completion(), Pol::Core::ScriptScheduler::run_ready(), Pol::Core::run_script_to_completion_worker(), and Pol::Core::schedule_executor().
|
inline |
Definition at line 467 of file executor.h.
Referenced by Pol::Core::UOExecutor::suspend().
|
inline |
Definition at line 413 of file executor.h.
Referenced by AttachFunctionalityModules(), Pol::Core::CallPropertyListMethod_id(), Pol::Core::DebugContext::cmd_pidlist(), Pol::Core::ScriptExObjImp::get_member_id(), getApplicObjParam(), getApplicPtrParam(), Pol::Core::getObjtypeParam(), getParam(), getParamImp(), getParamImp2(), getRealParam(), Pol::Module::OSExecutorModule::mf_HTTPRequest(), Pol::Module::OSExecutorModule::mf_Log(), Pol::Module::OSExecutorModule::mf_OpenConnection(), Pol::Core::run_executor_to_completion(), Pol::Core::ScriptScheduler::run_ready(), Pol::Core::run_script_to_completion_worker(), Pol::Module::OSExecutorModule::signal_event(), Pol::Mobile::Character::start_script(), Pol::Bscript::BFunctionRef::validCall(), and Pol::Core::UOExecutor::~UOExecutor().
|
inline |
Definition at line 471 of file executor.h.
Referenced by Pol::Core::run_executor_to_completion(), and Pol::Core::run_script_to_completion_worker().
|
inline |
Definition at line 461 of file executor.h.
|
inline |
Definition at line 369 of file executor.h.
Referenced by Pol::Module::OSExecutorModule::mf_set_debug(), Pol::Module::OSExecutorModule::mf_set_script_option(), Pol::Core::run_executor_to_completion(), Pol::Core::run_script_to_completion_worker(), Pol::Clib::RunEclMain::runeclScript(), Pol::Core::ScriptScheduler::schedule(), and Pol::Core::start_http_script().
|
inline |
Definition at line 437 of file executor.h.
Referenced by Pol::Core::ScriptExObjImp::call_method_id(), Pol::Core::DebugContext::cmd_kill(), getObjRef(), getParams(), ins_declareArray(), Pol::Module::HttpExecutorModule::mf_WriteHtml(), Pol::Module::HttpExecutorModule::mf_WriteHtmlRaw(), Pol::Mobile::NPC::on_death(), Pol::Mobile::NPC::restart_script(), setProgram(), Pol::Mobile::NPC::stop_scripts(), and Pol::Mobile::Character::stop_skill_script().
void Pol::Bscript::Executor::setFunctionResult | ( | BObjectImp * | imp | ) |
Definition at line 374 of file executor.cpp.
References func_result_.
Referenced by Pol::Core::BinFile::FileSize(), Pol::Core::getAttributeParam(), Pol::Core::getCharacterOrClientParam(), Pol::Core::getCharacterParam(), Pol::Core::getObjtypeParam(), Pol::Core::getVitalParam(), and Pol::Module::UOExecutorModule::mf_SendQuestArrow().
|
inline |
Definition at line 447 of file executor.h.
bool Pol::Bscript::Executor::setProgram | ( | EScriptProgram * | prog | ) |
Definition at line 731 of file executor.cpp.
References AttachFunctionalityModules(), Pol::Bscript::UninitObject::create(), Globals2, nLines, prog_, prog_ok_, seterror(), and viewmode_.
Referenced by Pol::Core::ClientCreateChar(), Pol::Core::ClientCreateChar70160(), Pol::Core::ClientCreateCharKR(), Pol::Clib::RunEclMain::dumpScript(), Pol::Core::run_executor_to_completion(), Pol::Core::run_script_to_completion_worker(), Pol::Clib::RunEclMain::runeclScript(), Pol::Core::start_http_script(), Pol::Core::start_script(), and Pol::Mobile::NPC::start_script().
|
inline |
Definition at line 370 of file executor.h.
Referenced by Pol::Clib::RunEclMain::dumpScript().
void Pol::Bscript::Executor::show_context | ( | unsigned | atPC | ) |
Definition at line 2914 of file executor.cpp.
References POLLOG.
Referenced by Pol::Core::ScriptScheduler::run_ready().
void Pol::Bscript::Executor::show_context | ( | fmt::Writer & | os, |
unsigned | atPC | ||
) |
Definition at line 2932 of file executor.cpp.
|
virtual |
Reimplemented in Pol::Core::UOExecutor.
Definition at line 3099 of file executor.cpp.
References name.
Referenced by Pol::Clib::RunEclMain::runeclScript(), and Pol::Core::UOExecutor::sizeEstimate().
|
friend |
|
friend |
Definition at line 135 of file executor.h.
|
static |
Definition at line 84 of file executor.h.
Referenced by Pol::Bscript::display_executor_instances(), Executor(), and ~Executor().
std::vector<ExecutorModule*> Pol::Bscript::Executor::availmodules |
Definition at line 209 of file executor.h.
Referenced by ~Executor().
|
private |
Definition at line 400 of file executor.h.
|
private |
Definition at line 398 of file executor.h.
std::vector<ReturnContext> Pol::Bscript::Executor::ControlStack |
Definition at line 113 of file executor.h.
Referenced by Pol::Core::DebugContext::cmd_stacktrace(), Pol::Core::ScriptExObjImp::get_member_id(), and Pol::Core::list_script().
ModuleFunction* Pol::Bscript::Executor::current_module_function |
Definition at line 218 of file executor.h.
Referenced by execFunc(), getApplicObjParam(), getApplicPtrParam(), Pol::Core::getObjtypeParam(), getParamImp(), and getRealParam().
DEBUG_LEVEL Pol::Bscript::Executor::debug_level |
Definition at line 101 of file executor.h.
|
private |
Definition at line 397 of file executor.h.
|
private |
Definition at line 382 of file executor.h.
int Pol::Bscript::Executor::done |
Definition at line 88 of file executor.h.
Referenced by Pol::Core::ScriptScheduler::run_ready().
bool Pol::Bscript::Executor::error_ |
Definition at line 91 of file executor.h.
Referenced by Pol::Core::run_executor_to_completion(), and Pol::Core::run_script_to_completion_worker().
std::vector<ExecutorModule*> Pol::Bscript::Executor::execmodules |
Definition at line 208 of file executor.h.
Referenced by AttachFunctionalityModules(), execFunc(), and ~Executor().
std::vector<BObjectRef> Pol::Bscript::Executor::fparams |
Definition at line 133 of file executor.h.
Referenced by Pol::Module::NPCExecutorModule::CanMove(), cleanParams(), Pol::Mobile::NPC::custom_script_method(), Pol::Items::Item::custom_script_method(), Pol::Mobile::Character::custom_script_method(), execFunc(), getParam(), getParamImp(), getParamImp2(), getParamObj(), getParams(), makeDouble(), makeString(), Pol::Module::UOExecutorModule::mf_EnumerateItemsInContainer(), Pol::Module::FileAccessExecutorModule::mf_LogToFile(), Pol::Module::HttpExecutorModule::mf_WriteHtml(), Pol::Module::HttpExecutorModule::mf_WriteHtmlRaw(), and paramAsString().
|
private |
Definition at line 402 of file executor.h.
Referenced by execFunc(), getParam(), getParamImp2(), and setFunctionResult().
BObjectRefVec Pol::Bscript::Executor::Globals2 |
Definition at line 109 of file executor.h.
Referenced by Pol::Core::DebugContext::cmd_getglobalpacked(), Pol::Core::DebugContext::cmd_globalvars(), Pol::Core::DebugContext::cmd_setglobalpacked(), Pol::Core::ScriptExObjImp::get_member_id(), Pol::Core::GetGlobals(), GlobalVar(), Pol::Core::list_script(), and setProgram().
bool Pol::Bscript::Executor::halt_ |
Definition at line 92 of file executor.h.
BObjectRefVec* Pol::Bscript::Executor::Locals2 |
Definition at line 115 of file executor.h.
Referenced by Pol::Core::DebugContext::cmd_getlocalpacked(), Pol::Core::DebugContext::cmd_localvar(), Pol::Core::DebugContext::cmd_localvarmembers(), Pol::Core::DebugContext::cmd_localvars(), Pol::Core::DebugContext::cmd_setlocalpacked(), Pol::Core::DebugContext::cmd_stacktrace(), getArg(), ins_makeLocal(), Pol::Core::list_script(), Pol::Core::ExportScript::LoadStack(), LocalVar(), popParam(), popParamByRef(), Pol::Core::ExportScript::SaveStack(), and ~Executor().
|
static |
Definition at line 117 of file executor.h.
unsigned Pol::Bscript::Executor::nLines |
Definition at line 131 of file executor.h.
Referenced by Pol::Core::DebugContext::cmd_ins(), getToken(), and setProgram().
unsigned Pol::Bscript::Executor::PC |
Definition at line 102 of file executor.h.
Referenced by Pol::Core::CallPropertyListMethod_id(), Pol::Module::NPCExecutorModule::CanMove(), Pol::Core::DebugContext::cmd_fileline(), Pol::Core::DebugContext::cmd_ins(), Pol::Core::DebugContext::cmd_localvars(), Pol::Core::DebugContext::cmd_stacktrace(), Pol::Module::NPCExecutorModule::face(), Pol::Core::ScriptExObjImp::get_member_id(), getApplicObjParam(), getApplicPtrParam(), getObjRef(), Pol::Core::getObjtypeParam(), getParamImp(), getParams(), getRealParam(), Pol::Module::OSExecutorModule::mf_HTTPRequest(), Pol::Module::OSExecutorModule::mf_OpenConnection(), Pol::Module::UnicodeExecutorModule::mf_RequestInputUC(), Pol::Module::UOExecutorModule::mf_SelectMenuItem(), Pol::Module::UOExecutorModule::mf_Target(), Pol::Module::UOExecutorModule::mf_TargetCoordinates(), Pol::Module::UOExecutorModule::mf_TargetMultiPlacement(), Pol::Module::HttpExecutorModule::mf_WriteHtml(), Pol::Module::HttpExecutorModule::mf_WriteHtmlRaw(), Pol::Module::NPCExecutorModule::move(), Pol::Core::run_executor_to_completion(), Pol::Core::ScriptScheduler::run_ready(), Pol::Module::OSExecutorModule::run_script(), Pol::Core::run_script_to_completion_worker(), and Pol::Core::ExportScript::SaveStack().
|
private |
Definition at line 376 of file executor.h.
Referenced by AttachFunctionalityModules(), execFunc(), getObjRef(), getParams(), getToken(), Pol::Bscript::ExecutorModule::scriptname(), and setProgram().
|
private |
Definition at line 377 of file executor.h.
Referenced by setProgram().
bool Pol::Bscript::Executor::run_ok_ |
Definition at line 93 of file executor.h.
|
private |
Definition at line 380 of file executor.h.
|
private |
Definition at line 399 of file executor.h.
std::vector<BObjectRefVec*> Pol::Bscript::Executor::upperLocals2 |
Definition at line 111 of file executor.h.
Referenced by Pol::Core::DebugContext::cmd_stacktrace(), Pol::Core::list_script(), and ~Executor().
ValueStackCont Pol::Bscript::Executor::ValueStack |
Definition at line 120 of file executor.h.
Referenced by Pol::Core::ExportScript::call(), Pol::Core::ExportScript::call_long(), Pol::Core::ExportScript::call_object(), Pol::Core::ExportScript::call_string(), Pol::Core::DebugContext::cmd_stacktrace(), execFunc(), getArg(), getObjRef(), getParams(), Pol::Module::gumpbutton_handler(), Pol::Module::handle_coord_cursor(), Pol::Core::handle_prompt(), Pol::Module::handle_resurrect_menu(), Pol::Module::handle_script_cursor(), Pol::Module::handle_selcolor(), Pol::Module::handle_textentry(), Pol::Core::handle_unicode_prompt(), ins_declareArray(), ins_makeLocal(), Pol::Core::list_script(), Pol::Core::ExportScript::LoadStack(), Pol::Module::menu_selection_made(), Pol::Module::UOExecutorModule::mf_CloseGump(), Pol::Module::popup_menu_selection_made(), Pol::Core::run_executor_to_completion(), Pol::Module::OSExecutorModule::run_script(), Pol::Core::ExportScript::SaveStack(), and Pol::Module::OSExecutorModule::signal_event().
|
private |
Definition at line 378 of file executor.h.
Referenced by setProgram().