forked from OSchip/llvm-project
[NFC] Clean up doc comment and implementation for Module::isSubModuleOf.
Patch by Varun Gandhi! Differential Revision: https://reviews.llvm.org/D84087
This commit is contained in:
parent
bf6bc62d1f
commit
b907ad539a
|
@ -457,8 +457,12 @@ public:
|
|||
/// Determine whether this module is a submodule.
|
||||
bool isSubModule() const { return Parent != nullptr; }
|
||||
|
||||
/// Determine whether this module is a submodule of the given other
|
||||
/// module.
|
||||
/// Check if this module is a (possibly transitive) submodule of \p Other.
|
||||
///
|
||||
/// The 'A is a submodule of B' relation is a partial order based on the
|
||||
/// the parent-child relationship between individual modules.
|
||||
///
|
||||
/// Returns \c false if \p Other is \c nullptr.
|
||||
bool isSubModuleOf(const Module *Other) const;
|
||||
|
||||
/// Determine whether this module is a part of a framework,
|
||||
|
|
|
@ -173,14 +173,10 @@ bool Module::isAvailable(const LangOptions &LangOpts, const TargetInfo &Target,
|
|||
}
|
||||
|
||||
bool Module::isSubModuleOf(const Module *Other) const {
|
||||
const Module *This = this;
|
||||
do {
|
||||
if (This == Other)
|
||||
for (auto *Parent = this; Parent; Parent = Parent->Parent) {
|
||||
if (Parent == Other)
|
||||
return true;
|
||||
|
||||
This = This->Parent;
|
||||
} while (This);
|
||||
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue