CommonLibVR
RE::BSScript::Internal::ScriptFunction Class Reference

#include <ScriptFunction.h>

Inheritance diagram for RE::BSScript::Internal::ScriptFunction:
RE::BSScript::IFunction RE::BSIntrusiveRefCounted

Public Member Functions

 ~ScriptFunction () override
 
const BSFixedStringGetName () const override
 
const BSFixedStringGetObjectTypeName () const override
 
const BSFixedStringGetStateName () const override
 
TypeInfo GetReturnType () const override
 
std::uint32_t GetParamCount () const override
 
void GetParam (std::uint32_t a_idx, BSFixedString &a_nameOut, TypeInfo &a_typeOut) const override
 
std::uint32_t GetStackFrameSize () const override
 
bool GetIsNative () const override
 
bool GetIsStatic () const override
 
bool GetIsEmpty () const override
 
FunctionType GetFunctionType () const override
 
std::uint32_t GetUserFlags () const override
 
const BSFixedStringGetDocString () const override
 
void InsertLocals (StackFrame *a_frame) override
 
CallResult Call (const BSTSmartPointer< Stack > &a_stack, ErrorLogger *a_logger, Internal::VirtualMachine *a_vm, bool a_arg4) override
 
const BSFixedStringGetSourceFilename () const override
 
bool TranslateIPToLineNumber (std::uint32_t a_indexPtr, std::uint32_t &a_lineNumberOut) const override
 
bool GetVarNameForStackIndex (std::uint32_t a_idx, BSFixedString &a_nameOut) const override
 
bool CanBeCalledFromTasklets () const override
 
void SetCallableFromTasklets (bool a_callable) override
 
- Public Member Functions inherited from RE::BSScript::IFunction
 IFunction ()
 
virtual ~IFunction ()=default
 
- Public Member Functions inherited from RE::BSIntrusiveRefCounted
std::uint32_t IncRef () const
 
std::uint32_t DecRef () const
 
 TES_HEAP_REDEFINE_NEW ()
 

Public Attributes

BSFixedString name
 
BSFixedString objName
 
BSFixedString stateName
 
TypeInfo retType
 
VDescTable descTable
 
std::uint32_t userFlags
 
std::uint32_t pad44
 
ByteCode::PackedInstructionStream instructions
 
stl::enumeration< FunctionType, std::uint16_t > functionType
 
bool isStatic
 
std::uint8_t pad5B
 
std::uint32_t pad5C
 
BSFixedString docString
 
BSFixedString sourceFileName
 
std::uint32_t lineNumberCount
 
std::uint32_t pad74
 
std::uint16_t * lineNumbers
 
- Public Attributes inherited from RE::BSScript::IFunction
std::uint32_t pad0C
 

Static Public Attributes

static constexpr auto RTTI = RTTI_BSScript__Internal__ScriptFunction
 
static constexpr auto VTABLE = VTABLE_BSScript__Internal__ScriptFunction
 
- Static Public Attributes inherited from RE::BSScript::IFunction
static constexpr auto RTTI = RTTI_BSScript__IFunction
 
static constexpr auto VTABLE = VTABLE_BSScript__IFunction
 

Additional Inherited Members

- Public Types inherited from RE::BSScript::IFunction
enum class  FunctionType { kNormal = 0 , kGetter = 1 , kSetter = 2 }
 
enum class  CallResult {
  kCompleted = 0 , kSetupForVM = 1 , kInProgress = 2 , kFailedRetry = 3 ,
  kFailedAbort = 4
}
 
- Protected Attributes inherited from RE::BSIntrusiveRefCounted
volatile std::uint32_t _refCount { 0 }
 

Constructor & Destructor Documentation

◆ ~ScriptFunction()

RE::BSScript::Internal::ScriptFunction::~ScriptFunction ( )
override

Member Function Documentation

◆ Call()

CallResult RE::BSScript::Internal::ScriptFunction::Call ( const BSTSmartPointer< Stack > &  a_stack,
ErrorLogger a_logger,
Internal::VirtualMachine a_vm,
bool  a_arg4 
)
overridevirtual

◆ CanBeCalledFromTasklets()

bool RE::BSScript::Internal::ScriptFunction::CanBeCalledFromTasklets ( ) const
overridevirtual

◆ GetDocString()

const BSFixedString& RE::BSScript::Internal::ScriptFunction::GetDocString ( ) const
overridevirtual

◆ GetFunctionType()

FunctionType RE::BSScript::Internal::ScriptFunction::GetFunctionType ( ) const
overridevirtual

◆ GetIsEmpty()

