From d696abc97143061bf2abb05922188e12b59306c1 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Fri, 14 Aug 2026 17:22:17 +0200 Subject: Use the new .is_a() for literal kind checks in the evaluator --- boot/result.cc | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'boot/result.cc') diff --git a/boot/result.cc b/boot/result.cc index 15fe8b4..a5f0803 100644 --- a/boot/result.cc +++ b/boot/result.cc @@ -129,6 +129,28 @@ namespace elna::boot return this->m_exported; } + std::optional> previous_declaration_note( + const std::optional& original, std::string_view label) + { + if (original.has_value() && original.value().start().available()) + { + return std::make_pair(std::string(label), original.value()); + } + else + { + return std::nullopt; + } + } + + std::optional> identifier_list_note( + const std::vector& identifiers) + { + auto position_span = source_position(identifiers.front().position().start(), + identifiers.back().position().end()); + + return std::make_optional(std::make_pair(join(identifiers), position_span)); + } + std::vector extract_identifiers(const std::vector& identifiers) { std::vector result; -- cgit v1.2.3