/* * Copyright (c) 2017 Samsung Electronics Co., Ltd. * * 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. */ #include #include "idlc/declaration.h" #include "idlc/type.h" #include "idlc/parameter.h" namespace tidl { Declaration::Declaration(std::string id, BaseType* ret_type, Parameters* params, std::string comments, unsigned line, MethodType mtype) : id_(std::move(id)), ret_type_(ret_type), params_(params), comments_(std::move(comments)), line_(line), mtype_(mtype) {} const std::string& Declaration::GetID() const { return id_; } const BaseType& Declaration::GetType() const { return *ret_type_; } const Parameters& Declaration::GetParameters() const { return *params_; } const unsigned Declaration::GetLine() const { return line_; } const std::string& Declaration::GetComments() const { return comments_; } void Declarations::Add(Declaration* decl) { decls_.emplace_back(decl); } const std::list>& Declarations::GetDecls() const { return decls_; } bool Declarations::Exist(Declaration* decl) const { for (auto& d : decls_) { if (d->GetID() == decl->GetID()) return true; } return false; } } // namespace tidl