bool RE::BSScript::Internal::ScriptFunction::GetIsEmpty ( ) const
overridevirtual

◆ GetIsNative()

bool RE::BSScript::Internal::ScriptFunction::GetIsNative ( ) const
overridevirtual

◆ GetIsStatic()

bool RE::BSScript::Internal::ScriptFunction::GetIsStatic ( ) const
overridevirtual

◆ GetName()

const BSFixedString& RE::BSScript::Internal::ScriptFunction::GetName ( ) const
overridevirtual

◆ GetObjectTypeName()

const BSFixedString& RE::BSScript::Internal::ScriptFunction::GetObjectTypeName ( ) const
overridevirtual

◆ GetParam()

void RE::BSScript::Internal::ScriptFunction::GetParam ( std::uint32_t  a_idx,
BSFixedString a_nameOut,
TypeInfo a_typeOut 
) const
overridevirtual

◆ GetParamCount()

std::uint32_t RE::BSScript::Internal::ScriptFunction::GetParamCount ( ) const
overridevirtual

◆ GetReturnType()

TypeInfo RE::BSScript::Internal::ScriptFunction::GetReturnType ( ) const
overridevirtual

◆ GetSourceFilename()

const BSFixedString& RE::BSScript::Internal::ScriptFunction::GetSourceFilename ( ) const
overridevirtual

◆ GetStackFrameSize()

std::uint32_t RE::BSScript::Internal::ScriptFunction::GetStackFrameSize ( ) const
overridevirtual

◆ GetStateName()

const BSFixedString& RE::BSScript::Internal::ScriptFunction::GetStateName ( ) const
overridevirtual

◆ GetUserFlags()

std::uint32_t RE::BSScript::Internal::ScriptFunction::GetUserFlags ( ) const
overridevirtual

◆ GetVarNameForStackIndex()

bool RE::BSScript::Internal::ScriptFunction::GetVarNameForStackIndex ( std::uint32_t  a_idx,
BSFixedString a_nameOut 
) const
overridevirtual

◆ InsertLocals()

void RE::BSScript::Internal::ScriptFunction::InsertLocals ( StackFrame a_frame)
overridevirtual

◆ SetCallableFromTasklets()

void RE::BSScript::Internal::ScriptFunction::SetCallableFromTasklets ( bool  a_callable)
overridevirtual

◆ TranslateIPToLineNumber()

bool RE::BSScript::Internal::ScriptFunction::TranslateIPToLineNumber ( std::uint32_t  a_indexPtr,
std::uint32_t &  a_lineNumberOut 
) const
overridevirtual

Member Data Documentation

◆ descTable

VDescTable RE::BSScript::Internal::ScriptFunction::descTable

◆ docString

BSFixedString RE::BSScript::Internal::ScriptFunction::docString

◆ functionType

stl::enumeration<FunctionType, std::uint16_t> RE::BSScript::Internal::ScriptFunction::functionType

◆ instructions

ByteCode::PackedInstructionStream RE::BSScript::Internal::ScriptFunction::instructions

◆ isStatic

bool RE::BSScript::Internal::ScriptFunction::isStatic

◆ lineNumberCount

std::uint32_t RE::BSScript::Internal::ScriptFunction::lineNumberCount

◆ lineNumbers

std::uint16_t* RE::BSScript::Internal::ScriptFunction::lineNumbers

◆ name

BSFixedString RE::BSScript::Internal::ScriptFunction::name

◆ objName

BSFixedString RE::BSScript::Internal::ScriptFunction::objName

◆ pad44

std::uint32_t RE::BSScript::Internal::ScriptFunction::pad44

◆ pad5B

std::uint8_t RE::BSScript::Internal::ScriptFunction::pad5B

◆ pad5C

std::uint32_t RE::BSScript::Internal::ScriptFunction::pad5C

◆ pad74

std::uint32_t RE::BSScript::Internal::ScriptFunction::pad74

◆ retType

TypeInfo RE::BSScript::Internal::ScriptFunction::retType

◆ RTTI

constexpr auto RE::BSScript::Internal::ScriptFunction::RTTI = RTTI_BSScript__Internal__ScriptFunction
inlinestaticconstexpr

◆ sourceFileName

BSFixedString RE::BSScript::Internal::ScriptFunction::sourceFileName

◆ stateName

BSFixedString RE::BSScript::Internal::ScriptFunction::stateName

◆ userFlags

std::uint32_t RE::BSScript::Internal::ScriptFunction::userFlags

◆ VTABLE

constexpr auto RE::BSScript::Internal::ScriptFunction::VTABLE = VTABLE_BSScript__Internal__ScriptFunction
inlinestaticconstexpr

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