LeviLamina
Loading...
Searching...
No Matches
Molang::details::ExpressionNode Class Reference

Public Member Functions

MCAPI ExpressionNode (::Molang::details::ExpressionNode &&)
MCAPI ExpressionNode (::Molang::details::ExpressionNode const &)
MCAPI bool _buildTree (::brstd::bitset< 109, uint64 > const &usedTokenFlags, ::MolangVersion molangVersion)
MCAPI bool _checkAllOperationsAreValid () const
MCAPI bool _optimize (::MolangVersion version, ::RenderParams &outRenderParams, int recursionDepth)
MCAPI bool _processBinaryExpressions (::brstd::function_ref< bool(::ExpressionOp)> predicate)
MCAPI bool _processTernaryAndConditionalExpressions ()
MCAPI bool _readNextToken (char const *&expression, ::MolangParseConfig const &parseConfig)
MCAPI bool _validate (::MolangVersion version, bool inLoop, int inAssignmentLHSDepth) const
MCAPI bool _validateChildrenAreNumerical (::MolangVersion version) const
MCNAPI_S bool areAllChildrenEqual () const
MCAPI void clear ()
MCAPI bool findClosingOp (uint64 &i, ::ExpressionOp endOp) const
MCAPI uint64 getTreeHash (bool sideEffectsReturnZero) const
MCAPI bool getTreeString (::std::string &dest, bool sideEffectsReturnZero) const
MCAPI bool hasMadd () const
MCAPI bool isValid () const
MCAPI ::nonstd::expected<::Molang::details::Program, ::MolangCompileResult > link (::MolangVersion version)
MCAPI void moveConstantChildToValueIfFloatOrHashType (int firstConstChildIndex)
MCAPI::Molang::details::ExpressionNode & operator= (::Molang::details::ExpressionNode &&)
MCAPI::Molang::details::ExpressionNode & operator= (::Molang::details::ExpressionNode const &)
MCAPI::Molang::details::ExpressionNode & operator= (float value)
MCAPI bool operator== (::Molang::details::ExpressionNode const &rhs) const
MCAPI bool optimizeFunctionCallParams ()
MCAPI bool parse (::std::string_view inputExpression, ::MolangParseConfig const &config, ::brstd::bitset< 109, uint64 > &usedTokenFlags)
MCAPI bool parse (::Json::Value const &value, ::MolangParseConfig const &config, ::brstd::bitset< 109, uint64 > &usedTokenFlags)
MCAPI bool processArrays ()
MCAPI bool processBinaryExpression (::ExpressionOp op)
MCAPI bool processMathFuncs ()
MCAPI bool processNegativesAndLogicalNots ()
MCAPI bool processQueriesAndFunctions ()
MCAPI bool processSections ()
MCAPI bool processSemicolons ()
MCAPI bool processUnaryExpression (::ExpressionOp op)
MCAPI void replaceArrayVariables (::std::unordered_map<::HashedString, ::Molang::details::ExpressionNode > &dataMap)
MCNAPI_C ::brstd::flat_set<::HashedString, ::std::less<::HashedString >, ::std::vector<::HashedString > > replaceResourceVariables (::std::unordered_map<::HashedString, ::ExpressionNode::ResourceReference > &resourceTable)
MCAPI void validateArrayVariables () const
MCAPI ~ExpressionNode ()
MCAPI void * $ctor (::Molang::details::ExpressionNode &&)
MCAPI void * $ctor (::Molang::details::ExpressionNode const &)
MCAPI void $dtor ()

Static Public Member Functions

