29 explicit NativeFunctionBase(std::string_view a_fnName, std::string_view a_className,
bool a_isStatic, std::uint16_t a_numParams);
Definition: ErrorLogger.h:13
Definition: IFunction.h:23
CallResult
Definition: IFunction.h:35
FunctionType
Definition: IFunction.h:28
Definition: VirtualMachine.h:46
Definition: NativeFunctionBase.h:23
bool GetIsStatic() const override
std::uint32_t GetParamCount() const override
TypeInfo _retType
Definition: NativeFunctionBase.h:65
bool _isLatent
Definition: NativeFunctionBase.h:69
bool CanBeCalledFromTasklets() const override
const BSFixedString & GetName() const override
NativeFunctionBase()=delete
BSFixedString _name
Definition: NativeFunctionBase.h:62
std::uint32_t GetUserFlags() const override
bool _isCallableFromTasklet
Definition: NativeFunctionBase.h:68
static constexpr auto RTTI
Definition: NativeFunctionBase.h:25
const BSFixedString & GetStateName() const override
bool TranslateIPToLineNumber(std::uint32_t a_taskletExecutionOffset, std::uint32_t &a_lineNumberOut) const override
void GetParam(std::uint32_t a_idx, BSFixedString &a_nameOut, TypeInfo &a_typeOut) const override
BSFixedString _docString
Definition: NativeFunctionBase.h:72
bool GetIsNative() const override
CallResult Call(const BSTSmartPointer< Stack > &a_stack, ErrorLogger *a_logger, Internal::VirtualMachine *a_vm, bool a_arg4) override
NativeFunctionBase(std::string_view a_fnName, std::string_view a_className, bool a_isStatic, std::uint16_t a_numParams)
const BSFixedString & GetSourceFilename() const override
void InsertLocals(StackFrame *a_frame) override
static constexpr auto VTABLE
Definition: NativeFunctionBase.h:26
bool GetVarNameForStackIndex(std::uint32_t a_idx, BSFixedString &a_nameOut) const override
FunctionType GetFunctionType() const override
bool GetIsEmpty() const override
Internal::VDescTable _descTable
Definition: NativeFunctionBase.h:66
BSFixedString _stateName
Definition: NativeFunctionBase.h:64
const BSFixedString & GetDocString() const override
void SetCallableFromTasklets(bool a_callable) override
std::uint32_t GetStackFrameSize() const override
std::uint8_t _pad43
Definition: NativeFunctionBase.h:70
virtual bool HasStub() const =0
BSFixedString _objName
Definition: NativeFunctionBase.h:63
TypeInfo GetReturnType() const override
bool _isStatic
Definition: NativeFunctionBase.h:67
~NativeFunctionBase() override=default
const BSFixedString & GetObjectTypeName() const override
std::uint32_t _userFlags
Definition: NativeFunctionBase.h:71
virtual bool MarshallAndDispatch(Variable &a_baseValue, Internal::VirtualMachine &a_vm, VMStackID a_stackID, Variable &a_resultValue, const StackFrame &a_frame) const =0
Definition: StackFrame.h:15
Definition: TypeInfo.h:10
Definition: Variable.h:15
Definition: BSTSmartPointer.h:36
Definition: AbsorbEffect.h:6
constexpr std::array< REL::VariantID, 1 > VTABLE_BSScript__NF_util__NativeFunctionBase
Definition: Offsets_VTABLE.h:7055
constexpr REL::VariantID RTTI_BSScript__NF_util__NativeFunctionBase(689174, 397029, 0x1f01eb0)
std::uint32_t VMStackID
Definition: BSCoreTypes.h:8
Definition: VDescTable.h:15