logic: show whole file in CodeView when file node is active

This commit is contained in:
Eberhard Graether
2015-03-24 23:01:40 +01:00
parent 0d2a76c2eb
commit eb9092a07f
6 changed files with 32 additions and 14 deletions
@@ -141,6 +141,20 @@ void TokenLocationCollection::removeTokenLocationFile(TokenLocationFile* file)
m_files.erase(file->getFilePath());
}
TokenLocationFile* TokenLocationCollection::addTokenLocationFileAsPlainCopy(const TokenLocationFile* locationFile)
{
TokenLocationFile* file = createTokenLocationFile(locationFile->getFilePath());
locationFile->forEachTokenLocation(
[this, &file](TokenLocation* tokenLocation) -> void
{
TokenLocation* copy = file->addTokenLocationAsPlainCopy(tokenLocation);
m_locations.emplace(copy->getId(), copy);
}
);
file->isWholeCopy = true;
return file;
}
TokenLocation* TokenLocationCollection::addTokenLocationAsPlainCopy(const TokenLocation* location)
{
const FilePath& filePath = location->getTokenLocationLine()->getTokenLocationFile()->getFilePath();
@@ -44,6 +44,7 @@ public:
void removeTokenLocationFile(TokenLocationFile* file);
TokenLocationFile* addTokenLocationFileAsPlainCopy(const TokenLocationFile* locationFile);
TokenLocation* addTokenLocationAsPlainCopy(const TokenLocation* location);
void clear();
+2 -1
View File
@@ -6,7 +6,8 @@
#include "data/location/TokenLocationLine.h"
TokenLocationFile::TokenLocationFile(const FilePath& filePath)
: m_filePath(filePath)
: isWholeCopy(false)
, m_filePath(filePath)
{
}
@@ -40,6 +40,8 @@ public:
TokenLocation* addTokenLocationAsPlainCopy(const TokenLocation* location);
bool isWholeCopy;
private:
TokenLocationLine* findTokenLocationLine(unsigned int lineNumber) const;
TokenLocationLine* createTokenLocationLine(unsigned int lineNumber);