static MCAPI ::MolangCompileResult _buildProgram (::Molang::details::MolangProgramBuildState &buildState, ::Molang::details::ExpressionNode const *node, ::MolangVersion molangVersion)
static MCAPI ::MolangScriptArg_getOrCreateReferencedMemberVariableScriptArg (::MolangEvalParams &state, ::Molang::details::ExpressionNode const &memberAccessorNode)
static MCAPI ::std::optional<::MolangScriptArg_getQueryFunctionAccessor (::std::string const &functionName, ::MolangParseConfig const &parseConfig)
static MCAPI ::MolangScriptArg const * _getReferencedMemberVariableScriptArg (::MolangEvalParams &state, ::Molang::details::ExpressionNode const &memberAccessorNode)
static MCNAPI_C ::MolangScriptArg const * _getScriptArgFromMemberAccessedVariable (::MolangEvalParams &state, ::Molang::details::ExpressionNode const &memberAccessorNode)
static MCAPI void _writeScriptArgToMemberAccessedVariable (::MolangEvalParams &state, ::Molang::details::ExpressionNode const &memberAccessorNode, ::MolangScriptArg const &value)
static MCAPI char const * getOpFriendlyName (::ExpressionOp op)

Public Attributes

::ll::UntypedStorage< 2, 2 > mUnkf560f0
::ll::UntypedStorage< 4, 4 > mUnk4e6e98
::ll::UntypedStorage< 4, 4 > mUnk56c08e
::ll::UntypedStorage< 8, 96 > mUnka6816f
::ll::UntypedStorage< 8, 24 > mUnk58ba9b

Constructor & Destructor Documentation

◆ ExpressionNode() [1/2]

MCAPI Molang::details::ExpressionNode::ExpressionNode ( ::Molang::details::ExpressionNode && )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ ExpressionNode() [2/2]

MCAPI Molang::details::ExpressionNode::ExpressionNode ( ::Molang::details::ExpressionNode const & )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ ~ExpressionNode()

MCAPI Molang::details::ExpressionNode::~ExpressionNode ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

Member Function Documentation

◆ _buildTree()

MCAPI bool Molang::details::ExpressionNode::_buildTree ( ::brstd::bitset< 109, uint64 > const & usedTokenFlags,
::MolangVersion molangVersion )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _checkAllOperationsAreValid()

MCAPI bool Molang::details::ExpressionNode::_checkAllOperationsAreValid ( ) const
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _optimize()

MCAPI bool Molang::details::ExpressionNode::_optimize ( ::MolangVersion version,
::RenderParams & outRenderParams,
int recursionDepth )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _processBinaryExpressions()

MCAPI bool Molang::details::ExpressionNode::_processBinaryExpressions ( ::brstd::function_ref< bool(::ExpressionOp)> predicate)
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _processTernaryAndConditionalExpressions()

MCAPI bool Molang::details::ExpressionNode::_processTernaryAndConditionalExpressions ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _readNextToken()

MCAPI bool Molang::details::ExpressionNode::_readNextToken ( char const *& expression,
::MolangParseConfig const & parseConfig )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _validate()

MCAPI bool Molang::details::ExpressionNode::_validate ( ::MolangVersion version,
bool inLoop,
int inAssignmentLHSDepth ) const
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _validateChildrenAreNumerical()

MCAPI bool Molang::details::ExpressionNode::_validateChildrenAreNumerical ( ::MolangVersion version) const
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ clear()

MCAPI void Molang::details::ExpressionNode::clear ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ findClosingOp()

MCAPI bool Molang::details::ExpressionNode::findClosingOp ( uint64 & i,
::ExpressionOp endOp ) const
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ getTreeHash()

MCAPI uint64 Molang::details::ExpressionNode::getTreeHash ( bool sideEffectsReturnZero) const
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ getTreeString()

MCAPI bool Molang::details::ExpressionNode::getTreeString ( ::std::string & dest,
bool sideEffectsReturnZero ) const
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ hasMadd()

MCAPI bool Molang::details::ExpressionNode::hasMadd ( ) const
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ isValid()

MCAPI bool Molang::details::ExpressionNode::isValid ( ) const
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ link()

MCAPI ::nonstd::expected<::Molang::details::Program, ::MolangCompileResult > Molang::details::ExpressionNode::link ( ::MolangVersion version)
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ moveConstantChildToValueIfFloatOrHashType()

MCAPI void Molang::details::ExpressionNode::moveConstantChildToValueIfFloatOrHashType ( int firstConstChildIndex)
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ operator=() [1/3]

MCAPI::Molang::details::ExpressionNode & Molang::details::ExpressionNode::operator= ( ::Molang::details::ExpressionNode && )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ operator=() [2/3]

