LeviLamina
Loading...
Searching...
No Matches
ConstantExpression.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#include "mc/util/molang/IComplexExpression.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; }
17namespace Molang::details { class SourceTree; }
18// clang-format on
19
20namespace Molang::details {
21
23public:
24 // member variables
25 // NOLINTBEGIN
27 // NOLINTEND
28
29public:
30 // prevent constructor by default
31 ConstantExpression& operator=(ConstantExpression const&);
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 // vIndex: 1
39 virtual ::std::unique_ptr<::Molang::details::IComplexExpression> clone() const /*override*/;
40
41 // vIndex: 2
42 virtual ::MolangScriptArg const& evalGeneric(::RenderParams&) const /*override*/;
43
44 // vIndex: 3
45 virtual bool isInitialized() const /*override*/;
46
47 // vIndex: 4
48 virtual ::Json::Value toJson() const /*override*/;
49
50 // vIndex: 5
51 virtual ::std::string getExpressionString() const /*override*/;
52
53 // vIndex: 6
54 virtual ::MolangVersion getMolangVersion() const /*override*/;
55
56 // vIndex: 7
57 virtual void
58 replaceArrayVariables(::std::unordered_map<::HashedString, ::Molang::details::ExpressionNode>&) /*override*/;
59
60 // vIndex: 8
61 virtual void validateArrayVariables() const /*override*/;
62
63 // vIndex: 9
64 virtual bool isValid() const /*override*/;
65
66 // vIndex: 10
67 virtual bool isConstantValue() const /*override*/;
68
69 // vIndex: 11
70 virtual bool hasVariableAssignments() const /*override*/;
71
72 // vIndex: 12
73 virtual ::ExpressionOp getOp() const /*override*/;
74
75 // vIndex: 13
76 virtual bool needsToCompile() const /*override*/;
77
78 // vIndex: 14
79 virtual ::std::optional<::MolangScriptArg> getValueIfConstant() const /*override*/;
80
81 // vIndex: 15
82 virtual ::Molang::details::SourceTree* getSource() /*override*/;
83
84 // vIndex: 0
85 virtual ~ConstantExpression() /*override*/ = default;
86 // NOLINTEND
87
88public:
89 // virtual function thunks
90 // NOLINTBEGIN
91 MCNAPI ::std::unique_ptr<::Molang::details::IComplexExpression> $clone() const;
92
93 MCNAPI ::MolangScriptArg const& $evalGeneric(::RenderParams&) const;
94
95 MCNAPI bool $isInitialized() const;
96
97 MCNAPI ::Json::Value $toJson() const;
98
99 MCNAPI ::std::string $getExpressionString() const;
100
101 MCNAPI ::MolangVersion $getMolangVersion() const;
102
103 MCNAPI void $replaceArrayVariables(::std::unordered_map<::HashedString, ::Molang::details::ExpressionNode>&);
104
105 MCNAPI void $validateArrayVariables() const;
106
107 MCNAPI bool $isValid() const;
108
109 MCNAPI bool $isConstantValue() const;
110
111 MCNAPI bool $hasVariableAssignments() const;
112
113 MCNAPI ::ExpressionOp $getOp() const;
114
115 MCNAPI bool $needsToCompile() const;
116
117 MCNAPI ::std::optional<::MolangScriptArg> $getValueIfConstant() const;
118
119 MCNAPI ::Molang::details::SourceTree* $getSource();
120 // NOLINTEND
121
122public:
123 // vftables
124 // NOLINTBEGIN
125 MCNAPI static void** $vftable();
126 // NOLINTEND
127};
128
129} // namespace Molang::details
Definition ExpressionNode.h:29
Definition HashedString.h:5
Definition ConstantExpression.h:22
MCAPI bool $hasVariableAssignments() const
static MCAPI void ** $vftable()
MCAPI void $validateArrayVariables() const
MCAPI::MolangScriptArg const & $evalGeneric(::RenderParams &) const
MCAPI ::std::optional<::MolangScriptArg > $getValueIfConstant() const
MCAPI ::std::unique_ptr<::Molang::details::IComplexExpression > $clone() const
MCAPI::Molang::details::SourceTree * $getSource()
MCAPI void $replaceArrayVariables(::std::unordered_map<::HashedString, ::Molang::details::ExpressionNode > &)
MCAPI::ExpressionOp $getOp() const
MCAPI::MolangVersion $getMolangVersion() const
MCAPI::Json::Value $toJson() const
MCAPI::std::string $getExpressionString() const
Definition IComplexExpression.h:21
Definition RenderParams.h:30
Definition MolangScriptArg.h:33
Definition Alias.h:14