Skip to content

Commit

Permalink
move cxx include directory to the new managment
Browse files Browse the repository at this point in the history
  • Loading branch information
ggeorgiev committed May 15, 2016
1 parent 17c1b2e commit 3da96a7
Show file tree
Hide file tree
Showing 10 changed files with 47 additions and 58 deletions.
2 changes: 1 addition & 1 deletion src/doim/cxx/cxx_file.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ CxxFile::CxxFile(const FsFileSPtr& file,
: Base(file, cxxIncludeDirectories)
{
ASSERT(gManager->isUnique(file));
ASSERT(gManager->isUnique(cxxIncludeDirectories));
ASSERT(cxxIncludeDirectories->isUnique());
}
}
2 changes: 1 addition & 1 deletion src/doim/cxx/cxx_header.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ CxxHeader::CxxHeader(const EType type,
: Base(type, file, cxxIncludeDirectories)
{
ASSERT(gManager->isUnique(file));
ASSERT(gManager->isUnique(cxxIncludeDirectories));
ASSERT(cxxIncludeDirectories->isUnique());
}

std::ostream& operator<<(std::ostream& out, const CxxHeader& header)
Expand Down
4 changes: 1 addition & 3 deletions src/doim/cxx/cxx_include_directory.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,13 @@
namespace doim
{
class CxxHeader;

typedef shared_ptr<CxxHeader> CxxHeaderSPtr;
typedef NewObjectSet<CxxHeader> CxxHeaderSet;
typedef shared_ptr<CxxHeaderSet> CxxHeaderSetSPtr;

class CxxIncludeDirectory;

typedef shared_ptr<CxxIncludeDirectory> CxxIncludeDirectorySPtr;
typedef unordered_set<CxxIncludeDirectorySPtr> CxxIncludeDirectorySet;
typedef NewObjectSet<CxxIncludeDirectory> CxxIncludeDirectorySet;
typedef shared_ptr<CxxIncludeDirectorySet> CxxIncludeDirectorySetSPtr;

struct CxxIncludeDirectoryEnums
Expand Down
10 changes: 1 addition & 9 deletions src/doim/manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@

#pragma once

#include "doim/cxx/cxx_include_directory.h"
#include "doim/cxx/cxx_object_file.h"
#include "doim/cxx/cxx_program.h"
#include "doim/cxx/cxx_static_library.h"
Expand All @@ -28,8 +27,7 @@ typedef shared_ptr<Manager> ManagerSPtr;

extern ManagerSPtr gManager;

class Manager : public ManagerObjectSetMixin<CxxIncludeDirectory>,
public ManagerObjectSetMixin<CxxObjectFile>,
class Manager : public ManagerObjectSetMixin<CxxObjectFile>,
public ManagerObjectSetMixin<CxxStaticLibrary>,
public ManagerObjectMixin<CxxProgram>,
public ManagerObjectMixin<DbKey>,
Expand Down Expand Up @@ -99,12 +97,6 @@ class Manager : public ManagerObjectSetMixin<CxxIncludeDirectory>,

using ManagerObjectSetMixin<FsFile>::unique;

using ManagerObjectMixin<CxxIncludeDirectory>::unique;
using ManagerObjectMixin<CxxIncludeDirectory>::isUnique;

using ManagerObjectSetMixin<CxxIncludeDirectory>::unique;
using ManagerObjectSetMixin<CxxIncludeDirectory>::isUnique;

using ManagerObjectMixin<CxxObjectFile>::unique;
using ManagerObjectMixin<CxxObjectFile>::isUnique;

Expand Down
12 changes: 6 additions & 6 deletions src/dom/cxx/cxx_library.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,9 @@ doim::CxxIncludeDirectorySPtr CxxLibrary::cxxPublicIncludeDirectory(
if (publicHeadersDirectory() == nullptr)
return nullptr;

return doim::unique<doim::CxxIncludeDirectory>(cxxIncludeDirectoryType(),
publicHeadersDirectory(),
publicCxxHeaders(root));
return doim::CxxIncludeDirectory::unique(cxxIncludeDirectoryType(),
publicHeadersDirectory(),
publicCxxHeaders(root));
}

doim::CxxIncludeDirectorySetSPtr CxxLibrary::sublibraryCxxIncludeDirectories(
Expand All @@ -127,7 +127,7 @@ doim::CxxIncludeDirectorySetSPtr CxxLibrary::sublibraryCxxIncludeDirectories(
directories->insert(libDirectories->begin(), libDirectories->end());
}

return doim::gManager->unique(directories);
return doim::CxxIncludeDirectorySet::unique(directories);
}

doim::CxxIncludeDirectorySetSPtr CxxLibrary::indirectCxxIncludeDirectories(
Expand All @@ -145,7 +145,7 @@ doim::CxxIncludeDirectorySetSPtr CxxLibrary::indirectCxxIncludeDirectories(
directories->insert(libDirectories->begin(), libDirectories->end());
}

return doim::gManager->unique(directories);
return doim::CxxIncludeDirectorySet::unique(directories);
}

doim::CxxIncludeDirectorySetSPtr CxxLibrary::recursiveCxxIncludeDirectories(
Expand All @@ -169,7 +169,7 @@ doim::CxxIncludeDirectorySetSPtr CxxLibrary::recursiveCxxIncludeDirectories(
directories->insert(libDirectories->begin(), libDirectories->end());
}

return doim::gManager->unique(directories);
return doim::CxxIncludeDirectorySet::unique(directories);
};

return mRecursiveCxxIncludeDirectoriesMemoization->get(mMemoizationHandle, root, fn);
Expand Down
8 changes: 4 additions & 4 deletions src/dom/cxx/cxx_private_headers_mixin.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,10 @@ class CxxPrivateHeadersMixin
if (privateHeadersDirectory() == nullptr)
return nullptr;

return doim::unique<doim::CxxIncludeDirectory>(static_cast<const Subject*>(this)
->cxxIncludeDirectoryType(),
privateHeadersDirectory(),
privateCxxHeaders(root));
return doim::CxxIncludeDirectory::unique(static_cast<const Subject*>(this)
->cxxIncludeDirectoryType(),
privateHeadersDirectory(),
privateCxxHeaders(root));
}

doim::CxxHeaderSetSPtr privateCxxHeaders(const doim::FsDirectorySPtr& root) const
Expand Down
2 changes: 1 addition & 1 deletion src/dom/cxx/cxx_program.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ doim::CxxIncludeDirectorySetSPtr CxxProgram::recursiveCxxIncludeDirectories(
directories->insert(libDirectories->begin(), libDirectories->end());
}

return doim::gManager->unique(directories);
return doim::CxxIncludeDirectorySet::unique(directories);
}

