returned / brounght value handling in execute_visitor (fixes)

This commit is contained in:
ProgramSnail 2023-05-21 11:58:23 +03:00
parent f6b50b16ae
commit bad48a1da0
5 changed files with 113 additions and 58 deletions

View file

@ -174,8 +174,6 @@ private:
utils::IdType current_value_;
std::optional<LoopControlExpression> active_loop_control_expression_;
std::optional<utils::IdType> returned_value_;
std::optional<utils::IdType> brought_value_;
std::optional<utils::IsConstModifier> is_const_definition_;
bool case_matched_;
};

View file

@ -16,6 +16,9 @@ using IdType = size_t;
const std::string ClassInternalVarName = "self";
const size_t MaxOperatorPrecedence = 4;
struct ValueReturnedMarker {};
struct ValueBroughtMarker {};
enum class ReferenceModifier { Reference = 0, UniqueReference = 1, Dereference = 2 };
enum class IsConstModifier { Const = 0, Var = 1 };
enum class ClassInternalsModifier { Static = 0, Const = 1, Var = 2};