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

Public Member Functions

MCAPI ExpressionNode (::Molang::details::ExpressionNode const &)
 
MCAPI ExpressionNode (::Molang::details::ExpressionNode &&)
 
MCAPI bool _buildTree (::brstd::bitset< 78, 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
 
MCAPI 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< 78, uint64 > &usedTokenFlags)
 
MCAPI bool parse (::Json::Value const &value, ::MolangParseConfig const &config, ::brstd::bitset< 78, uint64 > &usedTokenFlags)
 
MCAPI bool processArrays ()
 
MCAPI bool processBinaryExpression (::ExpressionOp op)
 
MCAPI bool processMathFuncs ()
 
MCAPI bool processMemberAccessors ()
 
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)
 
MCAPI void validateArrayVariables () const
 
MCAPI ~ExpressionNode ()
 
MCAPI void * $ctor (::Molang::details::ExpressionNode const &)
 
MCAPI void * $ctor (::Molang::details::ExpressionNode &&)
 
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 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, 88 > mUnka6816f
 
::ll::UntypedStorage< 8, 24 > mUnk58ba9b
 

Constructor & Destructor Documentation

◆ ExpressionNode() [1/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() [2/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()

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< 78, 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.

◆ areAllChildrenEqual()

MCAPI bool Molang::details::ExpressionNode::areAllChildrenEqual ( ) 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< 78, 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< 78, 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.

◆ processMemberAccessors()

MCAPI bool Molang::details::ExpressionNode::processMemberAccessors ( )
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()

static 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()

static 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()

static 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()

static 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()

static 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()

static 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 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.

◆ $ctor() [2/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.

◆ $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: