LeviLamina
Loading...
Searching...
No Matches
ExpressionNode Class Reference

Public Types

using QueryLookupFunc
 
using GetParticleTintFunc = ::std::function<::mce::Color(::Block const&, ::BlockSource&, ::BlockPos const&)>
 

Public Member Functions

 ExpressionNode (std::string const &value, ::MolangVersion molangVersion, ::gsl::span<::HashedString const > querySetID)
 
MCAPI ExpressionNode (::ExpressionNode &&rhs)
 
MCAPI ExpressionNode (::ExpressionNode const &rhs)
 
MCAPI ExpressionNode (::MolangScriptArg &value, ::ExpressionOp op)
 
MCAPI ExpressionNode (::Json::Value const &value, ::MolangVersion molangVersion, ::gsl::span<::HashedString const > querySetID)
 
MCAPI bool _buildTree (::ExpressionOpBitField const &usedTokenFlags, ::MolangVersion molangVersion)
 
MCFOLD bool _checkAllOperationsAreValid () const
 
MCAPI bool _hasDisallowedQueryPtrs (::std::vector<::std::function< ::MolangScriptArg const &(::RenderParams &, ::std::vector<::ExpressionNode > const &)> const * > const &allowedQueryPtrs) const
 
MCAPI bool _optimize (::MolangVersion version, ::RenderParams &outRenderParams, int recursionDepth)
 
MCAPI bool _processBinaryExpressions (::std::function< bool(::ExpressionOp)> predicate)
 
MCAPI bool _processTernaryAndConditionalExpressions ()
 
MCAPI bool _readNextToken (char const *&expression, ::gsl::span<::HashedString const > const &idSet, ::MolangVersion molangVersion)
 
MCAPI void _setExpressionStringWithoutRelink (::std::string const &expressionString)
 
MCAPI bool _tokenize (char const *expression, ::ExpressionOpBitField &usedTokenFlags, ::gsl::span<::HashedString const > const &idSet, ::MolangVersion molangVersion)
 
MCAPI bool _validate (::MolangVersion version, bool inLoop, int inAssignmentLHSDepth) const
 
MCAPI bool _validateChildrenAreNumerical (::MolangVersion version) const
 
MCAPI void clear ()
 
MCAPI float evalAsFloat (::RenderParams &renderParams) const
 
MCAPI::MolangScriptArg const & evalGeneric (::RenderParams &renderParams) const
 
MCAPI bool findClosingOp (uint64 &i, ::ExpressionOp endOp) const
 
MCAPI::std::string const getExpressionString () const
 
MCAPI::std::string const & getExpressionString ()
 
MCAPI uint64 getTreeHash (bool sideEffectsReturnZero) const
 
MCAPI bool getTreeString (::std::string &dest, bool sideEffectsReturnZero) const
 
MCAPI bool hasDisallowedQueries (::std::vector<::std::string > const &allowedQueries) const
 
MCAPI bool hasMadd () const
 
MCAPI bool hasSideEffects (bool countRandomAsSideEffect) const
 
MCFOLD bool isValid () const
 
MCAPI::MolangCompileResult link () const
 
MCAPI::MolangCompileResult link (::MolangVersion molangVersion) const
 
MCAPI void moveConstantChildToValueIfFloatOrHashType (int firstConstChildIndex)
 
MCAPI::ExpressionNode & operator= (::ExpressionNode &&rhs)
 
MCAPI::ExpressionNode & operator= (::ExpressionNode const &rhs)
 
MCAPI::ExpressionNode & operator= (float value)
 
MCAPI bool operator== (::ExpressionNode const &rhs) const
 
MCAPI bool optimizeFunctionCallParams ()
 
MCAPI bool parse (::std::string const &inputExpression, ::MolangVersion molangVersion, ::gsl::span<::HashedString const > idSet)
 
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 * $ctor ()
 
MCAPI void * $ctor (::ExpressionNode &&rhs)
 
MCAPI void * $ctor (::ExpressionNode const &rhs)
 
MCAPI void * $ctor (::MolangScriptArg &value, ::ExpressionOp op)
 
MCAPI void * $ctor (::Json::Value const &value, ::MolangVersion molangVersion, ::gsl::span<::HashedString const > querySetID)
 
MCAPI void $dtor ()
 

Static Public Member Functions

static MCAPI ::MolangCompileResult _buildProgram (::MolangProgramBuildState &buildState, ::ExpressionNode const *node, ::MolangVersion molangVersion)
 
