#include <C4AulScriptFunc.h>
Public Member Functions | |
void | SetOverloaded (C4AulFunc *) |
C4AulScriptFunc * | SFunc () override |
void | AddPar (const char *Idtf, C4V_Type type=C4V_Any) |
C4AulScriptFunc (C4PropListStatic *Parent, C4ScriptHost *pOrgScript, const char *pName, const char *Script) | |
C4AulScriptFunc (C4PropListStatic *Parent, const C4AulScriptFunc &FromFunc) | |
~C4AulScriptFunc () override | |
void | ParseDirectExecFunc (C4AulScriptEngine *Engine, C4AulScriptContext *context=nullptr) |
void | ParseDirectExecStatement (C4AulScriptEngine *Engine, C4AulScriptContext *context=nullptr) |
bool | GetPublic () const override |
int | GetParCount () const override |
const C4V_Type * | GetParType () const override |
C4V_Type | GetRetType () const override |
C4Value | Exec (C4PropList *p, C4Value pPars[], bool fPassErrors=false) override |
int | GetLineOfCode (C4AulBCC *bcc) |
C4AulBCC * | GetCode () |
const char * | GetName () const |
virtual StdStrBuf | GetFullName () const |
C4Value | Exec (C4PropList *p=nullptr, C4AulParSet *pPars=nullptr, bool fPassErrors=false) |
bool | CheckParTypes (const C4Value pPars[], bool fPassErrors) const |
void | IncRef () |
void | DecRef () |
Public Attributes | |
C4AulFunc * | OwnerOverloaded |
const char * | Script |
C4ValueMapNames | VarNamed |
C4ValueMapNames | ParNamed |
C4ScriptHost * | pOrgScript |
uint32_t | tProfileTime |
C4PropListStatic * | Parent |
Protected Member Functions | |
void | AddBCC (C4AulBCCType eType, intptr_t=0, const char *SPos=nullptr) |
void | RemoveLastBCC () |
void | ClearCode () |
int | GetCodePos () const |
C4AulBCC * | GetCodeByPos (int iPos) |
C4AulBCC * | GetLastCode () |
void | DumpByteCode () |
Protected Attributes | |
std::vector< C4AulBCC > | Code |
std::vector< const char * > | PosForCode |
int | ParCount |
C4V_Type | ParType [C4AUL_MAX_Par] |
C4RefCntPointer< C4String > | Name |
C4AulFunc * | MapNext |
unsigned int | RefCnt {0} |
Friends | |
class | C4AulCompiler |
class | C4AulParse |
class | C4ScriptHost |
Definition at line 173 of file C4AulScriptFunc.h.
C4AulScriptFunc::C4AulScriptFunc | ( | C4PropListStatic * | Parent, |
C4ScriptHost * | pOrgScript, | ||
const char * | pName, | ||
const char * | Script | ||
) |
Definition at line 22 of file C4AulScriptFunc.cpp.
References AB_EOFN, AddBCC(), C4V_Any, and ParType.
C4AulScriptFunc::C4AulScriptFunc | ( | C4PropListStatic * | Parent, |
const C4AulScriptFunc & | FromFunc | ||
) |
Definition at line 34 of file C4AulScriptFunc.cpp.
References AB_EOFN, AddBCC(), C4AUL_MAX_Par, and ParType.
|
override |
Definition at line 49 of file C4AulScriptFunc.cpp.
References ClearCode(), C4RefCnt::DecRef(), and OwnerOverloaded.
|
protected |
Definition at line 62 of file C4AulScriptFunc.cpp.
References Code, PosForCode, and X.
Referenced by C4AulScriptFunc().
Definition at line 196 of file C4AulScriptFunc.h.
References C4ValueMapNames::AddName(), C4AUL_MAX_Par, C4ValueMapNames::iSize, ParCount, ParNamed, and ParType.
Referenced by C4AulCompiler::ConstexprEvaluator::visit().
|
inherited |
Definition at line 58 of file C4AulFunc.cpp.
References FormatString(), GetC4VName(), C4AulScriptEngine::GetErrorHandler(), C4AulFunc::GetName(), C4AulFunc::GetParCount(), C4AulFunc::GetParType(), C4AulErrorHandler::OnError(), ScriptEngine, and C4AulError::what().
Referenced by C4AulFunc::Exec().
|
protected |
Definition at line 75 of file C4AulScriptFunc.cpp.
References Code, and PosForCode.
Referenced by ParseDirectExecFunc(), ParseDirectExecStatement(), and ~C4AulScriptFunc().
|
inlineinherited |
Definition at line 28 of file C4StringTable.h.
References C4RefCnt::RefCnt.
Referenced by C4Command::Clear(), C4Command::CompileFunc(), C4Property::CompileFunc(), C4Def::GetActionByName(), C4Property::operator=(), C4Object::SetActionByName(), SetOverloaded(), C4ScriptHost::UnlinkOwnedFunctions(), ~C4AulScriptFunc(), C4Property::~C4Property(), C4ScriptGuiWindow::~C4ScriptGuiWindow(), and C4ScriptGuiWindowAction::~C4ScriptGuiWindowAction().
|
protected |
Definition at line 610 of file C4AulParse.cpp.
References AB_COND, AB_CONDN, AB_JUMP, AB_JUMPAND, AB_JUMPNNIL, AB_JUMPOR, Code, DEBUG_BYTECODE_DUMP, GetLineOfCode(), and C4AulFunc::GetName().
|
overridevirtual |
Implements C4AulFunc.
Definition at line 93 of file C4AulScriptFunc.cpp.
References AulExec, and C4AulExec::Exec().
|
inlineinherited |
Definition at line 72 of file C4AulFunc.h.
References C4AulFunc::CheckParTypes().
Referenced by C4PropList::Call(), C4Effect::CallDamage(), C4Effect::CallEffect(), C4Effect::CallStart(), C4Effect::CallStop(), C4Effect::CallTimer(), C4Effect::DoCall(), C4MCCallbackArray::Execute(), C4MaterialMap::mrfScript(), C4Player::NotifyOwnedObjects(), and C4Object::PutAwayUnusedObject().
C4AulBCC * C4AulScriptFunc::GetCode | ( | ) |
Definition at line 87 of file C4AulScriptFunc.cpp.
References Code.
|
inlineprotected |
|
inlineprotected |
|
virtualinherited |
Definition at line 38 of file C4AulFunc.cpp.
References StdStrBuf::Append(), StdStrBuf::AppendChar(), C4String::GetData(), C4PropListStatic::GetDataString(), C4AulFunc::GetName(), C4AulFunc::Name, C4AulFunc::Parent, StdStrBuf::Ref(), and StdStrBuf::Take().
|
inlineprotected |
Definition at line 185 of file C4AulScriptFunc.h.
References Code.
int C4AulScriptFunc::GetLineOfCode | ( | C4AulBCC * | bcc | ) |
Definition at line 82 of file C4AulScriptFunc.cpp.
References Code, C4ScriptHost::GetScript(), pOrgScript, PosForCode, Script, and SGetLine().
Referenced by DumpByteCode(), and C4AulScriptContext::ReturnDump().
|
inlineinherited |
Definition at line 56 of file C4AulFunc.h.
References C4String::GetCStr(), and C4AulFunc::Name.
Referenced by C4AulFuncMap::Add(), C4AulFunc::C4AulFunc(), C4AulParseError::C4AulParseError(), C4AulFunc::CheckParTypes(), C4Value::CompileFunc(), C4EditCursor::DoContextMenu(), DumpByteCode(), C4AulFuncMap::GetFirstFunc(), C4AulFunc::GetFullName(), C4AulFuncMap::GetNextSNFunc(), C4AulFuncMap::Remove(), C4AulScriptContext::ReturnDump(), and C4AulFunc::~C4AulFunc().
|
inlineoverridevirtual |
Reimplemented from C4AulFunc.
Definition at line 214 of file C4AulScriptFunc.h.
References ParCount.
Referenced by C4AulScriptContext::ReturnDump().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Reimplemented from C4AulFunc.
Definition at line 213 of file C4AulScriptFunc.h.
|
inlineoverridevirtual |
|
inlineinherited |
Definition at line 27 of file C4StringTable.h.
References C4RefCnt::RefCnt.
Referenced by C4Property::C4Property(), C4Command::CompileFunc(), C4Property::CompileFunc(), C4ScriptGuiWindow::CreateFromPropList(), C4Def::GetActionByName(), C4ScriptGuiWindowAction::Init(), C4Property::operator=(), C4ScriptGuiWindowProperty::Set(), C4Command::Set(), C4Object::SetActionByName(), and SetOverloaded().
void C4AulScriptFunc::ParseDirectExecFunc | ( | C4AulScriptEngine * | Engine, |
C4AulScriptContext * | context = nullptr |
||
) |
Definition at line 839 of file C4AulParse.cpp.
References ClearCode(), C4AulCompiler::Compile(), C4AulParse::Parse_DirectExec(), and Script.
Referenced by C4AulExec::DirectExec().
void C4AulScriptFunc::ParseDirectExecStatement | ( | C4AulScriptEngine * | Engine, |
C4AulScriptContext * | context = nullptr |
||
) |
Definition at line 848 of file C4AulParse.cpp.
References ClearCode(), C4AulCompiler::Compile(), C4AulParse::Parse_DirectExec(), and Script.
Referenced by C4AulExec::DirectExec().
|
protected |
Definition at line 69 of file C4AulScriptFunc.cpp.
References Code, and PosForCode.
void C4AulScriptFunc::SetOverloaded | ( | C4AulFunc * | f | ) |
Definition at line 55 of file C4AulScriptFunc.cpp.
References C4RefCnt::DecRef(), C4RefCnt::IncRef(), and OwnerOverloaded.
Referenced by C4ScriptHost::CopyPropList().
|
inlineoverridevirtual |
Reimplemented from C4AulFunc.
Definition at line 178 of file C4AulScriptFunc.h.
Referenced by C4ScriptHost::UnlinkOwnedFunctions(), and C4AulCompiler::ConstexprEvaluator::visit().
|
friend |
Definition at line 224 of file C4AulScriptFunc.h.
|
friend |
Definition at line 225 of file C4AulScriptFunc.h.
|
friend |
Definition at line 226 of file C4AulScriptFunc.h.
|
protected |
Definition at line 187 of file C4AulScriptFunc.h.
Referenced by AddBCC(), ClearCode(), DumpByteCode(), GetCode(), GetCodeByPos(), GetCodePos(), GetLastCode(), GetLineOfCode(), and RemoveLastBCC().
|
protectedinherited |
Definition at line 61 of file C4AulFunc.h.
Referenced by C4AulFuncMap::Add(), C4AulFuncMap::GetFirstFunc(), C4AulFuncMap::GetNextSNFunc(), and C4AulFuncMap::Remove().
|
protectedinherited |
Definition at line 60 of file C4AulFunc.h.
Referenced by C4AulDefFunc::C4AulDefFunc(), C4AulEngineFunc< RType, ThisType, ParTypes >::C4AulEngineFunc(), C4ScriptHost::CopyPropList(), C4AulFunc::GetFullName(), C4AulFunc::GetName(), and C4ScriptHost::UnlinkOwnedFunctions().
C4AulFunc* C4AulScriptFunc::OwnerOverloaded |
Definition at line 176 of file C4AulScriptFunc.h.
Referenced by SetOverloaded(), C4ScriptHost::UnlinkOwnedFunctions(), and ~C4AulScriptFunc().
|
protected |
Definition at line 189 of file C4AulScriptFunc.h.
Referenced by AddPar(), GetParCount(), and C4AulCompiler::ConstexprEvaluator::visit().
|
inherited |
Definition at line 55 of file C4AulFunc.h.
Referenced by C4AulDefFunc::C4AulDefFunc(), C4AulEngineFunc< RType, ThisType, ParTypes >::C4AulEngineFunc(), C4Value::CompileFunc(), C4AulFunc::GetFullName(), C4AulScriptContext::ReturnDump(), and C4ScriptHost::UnlinkOwnedFunctions().
C4ValueMapNames C4AulScriptFunc::ParNamed |
Definition at line 195 of file C4AulScriptFunc.h.
Referenced by AddPar().
|
protected |
Definition at line 190 of file C4AulScriptFunc.h.
Referenced by AddPar(), C4AulScriptFunc(), and GetParType().
C4ScriptHost* C4AulScriptFunc::pOrgScript |
Definition at line 204 of file C4AulScriptFunc.h.
Referenced by C4AulParseError::C4AulParseError(), C4ScriptHost::CopyPropList(), C4AulExec::FnTranslate(), GetLineOfCode(), and C4AulScriptContext::ReturnDump().
|
protected |
Definition at line 188 of file C4AulScriptFunc.h.
Referenced by AddBCC(), ClearCode(), GetLineOfCode(), and RemoveLastBCC().
|
protectedinherited |
Definition at line 31 of file C4StringTable.h.
Referenced by C4RefCnt::DecRef(), and C4RefCnt::IncRef().
const char* C4AulScriptFunc::Script |
Definition at line 193 of file C4AulScriptFunc.h.
Referenced by GetLineOfCode(), ParseDirectExecFunc(), ParseDirectExecStatement(), and C4AulScriptContext::ReturnDump().
uint32_t C4AulScriptFunc::tProfileTime |
Definition at line 222 of file C4AulScriptFunc.h.
C4ValueMapNames C4AulScriptFunc::VarNamed |
Definition at line 194 of file C4AulScriptFunc.h.
Referenced by C4AulCompiler::PreparseAstVisitor::visit().