| /* |
| Copyright 2019 Alain Dargelas |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| */ |
| |
| /* |
| * File: Config.cpp |
| * Author: alain |
| * |
| * Created on February 10, 2018, 11:09 PM |
| */ |
| #include "SourceCompile/SymbolTable.h" |
| #include "Design/FileContent.h" |
| #include "Config/Config.h" |
| using namespace SURELOG; |
| |
| Config::~Config() {} |
| |
| UseClause* Config::getInstanceUseClause(std::string instance) { |
| std::map<std::string, UseClause>::iterator itr = |
| m_instanceUseClauses.find(instance); |
| if (itr == m_instanceUseClauses.end()) { |
| return NULL; |
| } else { |
| return &(*itr).second; |
| } |
| } |
| |
| UseClause* Config::getCellUseClause(std::string cell) { |
| std::map<std::string, UseClause>::iterator itr = m_cellUseClauses.find(cell); |
| if (itr == m_cellUseClauses.end()) { |
| return NULL; |
| } else { |
| return &(*itr).second; |
| } |
| } |
| |
| void Config::addInstanceUseClause(std::string instance, UseClause use) { |
| auto itr = m_instanceUseClauses.find(instance); |
| if (itr != m_instanceUseClauses.end()) { |
| m_instanceUseClauses.erase(itr); |
| } |
| |
| m_instanceUseClauses.insert(std::make_pair(instance, use)); |
| } |
| void Config::addCellUseClause(std::string cell, UseClause use) { |
| auto itr = m_cellUseClauses.find(cell); |
| if (itr != m_cellUseClauses.end()) { |
| m_instanceUseClauses.erase(itr); |
| } |
| m_cellUseClauses.insert(std::make_pair(cell, use)); |
| } |