static MCAPI ::MolangScriptArg_getOrCreateReferencedMemberVariableScriptArg (::MolangEvalParams &state, ::ExpressionNode const &memberAccessorNode)
 
static MCAPI bool _getQueryFunctionAccessor (::MolangScriptArg &arg, ::std::string const &functionName, ::MolangVersion molangVersion, ::MolangQueryFunctionReturnType functionReturnType, ::HashedString const &querySetId)
 
static MCAPI ::MolangScriptArg const * _getScriptArgFromMemberAccessedVariable (::MolangEvalParams &state, ::ExpressionNode const &memberAccessorNode)
 
static MCAPI bool _initializeMolangQueries ()
 
static MCAPI void _writeScriptArgToMemberAccessedVariable (::MolangEvalParams &state, ::ExpressionNode const &memberAccessorNode, ::MolangScriptArg const &value)
 
static MCAPI void _writeScriptArgToMolangVariable (::MolangVariableMap &destMap, ::MolangVariableIndex variableIndex, ::MolangScriptArg const &value)
 
static MCAPI void buildExpressionOpTable ()
 
static MCAPI float fast_atof_positiveOnly (char const *&ptr)
 
static MCAPI char const * getOpFriendlyName (::ExpressionOp op)
 
static MCAPI ::std::function< ::MolangScriptArg const &(::RenderParams &, ::std::vector<::ExpressionNode > const &)> const * queryFunctionAccessorFromString (::std::string const &functionName, ::MolangVersion molangVersion, ::MolangQueryFunctionReturnType &functionReturnType, bool missingIsOkay_returnNullIfSo)
 
static MCAPI ::MolangQueryFunctionregisterQueryFunction (::std::string const &queryFunctionName, ::std::function<::MolangScriptArg const &(::RenderParams &, ::std::vector<::ExpressionNode > const &)> accessor, ::std::string const &documentation, ::MolangQueryFunctionReturnType returnType, ::HashedString querySetIdentifier, uint64 minArgumentCount, uint64 maxArgumentCount, ::std::initializer_list< int > const &experiments)
 
static MCAPI void unregisterQueryFunction (::std::string const &queryFunctionName, ::HashedString querySetIdentifier)
 
static MCAPI ::std::function<::MolangScriptArg const &(::RenderParams &, ::std::vector<::ExpressionNode > const &)> & _defaultUnknownQueryFunction ()
 
static MCAPI ::std::vector<::std::pair<::std::string, ::ExpressionOp > > & mAliasOpTokens ()
 
static MCAPI ::ExperimentStoragemExperiments ()
 
static MCAPI ::std::vector<::std::string > & mExpressionOpTokens ()
 
static MCAPI ::std::function<::mce::Color(::Block const &, ::BlockSource &, ::BlockPos const &)> & mGetParticleTintFunc ()
 
static MCAPI bool & mMolangInitialized ()
 
static MCAPI ::std::unordered_multimap<::HashedString, ::MolangQueryFunction > & mQueryFunctionAccessors ()
 
static MCAPI ::std::unordered_map<::HashedString, ::std::unordered_set<::HashedString > > & mQuerySets ()
 

Public Attributes

::ll::TypedStorage< 2, 2, ::ExpressionOp > mOp
 
::ll::TypedStorage< 2, 2, ::MolangVersion > mMolangVersion
 
::ll::TypedStorage< 4, 4, float > mMul
 
::ll::TypedStorage< 4, 4, float > mAdd
 
::ll::TypedStorage< 1, 1, bool > mStoreStackState
 
::ll::TypedStorage< 1, 1, bool > mNeedsToCompile
 
::ll::TypedStorage< 1, 1, ::std::atomic< bool > > mIsBeingCompiled
 
::ll::TypedStorage< 8, 88, ::MolangScriptArgmValue
 
::ll::TypedStorage< 8, 24, ::std::vector<::ExpressionNode > > mChildren
 
::ll::TypedStorage< 8, 24, ::std::vector<::std::unique_ptr<::IMolangInstruction > > > mInstructions
 
::ll::TypedStorage< 8, 32, ::std::string > _mExpressionString
 
::ll::TypedStorage< 8, 32, ::std::string > _mContentScopeString
 

Member Typedef Documentation

◆ QueryLookupFunc

using ExpressionNode::QueryLookupFunc
Initial value:
::std::function<
::std::function<::MolangScriptArg const&(::RenderParams&, ::std::vector<::ExpressionNode> const&)> const*(
::std::string const&,
::MolangQueryFunctionReturnType&,
bool
)>
Definition RenderParams.h:30
Definition MolangScriptArg.h:47

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