#pragma once #include "Domain/Information/MemberInformation.h" #include "Domain/Information/StructureInformation.h" #include "IEvaluation.h" #include #include class OperandDynamic final : public IEvaluation { public: explicit OperandDynamic(StructureInformation* structure); OperandDynamic(StructureInformation* structure, std::vector referencedMemberChain, std::vector> arrayIndices); [[nodiscard]] EvaluationType GetType() const override; [[nodiscard]] bool IsStatic() const override; [[nodiscard]] int EvaluateNumeric() const override; StructureInformation* const m_structure; std::vector m_referenced_member_chain; std::vector> m_array_indices; };