aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/dataloader/NodeTools.cpp
diff options
context:
space:
mode:
author Hop311 <Hop3114@gmail.com>2023-10-15 22:40:25 +0200
committer GitHub <noreply@github.com>2023-10-15 22:40:25 +0200
commit7c1b2d8cd4a543d201ada8325bcf29e2662d0b46 (patch)
treed8a60c3c32989fd48d71be1c9177cfc68bd038c7 /src/openvic-simulation/dataloader/NodeTools.cpp
parentd1125bf50be8fd415e2ce5179fdf446918e16d93 (diff)
parent104ae73748d350b5cc292646f5f851bff96ee947 (diff)
Merge pull request #53 from OpenVicProject/allow-empty
allow_empty option for expect_identifier_or_string
Diffstat (limited to 'src/openvic-simulation/dataloader/NodeTools.cpp')
-rw-r--r--src/openvic-simulation/dataloader/NodeTools.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/openvic-simulation/dataloader/NodeTools.cpp b/src/openvic-simulation/dataloader/NodeTools.cpp
index c2edb18..77eafcd 100644
--- a/src/openvic-simulation/dataloader/NodeTools.cpp
+++ b/src/openvic-simulation/dataloader/NodeTools.cpp
@@ -43,15 +43,15 @@ node_callback_t NodeTools::expect_string(callback_t<std::string_view> callback,
return _expect_type<ast::StringNode>(_abstract_string_node_callback<ast::StringNode>(callback, allow_empty));
}
-node_callback_t NodeTools::expect_identifier_or_string(callback_t<std::string_view> callback) {
- return [callback](ast::NodeCPtr node) -> bool {
+node_callback_t NodeTools::expect_identifier_or_string(callback_t<std::string_view> callback, bool allow_empty) {
+ return [callback, allow_empty](ast::NodeCPtr node) -> bool {
if (node != nullptr) {
ast::AbstractStringNode const* cast_node = node->cast_to<ast::IdentifierNode>();
if (cast_node == nullptr) {
cast_node = node->cast_to<ast::StringNode>();
}
if (cast_node != nullptr) {
- return _abstract_string_node_callback<ast::AbstractStringNode>(callback, false)(*cast_node);
+ return _abstract_string_node_callback<ast::AbstractStringNode>(callback, allow_empty)(*cast_node);
}
Logger::error("Invalid node type ", node->get_type(), " when expecting ", ast::IdentifierNode::get_type_static(), " or ", ast::StringNode::get_type_static());
} else {