doim::CxxHeaderSetSPtr CxxProgram::cxxHeaders(const doim::FsDirectorySPtr& root) const
Expand Down
2 changes: 1 addition & 1 deletion src/task/cxx/cxx_header_crc_task.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ CxxHeaderCrcTask::CxxHeaderCrcTask(
: Base(cxxHeader, currentIncludeDirectory)
{
ASSERT(cxxHeader->isUnique());
ASSERT(doim::gManager->isUnique(currentIncludeDirectory));
ASSERT(currentIncludeDirectory->isUnique());
}

ECode CxxHeaderCrcTask::operator()()
Expand Down
48 changes: 23 additions & 25 deletions src/task/gtest/cxx/cxx_file_crc_task-utest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ class CxxFileCrcTaskTest : public ::testing::Test

mEmptyCxxHeaderSet = doim::CxxHeaderSet::make();
mEmptyCxxHeaderSet = doim::CxxHeaderSet::unique(mEmptyCxxHeaderSet);
mEmptyCxxIncludeDirectorySet = doim::unique<doim::CxxIncludeDirectorySet>();
mEmptyCxxIncludeDirectorySet = doim::CxxIncludeDirectorySet::make();
mEmptyCxxIncludeDirectorySet =
doim::CxxIncludeDirectorySet::unique(mEmptyCxxIncludeDirectorySet);
}

