#include "scope.h" #include "storage.h" FlowGraph::LocalScope::LocalScope() { } FlowGraph::LocalScope::~LocalScope() { } void FlowGraph::LocalScope::push_back(std::shared_ptr data) { m_variables.push_back(data); } void FlowGraph::LocalScope::append(const FlowGraph::LocalScope& other) { // actually move variables to new scope m_variables.insert(m_variables.end(), other.m_variables.begin(), other.m_variables.end()); } index_t FlowGraph::LocalScope::indexOfData(const FlowGraph::Data& data) const { for (index_t i = 0; i < m_variables.size(); i++) { if (*m_variables[i] == data) return i; } throw std::runtime_error("ICE: Data not found"); } size_t FlowGraph::LocalScope::size() const { return m_variables.size(); }