LeviLamina
Loading...
Searching...
No Matches
IComplexExpression.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/molang/MolangVersion.h"
7#include "mc/util/molang/ExpressionNode.h"
8#include "mc/util/molang/ExpressionOp.h"
9
10// auto generated forward declare list
11// clang-format off
12class HashedString;
13class RenderParams;
14struct MolangScriptArg;
15namespace Json { class Value; }
16namespace Molang::details { class ExpressionNode; }
17// clang-format on
18
19namespace Molang::details {
20
22public:
23 // virtual functions
24 // NOLINTBEGIN
25 // vIndex: 0
26 virtual ~IComplexExpression() = default;
27
28 // vIndex: 1
29 virtual ::std::unique_ptr<::Molang::details::IComplexExpression> clone() const = 0;
30
31 // vIndex: 2
32 virtual ::MolangScriptArg const& evalGeneric(::RenderParams&) const = 0;
33
34 // vIndex: 3
35 virtual bool isInitialized() const = 0;
36
37 // vIndex: 4
38 virtual ::Json::Value toJson() const = 0;
39
40 // vIndex: 5
41 virtual ::std::string getExpressionString() const = 0;
42
43 // vIndex: 6
44 virtual ::MolangVersion getMolangVersion() const = 0;
45
46 // vIndex: 7
47 virtual void
48 replaceResourceVariables(::std::unordered_map<::HashedString, ::ExpressionNode::ResourceReference>&) = 0;
49
50 // vIndex: 8
51 virtual void replaceArrayVariables(::std::unordered_map<::HashedString, ::Molang::details::ExpressionNode>&) = 0;
52
53 // vIndex: 9
54 virtual void validateArrayVariables() const = 0;
55
56 // vIndex: 10
57 virtual bool isValid() const = 0;
58
59 // vIndex: 11
60 virtual bool isConstantValue() const = 0;
61
62 // vIndex: 12
63 virtual bool hasVariableAssignments() const = 0;
64
65 // vIndex: 13
66 virtual ::ExpressionOp getOp() const = 0;
67
68 // vIndex: 14
69 virtual bool needsToCompile() const = 0;
70
71 // vIndex: 15
72 virtual ::std::optional<::MolangScriptArg> getValueIfConstant() const = 0;
73
74 // vIndex: 16
75 virtual ::Molang::details::ExpressionNode* getSource() = 0;
76 // NOLINTEND
77
78public:
79 // virtual function thunks
80 // NOLINTBEGIN
81
82 // NOLINTEND
83};
84
85} // namespace Molang::details
Definition ExpressionNode.h:27
Definition HashedString.h:5
Definition IComplexExpression.h:21
Definition RenderParams.h:30
Definition MolangScriptArg.h:33