| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  | /****************************************************************************
 | 
					
						
							|  |  |  | ** | 
					
						
							|  |  |  | ** Copyright (C) 2017 The Qt Company Ltd. | 
					
						
							|  |  |  | ** Contact: https://www.qt.io/licensing/
 | 
					
						
							|  |  |  | ** | 
					
						
							|  |  |  | ** This file is part of Qt Creator. | 
					
						
							|  |  |  | ** | 
					
						
							|  |  |  | ** Commercial License Usage | 
					
						
							|  |  |  | ** Licensees holding valid commercial Qt licenses may use this file in | 
					
						
							|  |  |  | ** accordance with the commercial license agreement provided with the | 
					
						
							|  |  |  | ** Software or, alternatively, in accordance with the terms contained in | 
					
						
							|  |  |  | ** a written agreement between you and The Qt Company. For licensing terms | 
					
						
							|  |  |  | ** and conditions see https://www.qt.io/terms-conditions. For further
 | 
					
						
							|  |  |  | ** information use the contact form at https://www.qt.io/contact-us.
 | 
					
						
							|  |  |  | ** | 
					
						
							|  |  |  | ** GNU General Public License Usage | 
					
						
							|  |  |  | ** Alternatively, this file may be used under the terms of the GNU | 
					
						
							|  |  |  | ** General Public License version 3 as published by the Free Software | 
					
						
							|  |  |  | ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT | 
					
						
							|  |  |  | ** included in the packaging of this file. Please review the following | 
					
						
							|  |  |  | ** information to ensure the GNU General Public License requirements will | 
					
						
							|  |  |  | ** be met: https://www.gnu.org/licenses/gpl-3.0.html.
 | 
					
						
							|  |  |  | ** | 
					
						
							|  |  |  | ****************************************************************************/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #pragma once
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-20 12:43:05 +01:00
										 |  |  | #include "googletest.h"
 | 
					
						
							| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-15 17:33:31 +02:00
										 |  |  | #include <sourcelocations.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:59 +02:00
										 |  |  | #include <filepathstoragesources.h>
 | 
					
						
							| 
									
										
										
										
											2019-04-10 19:24:36 +02:00
										 |  |  | #include <pchpaths.h>
 | 
					
						
							| 
									
										
										
										
											2018-02-07 16:11:28 +01:00
										 |  |  | #include <projectpartartefact.h>
 | 
					
						
							| 
									
										
										
										
											2019-03-13 15:09:30 +01:00
										 |  |  | #include <projectpartcontainer.h>
 | 
					
						
							| 
									
										
										
										
											2018-02-20 12:43:05 +01:00
										 |  |  | #include <projectpartpch.h>
 | 
					
						
							| 
									
										
										
										
											2018-11-06 19:02:00 +01:00
										 |  |  | #include <sourceentry.h>
 | 
					
						
							| 
									
										
										
										
											2019-03-13 15:09:30 +01:00
										 |  |  | #include <stringcachefwd.h>
 | 
					
						
							| 
									
										
										
										
											2018-04-09 13:30:30 +02:00
										 |  |  | #include <symbol.h>
 | 
					
						
							| 
									
										
										
										
											2019-03-13 15:09:30 +01:00
										 |  |  | #include <usedmacro.h>
 | 
					
						
							| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-18 13:38:58 +02:00
										 |  |  | #include <cpptools/usages.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:24 +02:00
										 |  |  | #include <utils/optional.h>
 | 
					
						
							| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  | #include <utils/smallstring.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <cstdint>
 | 
					
						
							|  |  |  | #include <tuple>
 | 
					
						
							|  |  |  | #include <vector>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-13 15:09:30 +01:00
										 |  |  | using ClangBackEnd::FilePathIds; | 
					
						
							| 
									
										
										
										
											2018-11-06 19:02:00 +01:00
										 |  |  | using ClangBackEnd::SourceEntries; | 
					
						
							| 
									
										
										
										
											2019-03-13 15:09:30 +01:00
										 |  |  | using ClangBackEnd::SourceEntry; | 
					
						
							| 
									
										
										
										
											2019-03-21 17:55:24 +01:00
										 |  |  | using ClangBackEnd::SourceTimeStamp; | 
					
						
							|  |  |  | using ClangBackEnd::SourceTimeStamps; | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:59 +02:00
										 |  |  | using ClangRefactoring::SourceLocation; | 
					
						
							|  |  |  | using ClangRefactoring::SourceLocations; | 
					
						
							| 
									
										
										
										
											2019-03-13 15:09:30 +01:00
										 |  |  | using std::int64_t; | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:59 +02:00
										 |  |  | namespace Sources = ClangBackEnd::Sources; | 
					
						
							| 
									
										
										
										
											2018-04-09 13:30:30 +02:00
										 |  |  | using ClangRefactoring::Symbol; | 
					
						
							|  |  |  | using ClangRefactoring::Symbols; | 
					
						
							| 
									
										
										
										
											2018-11-07 17:48:25 +01:00
										 |  |  | using ClangBackEnd::UsedMacros; | 
					
						
							| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-20 12:43:05 +01:00
										 |  |  | class MockSqliteDatabase; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  | class MockSqliteReadStatement | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | public: | 
					
						
							|  |  |  |     MockSqliteReadStatement() = default; | 
					
						
							|  |  |  |     MockSqliteReadStatement(Utils::SmallStringView sqlStatement, MockSqliteDatabase &) | 
					
						
							|  |  |  |         : sqlStatement(sqlStatement) | 
					
						
							|  |  |  |     {} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:59 +02:00
										 |  |  |     MOCK_METHOD4(valuesReturnSourceLocations, | 
					
						
							|  |  |  |                  SourceLocations(std::size_t, int, int, int)); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-18 13:38:58 +02:00
										 |  |  |     MOCK_METHOD4(valuesReturnSourceUsages, | 
					
						
							|  |  |  |                  CppTools::Usages(std::size_t, int, int, int)); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:59 +02:00
										 |  |  |     MOCK_METHOD1(valuesReturnStdVectorDirectory, | 
					
						
							|  |  |  |                  std::vector<Sources::Directory>(std::size_t)); | 
					
						
							| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:59 +02:00
										 |  |  |     MOCK_METHOD1(valuesReturnStdVectorSource, | 
					
						
							|  |  |  |                  std::vector<Sources::Source>(std::size_t)); | 
					
						
							| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-06 19:02:00 +01:00
										 |  |  |     MOCK_METHOD3(valuesReturnSourceEntries, | 
					
						
							|  |  |  |                  SourceEntries(std::size_t, int, int)); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-13 15:09:30 +01:00
										 |  |  |     MOCK_METHOD2(valuesReturnUsedMacros, UsedMacros(std::size_t, int)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     MOCK_METHOD2(valuesReturnFilePathIds, FilePathIds(std::size_t, int)); | 
					
						
							| 
									
										
										
										
											2018-11-07 17:48:25 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-13 15:09:30 +01:00
										 |  |  |     MOCK_METHOD1(valueReturnInt32, Utils::optional<int>(Utils::SmallStringView)); | 
					
						
							| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:59 +02:00
										 |  |  |     MOCK_METHOD2(valueReturnInt32, | 
					
						
							|  |  |  |                  Utils::optional<int>(int, Utils::SmallStringView)); | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:24 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-08 17:49:02 +01:00
										 |  |  |     MOCK_METHOD1(valueReturnInt64, | 
					
						
							|  |  |  |                  Utils::optional<long long>(int)); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:59 +02:00
										 |  |  |     MOCK_METHOD1(valueReturnPathString, | 
					
						
							|  |  |  |                  Utils::optional<Utils::PathString>(int)); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-04 19:03:48 +01:00
										 |  |  |     MOCK_METHOD1(valueReturnPathString, | 
					
						
							|  |  |  |                  Utils::optional<Utils::PathString>(Utils::SmallStringView)); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-13 15:09:30 +01:00
										 |  |  |     MOCK_METHOD1(valueReturnFilePath, Utils::optional<ClangBackEnd::FilePath>(int)); | 
					
						
							| 
									
										
										
										
											2018-12-17 12:06:57 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:59 +02:00
										 |  |  |     MOCK_METHOD1(valueReturnSmallString, | 
					
						
							|  |  |  |                  Utils::optional<Utils::SmallString>(int)); | 
					
						
							| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-06 19:02:00 +01:00
										 |  |  |     MOCK_METHOD1(valueReturnSourceNameAndDirectoryId, | 
					
						
							|  |  |  |                  Utils::optional<Sources::SourceNameAndDirectoryId>(int)); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-06 11:16:29 +01:00
										 |  |  |     MOCK_METHOD1(valueReturnProjectPartArtefact, | 
					
						
							|  |  |  |                  Utils::optional<ClangBackEnd::ProjectPartArtefact>(int)); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-07 16:18:16 +01:00
										 |  |  |     MOCK_METHOD1(valueReturnProjectPartArtefact, | 
					
						
							|  |  |  |                  Utils::optional<ClangBackEnd::ProjectPartArtefact>(Utils::SmallStringView)); | 
					
						
							| 
									
										
										
										
											2019-03-13 15:09:30 +01:00
										 |  |  |     MOCK_METHOD1(valuesReturnProjectPartArtefacts, ClangBackEnd::ProjectPartArtefacts(std::size_t)); | 
					
						
							|  |  |  |     MOCK_METHOD1(valueReturnProjectPartContainer, | 
					
						
							|  |  |  |                  Utils::optional<ClangBackEnd::ProjectPartContainer>(int)); | 
					
						
							|  |  |  |     MOCK_METHOD1(valuesReturnProjectPartContainers, ClangBackEnd::ProjectPartContainers(std::size_t)); | 
					
						
							| 
									
										
										
										
											2019-04-10 19:24:36 +02:00
										 |  |  |     MOCK_METHOD1(valueReturnProjectPartPch, Utils::optional<ClangBackEnd::ProjectPartPch>(int)); | 
					
						
							| 
									
										
										
										
											2018-02-20 12:43:05 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-10 19:24:36 +02:00
										 |  |  |     MOCK_METHOD1(valueReturnPchPaths, Utils::optional<ClangBackEnd::PchPaths>(int)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     MOCK_METHOD3(valuesReturnSymbols, Symbols(std::size_t, int, Utils::SmallStringView)); | 
					
						
							| 
									
										
										
										
											2018-04-09 13:30:30 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     MOCK_METHOD4(valuesReturnSymbols, | 
					
						
							|  |  |  |                  Symbols(std::size_t, int, int, Utils::SmallStringView)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     MOCK_METHOD5(valuesReturnSymbols, | 
					
						
							|  |  |  |                  Symbols(std::size_t, int, int, int, Utils::SmallStringView)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     MOCK_METHOD2(valueReturnSourceLocation, | 
					
						
							|  |  |  |                  SourceLocation(long long, int)); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-13 15:09:30 +01:00
										 |  |  |     MOCK_METHOD1(valueReturnProjectPartId, | 
					
						
							|  |  |  |                  Utils::optional<ClangBackEnd::ProjectPartId>(Utils::SmallStringView)); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-21 17:55:24 +01:00
										 |  |  |     MOCK_METHOD1(valuesReturnSourceTimeStamps, SourceTimeStamps(std::size_t)); | 
					
						
							|  |  |  |     MOCK_METHOD2(valuesReturnSourceTimeStamps, SourceTimeStamps(std::size_t, int sourcePathId)); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-15 17:33:31 +02:00
										 |  |  |     template <typename ResultType, | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:24 +02:00
										 |  |  |               int ResultTypeCount = 1, | 
					
						
							| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  |               typename... QueryType> | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:24 +02:00
										 |  |  |     std::vector<ResultType> values(std::size_t reserveSize, const QueryType&... queryValues); | 
					
						
							| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:59 +02:00
										 |  |  |     template <typename ResultType, | 
					
						
							|  |  |  |               int ResultTypeCount = 1, | 
					
						
							|  |  |  |               typename... QueryType> | 
					
						
							|  |  |  |     std::vector<ResultType> values(std::size_t reserveSize); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-15 17:33:31 +02:00
										 |  |  |     template <typename ResultType, | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:24 +02:00
										 |  |  |               int ResultTypeCount = 1, | 
					
						
							| 
									
										
										
										
											2017-08-15 17:33:31 +02:00
										 |  |  |               template <typename...> class QueryContainerType, | 
					
						
							|  |  |  |               typename QueryElementType> | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:24 +02:00
										 |  |  |     std::vector<ResultType> values(std::size_t reserveSize, | 
					
						
							|  |  |  |                                    const QueryContainerType<QueryElementType> &queryValues); | 
					
						
							| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:24 +02:00
										 |  |  |     template <typename ResultType, | 
					
						
							| 
									
										
										
										
											2018-02-06 11:16:29 +01:00
										 |  |  |               int ResultTypeCount = 1, | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:24 +02:00
										 |  |  |               typename... QueryTypes> | 
					
						
							|  |  |  |     Utils::optional<ResultType> value(const QueryTypes&... queryValues); | 
					
						
							| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | public: | 
					
						
							|  |  |  |     Utils::SmallString sqlStatement; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | template <> | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:59 +02:00
										 |  |  | SourceLocations | 
					
						
							| 
									
										
										
										
											2018-11-06 19:02:00 +01:00
										 |  |  | MockSqliteReadStatement::values<SourceLocation, 3>( | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:59 +02:00
										 |  |  |         std::size_t reserveSize, | 
					
						
							|  |  |  |         const int &sourceId, | 
					
						
							|  |  |  |         const int &line, | 
					
						
							|  |  |  |         const int &column); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-18 13:38:58 +02:00
										 |  |  | template <> | 
					
						
							|  |  |  | CppTools::Usages | 
					
						
							|  |  |  | MockSqliteReadStatement::values<CppTools::Usage, 3>( | 
					
						
							|  |  |  |         std::size_t reserveSize, | 
					
						
							|  |  |  |         const int &sourceId, | 
					
						
							|  |  |  |         const int &line, | 
					
						
							|  |  |  |         const int &column); | 
					
						
							| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-09 13:30:30 +02:00
										 |  |  | template <> | 
					
						
							|  |  |  | Symbols | 
					
						
							|  |  |  | MockSqliteReadStatement::values<Symbol, 3>( | 
					
						
							|  |  |  |         std::size_t reserveSize, | 
					
						
							|  |  |  |         const int&, | 
					
						
							|  |  |  |         const Utils::SmallStringView&); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | template <> | 
					
						
							|  |  |  | Symbols | 
					
						
							|  |  |  | MockSqliteReadStatement::values<Symbol, 3>( | 
					
						
							|  |  |  |         std::size_t reserveSize, | 
					
						
							|  |  |  |         const int&, | 
					
						
							|  |  |  |         const int&, | 
					
						
							|  |  |  |         const Utils::SmallStringView&); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | template <> | 
					
						
							|  |  |  | Symbols | 
					
						
							|  |  |  | MockSqliteReadStatement::values<Symbol, 3>( | 
					
						
							|  |  |  |         std::size_t reserveSize, | 
					
						
							|  |  |  |         const int&, | 
					
						
							|  |  |  |         const int&, | 
					
						
							|  |  |  |         const int&, | 
					
						
							|  |  |  |         const Utils::SmallStringView&); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-07 17:48:25 +01:00
										 |  |  | template <> | 
					
						
							|  |  |  | UsedMacros | 
					
						
							|  |  |  | MockSqliteReadStatement::values<ClangBackEnd::UsedMacro, 2>( | 
					
						
							|  |  |  |         std::size_t reserveSize, | 
					
						
							|  |  |  |         const int &sourceId); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-13 15:09:30 +01:00
										 |  |  | template<> | 
					
						
							|  |  |  | FilePathIds MockSqliteReadStatement::values<ClangBackEnd::FilePathId>(std::size_t reserveSize, | 
					
						
							|  |  |  |                                                                       const int &projectPartId); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  | template <> | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:59 +02:00
										 |  |  | std::vector<Sources::Directory> MockSqliteReadStatement::values<Sources::Directory, 2>(std::size_t reserveSize); | 
					
						
							| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | template <> | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:59 +02:00
										 |  |  | std::vector<Sources::Source> MockSqliteReadStatement::values<Sources::Source, 2>(std::size_t reserveSize); | 
					
						
							| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:59 +02:00
										 |  |  | template <> | 
					
						
							|  |  |  | Utils::optional<int> | 
					
						
							|  |  |  | MockSqliteReadStatement::value<int>(const Utils::SmallStringView&); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-22 14:21:01 +01:00
										 |  |  | template <> | 
					
						
							|  |  |  | Utils::optional<int> | 
					
						
							|  |  |  | MockSqliteReadStatement::value<int>(const Utils::PathString&); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-13 15:09:30 +01:00
										 |  |  | template<> | 
					
						
							|  |  |  | Utils::optional<ClangBackEnd::ProjectPartId> MockSqliteReadStatement::value<ClangBackEnd::ProjectPartId>( | 
					
						
							|  |  |  |     const Utils::SmallStringView &); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | template<> | 
					
						
							|  |  |  | Utils::optional<ClangBackEnd::FilePath> MockSqliteReadStatement::value<ClangBackEnd::FilePath>( | 
					
						
							|  |  |  |     const int &); | 
					
						
							| 
									
										
										
										
											2018-12-17 12:06:57 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:59 +02:00
										 |  |  | template <> | 
					
						
							|  |  |  | Utils::optional<int> | 
					
						
							|  |  |  | MockSqliteReadStatement::value<int>(const int&, const Utils::SmallStringView&); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-08 17:49:02 +01:00
										 |  |  | template <> | 
					
						
							|  |  |  | Utils::optional<long long> | 
					
						
							|  |  |  | MockSqliteReadStatement::value<long long>(const ClangBackEnd::FilePathId&); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:59 +02:00
										 |  |  | template <> | 
					
						
							|  |  |  | Utils::optional<Utils::PathString> | 
					
						
							|  |  |  | MockSqliteReadStatement::value<Utils::PathString>(const int&); | 
					
						
							| 
									
										
										
										
											2017-08-21 12:00:27 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-12-04 19:03:48 +01:00
										 |  |  | template <> | 
					
						
							|  |  |  | Utils::optional<Utils::PathString> | 
					
						
							|  |  |  | MockSqliteReadStatement::value<Utils::PathString>(const Utils::SmallStringView&); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-06 11:16:29 +01:00
										 |  |  | template <> | 
					
						
							|  |  |  | Utils::optional<ClangBackEnd::ProjectPartArtefact> | 
					
						
							| 
									
										
										
										
											2019-01-23 14:10:58 +01:00
										 |  |  | MockSqliteReadStatement::value<ClangBackEnd::ProjectPartArtefact, 8>(const int&); | 
					
						
							| 
									
										
										
										
											2018-01-22 14:21:01 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-07 16:18:16 +01:00
										 |  |  | template <> | 
					
						
							|  |  |  | Utils::optional<ClangBackEnd::ProjectPartArtefact> | 
					
						
							| 
									
										
										
										
											2019-01-23 14:10:58 +01:00
										 |  |  | MockSqliteReadStatement::value<ClangBackEnd::ProjectPartArtefact, 8>(const int&); | 
					
						
							| 
									
										
										
										
											2018-02-07 16:18:16 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-13 15:09:30 +01:00
										 |  |  | template<> | 
					
						
							|  |  |  | Utils::optional<ClangBackEnd::ProjectPartContainer> | 
					
						
							|  |  |  | MockSqliteReadStatement::value<ClangBackEnd::ProjectPartContainer, 8>(const int &); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-10 19:24:36 +02:00
										 |  |  | template<> | 
					
						
							|  |  |  | Utils::optional<ClangBackEnd::PchPaths> MockSqliteReadStatement::value<ClangBackEnd::PchPaths, 2>( | 
					
						
							|  |  |  |     const int &); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-13 15:09:30 +01:00
										 |  |  | template<> | 
					
						
							|  |  |  | ClangBackEnd::ProjectPartContainers MockSqliteReadStatement::values<ClangBackEnd::ProjectPartContainer, | 
					
						
							|  |  |  |                                                                     8>(std::size_t reserveSize); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | template<> | 
					
						
							| 
									
										
										
										
											2018-02-20 12:43:05 +01:00
										 |  |  | Utils::optional<ClangBackEnd::ProjectPartPch> | 
					
						
							| 
									
										
										
										
											2019-03-13 15:09:30 +01:00
										 |  |  | MockSqliteReadStatement::value<ClangBackEnd::ProjectPartPch, 3>(const int &); | 
					
						
							| 
									
										
										
										
											2018-02-20 12:43:05 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:24 +02:00
										 |  |  | template <> | 
					
						
							| 
									
										
										
										
											2017-09-21 11:43:59 +02:00
										 |  |  | Utils::optional<Utils::SmallString> | 
					
						
							|  |  |  | MockSqliteReadStatement::value<Utils::SmallString>(const int&); | 
					
						
							| 
									
										
										
										
											2018-04-09 13:30:30 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | template <> | 
					
						
							|  |  |  | Utils::optional<SourceLocation> | 
					
						
							| 
									
										
										
										
											2018-11-06 19:02:00 +01:00
										 |  |  | MockSqliteReadStatement::value<SourceLocation, 3>(const long long &symbolId, const int &locationKind); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-28 17:52:34 +01:00
										 |  |  | template<> | 
					
						
							|  |  |  | SourceEntries MockSqliteReadStatement::values<SourceEntry, 4>(std::size_t reserveSize, | 
					
						
							|  |  |  |                                                               const int &, | 
					
						
							|  |  |  |                                                               const int &); | 
					
						
							| 
									
										
										
										
											2018-11-06 19:02:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-21 17:55:24 +01:00
										 |  |  | template<> | 
					
						
							|  |  |  | SourceTimeStamps MockSqliteReadStatement::values<SourceTimeStamp, 2>(std::size_t reserveSize); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | template<> | 
					
						
							|  |  |  | SourceTimeStamps MockSqliteReadStatement::values<SourceTimeStamp, 2>(std::size_t reserveSize, | 
					
						
							|  |  |  |                                                                      const int &sourcePathId); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-06 19:02:00 +01:00
										 |  |  | template <> | 
					
						
							|  |  |  | Utils::optional<Sources::SourceNameAndDirectoryId> | 
					
						
							|  |  |  | MockSqliteReadStatement::value<Sources::SourceNameAndDirectoryId, 2>(const int&); |