void TearDown()
Expand Down Expand Up @@ -65,13 +67,12 @@ TEST_F(CxxFileCrcTaskTest, SLOW_simple)
TEST_F(CxxFileCrcTaskTest, notFoundInclude)
{
auto cxxIncludeDirectory =
doim::unique<doim::CxxIncludeDirectory>(doim::CxxIncludeDirectory::EType::kUser,
mCxxDirectory,
mEmptyCxxHeaderSet);
doim::CxxIncludeDirectory::unique(doim::CxxIncludeDirectory::EType::kUser,
mCxxDirectory,
mEmptyCxxHeaderSet);

auto cxxIncludeDirectories = doim::CxxIncludeDirectorySet::make();
cxxIncludeDirectories->insert(cxxIncludeDirectory);
cxxIncludeDirectories = doim::gManager->unique(cxxIncludeDirectories);
auto cxxIncludeDirectories =
doim::CxxIncludeDirectorySet::unique({cxxIncludeDirectory});

auto cxxFile = doim::CxxFile::unique(mFsIncludesCxx, cxxIncludeDirectories);

Expand All @@ -92,13 +93,12 @@ TEST_F(CxxFileCrcTaskTest, SLOW_includeFromOneDirectory)
auto cxxHeaders = doim::CxxHeaderSet::unique({cxxHeader1, cxxHeader2});

auto cxxIncludeDirectory =
doim::unique<doim::CxxIncludeDirectory>(doim::CxxIncludeDirectory::EType::kUser,
mCxxDirectory,
cxxHeaders);
doim::CxxIncludeDirectory::unique(doim::CxxIncludeDirectory::EType::kUser,
mCxxDirectory,
cxxHeaders);

auto cxxIncludeDirectories = doim::CxxIncludeDirectorySet::make();
cxxIncludeDirectories->insert(cxxIncludeDirectory);
cxxIncludeDirectories = doim::gManager->unique(cxxIncludeDirectories);
auto cxxIncludeDirectories =
doim::CxxIncludeDirectorySet::unique({cxxIncludeDirectory});

auto cxxFile = doim::CxxFile::unique(mFsIncludesCxx, cxxIncludeDirectories);

Expand All @@ -121,13 +121,12 @@ TEST_F(CxxFileCrcTaskTest, VERYSLOW_includeFromTwoDirectories)
auto cxxHeaders2 = doim::CxxHeaderSet::unique({cxxHeader2});

auto cxxIncludeDirectory2 =
doim::unique<doim::CxxIncludeDirectory>(doim::CxxIncludeDirectory::EType::kUser,
mCxxDirectory,
cxxHeaders2);
doim::CxxIncludeDirectory::unique(doim::CxxIncludeDirectory::EType::kUser,
mCxxDirectory,
cxxHeaders2);

auto cxxIncludeDirectories2 = doim::CxxIncludeDirectorySet::make();
cxxIncludeDirectories2->insert(cxxIncludeDirectory2);
cxxIncludeDirectories2 = doim::gManager->unique(cxxIncludeDirectories2);
auto cxxIncludeDirectories2 =
doim::CxxIncludeDirectorySet::unique({cxxIncludeDirectory2});

auto cxxHeader1 = doim::CxxHeader::unique(doim::CxxHeader::EType::kUser,
mFsUser1H,
Expand All @@ -136,13 +135,12 @@ TEST_F(CxxFileCrcTaskTest, VERYSLOW_includeFromTwoDirectories)
auto cxxHeaders1 = doim::CxxHeaderSet::unique({cxxHeader1});

auto cxxIncludeDirectory1 =
doim::unique<doim::CxxIncludeDirectory>(doim::CxxIncludeDirectory::EType::kUser,
mCxxDirectory,
cxxHeaders1);
doim::CxxIncludeDirectory::unique(doim::CxxIncludeDirectory::EType::kUser,
mCxxDirectory,
cxxHeaders1);

auto cxxIncludeDirectories1 = doim::CxxIncludeDirectorySet::make();
cxxIncludeDirectories1->insert(cxxIncludeDirectory1);
cxxIncludeDirectories1 = doim::gManager->unique(cxxIncludeDirectories1);
auto cxxIncludeDirectories1 =
doim::CxxIncludeDirectorySet::unique({cxxIncludeDirectory1});

auto cxxFile = doim::CxxFile::unique(mFsIncludesCxx, cxxIncludeDirectories1);

Expand Down
15 changes: 8 additions & 7 deletions src/task/gtest/cxx/cxx_header_crc_task-utest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@ class CxxHeaderCrcTaskTest : public ::testing::Test

mEmptyCxxHeaderSet = doim::CxxHeaderSet::make();
mEmptyCxxHeaderSet = doim::CxxHeaderSet::unique(mEmptyCxxHeaderSet);
mEmptyCxxIncludeDirectorySet = doim::unique<doim::CxxIncludeDirectorySet>();
mEmptyCxxIncludeDirectorySet = doim::CxxIncludeDirectorySet::make();
mEmptyCxxIncludeDirectorySet =
doim::CxxIncludeDirectorySet::unique(mEmptyCxxIncludeDirectorySet);
}

void TearDown()
Expand Down Expand Up @@ -64,13 +66,12 @@ TEST_F(CxxHeaderCrcTaskTest, simple)
TEST_F(CxxHeaderCrcTaskTest, notFoundInclude)
{
auto cxxIncludeDirectory =
doim::unique<doim::CxxIncludeDirectory>(doim::CxxIncludeDirectory::EType::kUser,
mCxxDirectory,
mEmptyCxxHeaderSet);
doim::CxxIncludeDirectory::unique(doim::CxxIncludeDirectory::EType::kUser,
mCxxDirectory,
mEmptyCxxHeaderSet);

auto cxxIncludeDirectories = doim::CxxIncludeDirectorySet::make();
cxxIncludeDirectories->insert(cxxIncludeDirectory);
cxxIncludeDirectories = doim::gManager->unique(cxxIncludeDirectories);
auto cxxIncludeDirectories =
doim::CxxIncludeDirectorySet::unique({cxxIncludeDirectory});

auto cxxHeader = doim::CxxHeader::unique(doim::CxxHeader::EType::kUser,
mFsIncludesCxx,
Expand Down

0 comments on commit 3da96a7

Please sign in to comment.