Browse Source

Updated the C++ parser AST to the ASTContext class.

pull/86/head
triton 12 years ago
parent
commit
edc833e69f
  1. 16
      src/CppParser/AST.cpp
  2. 5
      src/CppParser/AST.h

16
src/CppParser/AST.cpp

@ -226,7 +226,7 @@ TypedefDecl* DeclarationContext::FindTypedef(const std::string& Name, bool Creat
return tdef; return tdef;
} }
TranslationUnit* Library::FindOrCreateModule(const std::string& File) TranslationUnit* ASTContext::FindOrCreateModule(const std::string& File)
{ {
auto existingUnit = std::find_if(TranslationUnits.begin(), auto existingUnit = std::find_if(TranslationUnits.begin(),
TranslationUnits.end(), [&](TranslationUnit* unit) { TranslationUnits.end(), [&](TranslationUnit* unit) {
@ -243,18 +243,4 @@ TranslationUnit* Library::FindOrCreateModule(const std::string& File)
return unit; return unit;
} }
NativeLibrary* Library::FindOrCreateLibrary(const std::string& File)
{
auto existingLib = std::find_if(Libraries.begin(),
Libraries.end(), [&](NativeLibrary* lib) {
return lib && lib->FileName == File;
});
auto lib = new NativeLibrary();
lib->FileName = File;
Libraries.push_back(lib);
return lib;
}
} } } } } }

5
src/CppParser/AST.h

@ -589,13 +589,10 @@ struct CS_API NativeLibrary
std::vector<std::string> Symbols; std::vector<std::string> Symbols;
}; };
struct CS_API Library struct CS_API ASTContext
{ {
TranslationUnit* FindOrCreateModule(const std::string& File); TranslationUnit* FindOrCreateModule(const std::string& File);
NativeLibrary* FindOrCreateLibrary(const std::string& File);
std::vector<TranslationUnit*> TranslationUnits; std::vector<TranslationUnit*> TranslationUnits;
std::vector<NativeLibrary*> Libraries;
}; };
} } } } } }
Loading…
Cancel
Save