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/ExpressionOp.h"
8
9// auto generated forward declare list
10// clang-format off
11class HashedString;
12class RenderParams;
13struct MolangScriptArg;
14namespace Json { class Value; }
15namespace Molang::details { class ExpressionNode; }
16namespace Molang::details { class SourceTree; }
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 replaceArrayVariables(::std::unordered_map<::HashedString, ::Molang::details::ExpressionNode>&) = 0;
48
49 // vIndex: 8
50 virtual void validateArrayVariables() const = 0;
51
52 // vIndex: 9
53 virtual bool isValid() const = 0;
54
55 // vIndex: 10
56 virtual bool isConstantValue() const = 0;
57
58 // vIndex: 11
59 virtual bool hasVariableAssignments() const = 0;
60
61 // vIndex: 12
62 virtual ::ExpressionOp getOp() const = 0;
63
64 // vIndex: 13
65 virtual bool needsToCompile() const = 0;
66
67 // vIndex: 14
68 virtual ::std::optional<::MolangScriptArg> getValueIfConstant() const = 0;
69
70 // vIndex: 15
71 virtual ::Molang::details::SourceTree* getSource() = 0;
72 // NOLINTEND
73
74public:
75 // virtual function thunks
76 // NOLINTBEGIN
77
78 // NOLINTEND
79};
80
81} // namespace Molang::details
Definition ExpressionNode.h:29
Definition HashedString.h:5
Definition IComplexExpression.h:21
Definition RenderParams.h:30
Definition MolangScriptArg.h:33