ArkScript
A small, fast, functional and scripting language for video games
ValTableElem.cpp
Go to the documentation of this file.
1
#include <
Ark/Compiler/ValTableElem.hpp
>
2
3
namespace
Ark::internal
4
{
5
ValTableElem::ValTableElem
(
const
Node
& node)
noexcept
6
{
7
if
(node.nodeType() ==
NodeType::Number
)
8
{
9
value = node.number();
10
type =
ValTableElemType::Number
;
11
}
12
else
if
(node.nodeType() ==
NodeType::String
)
13
{
14
value = node.string();
15
type =
ValTableElemType::String
;
16
}
17
}
18
19
ValTableElem::ValTableElem
(std::size_t page) noexcept :
20
value(page),
21
type(
ValTableElemType::PageAddr
)
22
{}
23
24
bool
ValTableElem::operator==
(
const
ValTableElem
& A)
const
noexcept
25
{
26
return
A.value == value && A.type == type;
27
}
28
}
ValTableElem.hpp
The basic value type handled by the compiler.
Ark::internal::Node
A node of an Abstract Syntax Tree for ArkScript.
Definition
Node.hpp:31
Ark::internal
Definition
Builtins.hpp:26
Ark::internal::NodeType::String
@ String
Ark::internal::NodeType::Number
@ Number
Ark::internal::ValTableElemType::String
@ String
Ark::internal::ValTableElemType::PageAddr
@ PageAddr
Ark::internal::ValTableElemType::Number
@ Number
Ark::internal::ValTableElem
A Compiler Value class helper to handle multiple types.
Definition
ValTableElem.hpp:38
Ark::internal::ValTableElem::operator==
bool operator==(const ValTableElem &A) const noexcept
Definition
ValTableElem.cpp:24
Ark::internal::ValTableElem::ValTableElem
ValTableElem(const Node &node) noexcept
Definition
ValTableElem.cpp:5
src
arkreactor
Compiler
ValTableElem.cpp
Generated on Wed Jan 15 2025 19:51:44 for ArkScript by
1.12.0