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
22class ConstantExpression : public ::Molang::details::IComplexExpression {
23public:
24// member variables
25// NOLINTBEGIN
26#ifdef LL_PLAT_S
28#else // LL_PLAT_C
30#endif
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 ConstantExpression& operator=(ConstantExpression const&);
36 ConstantExpression(ConstantExpression const&);
37 ConstantExpression();
38
39public:
40 // virtual functions
41 // NOLINTBEGIN
42 virtual ::std::unique_ptr<::Molang::details::IComplexExpression> clone() const /*override*/;
43
44 virtual ::MolangScriptArg const& evalGeneric(::RenderParams&) const /*override*/;
45
46 virtual bool isInitialized() const /*override*/;
47
48 virtual ::Json::Value toJson() const /*override*/;
49
50 virtual ::std::string getExpressionString() const /*override*/;
51
52 virtual ::MolangVersion getMolangVersion() const /*override*/;
53
54 virtual void
55 replaceArrayVariables(::std::unordered_map<::HashedString, ::Molang::details::ExpressionNode>&) /*override*/;
56
57 virtual void validateArrayVariables() const /*override*/;
58
59 virtual bool isValid() const /*override*/;
60
61 virtual bool isConstantValue() const /*override*/;
62
63 virtual bool hasVariableAssignments() const /*override*/;
64
65 virtual ::ExpressionOp getOp() const /*override*/;
66
67 virtual bool needsToCompile() const /*override*/;
68
69 virtual ::std::optional<::MolangScriptArg> getValueIfConstant() const /*override*/;
70
71 virtual ::Molang::details::SourceTree* getSource() /*override*/;
72
73 virtual ~ConstantExpression() /*override*/ = default;
74 // NOLINTEND
75
76public:
77 // virtual function thunks
78 // NOLINTBEGIN
79 MCNAPI ::std::unique_ptr<::Molang::details::IComplexExpression> $clone() const;
80
81 MCNAPI ::MolangScriptArg const& $evalGeneric(::RenderParams&) const;
82
83 MCNAPI bool $isInitialized() const;
84
85 MCNAPI ::Json::Value $toJson() const;
86
87 MCNAPI ::std::string $getExpressionString() const;
88
89 MCNAPI ::MolangVersion $getMolangVersion() const;
90
91 MCNAPI void $replaceArrayVariables(::std::unordered_map<::HashedString, ::Molang::details::ExpressionNode>&);
92
93 MCNAPI void $validateArrayVariables() const;
94
95 MCNAPI bool $isValid() const;
96
97 MCNAPI bool $isConstantValue() const;
98
99 MCNAPI bool $hasVariableAssignments() const;
100
101 MCNAPI ::ExpressionOp $getOp() const;
102
103 MCNAPI bool $needsToCompile() const;
104
105 MCNAPI ::std::optional<::MolangScriptArg> $getValueIfConstant() const;
106
107 MCNAPI ::Molang::details::SourceTree* $getSource();
108
109
110 // NOLINTEND
111
112public:
113 // vftables
114 // NOLINTBEGIN
115 MCNAPI static void** $vftable();
116 // NOLINTEND
117};
118
119} // namespace Molang::details
Definition HashedString.h:5
Definition Value.h:16
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 ExpressionNode.h:28
Definition IComplexExpression.h:21
Definition SourceTree.h:16
Definition RenderParams.h:30
Definition MolangScriptArg.h:33
Definition Alias.h:14