[modules] Introduce Module::getTopLevelDecls() to get the local-in-module top-level decls.

getDisplayDecls() was introduced for ":print_module" and works slightly differently, e.g.
it will return the decls from a shadowed clang module, since we want to display them.

Swift SVN r7909
This commit is contained in:
Argyrios Kyrtzidis
2013-09-04 20:55:27 +00:00
parent 5065699eb3
commit 36a469df0b
9 changed files with 60 additions and 6 deletions

View File

@@ -639,10 +639,7 @@ void ModuleFile::getLinkLibraries(Module::LinkLibraryCallback callback) const {
callback(lib);
}
void ModuleFile::getDisplayDecls(SmallVectorImpl<Decl *> &results) {
if (ShadowedModule)
ShadowedModule->getDisplayDecls(results);
void ModuleFile::getTopLevelDecls(SmallVectorImpl<Decl *> &results) {
if (OperatorDecls) {
for (auto entry : make_range(OperatorDecls->data_begin(),
OperatorDecls->data_end())) {
@@ -667,3 +664,10 @@ void ModuleFile::getDisplayDecls(SmallVectorImpl<Decl *> &results) {
}
}
}
void ModuleFile::getDisplayDecls(SmallVectorImpl<Decl *> &results) {
if (ShadowedModule)
ShadowedModule->getDisplayDecls(results);
getTopLevelDecls(results);
}