logic: Improved code view performance by removing duplicate storage call

This commit is contained in:
Eberhard Graether
2016-12-07 18:47:07 +01:00
parent 42dad5f83a
commit a3428be65c
2 changed files with 6 additions and 3 deletions
@@ -528,11 +528,10 @@ std::vector<CodeSnippetParams> CodeController::getSnippetsForFile(
ranges = fileScopedMerger.merge(atomicRanges); ranges = fileScopedMerger.merge(atomicRanges);
} }
const int snippetExpandRange = ApplicationSettings::getInstance()->getCodeSnippetExpandRange(); const int snippetExpandRange = ApplicationSettings::getInstance()->getCodeSnippetExpandRange();
std::vector<CodeSnippetParams> snippets; std::vector<CodeSnippetParams> snippets;
std::shared_ptr<TokenLocationFile> file =
m_storageAccess->getTokenLocationsForFile(activeTokenLocations->getFilePath().str());
for (const SnippetMerger::Range& range: ranges) for (const SnippetMerger::Range& range: ranges)
{ {
CodeSnippetParams params; CodeSnippetParams params;
@@ -542,7 +541,8 @@ std::vector<CodeSnippetParams> CodeController::getSnippetsForFile(
params.endLineNumber = params.endLineNumber =
std::min<int>(textAccess->getLineCount(), range.end.row + (range.end.strong ? 0 : snippetExpandRange)); std::min<int>(textAccess->getLineCount(), range.end.row + (range.end.strong ? 0 : snippetExpandRange));
std::shared_ptr<TokenLocationFile> tempFile = file->getFilteredByLines(params.startLineNumber, params.endLineNumber); std::shared_ptr<TokenLocationFile> tempFile =
fileLocations->getFilteredByLines(params.startLineNumber, params.endLineNumber);
TokenLocationLine* firstUsedLine = nullptr; TokenLocationLine* firstUsedLine = nullptr;
for (size_t i = params.startLineNumber; i <= params.endLineNumber && firstUsedLine == nullptr; i++) for (size_t i = params.startLineNumber; i <= params.endLineNumber && firstUsedLine == nullptr; i++)
{ {
@@ -563,6 +563,7 @@ std::vector<CodeSnippetParams> CodeController::getSnippetsForFile(
} }
); );
} }
if (!activeTokenLocations->isWholeCopy && params.titleId == 0) if (!activeTokenLocations->isWholeCopy && params.titleId == 0)
{ {
params.title = activeTokenLocations->getFilePath().str(); params.title = activeTokenLocations->getFilePath().str();
+2
View File
@@ -393,6 +393,8 @@ Id PersistentStorage::getIdForEdge(
NameHierarchy PersistentStorage::getNameHierarchyForNodeWithId(Id nodeId) const NameHierarchy PersistentStorage::getNameHierarchyForNodeWithId(Id nodeId) const
{ {
TRACE();
return NameHierarchy::deserialize(m_sqliteStorage.getNodeById(nodeId).serializedName); return NameHierarchy::deserialize(m_sqliteStorage.getNodeById(nodeId).serializedName);
} }