MCAPI::Molang::details::ExpressionNode & Molang::details::ExpressionNode::operator= ( ::Molang::details::ExpressionNode const & )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ operator=() [3/3]

MCAPI::Molang::details::ExpressionNode & Molang::details::ExpressionNode::operator= ( float value)
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ operator==()

MCAPI bool Molang::details::ExpressionNode::operator== ( ::Molang::details::ExpressionNode const & rhs) const
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ optimizeFunctionCallParams()

MCAPI bool Molang::details::ExpressionNode::optimizeFunctionCallParams ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ parse() [1/2]

MCAPI bool Molang::details::ExpressionNode::parse ( ::std::string_view inputExpression,
::MolangParseConfig const & config,
::brstd::bitset< 109, uint64 > & usedTokenFlags )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ parse() [2/2]

MCAPI bool Molang::details::ExpressionNode::parse ( ::Json::Value const & value,
::MolangParseConfig const & config,
::brstd::bitset< 109, uint64 > & usedTokenFlags )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ processArrays()

MCAPI bool Molang::details::ExpressionNode::processArrays ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ processBinaryExpression()

MCAPI bool Molang::details::ExpressionNode::processBinaryExpression ( ::ExpressionOp op)
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ processMathFuncs()

MCAPI bool Molang::details::ExpressionNode::processMathFuncs ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ processNegativesAndLogicalNots()

MCAPI bool Molang::details::ExpressionNode::processNegativesAndLogicalNots ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ processQueriesAndFunctions()

MCAPI bool Molang::details::ExpressionNode::processQueriesAndFunctions ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ processSections()

MCAPI bool Molang::details::ExpressionNode::processSections ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ processSemicolons()

MCAPI bool Molang::details::ExpressionNode::processSemicolons ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ processUnaryExpression()

MCAPI bool Molang::details::ExpressionNode::processUnaryExpression ( ::ExpressionOp op)
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ replaceArrayVariables()

MCAPI void Molang::details::ExpressionNode::replaceArrayVariables ( ::std::unordered_map<::HashedString, ::Molang::details::ExpressionNode > & dataMap)
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ validateArrayVariables()

MCAPI void Molang::details::ExpressionNode::validateArrayVariables ( ) const
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _buildProgram()

MCAPI ::MolangCompileResult Molang::details::ExpressionNode::_buildProgram ( ::Molang::details::MolangProgramBuildState & buildState,
::Molang::details::ExpressionNode const * node,
::MolangVersion molangVersion )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _getOrCreateReferencedMemberVariableScriptArg()

MCAPI ::MolangScriptArg * Molang::details::ExpressionNode::_getOrCreateReferencedMemberVariableScriptArg ( ::MolangEvalParams & state,
::Molang::details::ExpressionNode const & memberAccessorNode )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _getQueryFunctionAccessor()

MCAPI ::std::optional<::MolangScriptArg > Molang::details::ExpressionNode::_getQueryFunctionAccessor ( ::std::string const & functionName,
::MolangParseConfig const & parseConfig )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _getReferencedMemberVariableScriptArg()

MCAPI ::MolangScriptArg const * Molang::details::ExpressionNode::_getReferencedMemberVariableScriptArg ( ::MolangEvalParams & state,
::Molang::details::ExpressionNode const & memberAccessorNode )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ _writeScriptArgToMemberAccessedVariable()

MCAPI void Molang::details::ExpressionNode::_writeScriptArgToMemberAccessedVariable ( ::MolangEvalParams & state,
::Molang::details::ExpressionNode const & memberAccessorNode,
::MolangScriptArg const & value )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ getOpFriendlyName()

MCAPI char const * Molang::details::ExpressionNode::getOpFriendlyName ( ::ExpressionOp op)
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ $ctor() [1/2]

MCAPI void * Molang::details::ExpressionNode::$ctor ( ::Molang::details::ExpressionNode && )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ $ctor() [2/2]

MCAPI void * Molang::details::ExpressionNode::$ctor ( ::Molang::details::ExpressionNode const & )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ $dtor()

MCAPI void Molang::details::ExpressionNode::$dtor ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

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