3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/molang/MolangVersion.h"
7#include "mc/platform/brstd/bitset.h"
8#include "mc/platform/brstd/function_ref.h"
9#include "mc/util/MolangCompileResult.h"
10#include "mc/util/molang/ExpressionOp.h"
19namespace Json {
class Value; }
20namespace Molang::details {
class Program; }
21namespace Molang::details {
struct MolangProgramBuildState; }
24namespace Molang::details {
60 MCNAPI
bool _validate(::MolangVersion version,
bool inLoop,
int inAssignmentLHSDepth)
const;
72 MCNAPI
bool getTreeString(::std::string& dest,
bool sideEffectsReturnZero)
const;
78 MCNAPI ::nonstd::expected<::Molang::details::Program, ::MolangCompileResult>
link(::MolangVersion version);
86 MCNAPI ::Molang::details::ExpressionNode&
operator=(
float value);
93 ::std::string_view inputExpression,
119 MCNAPI
void replaceArrayVariables(::std::unordered_map<::HashedString, ::Molang::details::ExpressionNode>& dataMap);
132 ::MolangVersion molangVersion
140 MCNAPI static ::std::optional<::MolangScriptArg>
Definition HashedString.h:5
Definition ExpressionNode.h:26
MCAPI ExpressionNode(::Molang::details::ExpressionNode &&)
MCAPI bool _processTernaryAndConditionalExpressions()
MCAPI::Molang::details::ExpressionNode & operator=(::Molang::details::ExpressionNode const &)
MCAPI ExpressionNode(::Molang::details::ExpressionNode const &)
MCAPI bool getTreeString(::std::string &dest, bool sideEffectsReturnZero) const
MCAPI ::nonstd::expected<::Molang::details::Program, ::MolangCompileResult > link(::MolangVersion version)
MCAPI bool _buildTree(::brstd::bitset< 78, uint64 > const &usedTokenFlags, ::MolangVersion molangVersion)
MCAPI void * $ctor(::Molang::details::ExpressionNode const &)
MCAPI void * $ctor(::Molang::details::ExpressionNode &&)
static MCAPI ::MolangScriptArg const * _getReferencedMemberVariableScriptArg(::MolangEvalParams &state, ::Molang::details::ExpressionNode const &memberAccessorNode)
MCAPI::Molang::details::ExpressionNode & operator=(::Molang::details::ExpressionNode &&)
MCAPI bool processArrays()
MCAPI bool _checkAllOperationsAreValid() const
static MCAPI ::std::optional<::MolangScriptArg > _getQueryFunctionAccessor(::std::string const &functionName, ::MolangParseConfig const &parseConfig)
MCAPI bool processQueriesAndFunctions()
MCAPI bool processSemicolons()
MCAPI bool _readNextToken(char const *&expression, ::MolangParseConfig const &parseConfig)
MCAPI bool processMemberAccessors()
MCAPI bool areAllChildrenEqual() const
MCAPI bool _optimize(::MolangVersion version, ::RenderParams &outRenderParams, int recursionDepth)
MCAPI bool _processBinaryExpressions(::brstd::function_ref< bool(::ExpressionOp)> predicate)
static MCAPI void _writeScriptArgToMemberAccessedVariable(::MolangEvalParams &state, ::Molang::details::ExpressionNode const &memberAccessorNode, ::MolangScriptArg const &value)
MCAPI uint64 getTreeHash(bool sideEffectsReturnZero) const
MCAPI void validateArrayVariables() const
MCAPI bool operator==(::Molang::details::ExpressionNode const &rhs) const
static MCAPI ::MolangScriptArg * _getOrCreateReferencedMemberVariableScriptArg(::MolangEvalParams &state, ::Molang::details::ExpressionNode const &memberAccessorNode)
MCAPI bool processSections()
MCAPI bool processNegativesAndLogicalNots()
MCAPI void moveConstantChildToValueIfFloatOrHashType(int firstConstChildIndex)
MCAPI bool _validateChildrenAreNumerical(::MolangVersion version) const
static MCAPI ::MolangCompileResult _buildProgram(::Molang::details::MolangProgramBuildState &buildState, ::Molang::details::ExpressionNode const *node, ::MolangVersion molangVersion)
MCAPI bool processMathFuncs()
MCAPI bool processUnaryExpression(::ExpressionOp op)
MCAPI bool parse(::Json::Value const &value, ::MolangParseConfig const &config, ::brstd::bitset< 78, uint64 > &usedTokenFlags)
MCAPI::Molang::details::ExpressionNode & operator=(float value)
MCAPI bool _validate(::MolangVersion version, bool inLoop, int inAssignmentLHSDepth) const
static MCAPI char const * getOpFriendlyName(::ExpressionOp op)
MCAPI bool processBinaryExpression(::ExpressionOp op)
MCAPI bool findClosingOp(uint64 &i, ::ExpressionOp endOp) const
MCAPI bool parse(::std::string_view inputExpression, ::MolangParseConfig const &config, ::brstd::bitset< 78, uint64 > &usedTokenFlags)
MCAPI bool optimizeFunctionCallParams()
MCAPI bool isValid() const
MCAPI bool hasMadd() const
MCAPI void replaceArrayVariables(::std::unordered_map<::HashedString, ::Molang::details::ExpressionNode > &dataMap)
Definition RenderParams.h:30
Definition function_ref.h:60
Definition MolangEvalParams.h:18
Definition MolangParseConfig.h:14
Definition MolangScriptArg.h:33
Definition MolangProgramBuildState.h:12